usb: add cdns3 support

CDNS3 is a SuperSpeed (SS) USB 3.0 Dual-Role-Device (DRD) controller from
Cadence. Add support for this device, and add the required symbols into
the generic configs.

Compile-tested: apm821xx, bcm4908, imx, mpc85xx, pistachio, starfive

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
This commit is contained in:
Zoltan HERPAI 2024-01-01 13:50:46 +01:00
parent 261876a067
commit db0d7cf6a1
3 changed files with 44 additions and 0 deletions

View File

@ -459,6 +459,44 @@ endef
$(eval $(call KernelPackage,usb-dwc2-pci))
define KernelPackage/usb-cdns
TITLE:=Cadence USB USB controller driver
DEPENDS:=+USB_GADGET_SUPPORT:kmod-usb-gadget +kmod-usb-roles
KCONFIG:= \
CONFIG_USB_CDNS_SUPPORT
FILES:= $(LINUX_DIR)/drivers/usb/cdns3/cdns-usb-common.ko
AUTOLOAD:=$(call AutoLoad,50,cdns-usb-common,1)
$(call AddDepends/usb)
endef
define KernelPackage/usb-cdns/description
This driver provides USB Device Controller support for the
Cadence USB Core
endef
$(eval $(call KernelPackage,usb-cdns))
define KernelPackage/usb-cdns3
TITLE:=Cadence USB3 USB controller driver
DEPENDS:=+kmod-usb-cdns
KCONFIG:= \
CONFIG_USB_CDNS3 \
CONFIG_USB_CDNS3_GADGET=y \
CONFIG_USB_CDNS3_HOST=y
FILES:= $(LINUX_DIR)/drivers/usb/cdns3/cdns3.ko
AUTOLOAD:=$(call AutoLoad,54,cdns3,1)
$(call AddDepends/usb)
endef
define KernelPackage/usb-cdns3/description
This driver provides support for the Dual Role SuperSpeed
USB Controller based on the Cadence USB3 IP Core
endef
$(eval $(call KernelPackage,usb-cdns3))
define KernelPackage/usb-dwc3
TITLE:=DWC3 USB controller driver
KCONFIG:= \

View File

@ -6833,7 +6833,10 @@ CONFIG_USB_BELKIN=y
# CONFIG_USB_CATC is not set
# CONFIG_USB_CDC_COMPOSITE is not set
# CONFIG_USB_CDNS3 is not set
# CONFIG_USB_CDNS3_IMX is not set
# CONFIG_USB_CDNS3_PCI_WRAP is not set
# CONFIG_USB_CDNS_SUPPORT is not set
# CONFIG_USB_CDNSP_PCI is not set
# CONFIG_USB_CHAOSKEY is not set
# CONFIG_USB_CHIPIDEA is not set
# CONFIG_USB_CHIPIDEA_GENERIC is not set

View File

@ -7117,7 +7117,10 @@ CONFIG_USB_BELKIN=y
# CONFIG_USB_CATC is not set
# CONFIG_USB_CDC_COMPOSITE is not set
# CONFIG_USB_CDNS3 is not set
# CONFIG_USB_CDNS3_IMX is not set
# CONFIG_USB_CDNS3_PCI_WRAP is not set
# CONFIG_USB_CDNS_SUPPORT is not set
# CONFIG_USB_CDNSP_PCI is not set
# CONFIG_USB_CHAOSKEY is not set
# CONFIG_USB_CHIPIDEA is not set
# CONFIG_USB_CHIPIDEA_GENERIC is not set