diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index 4473ae51ddb4..a7773a3e02b1 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -133,6 +133,8 @@ source "drivers/usb/host/Kconfig" source "drivers/usb/musb/Kconfig" +source "drivers/usb/chipidea/Kconfig" + source "drivers/usb/renesas_usbhs/Kconfig" source "drivers/usb/class/Kconfig" diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile index 77c835a15239..c691eea51537 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -53,6 +53,7 @@ obj-$(CONFIG_USB_ATM) += atm/ obj-$(CONFIG_USB_SPEEDTOUCH) += atm/ obj-$(CONFIG_USB_MUSB_HDRC) += musb/ +obj-$(CONFIG_USB_CHIPIDEA) += chipidea/ obj-$(CONFIG_USB_RENESAS_USBHS) += renesas_usbhs/ obj-$(CONFIG_USB_GADGET) += gadget/ diff --git a/drivers/usb/chipidea/Kconfig b/drivers/usb/chipidea/Kconfig new file mode 100644 index 000000000000..71725ddc8f25 --- /dev/null +++ b/drivers/usb/chipidea/Kconfig @@ -0,0 +1,10 @@ +config USB_CHIPIDEA + tristate "ChipIdea Highspeed Dual Role Controller" + depends on USB && USB_GADGET + select USB_GADGET_DUALSPEED + help + Say Y here if your system has a dual role high speed USB + controller based on ChipIdea silicon IP. Currently, only the + peripheral mode is supported. + + When compiled dynamically, the module will be called ci-hdrc.ko. diff --git a/drivers/usb/chipidea/Makefile b/drivers/usb/chipidea/Makefile new file mode 100644 index 000000000000..e56bedbf9da2 --- /dev/null +++ b/drivers/usb/chipidea/Makefile @@ -0,0 +1,11 @@ +obj-$(CONFIG_USB_CHIPIDEA) += ci_hdrc.o + +ci_hdrc-y := ci13xxx_udc.o + +ifneq ($(CONFIG_PCI),) + obj-$(CONFIG_USB_CHIPIDEA) += ci13xxx_pci.o +endif + +ifneq ($(CONFIG_ARCH_MSM),) + obj-$(CONFIG_USB_CHIPIDEA) += ci13xxx_msm.o +endif diff --git a/drivers/usb/gadget/ci13xxx_msm.c b/drivers/usb/chipidea/ci13xxx_msm.c similarity index 100% rename from drivers/usb/gadget/ci13xxx_msm.c rename to drivers/usb/chipidea/ci13xxx_msm.c diff --git a/drivers/usb/gadget/ci13xxx_pci.c b/drivers/usb/chipidea/ci13xxx_pci.c similarity index 100% rename from drivers/usb/gadget/ci13xxx_pci.c rename to drivers/usb/chipidea/ci13xxx_pci.c diff --git a/drivers/usb/gadget/ci13xxx_udc.c b/drivers/usb/chipidea/ci13xxx_udc.c similarity index 100% rename from drivers/usb/gadget/ci13xxx_udc.c rename to drivers/usb/chipidea/ci13xxx_udc.c diff --git a/drivers/usb/gadget/ci13xxx_udc.h b/drivers/usb/chipidea/ci13xxx_udc.h similarity index 100% rename from drivers/usb/gadget/ci13xxx_udc.h rename to drivers/usb/chipidea/ci13xxx_udc.h diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index 47e086a0b7f2..1d7405c180d5 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -378,30 +378,6 @@ config USB_FSL_QE Set CONFIG_USB_GADGET to "m" to build this driver as a dynamically linked module called "fsl_qe_udc". -config USB_CHIPIDEA_UDC - tristate "ChipIdea UDC driver" - select USB_GADGET_DUALSPEED - help - This module contains the ChipIdea USB device controller driver; - you will also need platform driver like ci13xxx_pci or ci13xxx_msm - to use it. - - Say "y" to link the driver statically, or "m" to build a - dynamically linked module called "ci13xxx_udc", which will serve - as a driver for ChipIdea udc on different platforms. - -config USB_CI13XXX_PCI - tristate "MIPS USB CI13xxx PCI UDC" - depends on PCI && USB_CHIPIDEA_UDC - select USB_GADGET_DUALSPEED - help - MIPS USB IP core family device controller - Currently it only supports IP part number CI13412 - - Say "y" to link the driver statically, or "m" to build a - dynamically linked module called "ci13xxx_pci" and force all - gadget drivers to also be dynamically linked. - config USB_NET2272 tristate "PLX NET2272" select USB_GADGET_DUALSPEED @@ -494,23 +470,6 @@ config USB_EG20T ML7213/ML7831 is companion chip for Intel Atom E6xx series. ML7213/ML7831 is completely compatible for Intel EG20T PCH. -config USB_CI13XXX_MSM - tristate "MIPS USB CI13xxx for MSM" - depends on ARCH_MSM && USB_CHIPIDEA_UDC - select USB_GADGET_DUALSPEED - select USB_MSM_OTG - help - MSM SoC has chipidea USB controller. This driver uses - ci13xxx_udc core. - This driver depends on OTG driver for PHY initialization, - clock management, powering up VBUS, and power management. - This driver is not supported on boards like trout which - has an external PHY. - - Say "y" to link the driver statically, or "m" to build a - dynamically linked module called "ci13xxx_msm" and force all - gadget drivers to also be dynamically linked. - # # LAST -- dummy/emulated controller # diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile index 3786c7cdd807..6ddfd26e8f38 100644 --- a/drivers/usb/gadget/Makefile +++ b/drivers/usb/gadget/Makefile @@ -22,8 +22,6 @@ fsl_usb2_udc-$(CONFIG_ARCH_MXC) += fsl_mxc_udc.o obj-$(CONFIG_USB_M66592) += m66592-udc.o obj-$(CONFIG_USB_R8A66597) += r8a66597-udc.o obj-$(CONFIG_USB_FSL_QE) += fsl_qe_udc.o -obj-$(CONFIG_USB_CHIPIDEA_UDC) += ci13xxx_udc.o -obj-$(CONFIG_USB_CI13XXX_PCI) += ci13xxx_pci.o obj-$(CONFIG_USB_S3C_HSOTG) += s3c-hsotg.o obj-$(CONFIG_USB_S3C_HSUDC) += s3c-hsudc.o obj-$(CONFIG_USB_LANGWELL) += langwell_udc.o @@ -31,7 +29,6 @@ obj-$(CONFIG_USB_LPC32XX) += lpc32xx_udc.o obj-$(CONFIG_USB_EG20T) += pch_udc.o obj-$(CONFIG_USB_MV_UDC) += mv_udc.o mv_udc-y := mv_udc_core.o -obj-$(CONFIG_USB_CI13XXX_MSM) += ci13xxx_msm.o obj-$(CONFIG_USB_FUSB300) += fusb300_udc.o #