summaryrefslogtreecommitdiff
path: root/drivers/usb/host
AgeCommit message (Collapse)Author
2015-01-18usb: Add an interval parameter to create_int_queueHans de Goede
Currently create_int_queue is only implemented by the ehci code, and that does not honor interrupt intervals, but other drivers which might also want to implement create_int_queue may honor intervals, so add an interval param. Signed-off-by: Hans de Goede <[email protected]>
2015-01-14sunxi: Move usb-controller init code out of ehci-sunxi.c for reuse for otgHans de Goede
Most of the usb-controller init code found in ehci-sunxi.c also is necessary to init the otg usb controller, so move it to a common place. While at it also update various #ifdefs / defines for sun8i support. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Ian Campbell <[email protected]>
2014-12-11Merge branch 'master' of git://git.denx.de/u-boot-usbTom Rini
Conflicts: board/freescale/mx6sxsabresd/mx6sxsabresd.c Signed-off-by: Tom Rini <[email protected]>
2014-12-11drivers: usb: fsl: Check USB Erratum A007792 applicabilityNikhil Badola
Check USB Erratum A007792 applicability. If applicable, add corresponding property in the device tree via device tree fixup Signed-off-by: Nikhil Badola <[email protected]> Reviewed-by: York Sun <[email protected]>
2014-12-11drivers: usb: fsl: Add USB device-tree errata frameworkNikhil Badola
Add a new framework for fsl usb erratum handling to standardize erratum checking only inside Uboot. Information to kernel is passed via a boolean property corresponding to erratum, hence eliminating need for code duplication inside kernel Signed-off-by: Ramneek Mehresh <[email protected]> Signed-off-by: Nikhil Badola <[email protected]> Reviewed-by: York Sun <[email protected]>
2014-12-11drivers: usb: Make usb device-tree fixup code architecture independentNikhil Badola
move usb device tree fixup code from "arch/powerpc/" to "drivers/usb/" so that it works independent of architecture it is running on Signed-off-by: Ramneek Mehresh <[email protected]> Signed-off-by: Nikhil Badola <[email protected]> Reviewed-by: York Sun <[email protected]>
2014-11-28usb: UniPhier: support OF configurationMasahiro Yamada
If CONFIG_OF_CONTROL is defined, search device tree nodes that are compatible with "panasonic,uniphier-ehci" and take the base address from their "reg" property. Signed-off-by: Masahiro Yamada <[email protected]> Cc: Marek Vasut <[email protected]>
2014-11-26Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriqTom Rini
2014-11-26Merge branch 'master' of http://git.denx.de/u-boot-samsungTom Rini
2014-11-24drivers : usb: fsl: Implement usb Erratum A007798 workaroundNikhil Badola
Set TXFIFOTHRESH to adjust ddr pipeline delay for successful large usb writes Signed-off-by: Nikhil Badola <[email protected]> Reviewed-by: York Sun <[email protected]>
2014-11-23linux/kernel.h: sync min, max, min3, max3 macros with LinuxMasahiro Yamada
U-Boot has never cared about the type when we get max/min of two values, but Linux Kernel does. This commit gets min, max, min3, max3 macros synced with the kernel introducing type checks. Many of references of those macros must be fixed to suppress warnings. We have two options: - Use min, max, min3, max3 only when the arguments have the same type (or add casts to the arguments) - Use min_t/max_t instead with the appropriate type for the first argument Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Pavel Machek <[email protected]> Acked-by: Lukasz Majewski <[email protected]> Tested-by: Lukasz Majewski <[email protected]> [trini: Fixup arch/blackfin/lib/string.c] Signed-off-by: Tom Rini <[email protected]>
2014-11-21drivers: usb: fsl: Move USB Errata checking codeNikhil Badola
Move USB Errata checking code from "arch/powerpc" to architecture independent file "fsl_usb.h" so that errata(s) become independent of the architecture. For each erratum checking function for PPC arch, define a nop function for non PPC arch for successful compilation in either case Signed-off-by: Nikhil Badola <[email protected]> Reviewed-by: York Sun <[email protected]>
2014-11-20include: move various macros to include/linux/kernel.hMasahiro Yamada
U-Boot has imported various utility macros from Linux scattering them to various places without consistency. In include/common.h are min, max, min3, max3, ARRAY_SIZE, ALIGN, container_of, DIV_ROUND_UP, etc. In include/linux/compat.h are min_t, max_t, round_up, round_down, etc. We also have duplicated defines of min_t in some *.c files. Moreover, we are suffering from too cluttered include/common.h. This commit moves various macros that originate in include/linux/kernel.h of Linux to their original position. Note: This commit simply moves the macros; the macros roundup, min, max, min2, max3, ARRAY_SIZE are different from those of Linux at this point. Signed-off-by: Masahiro Yamada <[email protected]>
2014-11-20ARM: remove CONFIG_ARM920T definesMasahiro Yamada
CONFIG_CPU_ARM920T was introduced into Kconfig by commit 2e07c249a67e (kconfig: arm: introduce symbol for ARM CPUs). This commit removes all the defines of CONFIG_ARM920T and replaces the only reference in drivers/usb/host/ohci-hcd.c with CONFIG_CPU_ARM920T. Signed-off-by: Masahiro Yamada <[email protected]>
2014-11-19usb: ehci: do not set the LSB of Current qTD pointerMasahiro Yamada
According to EHCI specification, the LSB of DWORD 3 of Queue Head (Current qTD Pointer) is not T-bit, but always zero. Signed-off-by: Masahiro Yamada <[email protected]>
2014-11-17arm: odroid: usb: add support for usb host including ethernetSuriyan Ramasami
This change adds support for enabling the USB host features of the board. This includes the USB3503A hub and the SMC LAN9730 ethernet controller as well. Signed-off-by: Suriyan Ramasami <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2014-11-14usb:ehci-mx6 add phy mode query functionPeng Fan
usb_phy_enable should return status bit, but not phy mode bit, thus add a new function usb_phy_mode to query the PHY for it's mode and make usb_phy_enable just return 0 but not 'phy_ctrl & USBPHY_CTRL_OTG_ID'. Include a new board weak function board_usb_phy_mode. If board code does not reimplement this function, it just call usb_phy_mode and return usb_phy_mode's return value. The reason to include such a weak function is: " SOC OTG core <--connect--> board HOST port, but no pin id for the board host port, so board can not use usb_phy_mode to return the phy mode, but define it's own rule." Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Ye Li <[email protected]>
2014-11-13Merge branch 'master' of git://git.denx.de/u-boot-sunxiTom Rini
2014-11-13sun6i: ehci: Add sun6i ehci supportHans de Goede
Add support for the 2 ehci controllers found on the sun6i (A31) soc. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Ian Campbell <[email protected]> Acked-by: Marek Vasut <[email protected]>
2014-11-13sunxi: ehci: Add proper Kconfig options to select the usb Vbus gpio-sHans de Goede
Add proper Kconfig options to select the usb Vbus gpio-s, besides moving to Kconfig being the right thing to do, an added advantage of this is that it allows for boards without Vbus gpio-s. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Ian Campbell <[email protected]>
2014-11-11Merge branch 'master' of git://git.denx.de/u-boot-usbTom Rini
2014-11-12usb: UniPhier: add UniPhier on-chip EHCI host driver supportMasahiro Yamada
Support EHCI host driver used on Panasonic UniPhier platform. Since Device Tree is not supported on UniPhier yet, the base address of USB cores are passed from board files (platdevice.c). TODO for me: Move the base address to device trees. Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Marek Vasut <[email protected]>
2014-11-12usb: add basic USB configs in KconfigMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Marek Vasut <[email protected]>
2014-11-07usb: rmobile: Use ARRAY_SIZE(usb_base_address) instead of ↵Nobuhiro Iwamatsu
CONFIG_USB_MAX_CONTROLLER_COUNT Signed-off-by: Nobuhiro Iwamatsu <[email protected]> CC: Marek Vasut <[email protected]>
2014-11-07usb: ehci: fix Interrupt on Doorbell flag of USBCMDMasahiro Yamada
CMD_IAAD (Interrupt on Async Advance Doorbell) is bit 6, not bit 5. While we are here, sort the flags. Signed-off-by: Masahiro Yamada <[email protected]>
2014-11-05dm: sunxi: Request USB vbus gpioHans de Goede
This is necessary for the device-model enabled builds to work properly. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Simon Glass <[email protected]>
2014-11-05sunxi: Use CONFIG_MACH_SUN?I from Kconfig instead of CONFIG_SUN?IIan Campbell
Mostly automatic with: sed -i -e 's/CONFIG_\(SUN[45678]I\)/CONFIG_MACH_\1/g' $(git grep -l CONFIG_SUN[45678]I) followed by removing the relevant #defines from include/configs/sun?i.h by hand. Signed-off-by: Ian Campbell <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Hans de Goede <[email protected]>
2014-11-04usb: ehci: rmobile: Collect up address dataNobuhiro Iwamatsu
R8A7791, R8A7793 and R8A7794 have same IP of USB controller. This collect up address data of each SoCs. Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
2014-11-04usb: ehci: rmobile: Add support R8A7793Nobuhiro Iwamatsu
R8A7793 has same IP of USB controller as R8A7791 and R8A7794 of rmobile ARM SoCs. This adds support R8A7793 to EHCI HCD of rmobile. Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
2014-11-04usb: Make pollable int support available outside of ehci-hcd.cHans de Goede
Signed-off-by: Hans de Goede <[email protected]>
2014-11-04usb: ehci: Move cache invalidation to poll_int_queueHans de Goede
Preperation patch to use poll_int_queue outside of ehci-hcd.c . Signed-off-by: Hans de Goede <[email protected]>
2014-11-04usb: ehci: Move interrupt packet length check to create_int_queueHans de Goede
Preperation patch to use create_int_queue outside of ehci-hcd.c . Signed-off-by: Hans de Goede <[email protected]>
2014-11-04usb: ehci: Do not disable an already disabled periodic scheduleHans de Goede
When periodic_schedules == 0, the schedule is disabled and there is no reason to disable it again. Signed-off-by: Hans de Goede <[email protected]>
2014-10-27Merge branch 'master' of git://git.denx.de/u-boot-tiTom Rini
2014-10-26Merge branch 'master' of git://git.denx.de/u-boot-usbTom Rini
2014-10-25ehci-hcd.c: make local functions staticJeroen Hofstee
Signed-off-by: Jeroen Hofstee <[email protected]>
2014-10-25usb: use __weakJeroen Hofstee
Signed-off-by: Jeroen Hofstee <[email protected]>
2014-10-23keystone: usb: add support of usb xhciWingMan Kwok
Add support of usb xhci. xHCI controls all USB speeds of the Host mode, that is, the SS through the SS PHY, as well as the HS, FS, and LS through the USB2 PHY. xHCI replaces and supersedes all previous host HCIs (HS-only EHCI, FS/LS OHCI and UHCI), and is therefore not backwards compatible with any of them. The USB3SS’s USB Controller is fully compliant with xHC. Acked-by: Vitaly Andrianov <[email protected]> Signed-off-by: WingMan Kwok <[email protected]> Signed-off-by: Ivan Khoronzhuk <[email protected]>
2014-10-23arm: marvell: Move arch/kirkwood.h to arch/soc.hStefan Roese
This move makes is possible to use this header not only from kirkwood platforms but from all Marvell mvebu platforms. Signed-off-by: Stefan Roese <[email protected]> Tested-by: Luka Perkov <[email protected]> Acked-by: Prafulla Wadaskar <[email protected]>
2014-10-22usb: dwc2: Add driver for Synopsis DWC2 USB IP blockOleksandr Tymoshenko
This is the USB host controller used on the Altera SoCFPGA and Raspbery Pi. This code has three checkpatch warnings, but to make sure it stays at least readable and clear, these are not fixed. These bugs are in the USB request handling combinatorial logic, so any abstracting of those is out of question. Tested on DENX MCV (Altera SoCFPGA 5CSFXC6C6U23C8N) and RPi B+ (BCM2835). Signed-off-by: Oleksandr Tymoshenko <[email protected]> Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Cc: Chin Liang See <[email protected]> Cc: Dinh Nguyen <[email protected]> Acked-by: Pavel Machek <[email protected]> Cc: Vince Bridgers <[email protected]> Tested-by: Dinh Nguyen <[email protected]>
2014-10-11Merge branch 'u-boot/master' into 'u-boot-arm/master'Albert ARIBAUD
2014-10-06usb: tegra: ULPI regression on tegra20Marcel Ziswiler
Trying to enumerate USB devices connected via ULPI to T20 failed as follows: USB2: ULPI integrity check failed Git bisecting revealed the following commit being at odds: commit 2d34151f7501ddaa599897f0d89ad576126b03eb usb: tegra: refactor PHY type selection Looking at above commit one quickly identifies a copy paste error which this patch fixes. Happy ULPIing again (;-p). Signed-off-by: Marcel Ziswiler <[email protected]>
2014-10-06usb: ehci: Make periodic_schedules a per controller variableHans de Goede
Periodic schedules tracks how many int_queue-s are active, and decides whether or not to en/disable the periodic schedule based on this. This is clearly a per controller thing. Signed-off-by: Hans de Goede <[email protected]>
2014-10-06usb: ehci: poll_int_queue check real qtd, not the overlayHans de Goede
When we first start an int queue, the qh's overlay area is all zeros. This gets filled by the hc with the actual qtd values as soon as it advances the queue, but we may call poll_int_queue before then, in which case we would think the transfer has completed as the hc has not yet copied the qt_token to the overlay, so the active flag is not set. This fixes this by checking the actual qtd token, rather then the overlay. This also fixes a (theoretical) race where we see the completion in the overlay and free and re-use the qtd before the hc has completed writing back the overlay to the actual qtd. Signed-off-by: Hans de Goede <[email protected]>
2014-10-06usb: ehci: Add missing cache flush to destroy_int_queueHans de Goede
Signed-off-by: Hans de Goede <[email protected]>
2014-10-06usb: ehci: Properly set hub devnum and portnr with usb-1 hubs in the chainHans de Goede
For full / low speed devices we need to get the devnum and portnr of the tt, so of the first upstream usb-2 hub, not of the parent device (which may be a usb-1 hub). Signed-off-by: Hans de Goede <[email protected]>
2014-09-29usb: ehci-mx6: Rename the USB register base addressYe.Li
The mx6sl/mx6sx has 2 OTG and 1 host. So they have name "USBO2H_USB_BASE_ADDR" in imx-regs.h. The driver hard codes the USB base address name to "USBOH3", which causes the driver failed to build for mx6sl/mx6sx. This patch uniform the address name to "USB_BASE_ADDR" for all mx6 series. Signed-off-by: Ye.Li <[email protected]>
2014-09-29usb: ehci: mxs: Add board-specific callbacksMarek Vasut
Add board-specific callbacks for enabling/disabling port power into the MXS EHCI controller driver. This is in-line with the names of callbacks on other systems. Signed-off-by: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]>
2014-09-19USB: ehci-atmel: use pcr to enable or disable clockBo Shen
If the SoC has pcr, we use pcr (peripheral control register) to enable or disable clock. Signed-off-by: Bo Shen <[email protected]> Signed-off-by: Andreas Bießmann <[email protected]>
2014-09-19USB: ohci-at91: use pcr to enable or disable clockBo Shen
If the SoC has pcr, we use pcr (peripheral control register) to enable or disable clock. Signed-off-by: Bo Shen <[email protected]> Signed-off-by: Andreas Bießmann <[email protected]>