summaryrefslogtreecommitdiff
path: root/drivers/usb/usb_ohci.c
AgeCommit message (Collapse)Author
2008-10-21Merge git://git.denx.de/u-boot into x1Markus Klotzbuecher
Conflicts: drivers/usb/usb_ohci.c
2008-10-18rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-10-14fix USB initialisation procedureRemy Bohmer
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>
2008-09-17Refactoring parts of the common USB OHCI codeRemy Bohmer
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>
2008-09-09Make usb-stop() safe to call multiple times in a row.Remy Bohmer
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>
2008-09-06USB EHCI: reset root hubYuri Tikhonov
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>
2008-08-31USB: Add support for OHCI controller on S3C6400Guennadi Liakhovetski
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>
2008-05-22Fix endianess conversion in usb_ohci.cChristian Eggers
Signed-off-by: Christian Eggers <ceggers@gmx.de> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
2008-05-22USB: add support for multiple PCI OHCI controllersSergei Poselenov
Add new configuration variable CONFIG_PCI_OHCI_DEVNO. In case of several PCI USB controllers on a board this variable specifys which controller to use. Also add USB support for sokrates board. See doc/README.generic_usb_ohci for details. Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
2008-04-24USB: remove a cpu bug workaround for an unsupported architecture.Markus Klotzbücher
Signed-off-by: Markus Klotzbuecher <mk@denx.de>
2008-04-24USB: fix those pesky aliasing warnings issued by gcc-4.2Markus Klotzbücher
Signed-off-by: Markus Klotzbuecher <mk@denx.de> Signed-off-by: Detlev Zundel <dzu@denx.de>
2008-04-17Remove duplicate #undef SHOW_INFO in drivers/usb/usb_ohci.cGururaja Hebbar K R
Signed-off-by: gururaja hebbar <gururajakr@sanyo.co.in>
2008-03-15usb: Add CFG_OHCI_USE_NPS to common USB-OHCI driverStefan Roese
This patch adds CFG_OHCI_USE_NPS to the common USB-OHCI driver. This way a board just needs to define this new option to enable the "force NoPowerSwitching mode" instead of adding new CPU/architecture defines to the USB source itself. This new option will be used first with the new AMCC 460EX Canyonlands board port, which will be posted in a few days. This patch also fixes a small compilation problem when DEBUG is enabled. Signed-off-by: Stefan Roese <sr@denx.de>
2008-01-12USB: Add Philips 1561 PCI-OHCI idsTsiChung Liew
(needed for M5475EVB) Signed-off-by: TsiChungLiew <Tsi-Chung.Liew@freescale.com>
2007-11-25drivers/usb : move usb drivers to drivers/usbJean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>