summaryrefslogtreecommitdiff
path: root/drivers/usb
Commit message (Collapse)AuthorAgeLines
* mpc83xx: USB: Reorganized its supportVivek Mahajan2009-06-12-35/+18
| | | | | | | | | | | | | | | | | The following patch reorganizes/reworks the USB support for mpc83xx as under:- * Moves the 83xx USB clock init from drivers/usb/host/ehci-fsl.c to cpu/mpx83xx/cpu_init.c * Board specific usb_phy_type is read from the environment * Adds USB EHCI specific structure in include/usb/ehci-fsl.h * Copyrights revamped in most of the following files Signed-off-by: Vivek Mahajan <vivek.mahajan@freescale.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* mpc8xxx: USB: Relocates ehci-fsl.h to include/usbVivek Mahajan2009-06-12-87/+1
| | | | | | | | The following patch moves 8xxx-specifc USB #defines from drivers/usb/host/ehci-fsl.h to include/usb. Signed-off-by: Vivek Mahajan <vivek.mahajan@freescale.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* mpc8xxx: USB: Removed reenablement of its interfaceVivek Mahajan2009-06-12-4/+0
| | | | | | | | | | To prepare for the 85xx USB support, which requires interface enablement only once in (specified) order, no different than instructions for enabling the interface under 83xx. It is unknown why the original author enabled the interface twice (checked for references in errata, etc). Signed-off-by: Vivek Mahajan <vivek.mahajan@freescale.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* at91: fix a USB problem for AT91SAM9261RONETIX - Ilko Iliev2009-06-09-1/+2
| | | | | | | | | | | | This patch corrects the missing PLLB initialization in usb_cpu_init() for AT91SAM9261. Because of the missing PLLB initialization, the USB support for all AT91SAM9261 based boards will work only if the PLLB is configured by a precedent bootloader. Signed-off-by: Ilko Iliev <iliev@ronetix.at> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* Fix e-mail address of Gary Jennejohn.Detlev Zundel2009-05-15-2/+2
| | | | Signed-off-by: Detlev Zundel <dzu@denx.de>
* Replace __attribute references with __attribute__Peter Tyser2009-04-28-5/+5
| | | | | | | | __attribute__ follows gcc's documented syntax and is generally more common than __attribute. This change is only asthetic and should not affect functionality. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* at91sam9/at91cap: improve clock frameworkJean-Christophe PLAGNIOL-VILLARD2009-04-16-1/+2
| | | | | | calculate dynamically the clock rate and pllb setting for usb Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Support for PXA27X UDC.Remy Bohmer2009-04-06-0/+703
| | | | | | | | This Patch adds Support for PXA27X UDC. (Rebased to drivers/usb reorganisation) Signed-off-by: Vivek Kutal <vivek.kutal@azingo.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* drivers/usb: regorganisationJean-Christophe PLAGNIOL-VILLARD2009-04-06-46/+178
| | | | | | | | | | | | | move to linux usb driver organisation as following drivers/usb/gadget drivers/usb/host drivers/usb/musb Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* at91: move usb driver to drivers/usbJean-Christophe PLAGNIOL-VILLARD2009-04-04-0/+81
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* s3c64xx: move usb driver to drivers/usbJean-Christophe PLAGNIOL-VILLARD2009-03-29-0/+46
| | | | | | add CONFIG_USB_S3C64XX to activate the driver Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* r8a66597-hcd: fix cannot use external hubYoshihiro Shimoda2009-02-22-5/+31
| | | | | | | | Fix the problem that cannot use external hub, because this driver did not control correctly a DEVADDx register. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* Coding style cleanup; update CHANGELOGWolfgang Denk2009-02-12-4/+4
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Fix whitespace damage: double space changed to a tabJerry Van Baren2009-02-11-1/+1
| | | | | | | | | | At some point an intentional double space at the end of the sentence got changed into a tab in the GPL header line: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the This patch fixes the damage. Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
* USB: Add EHCI support for VCT EHCI controller (really with driver now)Stefan Roese2009-02-02-0/+58
| | | | | | | | Somehow I missed the real driver part in my last patch version. This patch now adds the driver. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* USB: Add dcache support to the EHCI driverStefan Roese2009-01-28-0/+103
| | | | | | | | | This patch adds routines to handle (flush/invalidate) the dcache for the QH and qTD structures and data buffers. This is needed on platforms using this EHCI support with dcache enabled (like the MIPS VCT board port). Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* USB: Add EHCI support for VCT EHCI controllerStefan Roese2009-01-28-0/+1
| | | | | Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* USB: Add config option to call ehci_hcd_init() again after EHCI resetStefan Roese2009-01-28-0/+5
| | | | | | | | | | This patch adds the config option CONFIG_EHCI_HCD_INIT_AFTER_RESET to call ehci_hcd_init() again after ehci_reset() is executed. This is needed for the upcoming VCT EHCI support which needs to re-init the hcd part again after the EHCI CMD_RESET is executed. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* USB: Fix speed detection on EHCI cntr with root hub transaction translatorsStefan Roese2009-01-28-1/+16
| | | | | | | | | This patch fixes an issue that the speed of USB devices was not detected correctly on some EHCI controllers. This will be used on the upcoming VCT EHCI support. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* usb : musb : Adding DM6446 (TI DaVinci) platform specific USB supportThomas Abraham2009-01-28-0/+194
| | | | | | | | | | | Adding DM6446 (TI DaVinci) platform specific USB functionality for USB Phy and VBUS initialization. Signed-off-by: Ravi Babu <ravibabu@ti.com> Signed-off-by: Swaminathan S <swami.iyer@ti.com> Signed-off-by: Thomas Abraham <t-abraham@ti.com> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* usb : musb : Adding host controller driver for Mentor USB controllerThomas Abraham2009-01-28-0/+1302
| | | | | | | | | | | Adding Mentor USB core functionality and Mentor USB Host controller functionality for Mentor USB OTG controller (musbhdrc). Signed-off-by: Ravi Babu <ravibabu@ti.com> Signed-off-by: Swaminathan S <swami.iyer@ti.com> Signed-off-by: Thomas Abraham <t-abraham@ti.com> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* USB ehci ixp4xx supportMichael Trimarchi2009-01-28-0/+50
| | | | | | | Add USB ehci ixp4xx host controller. Test on ixdp465 board. Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* USB ehci remove infinite loop and use handshake functionMichael Trimarchi2009-01-28-24/+25
| | | | | | | | USB ehci code cleanup. Use handshake instead of infinite while loop to check the STD_ASS status Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* Add initial support for USB ehci pciMichael Trimarchi2009-01-28-0/+65
| | | | | | | | Add USB ehci pci support. This patch doesn't include any pci_ids and it is not tested on real hardware. Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* EHCI fix code and ixp4xx test.Remy Böhmer2009-01-28-72/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USB ehci configuration parameter: #define CONFIG_CMD_USB 1 #define CONFIG_USB_STORAGE 1 #define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_IXP4XX 1 #define CONFIG_EHCI_IS_TDI 1 #define CONFIG_EHCI_DESC_BIG_ENDIAN 1 #define CONFIG_EHCI_MMIO_BIG_ENDIAN 1 #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2 #define CONFIG_LEGACY_USB_INIT_SEQ 1 2 USB Device(s) found scanning bus for storage devices... 0 Storage Device(s) found => usb tree Device Tree: 1 Hub (1.5MBit/s, 0mA) | u-boot EHCI Host Controller | |+-2 Mass Storage (12MBit/s, 100mA) Sony Storage Media 0C07040930296 => Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it> Signed-off-by: Remy Böhmer <linux@bohmer.net>
* [PATCH] This patch add varius fix to the ehci.michael2009-01-28-44/+133
| | | | | | | | | | - fix ehci_readl, ehci_writel - introduce new define in ehci.h - introduce the handshake function for waiting on a register - fix usb_ehci_fsl with the new HC_LENGTH macro Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it> Signed-off-by: Remy Böhmer <linux@bohmer.net>
* [PATCH] Fix EHCI usb. I start to test on amichael2009-01-28-161/+234
| | | | | | | | | | | | | | | | IXP465 board and I find some errors in the code. This patch fix: - descriptor initizialization (config, interface and endpoint must be one next-to the other when the USB_DT_CONFIG message is send. - FIX little/endian bigendian (introduce the CONFIG_EHCI_DESC_BIG_ENDIAN and the CONFIG_EHCI_MMIO_BIG_ENDIAN) - Introduce the linux version of the usb_config_descriptor and usb_interface descriptor. This descriptor does't contains u-boot extension. Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it> Signed-off-by: Remy Böhmer <linux@bohmer.net>
* USB ehci freescale supportMichael Trimarchi2009-01-28-0/+186
| | | | | | | Add USB ehci freescale support Signed-off-by: Michael Trimarchi <trimarchi@gandalf.sssup.it> Signed-off-by: Remy Böhmer <linux@bohmer.net>
* USB ehci core supportMichael Trimarchi2009-01-28-0/+785
| | | | | | | Add USB ehci core support Signed-off-by: Michael Trimarchi <trimarchi@gandalf.sssup.it> Signed-off-by: Remy Böhmer <linux@bohmer.net>
* usbtty/omap: update to current APIJean-Christophe PLAGNIOL-VILLARD2008-12-09-1/+3
| | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Remy Böhmer <linux@bohmer.net>
* drivers/usb: Move conditional compilation to MakefileJean-Christophe PLAGNIOL-VILLARD2008-11-28-29/+13
| | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Remy Böhmer <linux@bohmer.net>
* Cleanup: fix "MHz" spellingWolfgang Denk2008-10-21-1/+1
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge git://git.denx.de/u-boot into x1Markus Klotzbuecher2008-10-21-33/+33
|\ | | | | | | | | | | Conflicts: drivers/usb/usb_ohci.c
| * rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD2008-10-18-30/+30
| | | | | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* | The PIPE_INTERRUPT flag is used wrongRemy Bohmer2008-10-14-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | At a lot of places in the code the PIPE_INTERRUPT flags and friends are used wrong. The wrong bits are compared to this flag resulting in wrong conditions. Also there are macros that should be used for PIPE_* flags. This patch tries to fix them all, however, I was not able to test the changes, because I do not have any of these boards. Review required! Signed-off-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
* | fix USB initialisation procedureRemy Bohmer2008-10-14-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The max packet size is encoded as 0,1,2,3 for 8,16,32,64 bytes. At some places directly 8,16,32,64 was used instead of the encoded value. Made a enum for the options to make this more clear and to help preventing similar errors in the future. After fixing this bug it became clear that another bug existed where the 'pipe' is and-ed with PIPE_* flags, where it should have been 'usb_pipetype(pipe)', or even better usb_pipeint(pipe). Also removed the triple 'get_device_descriptor' sequence, it has no use, and Windows nor Linux behaves that way. There is also a poll going on with a timeout when usb_control_msg() fails. However, the poll is useless, because the flag will never be set on a error, because there is no code that runs in a parallel that can set this flag. Changed this to something more logical. Tested on AT91SAM9261ek and compared the flow on the USB bus to what Linux is doing. There is no difference anymore in the early initialisation sequence. Signed-off-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
* | usb: Fix compile warning of r8a66597-hcdNobuhiro Iwamatsu2008-09-19-2/+2
| | | | | | | | | | Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
* | Refactoring parts of the common USB OHCI codeRemy Bohmer2008-09-17-451/+556
|/ | | | | | | | | | | | This patch refactors some large routines of the USB OHCI code by making some routines smaller and more readable which helps debugging and understanding the code. (Makes the code looks somewhat more like the Linux implementation.) Also made entire file compliant to Linux Coding Rules (checkpatch.pl compliant) Signed-off-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
* Make usb-stop() safe to call multiple times in a row.Remy Bohmer2008-09-09-1/+3
| | | | | | | | | | | | | | | | | | | | | | | A recent commit (936897d4d1365452bbbdf8430db5e7769ef08d38) enabled the usb_stop() command in common/cmd_bootm.c which was not enabled for some time, because no board did actually set the CFG_CMD_USB flag. So, now the usb_stop() is executed before loading the linux kernel. However, the usb_ohci driver hangs up (at least on AT91SAM) if the driver is stopped twice (e.g. the peripheral clock is stopped on AT91). If some other piece of code calls usb_stop() before the bootm command, this command will hangup the system during boot. (usb start and stop is typically used while booting from usb memory stick) But, stopping the usb stack twice is useless anyway, and a flag already existed that kept track on the usb_init()/usb_stop() calls. So, we now check if the usb stack is really started before we stop it. This problem is now fixed in both the upper as low-level layer. Signed-off-by: Remy Bohmer <linux@bohmer.net> Acked-by: Markus Klotzbuecher <mk@denx.de>
* USB EHCI: reset root hubYuri Tikhonov2008-09-06-0/+38
| | | | | | | | | | | Some of multi-function USB controllers (e.g. ISP1562) allow root hub resetting only via EHCI registers. So, this patch adds the corresponding kind of reset to OHCI's hc_reset() if the newly introduced CONFIG_PCI_EHCI_DEVNO option is set (e.g. for Socrates board). Signed-off-by: Yuri Tikhonov <yur@emcraft.com> Acked-by: Markus Klotzbuecher <mk@denx.de>
* USB: Add support for OHCI controller on S3C6400Guennadi Liakhovetski2008-08-31-0/+1
| | | | | | | | Notice: USB on S3C6400 currently works _only_ with switched off MMU. One could try to enable the MMU, but map addresses 1-to-1, and disable data cache, then it should work too and we could still profit from instruction cache. Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
* Coding style cleanup, update CHANGELOG, prepare releaseWolfgang Denk2008-08-12-4/+0
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Fix compile error related to r8a66597-hcd & usbKumar Gala2008-08-12-6/+2
| | | | | | | | | | | | | When building the 8544DS board we get this error: In file included from r8a66597-hcd.c:22: u-boot/include/usb.h:190:2: error: #error USB Lowlevel not defined make[1]: *** [r8a66597-hcd.o] Error 1 The cleanest fix is to only build r8a66597-hcd.c if CONFIG_USB_R8A66597_HCD is set. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* usb: add support for R8A66597 usb controllerYoshihiro Shimoda2008-08-07-0/+1588
| | | | | | | | add support for Renesas R8A66597 usb controller. This patch supports USB Host mode. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
* Add support for OMAP5912 and OMAP16xx to usbdcore_omap1510.cHunter, Jon2008-08-07-3/+25
| | | | | | | Add support to drivers/usb/usbdcore_omap1510.c for OMAP5912 and OMAP16xx devices. Signed-off-by: Jon Hunter <jon-hunter@ti.com> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
* Fix more printf() format warningsJean-Christophe PLAGNIOL-VILLARD2008-07-30-1/+1
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Fix some more printf() format problems.Wolfgang Denk2008-07-13-7/+9
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Fix some more printf() format issues.Jean-Christophe PLAGNIOL-VILLARD2008-07-13-1/+1
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* fix USB devices with multiple configurationsHarald Welte2008-07-10-15/+6
| | | | | | | | | | | | | | | | This patch fixes bugs in usbdcore*.c related to the use of devices with multiple configurations. The original code made mistakes about the meaning of configuration value and configuration index, and the resulting off-by-one errors resulted in: * SET_CONFIGURATION always selected the first configuration, no matter what wValue is being passed. * GET_DESCRIPTOR/CONFIGURATION always returned the descriptor for the first configuration (index 0). Signed-off-by: Harald Welte <laforge@openmoko.org> Acked-by: Markus Klotzbuecher <mk@denx.de>
* Fix endianess conversion in usb_ohci.cChristian Eggers2008-05-22-3/+3
| | | | | Signed-off-by: Christian Eggers <ceggers@gmx.de> Signed-off-by: Markus Klotzbuecher <mk@denx.de>