summaryrefslogtreecommitdiff
path: root/drivers/usb
Commit message (Collapse)AuthorAgeLines
* ARMV7: Restructure omap3 musb driver to allow code sharing between OMAP3 and ↵Steve Sakoman2010-08-05-1/+18
| | | | | | | OMAP4 Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* musb: fix compilation warningAjay Kumar Gupta2010-07-15-1/+1
| | | | | | | | | | | Fixes below compilation warning omap3.c: In function 'musb_platform_init': omap3.c:123: warning: implicit declaration of function 'omap3_evm_need_extvbus' Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Acked-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* drivers/usb/host/ohci-hcd: rename readl/writel to ohci_readl/ohci_writelBecky Bruce2010-06-30-80/+85
| | | | | | | | | This avoids a build warning that you see if anyone in the header chain has included io.h (which is coming shortly). The previous code redefined readl/writel; this patch renames it to be specific to ohci. The defines are also moved from ohci-hcd.c to ohci.h. Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
* musb: Program extvbus for OMAP3EVM Rev >= EAjay Kumar Gupta2010-06-30-0/+7
| | | | | | | | OMAP3EVM Rev >=E uses external Vbus supply so setting 'extvbus' to '1' for OMAP3EVM Rev >=E runtime based on EVM revision. CC: Remy Bohmer <linux@bohmer.net> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
* musb: Add Phy programming for using external VbusAjay Kumar Gupta2010-06-30-1/+36
| | | | | | | | | | | | | | | | MUSB PHY on OMAP3EVM Rev >= E uses external Vbus supply to support 500mA of power.We need to program MUSB PHY to use external Vbus for this purpose. Adding 'extvbus' member in musb_config structure which should be set by all the boards where MUSB interface is using external Vbus supply. Also added ULPI bus control register read/write abstraction for Blackfin processor as it doesn't have ULPI registers. CC: Remy Bohmer <linux@bohmer.net> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
* musb: Use name based initialization for musb_configAjay Kumar Gupta2010-06-30-9/+9
| | | | | | | | | | | Changed musb_config initialization for omap3.c, davinci.c and da8xx.c using name of structure fields. This would cause the uninitialized field to be null by default and thus would help in avoiding to init some flags required to be set only for a few selected platforms. CC: Remy Bohmer <linux@bohmer.net> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
* USB OHCI support for at91sam9g45 SoCSergey Matyukevich2010-06-30-0/+14
| | | | | | | | | | Add USB OHCI support for at91sam9g45ekes/at91sam9m10g45ek boards. Note that according to errata from Atmel, OHCI is not operational on the first revision of at91sam9g45 chip. So this patch enables OHCI support for later revisions. Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
* EHCI: zero out QH transfer overlay in ehci_submit_async()Sergei Shtylyov2010-06-29-2/+1
| | | | | | | | | | | | | | | | | | | | | ehci_submit_async() doesn't really zero out the QH transfer overlay (as the EHCI specification suggests) which leads to the controller seeing the "token" field as the previous call has left it, i.e.: - if a timeout occured on the previous call (Active bit left as 1), controller incorrectly tries to complete a previous transaction on a newly programmed endpoint; - if a halt occured on the previous call (Halted bit set to 1), controller just ignores the newly programmed TD(s) and the function then keeps returning error ad infinitum. This turned out to be caused by the wrong orger of the arguments to the memset() call in ehci_alloc(), so the allocated TDs weren't cleared either. While at it, stop needlessly initializing the alternate next TD pointer in the QH transfer overlay... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Acked-by: Remy Bohmer <linux@bohmer.net>
* drivers/*/Makefile: fix conditional compile rule.Ender.Dai2010-05-06-1/+0
| | | | | | Fix conditional compile rule for twl4030.c and videomodes.c. Signed-off-by: Ender.Dai <ender.dai@gmail.com>
* mips: Move cpu/mips/* to arch/mips/cpu/*Peter Tyser2010-04-13-1/+1
| | | | Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* EHCI: add NEC PCI IDSergei Shtylyov2010-04-08-0/+1
| | | | | | | | | Add NEC EHCI controller to the list of the supported devices. Signed-off-by: Sergei Shtylyov <sshtylyov@mvista.com> drivers/usb/host/ehci-pci.c | 1 + 1 file changed, 1 insertion(+)
* EHCI: fix port reset reportingSergei Shtylyov2010-04-08-15/+17
| | | | | | | | | Commit b416191a14770c6bcc6fd67be7decf8159b2baee (Fix EHCI port reset.) didn't move the code that checked for successful clearing of the port reset bit from ehci_submit_root(), relying on wait_ms() call instead. The mentioned code also erroneously reported port reset state when the reset was already completed. Signed-off-by: Sergei Shtylyov <sshtylyov@mvista.com>
* EHCI: fix off-by-one error in ehci_submit_root()Sergei Shtylyov2010-04-08-1/+1
| | | | | | | | | | | USB devices on the 2nd port are not detected and I get the following message: The request port(1) is not configured That's with default CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS value of 2. 'req->index' is 1-based, so the comparison in ehci_submit_root() can't be correct. Signed-off-by: Sergei Shtylyov <sshtylyov@mvista.com>
* EHCI: fix root hub device descriptorSergei Shtylyov2010-04-08-2/+2
| | | | | | | | On little endian machines, EHCI root hub's USB revision is reported as 0.2 -- cpu_to_le16() was missed in the initializer for the 'bcdUSB' descriptor field. The same should be done for the 'bcdDevice' field. Signed-off-by: Sergei Shtylyov <sshtylyov@mvista.com>
* at91: use C structs for AT91 OHCI codeMatthias Fuchs2010-04-03-15/+13
| | | | | | | | | | | | This patch is part of migrating the AT91 support towards using C struct for all SOC access. It removes one more CONFIG_AT91_LEGACY warning. at91_pmc.h needs cleanup after migration of the drivers has been done. Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
* mod change 755 => 644 for multiple filesThomas Weber2010-03-21-0/+0
| | | | | | | | I executed 'find . -name "*.[chS]" -perm 755 -exec chmod 644 {} \;' Signed-off-by: Thomas Weber <swirl@gmx.li> Add some more: neither Makefile nor config.mk need execute permissions. Signed-off-by: Wolfgang Denk <wd@denx.de>
* Prepare v2010.03-rc1v2010.03-rc1Wolfgang Denk2010-03-12-2/+0
| | | | | | Coding style cleanup, update CHANGELOG. Signed-off-by: Wolfgang Denk <wd@denx.de>
* convert common files to new SoC accessJens Scharsig2010-02-12-0/+5
| | | | | | | | * add's a warning to all files, which need update to new SoC access * convert common files in cpu/../at91 and a lot of drivers to use c stucture SoC access Signed-off-by: Jens Scharsig <js_at_ng@scharsoft.de>
* musb: Add host support for DM365 EVMPrathap Srinivas2010-02-03-2/+20
| | | | | | Add support for musb host on DM365 EVM. Signed-off-by: Prathap Srinivas <msprathap@ti.com>
* usb: musb: fix Blackfin DMA register paddingCliff Cai2010-02-03-1/+1
| | | | | | | | | The conversion from offsets to C structs lost a little padding in the DMA register map. Accessing endpoints other than ep0 with DMA would fail as the addresses wouldn't be adjusted correctly. Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* SPEAr : usbd driver support for SPEAr SoCsVipin KUMAR2010-01-23-0/+999
| | | | | | | | | | | | | SPEAr SoCs contain a synopsys usb device controller. USB Device IP can work in 2 modes - DMA mode - Slave mode The driver adds support only for slave mode operation of usb device IP. This driver is used along with standard USBTTY driver to obtain a tty interface over USB on the host Signed-off-by: Vipin <vipin.kumar@st.com>
* PCIe, USB: Replace 'end point' references with 'endpoint'Peter Tyser2010-01-17-1/+1
| | | | | | | | | When referring to PCIe and USB 'endpoint' is the standard naming convention. Signed-off-by: Peter Tyser <ptyser@xes-inc.com> Acked-by: Stefan Roese <sr@denx.de> Acked-by: Remy Bohmer <linux@bohmer.net>
* usb: musb: add virtual root hub control supportBryan Wu2010-01-12-2/+482
| | | | | | | | | For MUSB devices that do not support multipoint (hubs), we have to emulate a root hub so that we can support core operations like resetting ports. Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Add ppc440epx USB ehci support.Chris Zhang2010-01-09-0/+49
| | | | | | | Currently ppc440epx uses OHCI for USB full-speed support. This change adds support for EHCI. Signed-off-by: Chris Zhang <chris@seamicro.com>
* Fix EHCI port reset.Chris Zhang2010-01-09-0/+3
| | | | | | | | | In USB ehci driver, the port reset is not terminated. EHCI spec says "A host controller must terminate the reset and stabilize the state of the port within 2 milliseconds". Without termination, a port stays at reset state. This is observed on ppc4xx(sequoia) boards. Signed-off-by: Chris Zhang <chris@seamicro.com>
* omap3: fix compile warningSanjeev Premi2010-01-09-0/+3
| | | | | | | | | | | This patch fixes this warning during compile: omap3.c: In function 'musb_platform_init': omap3.c:126: warning: label 'end' defined but not used Problem reported by: Dirk Behme[dirk.behme@googlemail.com] Signed-off-by: Sanjeev Premi <premi@ti.com>
* usb: musb: add support for Blackfin MUSBBryan Wu2010-01-09-1/+262
| | | | | | | Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* usb: musb: change rxcsr register from write to read/modify/writeBryan Wu2010-01-09-2/+4
| | | | | | | | | | | | | The RX Control/Status register has bits that we want to preserve, so don't just write out a single bit. Preserve the others bits in the process. The original code posted to the u-boot list had this behavior, but looks like it was lost somewhere along the way to merging. Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* usb: musb: make multipoint optionalBryan Wu2010-01-09-0/+20
| | | | | | | | | | The multipoint handling under MUSB is optional, and some parts (like the Blackfin processor) do not implement support for it. Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* usb: musb: make fifo support configurableBryan Wu2010-01-09-4/+14
| | | | | | | | | | | | | The dynamic FIFO handling under MUSB is optional, and some parts (like the Blackfin processor) do not implement support for it. Due to this, the FIFO reading/writing steps need special handling, so mark the common versions weak so drivers can override. Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* usb: musb: make sure the register layout is packedMike Frysinger2010-01-09-1/+1
| | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* DA8xx: Add MUSB host supportAjay Kumar Gupta2010-01-09-0/+243
| | | | | | | Tested USB host functionality on DA830 EVM. Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Swaminathan S <swami.iyer@ti.com>
* OMAP3 USB Initialize twl4030 only if requiredTom Rix2009-12-20-1/+6
| | | | | | | OMAP3EVM uses ISP1504 phy and so twl4030 related init is not required. Submitted-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
* OMAP3 Add usb device supportTom Rix2009-12-20-2/+1393
| | | | | | | | | | | | This change adds the usb device support for musb. Omap3 platform support added at the same level as davinci. The interface for usbtty to use the musb device support was added. Verified on omap3 beagle, zoom1 and zoom2. Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
* TWL4030 Add usb PHY supportTom Rix2009-12-20-0/+233
| | | | | | | | | | The twl4030 provides a PHY device for connecting a link device, like musb, to physical connection. This change adds the twl4030 usb registers and functions for initializing the PHY as required by omap3. Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
* USB Consolidate descriptor definitionsTom Rix2009-12-20-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The header files usb.h and usbdescriptors.h have the same nameed structure definitions for usb_config_descriptor usb_interface_descriptor usb_endpoint_descriptor usb_device_descriptor usb_string_descriptor These are out right duplicates in usb.h usb_device_descriptor usb_string_descriptor This one has extra unused elements usb_endpoint_descriptor unsigned char bRefresh unsigned char bSynchAddress; These in usb.h have extra elements at the end of the usb 2.0 specified descriptor and are used. usb_config_descriptor usb_interface_descriptor The change is to consolidate the definition of the descriptors to usbdescriptors.h. The dublicates in usb.h are removed. The extra element structure will have their name shorted by removing the '_descriptor' suffix. So usb_config_descriptor -> usb_config usb_interface_descriptor -> usb_interface For these, the common descriptor elements are accessed now by an element 'desc'. As an example - if (iface->bInterfaceClass != USB_CLASS_HUB) + if (iface->desc.bInterfaceClass != USB_CLASS_HUB) This has been compile tested on MAKEALL arm, ppc and mips. Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
* Add a unified s3c24x0 header filekevin.morfitt@fearnside-systems.co.uk2009-11-27-2/+1
| | | | | | | | | | This patch adds a unified s3c24x0 cpu header file that selects the header file for the specific s3c24x0 cpu from the SOC and CPU configs defined in board config file. This removes the current chain of s3c24-type #ifdef's from the s3c24x0 code. Signed-off-by: Kevin Morfitt <kevin.morfitt@fearnside-systems.co.uk> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* s3c64xx: move s3c64xx header files to asm-arm/arch-s3c64xxMinkyu Kang2009-11-27-1/+1
| | | | | | | This patch moves the s3c64xx header files from include/ to include/asm-arm/arch-s3c64xx Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* usb: bugfix driver/usb/host/ehci-hcd.c function ehci_submit_rootPrafulla Wadaskar2009-07-23-2/+2
| | | | | | | | | | | | This change is cheked in Linux source and fix found to be in sync. This patch is tested for USB host interface on Kirkwood based Sheevaplug platform (ARM little endian board) Risk: the impact of this patch is not validated on big endian board. This need to be checked... Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* Coding Style cleanup; update CHANGELOG.Wolfgang Denk2009-07-23-1/+0
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* stdio/device: rework function naming conventionJean-Christophe PLAGNIOL-VILLARD2009-07-18-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far the console API uses the following naming convention: ======Extract====== typedef struct device_t; int device_register (device_t * dev); int devices_init (void); int device_deregister(char *devname); struct list_head* device_get_list(void); device_t* device_get_by_name(char* name); device_t* device_clone(device_t *dev); ======= which is too generic and confusing. Instead of using device_XX and device_t we change this into stdio_XX and stdio_dev This will also allow to add later a generic device mechanism in order to have support for multiple devices and driver instances. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Edited commit message. Signed-off-by: Wolfgang Denk <wd@denx.de>
* usb: Fix compiler warning with gcc4.4Kumar Gala2009-07-11-2/+2
| | | | | | | | | ehci-hcd.c: In function 'ehci_submit_root': ehci-hcd.c:719: warning: value computed is not used ehci-hcd.c:748: warning: value computed is not used Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* usb: add Marvell Kirkwood ehci host controller driverPrafulla Wadaskar2009-07-09-0/+109
| | | | | | | This driver is tested on Sheevaplug platform Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* mpc8xxx: USB: fix: access of ehci struct elementsVivek Mahajan2009-07-09-9/+9
| | | | | | | | | This patch fixes the access to the 'ehci' struct elements which should have been taken care off in 4ef01010aa4799c759d75e67007fdd3a38c88c8a Sorry about that. Signed-off-by: Vivek Mahajan <vivek.mahajan@freescale.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* usb: musb: add timeout via CONFIG_MUSB_TIMEOUTBryan Wu2009-07-09-0/+35
| | | | | | Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* usb: musb: drop old musb read/write prototypesMike Frysinger2009-07-09-6/+0
| | | | | | | These functions are no longer defined, so remove their prototypes. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Remy Bohmer <linux@bohmer.net>
* 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>