From: Niraj Desai <nirajvde...@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....@lsi.com> Signed-off-by: Niraj Desai <nirajvde...@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 _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto