summaryrefslogtreecommitdiff
path: root/drivers/usb/host
AgeCommit message (Collapse)Author
2015-12-31usb: Move determination of TT hub address/port into separate functionStefan Brüns
Start split and complete split tokens need the hub address and the downstream port of the first HS hub (device view). The core of the function was duplicated in both host/ehci_hcd and musb-new/usb-compat.h. Signed-off-by: Stefan Brüns <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Tested-by: Hans de Goede <[email protected]>
2015-12-31usb: dwc2: avoid out of bounds accessStefan Brüns
flush_dcache_range may access data after priv->aligned_buffer end if len > DWC2_DATA_BUF_SIZE. memcpy may access data after buffer end if done > 0 Signed-off-by: Stefan Brüns <[email protected]> Acked-by: Marek Vasut <[email protected]> Acked-by: Stephen Warren <[email protected]>
2015-12-17usb: add support of generic OHCI devicesAlexey Brodkin
This driver is meant to be used with any OHCI-compatible host controller in case if there's no need for platform-specific glue such as setup of controller or PHY's power mode via GPIOs etc. Signed-off-by: Alexey Brodkin <[email protected]> Cc: Simon Glass <[email protected]> Cc: Marek Vasut <[email protected]>
2015-12-17usb: host: ehci: samsung: Move hcor initialization after usb phy setupLukasz Majewski
With the old order of initialization the hcor pointer has been setup to the same address as Exynos EHCI base address (0x12110000 instead of 0x12110010). Such behaviour was caused by reading value of 0 instead of 0x10 from EHCI HCCPBASE register without doing proper clock initialization before. To fix this problem hcor initialization has been moved after USB PHY setup. Now ehci_readl(&ctx->hcd->cr_capbase) returns correct value. Signed-off-by: Lukasz Majewski <[email protected]>
2015-12-07usb: xhci: zynqmp: Removing unused function usb_phy_resetMarek Vasut
This patch removes unsued function usb_phy_reset, rather common function dwc3_phy_reset is used. Signed-off-by: Marek Vasut <[email protected]>
2015-12-07usb: xhci: fsl: Removing unused function usb_phy_resetRajesh Bhagat
This patch removes unsued function usb_phy_reset, rather common function dwc3_phy_reset is used. Signed-off-by: Rajesh Bhagat <[email protected]>
2015-12-07usb: xhci: dwc3: Adding reset delay requirement as per dwc3 databookRajesh Bhagat
As per dwc3 databook, delay is required before taking the core out of reset. This delay is required so that the PHY are stable, and then we can take core out of reset. Reference is taken from linux dwc3 code, file: drivers/usb/dwc3/core.c. Signed-off-by: Sriram Dash <[email protected]> Signed-off-by: Rajesh Bhagat <[email protected]>
2015-12-07usb: add support for generic EHCI devicesAlexey Brodkin
This driver is meant to be used with any EHCI-compatible host controller in case if there's no need for platform-specific glue such as setup of controller or PHY's power mode via GPIOs etc. Signed-off-by: Alexey Brodkin <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Simon Glass <[email protected]> Cc: Marek Vasut <[email protected]>
2015-12-07sunxi: usb: Rename the sunxi usb driver DM entryMarek Vasut
The DM entry should be unique, otherwise it will collide with other drivers. Fix this by assigning the driver a more unique name than usb_ehci. Signed-off-by: Marek Vasut <[email protected]> Cc: Hans de Goede <[email protected]> Cc: Ian Campbell <[email protected]> Cc: Simon Glass <[email protected]>
2015-12-07usb: zynqmp: Fix build warningsMarek Vasut
The driver does "return 0" in function with void type. Signed-off-by: Marek Vasut <[email protected]> Cc: Michal Simek <[email protected]> Cc: Siva Durga Prasad Paladugu <[email protected]>
2015-12-07usb: host: xhci-omap: fix build breakFelipe Balbi
Fix the following build break: drivers/usb/host/xhci-omap.c:35:5: error: ‘board_usb_init’ aliased to external symbol ‘__board_usb_init’ int board_usb_init(int index, enum usb_init_type init) ^ Signed-off-by: Felipe Balbi <[email protected]>
2015-12-07usb: zynqmp: Add XHCI driver supportSiva Durga Prasad Paladugu
Added USB XHCI driver support for zynqmp. Signed-off-by: Siva Durga Prasad Paladugu <[email protected]>
2015-11-19usb: sandbox: Add support for interrupt operationsSimon Glass
Allow USB device emulation to support interrupt URBs so that we can use USB keyboards with sandbox. Signed-off-by: Simon Glass <[email protected]>
2015-11-19dm: usb: Remove inactive children after a bus scanSimon Glass
Each scan of the USB bus may return different results. Existing driver-model devices are reused when found, but if a device no longer exists it will stay around, de-activated, but bound. Detect these devices and remove them after the scan completes. Signed-off-by: Simon Glass <[email protected]>
2015-11-19dm: usb: Deprecate usb_get_dev_index()Simon Glass
This function should not be used with driver model. While there are users of USB Ethernet that use driver model for USB but not Ethernet, we have to keep it around. Add a comment to that effect. Signed-off-by: Simon Glass <[email protected]>
2015-11-19Revert "dm: usb: Use device_unbind_children to clean up usb devs on stop"Simon Glass
This reverts commit 6cda369509e0d3fa5f9e33c9d71589c4523799fa. We want to avoid having the USB stack rely on unbind. Signed-off-by: Simon Glass <[email protected]>
2015-11-19Revert "dm: usb: Rename usb_find_child to usb_find_emul_child"Simon Glass
This reverts commit 9b510df703d282effba4f56ac567aa8011d56e6b. We want to avoid having the USB stack rely on unbind. Signed-off-by: Simon Glass <[email protected]>
2015-11-19Move console definitions into a new console.h fileSimon Glass
The console includes a global variable and several functions that are only used by a small subset of U-Boot files. Before adding more functions, move the definitions into their own header file. Signed-off-by: Simon Glass <[email protected]>
2015-11-03ohci: Add missing cache-flush for hcca areaHans de Goede
We need to cache-flush the hcca area after the initial memset, otherwise on the first hc_interrupt we might see an old $random value as done_head and try to interpret that as the address for a completed td (followed by chaos). Signed-off-by: Hans de Goede <[email protected]>
2015-10-23dm: Rename dev_get_parentdata() to dev_get_parent_priv()Simon Glass
The current name is inconsistent with other driver model data access functions. Rename it and fix up all users. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Joe Hershberger <[email protected]>
2015-10-21usb: ehci-marvell.c: Add DM supportStefan Roese
This patch adds driver model (DM) support to the Marvell EHCI driver. This will be used by the MVEBU SoC's, currently Armada XP and 38x. Tested on Marvell Armada XP and 38x eval boards. Signed-off-by: Stefan Roese <[email protected]> Acked-by: Marek Vasut <[email protected]> Cc: Simon Glass <[email protected]> Cc: Luka Perkov <[email protected]>
2015-09-11Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h headerSimon Glass
Now that we have a new header file for cache-aligned allocation, we should move the stack-based allocation macro there also. Signed-off-by: Simon Glass <[email protected]>
2015-09-07usb: ehci: remember init modeStephen Warren
When an EHCI device is registered in device mode, the HW isn't actually initialized at all, and hence isn't left in a running state. Consequently, when the device is deregistered, ehci_shutdown() will fail, since the HW bits it expects to see set in response to its shutdown requests will not be sent, and the message "EHCI failed to shut down host controller." will be printed. Fix ehci-hcd.c to remember whether the device was registered in host or device mode, and only call ehci_shutdown() for host mode registrations. Signed-off-by: Stephen Warren <[email protected]>
2015-08-31dm: Use dev_get_addr() where possibleSimon Glass
This is a convenient way for a driver to get the hardware address of a device, when regmap or syscon are not being used. Change existing callers to use it as an example to others. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Joe Hershberger <[email protected]> Acked-by: Stephen Warren <[email protected]>
2015-08-19usb: dwc2: Rename to dwc2_usbMarek Vasut
This driver is not used only on exynos, but also on Altera SoCFPGA, HiSilicon SoCs, RPi etc, so rename it accordingly to prevent confusion. Signed-off-by: Marek Vasut <[email protected]>
2015-08-19usb: dwc2: Add original Synopsys compat stringMarek Vasut
Add the Synopsys compatible string. This is used in SoCFPGA DT files. Signed-off-by: Marek Vasut <[email protected]>
2015-08-19usb: host: xhci-omap: invoke board_usb_cleanup in xhci_hcd_stopKishon Vijay Abraham I
xhci omap driver has board_usb_init in xhci_hcd_init but doesn't have the corresponding cleanup function in xhci_hcd_stop. Fix it here by invoking board_usb_cleanup() in xhci_hcd_stop(). Signed-off-by: Kishon Vijay Abraham I <[email protected]> Acked-by: Marek Vasut <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]>
2015-08-19usb: xhci: Fix a potential NULL pointer dereferenceSergey Temerkhanov
This patch fixes a potential NULL pointer dereference arising on non-present/non-initialized xHCI controllers and adds some error handling to xHCI code Signed-off-by: Sergey Temerkhanov <[email protected]> Signed-off-by: Radha Mohan Chintakuntla <[email protected]>
2015-08-19usb: spear: Add support for both SPEAr600 EHCI controllersStefan Roese
USB EHCI on SPEAr600 has not been tested for a while. The base controller addresses are missing. This patch adds the defines to the header. And adds the missing code. Signed-off-by: Stefan Roese <[email protected]> Cc: Viresh Kumar <[email protected]> Cc: Vipin Kumar <[email protected]> Cc: Marek Vasut <[email protected]>
2015-08-19imx: usb: ehci-mx6: wait_for_bit to check reg statusAdrian Alonso
Add wait_for_bit to check reg bit status and replace unbounded loops to check usb command status Signed-off-by: Adrian Alonso <[email protected]>
2015-08-19imx: usb: ehci-mx6: add usb support for imx7d socAdrian Alonso
Extend ehci-mx6 usb driver to support imx7d usb Signed-off-by: Adrian Alonso <[email protected]>
2015-08-19imx: usb: ehci-mx6: document board specific functionsAdrian Alonso
Document target board specific functions board_ehci_hcd_init - override usb phy mode board_ehci_hcd_init - set usb vbus voltage board_ehci_power - enables/disables usb vbus voltage Signed-off-by: Adrian Alonso <[email protected]>
2015-08-19imx: usb: ehci-mx6: reg accessor cleanupsAdrian Alonso
Cleanup read/write register access, use clr/set bits_le32 Signed-off-by: Adrian Alonso <[email protected]>
2015-08-18usb: lpc32xx: add host USB driverSylvain Lemieux
Incorporate USB driver from legacy LPCLinux NXP BSP. The files taken from the legacy patch are: - lpc32xx USB driver - lpc3250 header file USB registers definition. The legacy driver was updated and clean-up as part of the integration with the latest u-boot. Signed-off-by: Sylvain Lemieux <[email protected]> Acked-by: Marek Vasut <[email protected]> Tested-by: Vladimir Zapolskiy <[email protected]>
2015-08-17arm: mvebu: add multiple usb-hostcontroller support for AXPAnton Schubert
This patch adds support for multiple hostcontrollers to the ehci-marvell driver and enables all 3 usb-hcs on the db-mv784mp-gp board. It depends on the initial Armada XP usb support patch from Stefan. Signed-off-by: Anton Schubert <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Cc: Luka Perkov <[email protected]>
2015-08-17arm: mvebu: Enable USB EHCI support on Armada XPStefan Roese
This patch enables the USB EHCI support for the Marvell Armada XP (AXP) SoCs. In compatism to the Armada 38x (A38x), the AXP needs to configure the USB PLL and the USB PHY's specifically in U-Boot. The A38x has done this already in the bin_hdr (SPL U-Boot). Without this, accessing the controller registers in U-Boot or Linux will hang the CPU. Additionally, the AXP uses a different USB EHCI base address. This patch also takes care of this by runtime SoC detection in the Marvell EHCI driver. Signed-off-by: Stefan Roese <[email protected]> Signed-off-by: Anton Schubert <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Luka Perkov <[email protected]>
2015-08-12usb: ohci: enable cache supportWu, Josh
Remove the CONFIG_DM_USB limitation to enable cache support functions. Tested on SAMA5D3x-EK board. Signed-off-by: Josh Wu <[email protected]> Acked-by: Hans de Goede <[email protected]>
2015-08-12dwc2: Add dcache supportAlexander Stein
This adds dcache support for dwc2. The DMA buffers must be DMA aligned and is flushed for outgoing transactions before starting transfer. For ingoing transactions it is invalidated after the transfer has finished. Signed-off-by: Alexander Stein <[email protected]> Acked-by: Stephen Warren <[email protected]> [trini: Update to apply again on top of DM patches] Signed-off-by: Tom Rini <[email protected]>
2015-08-08sunxi: usb-phy: Never power off the usb portsHans de Goede
USB devices are not really designed to get the power bounced off and on at them. Esp. USB powered harddisks do not like this. Currently we power off the USB ports both on a "usb reset" and when booting the kernel, causing the usb-power to bounce off and then back on again. This patch removes the powering off calls, fixing the undesirable power bouncing. Note this requires some special handling for the OTG port: 1) We must skip the external vbus check if we've already enabled our own vbus to avoid false positives 2) If on an usb reset we no longer detect that the id-pin is grounded, turn off vbus as that means an external vbus may be present now Signed-off-by: Hans de Goede <[email protected]> Acked-by: Ian Campbell <[email protected]>
2015-08-06Merge git://git.denx.de/u-boot-dmTom Rini
2015-08-06dm: usb: Add driver-model support to dwc2Simon Glass
Add driver model support to this driver so it can be used with the new USB stack. Signed-off-by: Simon Glass <[email protected]>
2015-08-06dm: usb: Prepare dwc2 driver for driver-model conversionSimon Glass
Put all global data in a structure and move (what will be) common code into common functions. This will make the driver-model conversion much easier. Signed-off-by: Simon Glass <[email protected]>
2015-08-05Tegra: clocks: Add 38.4MHz OSC support for T210 useTom Warren
Added 38.4MHz/48MHz entries to pll_x_table for CPU PLL. Needs to be measured - should be close to 700MHz (1.4G/2). Note that some freqs aren't in the PLLU table in T210 TRM (13, 26MHz), so I used the 12MHz table entry for them. They shouldn't be selected since they're not viable T210 OSC freqs. Since there are now 2 new OSC defines, all tables (pll_x_table, PLLU) had to increase by two entries, but since 38.4/48MHz are not viable osc freqs on T20/30/114, etc, they're just set to 0. Signed-off-by: Tom Warren <[email protected]>
2015-08-05usb: USB storage-specific part ifdef in uclassPaul Kocialkowski
usb_stor_reset is only defined when USB storage support is enabled, thus the function is not declared when such support is missing. Signed-off-by: Paul Kocialkowski <[email protected]>
2015-08-05usb: dwc2: Call board_usb_init() from usb_lowlevel_init()Peter Griffin
This patch makes the dwc2 controller like ehci / ohci / xhci controllers by calling the board_usb_init() function from usb_lowlevel_init. This can then be implemented by specific platforms to initialise their USB hardware (phys / clocks etc). Signed-off-by: Peter Griffin <[email protected]>
2015-08-02Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini
2015-08-02arm: mx6: usb: kconfig: add USB_EHCI_MX6 kconfig optionNikita Kiryanov
Add USB_EHCI_MX6 option to menuconfig and use it when migrating cm-fx6 usb config to defconfig. Cc: Masahiro Yamada <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Igor Grinberg <[email protected]> Signed-off-by: Nikita Kiryanov <[email protected]> Acked-by: Igor Grinberg <[email protected]>
2015-07-28ARM: Tegra210: Add support to common Tegra source/config filesTom Warren
Derived from Tegra124, modified as appropriate during T210 board bringup. Cleaned up debug statements to conserve string space, too. This also adds misc 64-bit changes from Thierry Reding/Stephen Warren. Signed-off-by: Tom Warren <[email protected]> Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Stephen Warren <[email protected]>
2015-07-24Merge git://git.denx.de/u-boot-usbTom Rini
2015-07-22usb: ehci-marvell: Drop wrl accessor functionStefan Roese
This patch removes the wrl accessor function from the Marvell EHCI driver by replacing it with the writel function. Signed-off-by: Stefan Roese <[email protected]> Cc: Marek Vasut <[email protected]>