mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
bfb46b4246
Adds Specific Glue layer to support USB peripherals on StarFive JH7110 SoC. There is a Cadence USB3 core for JH7110 SoCs, the cdns core is the child of this USB wrapper module device. Signed-off-by: Minda Chen <minda.chen@starfivetech.com> Acked-by: Peter Chen <peter.chen@kernel.org> Reviewed-by: Roger Quadros <rogerq@kernel.org> Link: https://lore.kernel.org/r/20230518112750.57924-7-minda.chen@starfivetech.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
134 lines
3.7 KiB
Plaintext
134 lines
3.7 KiB
Plaintext
config USB_CDNS_SUPPORT
|
|
tristate "Cadence USB Support"
|
|
depends on USB_SUPPORT && (USB || USB_GADGET) && HAS_DMA
|
|
select USB_XHCI_PLATFORM if USB_XHCI_HCD
|
|
select USB_ROLE_SWITCH
|
|
help
|
|
Say Y here if your system has a Cadence USBSS or USBSSP
|
|
dual-role controller.
|
|
It supports: dual-role switch, Host-only, and Peripheral-only.
|
|
|
|
config USB_CDNS_HOST
|
|
bool
|
|
|
|
if USB_CDNS_SUPPORT
|
|
|
|
config USB_CDNS3
|
|
tristate "Cadence USB3 Dual-Role Controller"
|
|
depends on USB_CDNS_SUPPORT
|
|
help
|
|
Say Y here if your system has a Cadence USB3 dual-role controller.
|
|
It supports: dual-role switch, Host-only, and Peripheral-only.
|
|
|
|
If you choose to build this driver is a dynamically linked
|
|
as module, the module will be called cdns3.ko.
|
|
endif
|
|
|
|
if USB_CDNS3
|
|
|
|
config USB_CDNS3_GADGET
|
|
bool "Cadence USB3 device controller"
|
|
depends on USB_GADGET=y || USB_GADGET=USB_CDNS3
|
|
help
|
|
Say Y here to enable device controller functionality of the
|
|
Cadence USBSS-DEV driver.
|
|
|
|
This controller supports FF, HS and SS mode. It doesn't support
|
|
LS and SSP mode.
|
|
|
|
config USB_CDNS3_HOST
|
|
bool "Cadence USB3 host controller"
|
|
depends on USB=y || USB=USB_CDNS3
|
|
select USB_CDNS_HOST
|
|
help
|
|
Say Y here to enable host controller functionality of the
|
|
Cadence driver.
|
|
|
|
Host controller is compliant with XHCI so it will use
|
|
standard XHCI driver.
|
|
|
|
config USB_CDNS3_PCI_WRAP
|
|
tristate "Cadence USB3 support on PCIe-based platforms"
|
|
depends on USB_PCI && ACPI
|
|
default USB_CDNS3
|
|
help
|
|
If you're using the USBSS Core IP with a PCIe, please say
|
|
'Y' or 'M' here.
|
|
|
|
If you choose to build this driver as module it will
|
|
be dynamically linked and module will be called cdns3-pci.ko
|
|
|
|
config USB_CDNS3_TI
|
|
tristate "Cadence USB3 support on TI platforms"
|
|
depends on ARCH_K3 || COMPILE_TEST
|
|
default USB_CDNS3
|
|
help
|
|
Say 'Y' or 'M' here if you are building for Texas Instruments
|
|
platforms that contain Cadence USB3 controller core.
|
|
|
|
e.g. J721e.
|
|
|
|
config USB_CDNS3_IMX
|
|
tristate "Cadence USB3 support on NXP i.MX platforms"
|
|
depends on ARCH_MXC || COMPILE_TEST
|
|
default USB_CDNS3
|
|
help
|
|
Say 'Y' or 'M' here if you are building for NXP i.MX
|
|
platforms that contain Cadence USB3 controller core.
|
|
|
|
For example, imx8qm and imx8qxp.
|
|
|
|
config USB_CDNS3_STARFIVE
|
|
tristate "Cadence USB3 support on StarFive SoC platforms"
|
|
depends on ARCH_STARFIVE || COMPILE_TEST
|
|
help
|
|
Say 'Y' or 'M' here if you are building for StarFive SoCs
|
|
platforms that contain Cadence USB3 controller core.
|
|
|
|
e.g. JH7110.
|
|
|
|
If you choose to build this driver as module it will
|
|
be dynamically linked and module will be called cdns3-starfive.ko
|
|
endif
|
|
|
|
if USB_CDNS_SUPPORT
|
|
|
|
config USB_CDNSP_PCI
|
|
tristate "Cadence CDNSP Dual-Role Controller"
|
|
depends on USB_CDNS_SUPPORT && USB_PCI && ACPI
|
|
help
|
|
Say Y here if your system has a Cadence CDNSP dual-role controller.
|
|
It supports: dual-role switch Host-only, and Peripheral-only.
|
|
|
|
If you choose to build this driver is a dynamically linked
|
|
module, the module will be called cdnsp.ko.
|
|
endif
|
|
|
|
if USB_CDNSP_PCI
|
|
|
|
config USB_CDNSP_GADGET
|
|
bool "Cadence CDNSP device controller"
|
|
depends on USB_GADGET=y || USB_GADGET=USB_CDNSP_PCI
|
|
help
|
|
Say Y here to enable device controller functionality of the
|
|
Cadence CDNSP-DEV driver.
|
|
|
|
Cadence CDNSP Device Controller in device mode is
|
|
very similar to XHCI controller. Therefore some algorithms
|
|
used has been taken from host driver.
|
|
This controller supports FF, HS, SS and SSP mode.
|
|
It doesn't support LS.
|
|
|
|
config USB_CDNSP_HOST
|
|
bool "Cadence CDNSP host controller"
|
|
depends on USB=y || USB=USB_CDNSP_PCI
|
|
select USB_CDNS_HOST
|
|
help
|
|
Say Y here to enable host controller functionality of the
|
|
Cadence driver.
|
|
|
|
Host controller is compliant with XHCI so it uses
|
|
standard XHCI driver.
|
|
|
|
endif
|