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:= \