[linux-yocto] [PATCH 01/89] drivers/usb: LSI AXM5500 USB driver support
Paul Butler
butler.paul at gmail.com
Sun Oct 27 12:32:26 PDT 2013
From: Niraj Desai <nirajvdesai at gmail.com>
Added USB driver support for LSI AXM5500 device.
The USB s/w workarounds apply only to older PPC 34xx devices
hence added Kconfig option CONFIG_LSI_USB_SW_WORKAROUND
to select s/w workaround for ACP34xx devices.
Renamed CONFIG_LSI_PCI option to CONFIG_LSI_PPC_PCI
Signed-off-by: SangeethaRao <sangeetha.rao at lsi.com>
Signed-off-by: Niraj Desai <nirajvdesai at gmail.com>
---
arch/powerpc/sysdev/Kconfig | 2 +-
arch/powerpc/sysdev/Makefile | 2 +-
drivers/usb/host/Kconfig | 8 +++++++-
drivers/usb/host/ehci-ci13612.c | 6 ++++++
4 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/sysdev/Kconfig b/arch/powerpc/sysdev/Kconfig
index 4b68792..1ea267b 100644
--- a/arch/powerpc/sysdev/Kconfig
+++ b/arch/powerpc/sysdev/Kconfig
@@ -2,7 +2,7 @@
# see Documentation/kbuild/kconfig-language.txt.
#
-config LSI_PCI
+config LSI_PPC_PCI
bool "LSI ACP34XX PCIe support"
default y
help
diff --git a/arch/powerpc/sysdev/Makefile b/arch/powerpc/sysdev/Makefile
index ef37f84..6354d1c 100644
--- a/arch/powerpc/sysdev/Makefile
+++ b/arch/powerpc/sysdev/Makefile
@@ -40,7 +40,7 @@ obj-$(CONFIG_4xx) += uic.o
obj-$(CONFIG_4xx_SOC) += ppc4xx_soc.o
obj-$(CONFIG_XILINX_VIRTEX) += xilinx_intc.o
obj-$(CONFIG_XILINX_PCI) += xilinx_pci.o
-obj-$(CONFIG_LSI_PCI) += lsi_pci.o
+obj-$(CONFIG_LSI_PPC_PCI) += lsi_pci.o
obj-$(CONFIG_OF_RTC) += of_rtc.o
ifeq ($(CONFIG_PCI),y)
ifeq ($(CONFIG_LSI_PCI),n)
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 7748646..55de8b0 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -4,6 +4,12 @@
comment "USB Host Controller Drivers"
depends on USB
+config LSI_USB_SW_WORKAROUND
+ bool "LSI USB SW Workaround for ACP34xx devices"
+ default n
+ help
+ LSI USB SW Workaround for ACP34xx devices
+
config USB_C67X00_HCD
tristate "Cypress C67x00 HCD support"
depends on USB
@@ -537,7 +543,7 @@ config USB_SL811_HCD
help
The SL811HS is a single-port USB controller that supports either
host side or peripheral side roles. Enable this option if your
- board has this chip, and you want to use it as a host controller.
+ board has this chip, and you want to use it as a host controller.
If unsure, say N.
To compile this driver as a module, choose M here: the
diff --git a/drivers/usb/host/ehci-ci13612.c b/drivers/usb/host/ehci-ci13612.c
index 6af6a4d..cf0b2e4 100644
--- a/drivers/usb/host/ehci-ci13612.c
+++ b/drivers/usb/host/ehci-ci13612.c
@@ -68,7 +68,10 @@ static void ci13612_usb_setup(struct usb_hcd *hcd)
/* called after powerup, by probe or system-pm "wakeup" */
static int ehci_ci13612_reinit(struct ehci_hcd *ehci)
{
+#ifdef CONFIG_LSI_USB_SW_WORKAROUND
+ /* S/W workarounds are not needed in AXM55xx */
ci13612_usb_setup(ehci_to_hcd(ehci));
+#endif
ehci_port_power(ehci, 0);
return 0;
@@ -114,6 +117,7 @@ static int ehci_run_fix(struct usb_hcd *hcd)
u32 port_status;
unsigned burst_size;
int retval;
+#ifdef CONFIG_LSI_USB_SW_WORKAROUND
/* Fix HW errata 0003256: Do not enable USBCMD.RS for some time after
* the USB reset has been completed (PORTSCx.PR=0). This ensures that
@@ -147,6 +151,8 @@ static int ehci_run_fix(struct usb_hcd *hcd)
burst_size = (burst_size & 0xffff00ff) | 0x4000; /* TXPBURST */
ehci_writel(ehci, burst_size, &ehci->regs->reserved[1]);
+#endif
+
return 0;
}
--
1.8.3.4
More information about the linux-yocto
mailing list