summaryrefslogtreecommitdiff
path: root/drivers/usb/host
AgeCommit message (Collapse)Author
2012-05-20Merge branch 'master' of git://git.denx.de/u-boot-usbWolfgang Denk
* 'master' of git://git.denx.de/u-boot-usb: USB: S5P: Add ehci support usb:udc:samsung Add functions for storing private gadget data in UDC driver usb:gadget:composite: Support for composite at gadget.h usb:gadget:composite USB composite gadget support usb:udc:samsung:cleanup Replace DEBUG_* macros with debug_cond() calls usb:udc: Remove duplicated USB definitions from include/linux/usb/ch9.h file USB: Document the QH and qTD antics in EHCI-HCD USB: Drop cache flush bloat in EHCI-HCD USB: Drop ehci_alloc/ehci_free in ehci-hcd USB: Align buffers at cacheline usb: use noinline define
2012-05-20USB: S5P: Add ehci supportRajeshwari Shinde
This patch adds ehci driver support for s5p. Signed-off-by: Vivek Gautam <[email protected]> Signed-off-by: Rajeshwari Shinde <[email protected]>
2012-05-20USB: Document the QH and qTD antics in EHCI-HCDMarek Vasut
The construction of QH and qTD lists in ehci_submit_async() call is cryptic business, add at least a bit of comments so if someone is reading it, he can at least reference the intel ehci manual (ehci-r10.pdf). Signed-off-by: Marek Vasut <[email protected]>
2012-05-20USB: Drop cache flush bloat in EHCI-HCDMarek Vasut
Discard the creepy cache flushing mechanisms in ehci-hcd.c and replace them with more straightforward flushing. In the new approach, the flushing takes place directly in ehci_submit_async() call instead of going through the QH list and flushing all members and buffers. This discards a lot of weird bit operations on the members of QH and qTD structures. NOTE: Certainly, this flushes even qTDs which are possibly unused in some transactions, though the overhead of the previous code was much higher than is the overhead of flushing two more cache lines (which most probably aren't even cached). Signed-off-by: Marek Vasut <[email protected]>
2012-05-20USB: Drop ehci_alloc/ehci_free in ehci-hcdMarek Vasut
These two functions were called only from ehci_submit_async(), therefore dissolve them as part of ehci_submit_async() to get rid of all those static variables. Signed-off-by: Marek Vasut <[email protected]>
2012-05-15imx: usb: There is no such registerTimo Ketola
The reference manual of i.MX25 (nor i.MX31) does not define such register. This seems to access read only UH2_CAPLENGTH register (if CONFIG_MXC_USB_PORT is zero). Signed-off-by: Timo Ketola <[email protected]> Acked-by: Stefano Babic <[email protected]>
2012-05-15i.MX25: usb: Set PORTSCx registerTimo Ketola
The USB controller in i.MX25 has a PORTSCx registers which should be set. In this regard it is similar to the controller in i.MX31. As this file is compiled only with i.MX25 and -31, #ifdef check can be removed. Signed-off-by: Timo Ketola <[email protected]> Acked-by: Stefano Babic <[email protected]>
2012-05-15USB: ehci-mx6: Fix broken IO accessWolfgang Grandegger
To get USB working again on the i.MX6, this patch fixes a bug introduced with commit 522b2a0 "Add proper IO accessors for mx6 usb registers.". At that occasion, I also added the missing __iomem directive. Cc: Marek Vasut <[email protected]> CC: Fabio Estevam <[email protected]> Signed-off-by: Wolfgang Grandegger <[email protected]>
2012-04-21ehci-omap: fix for enabling the correct usb portJeroen Hofstee
This is just a patch for the problem reported here: http://lists.denx.de/pipermail/u-boot/2012-February/117580.html originally reported by Igor. "Looks like this is copy paste error from my side,(for port2/3 it should have been bypass for port2/3 rather its port1 set in bypass mode)" I only submit the patch since it is missing in 2012.04-rc3 while the twister board depends on it. Maybe it is already somewhere in the reposistory, but I cannot find it. note: the twister boards still needs an additional `usb reset`, don't know why. U-Boot 2012.04-rc3-dirty (Apr 19 2012 - 21:38:38) AM35XX-GP ES1.0, CPU-OPP2, L3-165MHz, Max CPU Clock 600 Mhz TAM3517 TWISTER Board + LPDDR/NAND I2C: ready DRAM: 256 MiB NAND: 512 MiB MMC: OMAP SD/MMC: 0 In: serial Out: serial Err: serial Die ID #746c0000000000000155dc1405011024 Net: DaVinci-EMAC, smc911x-0 Hit any key to stop autoboot: 0 twister => usb start (Re)start USB... USB: Register 1313 NbrPorts 3 USB EHCI 1.00 scanning bus for devices... 1 USB Device(s) found scanning bus for storage devices... 0 Storage Device(s) found twister => usb reset (Re)start USB... USB: Register 1313 NbrPorts 3 USB EHCI 1.00 scanning bus for devices... 1 USB Device(s) found scanning bus for storage devices... 0 Storage Device(s) found twister => usb reset (Re)start USB... USB: Register 1313 NbrPorts 3 USB EHCI 1.00 scanning bus for devices... 1 USB Device(s) found scanning bus for storage devices... 0 Storage Device(s) found twister => usb reset (Re)start USB... USB: Register 1313 NbrPorts 3 USB EHCI 1.00 scanning bus for devices... 1 USB Device(s) found scanning bus for storage devices... 0 Storage Device(s) found Signed-off-by: Jeroen Hofstee <[email protected]> Acked-by: Govindraj.R <govindraj.raja <at> ti.com> Acked-by: Tom Rini <[email protected]>
2012-04-16Prepare v2012.04-rc2; minor Coding Style cleanupv2012.04-rc2Wolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]>
2012-03-29tegra: usb: Add support for Tegra USB peripheralSimon Glass
This adds basic support for the Tegra2 USB controller. Board files should call board_usb_init() to set things up. Configuration is performed through the FDT, with aliases used to set the order of the ports, like this fragment: aliases { /* This defines the order of our USB ports */ usb0 = "/usb@0xc5008000"; usb1 = "/usb@0xc5000000"; }; drivers/usb/host files ONLY: Acked-by: Remy Bohmer <[email protected]> Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-03-29usb: Add support for txfifo thresholdSimon Glass
CONFIG_USB_EHCI_TXFIFO_THRESH enables setting of the txfilltuning field in the EHCI controller on reset. Signed-off-by: Simon Glass <[email protected]> Acked-by: Remy Bohmer <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2012-03-27USB: ehci-mx6: Add proper IO accessorsFabio Estevam
Add proper IO accessors for mx6 usb registers. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Stefano Babic <[email protected]> Acked-by: Marek Vasut <[email protected]> Acked-by: Jason Liu <[email protected]>
2012-03-26Renamed mx28_register to mx28_register_32 to prepare for mx28_register_8Robert Delien
This patch renames mx28_register to mx28_register_32 in order to prepare for the introduction of an 8-bit register, mx28_register_8. Signed-off-by: Robert Delien <[email protected]> Acked-by: Marek Vasut <[email protected]> Tested-by: Marek Vasut <[email protected]>
2012-03-26usb/ehci: Add USB support for the MX6QWolfgang Grandegger
Currently, only USB Host 1 is supported. Cc: Remy Bohmer <[email protected]> Signed-off-by: Wolfgang Grandegger <[email protected]>
2012-03-19USB: Armada100: EHCI Driver for Armada100 SOCsAjay Bhargav
This patch adds support for USB EHCI driver for Armada100 SOCs. Signed-off-by: Ajay Bhargav <[email protected]>
2012-03-19USB: Armada100: Add UTMI PHY interface driverAjay Bhargav
This patch adds USB host controller's UTMI PHY interface driver for Armada100 SOCs. Signed-off-by: Ajay Bhargav <[email protected]>
2012-03-19usb: replace wait_ms() with mdelay()Mike Frysinger
Common code has a mdelay() func, so use that instead of the usb-specific wait_ms() func. This also fixes the build errors: ohci-hcd.c: In function 'submit_common_msg': /usr/local/src/u-boot/blackfin/include/usb.h:202:44: sorry, unimplemented: inlining failed in call to 'wait_ms': function body not available ohci-hcd.c:1519:9: sorry, unimplemented: called from here /usr/local/src/u-boot/blackfin/include/usb.h:202:44: sorry, unimplemented: inlining failed in call to 'wait_ms': function body not available ohci-hcd.c:1816:10: sorry, unimplemented: called from here /usr/local/src/u-boot/blackfin/include/usb.h:202:44: sorry, unimplemented: inlining failed in call to 'wait_ms': function body not available ohci-hcd.c:1827:10: sorry, unimplemented: called from here /usr/local/src/u-boot/blackfin/include/usb.h:202:44: sorry, unimplemented: inlining failed in call to 'wait_ms': function body not available ohci-hcd.c:1844:10: sorry, unimplemented: called from here /usr/local/src/u-boot/blackfin/include/usb.h:202:44: sorry, unimplemented: inlining failed in call to 'wait_ms': function body not available ohci-hcd.c:1563:11: sorry, unimplemented: called from here /usr/local/src/u-boot/blackfin/include/usb.h:202:44: sorry, unimplemented: inlining failed in call to 'wait_ms': function body not available ohci-hcd.c:1583:9: sorry, unimplemented: called from here make[1]: *** [ohci-hcd.o] Error 1 Signed-off-by: Mike Frysinger <[email protected]> Acked-by: Marek Vasut <[email protected]>
2012-03-03USB: move keyboard polling into kbd driver[email protected]
This moves keyboard polling logic from USB HCD drivers into USB keyboard driver. Remove usb_event_poll() as keyboard polling was the only user of this API. With this patch USB keyboard works with EHCI controllers again. Tested on a tegra2 seaboard. Signed-off-by: Allen Martin <[email protected]>
2012-02-12ehci-omap: Clean up added ehci-omap.cGovindraj.R
Clean up added ehci-omap.c and make it generic for re-use across omap-soc having same ehci ip block. Also pass the modes to be configured from board file and configure the ports accordingly. All usb layers are not cache aligned, till then keep cache off for usb ops as ehci will use internally dma for all usb ops. * Add a generic common header ehci-omap.h having common ip block data and reg shifts. * Rename and modify ehci-omap3 to ehci.h retain only conflicting sysc reg shifts remove others and move to common header file. * pass the board data for beagle/panda accordinly to use ehci ports. Acked-by: Igor Grinberg <[email protected]> Signed-off-by: Govindraj.R <[email protected]>
2012-02-12ehci-omap: driver for EHCI host on OMAP3Ilya Yanok
Taken from Beagle code. Tested on mcx board (AM3517-based). Signed-off-by: Ilya Yanok <[email protected]> Tested-by: Stefano Babic <[email protected]>
2012-02-12orion5x: add USB host ehci-marvell supportAlbert ARIBAUD
Signed-off-by: Albert ARIBAUD <[email protected]>
2012-02-12Remove kirkwood-specifics from marvell EHCI driverAlbert ARIBAUD
Signed-off-by: Albert ARIBAUD <[email protected]>
2012-02-12Rename ehci-kirkwood as ehci-marvellAlbert ARIBAUD
Signed-off-by: Albert ARIBAUD <[email protected]> Signed-off-by: Prafulla Wadaskar <[email protected]>
2011-12-19Coding Style cleanupWolfgang Denk
Fix trailing white space, indentation by spaces instead of TABs, excessive blank lines, trailing blank lines. Signed-off-by: Wolfgang Denk <[email protected]>
2011-12-11USB: EHCI: Allow EHCI post-powerup configuration in board filesMarek Vasut
This patch allows USB to work on some hosts, which need additional frobing after the host was powered up via regular USB powerup sequence. Signed-off-by: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Remy Bohmer <[email protected]> Cc: Wolfgang Grandegger <[email protected]> Cc: Jason Liu <[email protected]>
2011-12-11USB: MX5: Add MX5 usb post-init callbackMarek Vasut
This is useful for USB Transceivers init etc. Signed-off-by: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Remy Bohmer <[email protected]> Cc: Wolfgang Grandegger <[email protected]> Cc: Jason Liu <[email protected]>
2011-12-11USB: MX5: Abstract out mx51 USB pixmux configurationMarek Vasut
Signed-off-by: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Remy Bohmer <[email protected]> Cc: Wolfgang Grandegger <[email protected]> Cc: Jason Liu <[email protected]>
2011-12-11USB: MX5: add generic USB EHCI support for mx51 and mx53Wolfgang Grandegger
It's derived from ehci-mxc and uses the header files of the ehci-fsl interface. The callback board_ehci_hcd_init() has been introduced to allow for board-specific setup when USB is started. Signed-off-by: Wolfgang Grandegger <[email protected]> CC: Stefano Babic <[email protected]> CC: Remy Bohmer <[email protected]>
2011-12-11ehci: speed up initializationVincent Palatin
According to EHCI specification v1.0, the controller should stabilize the power on a port at most 20 ms after the port power bit transition. So, we put this setting in the virtual descriptor corresponding field, (bPwrOn2PwrGood = 10 => 10 x 2ms = 20ms), this saves about 500ms at each controller initialization/enumeration. Signed-off-by: Vincent Palatin <[email protected]>
2011-12-11USB: Add usb_event_poll() to get keyboards working with EHCIMarek Vasut
Signed-off-by: Marek Vasut <[email protected]> Cc: Remy Bohmer <[email protected]>
2011-12-11USB: Fix complaints about strict aliasing in OHCI-HCDMarek Vasut
Signed-off-by: Marek Vasut <[email protected]>
2011-12-09drivers/usb/host/ehci-mxc.c: Fix GCC 4.6 warningAnatolij Gustschin
Fix: ehci-mxc.c: In function 'ehci_hcd_init': ehci-mxc.c:113:6: warning: variable 'tmp' set but not used [-Wunused-but-set-variable] Signed-off-by: Anatolij Gustschin <[email protected]>
2011-12-02drivers/usb/host/sl811-hcd.c: Fix GCC 4.6 build warningWolfgang Denk
Fix: sl811-hcd.c: In function 'sl811_rh_submit_urb': sl811-hcd.c:556:8: warning: variable 'wIndex' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <[email protected]> Cc: Remy Bohmer <[email protected]>
2011-11-16Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk
* 'master' of git://git.denx.de/u-boot-arm: arm, davinci: add DAVINCI_MMC_CLKID arm, davinci_emac: fix driver bug if more then 3 PHYs are detected arm, davinci: da850/dm365 lowlevel cleanup omap5: Add omap5_evm board build support. omap4/5: Add support for booting with CH. omap5: emif: Add emif/ddr configurations required for omap5 evm omap5: clocks: Add clocks support for omap5 platform. omap5: Add minimal support for omap5430. omap: Checkpatch fixes omap4: make omap4 code common for future reuse GCC4.6: Squash warnings in onenand_base.c GCC4.6: Fix common/usb.c on xscale OneNAND: Add simple OneNAND SPL PXA: vpac270: Enable the new generic MMC driver PXA: Cleanup serial_pxa PXA: Drop csb226 and innokom boards (unmaintained) m28evk: Fix comment about the number of RAM banks mx31: Fix checkpatch warnings in generic.c mx31: Use proper IO accessor for GPR register mx31: Remove duplicate definition for GPR register qong: Use generic function for configuring GPR register M28EVK: Enable USB HOST support iMX28: Add USB HOST driver iMX28: Add USB and USB PHY register definitions M28: Add memory detection into SPL iMX28: Fix ARM vector handling M28: Add doc/README.m28 documentation M28: Add MMC SPL iMX28: Add support for DENX M28EVK board iMX28: Add u-boot.sb target to Makefile iMX28: Add image header generator tool iMX28: Add driver for internal RTC iMX28: Add GPMI NAND driver iMX28: Add APBH DMA driver iMX28: Add SPI driver iMX28: Add GPIO control iMX28: Add I2C bus driver iMX28: Add PINMUX control FEC: Add support for iMX28 quirks iMX28: Add SSP MMC driver iMX28: Initial support for iMX28 CPU MX25: zmx25: GCC4.6 fix build warnings da850: add new config file for AM18xx BeagleBoard: config: Switch to ttyO2 OMAP3: Change omap3_evm maintainer devkit8000: Fix NAND SPL on boards with 256MB NAND integrator: enable Vpp and disable flash protection integrator: add system controller header integrator: make flash writeable on boot integrator: use io-accessors for board init integrator: move text offset to config integrator: pass configs for core modules ARM: remove superfluous setting of arch_number in board specific code. SPL: Allow ARM926EJS to avoid compiling in the CPU support code integrator: do not test first part of the memory arm: a320: fix broken timer ARM: define CONFIG_MACH_TYPE for all ronetix boards dm646x: pass board revision info to kernel dm646x: add new configuration for dm6467T arm, davinci: Fix setting of the SDRAM configuration register arm, davinci: Remove the duplication of LPSC functions arm, davinci: Rename AM1808 lowlevel functions to DA850 da8xxevm: fix build error ARM: re-add MACH_TYPE_XXXXXX for VCMA9 board and add CONFIG_MACH_TYPE
2011-11-11drivers/usb/host/ehci-fsl.c: Fix GCC 4.6 build warningKumar Gala
Fix: ehci-fsl.c: In function 'ehci_hcd_init': ehci-fsl.c:43:7: warning: variable 'usb_phy' set but not used [-Wunused-but-set-variable] Signed-off-by: Kumar Gala <[email protected]>
2011-11-11iMX28: Add USB HOST driverMarek Vasut
This driver supports both EHCI ports on the i.MX28 CPU. Signed-off-by: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Wolfgang Denk <[email protected]> Cc: Detlev Zundel <[email protected]> Cc: Remy Bohmer <[email protected]>
2011-11-04ehci-mxc: remove incorrect commentWolfgang Grandegger
The USB port to be used is determined by CONFIG_MXC_USB_PORT. So, it appears that the comment is not correct. Remove it. Signed-off-by: Wolfgang Grandegger <[email protected]>
2011-10-27ARM: kirkwood: reduce dependence of including platform fileLei Wen
For files like the drivers/serial/serial.c, it must include the platform file, as the CONFIG_SYS_NS16550_COM1 must reference to the definition in the platform definition files. Include the platform definition file in the config file, so that it would decouple the dependence for the driver files. Signed-off-by: Lei Wen <[email protected]>
2011-10-22consolidate mdelay by providing a common function for all usersAnatolij Gustschin
There are several mdelay() definitions in the driver and board code. Remove them all and provide a common mdelay() in lib/time.c. Signed-off-by: Anatolij Gustschin <[email protected]> Acked-by: Mike Frysinger <[email protected]>
2011-10-09drivers/usb/host/ohci-hcd.c: fix warning: variable ... set but not usedWolfgang Denk
Fix: ohci-hcd.c: In function 'dl_transfer_length': ohci-hcd.c:968:8: warning: variable 'tdINFO' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <[email protected]> Cc: Remy Bohmer <[email protected]> Acked-by: Remy Bohmer <[email protected]>
2011-09-29powerpc/85xx: Add ULPI and UTMI USB Phy support for P1010/P1014Ramneek Mehresh
Add UTMI and ULPI PHY support for USB controller on qoriq series of processors with internal UTMI PHY implemented, for example P1010/P1014 - Use both getenv() and hwconfig to get USB phy type till getenv() is depricated - Introduce CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY to specify if soc has internal UTMI phy Signed-off-by: Ramneek Mehresh <[email protected]> Acked-by: Remy Bohmer <[email protected]> Signed-off-by: Kumar Gala <[email protected]>
2011-09-04ehci-hcd: Allow cleanups to happen gracefully on a timeout.Joel Fernandes
With this, the EHCI seems to "recover" from a timeout. This is particularly observable if you were to ping the wrong IP Address and then ping the correct one or if there was a temporary failure during tftp sessions. All it takes is one timeout to disable it. If you have a noisy network (lot of traffic), even if the traffic is not for the board, the timeouts don't occur. Signed-off-by: Joel A Fernandes <[email protected]> Signed-off-by: Sandeep Paulraj <[email protected]>
2011-09-04USB: Remove __attribute__ ((packed)) for struct ehci_hccr and ehci_hcorJason Kridner
Remove __attribute__ ((packed)) to prevent byte access to soc registers in some gcc versions. Having patches to enable ehci for the BeagleBoard lying around for several months, this one was the show-stopper. Switched to align(4), rather than remove the attribute, per suggestion from Alexander. Credits have to go to Laine Walker-Avina <[email protected]> for finding the problem. Signed-off-by: Jason Kridner <[email protected]> Signed-off-by: Joel A Fernandes <[email protected]> Cc: Alexander Holler <[email protected]> Cc: Sandeep Paulraj <[email protected]> Signed-off-by: Sandeep Paulraj <[email protected]>
2011-08-08usb: r8a66597: Fix argument mistake of inlNobuhiro Iwamatsu
Fail in build, because argument of inl used in r8a66597_read_fifo is wrong. r8a66597.h:441:35: error: macro "inl" passed 2 arguments, but takes just 1 In file included from r8a66597-hcd.c:25: r8a66597.h: In function ‘r8a66597_read_fifo’: r8a66597.h:441: error: ‘inl’ undeclared (first use in this function) r8a66597.h:441: error: (Each undeclared identifier is reported only once r8a66597.h:441: error: for each function it appears in.) Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
2011-07-14imx: Add support for USB EHCI on imx25Matthias Weisser
Adding support for USB host on imx25 using the internal PHY. Changing the name of base address define for imx31 to get some unification. Signed-off-by: Matthias Weisser <[email protected]>
2011-06-25ehci-pci: Fix PCI EHCI driver for 36-bitZhao Chenhui
Convert the PCI base address into a virtual address. Signed-off-by: Zhao Chenhui <[email protected]> Signed-off-by: Li Yang <[email protected]>
2011-05-18AT91: change includes from asm/arch/io.h to asm/io.hReinhard Meyer
and remove the now unused asm/arch-at91/io.h Signed-off-by: Reinhard Meyer <[email protected]>
2011-05-18AT91: fix related at91 driver filesReinhard Meyer
Signed-off-by: Reinhard Meyer <[email protected]>
2011-04-27IMX: MX31: Cleanup include files and drop nasty #ifdef in driversStefano Babic
As exception among the i.MX processors, the i.MX31 has headers without general names (mx31-regs.h, mx31.h instead of imx-regs.h and clock.h). This requires several nasty #ifdef in the drivers to include the correct header. The patch cleans up the driver and renames the header files as for the other i.MX processors. Signed-off-by: Stefano Babic <[email protected]>