From: Zoltan HERPAI Date: Mon, 1 Jan 2024 12:50:46 +0000 (+0100) Subject: usb: add cdns3 support X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=db0d7cf6a1;p=openwrt%2Fstaging%2Fsvanheule.git 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 --- diff --git a/package/kernel/linux/modules/usb.mk b/package/kernel/linux/modules/usb.mk index 7f9e627fdb..f4a2113e17 100644 --- a/package/kernel/linux/modules/usb.mk +++ b/package/kernel/linux/modules/usb.mk @@ -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:= \ diff --git a/target/linux/generic/config-5.15 b/target/linux/generic/config-5.15 index 6070000dd4..8f6ccad216 100644 --- a/target/linux/generic/config-5.15 +++ b/target/linux/generic/config-5.15 @@ -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 diff --git a/target/linux/generic/config-6.1 b/target/linux/generic/config-6.1 index 34a6503ce0..deecb62ba8 100644 --- a/target/linux/generic/config-6.1 +++ b/target/linux/generic/config-6.1 @@ -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