Cadence USBHS (CDNS2) USB 2.0 device controller
Driver for Cadence's USBHS controller IP, a USB 2.0 high-speed device/OTG controller that hardware vendors license and integrate into their own SoCs and FPGA prototyping boards. The kernel exposes it over PCI (vendor/device 17cd:0120), so it is mostly seen on Cadence FPGA reference platforms and embedded bring-up systems rather than consumer hardware.
recommendation
It should stay because it is a relatively new driver, added in 2023 and actively maintained by Cadence engineers, with bug fixes still landing in late 2025 and early 2026. Cadence continues to sell the underlying USB 2.0 controller IP as a current product, and there is no alternative upstream driver that covers the same PCI-based USBHS gadget use case.
repository signals
sources
- kernel.org
The kernel MAINTAINERS file lists `drivers/usb/gadget/udc/cdns2` as the maintained 'CADENCE USBHS DRIVER' with Pawel Laszczak and linux-usb.
- patchew.org
The 2023 introduction patch says cdns2 is the Cadence USBHS driver, validated on an FPGA platform with PCIe support used for prototyping.
- spinics.net
A 2025 patch series updated cdns2 by removing unused tracepoints, showing normal subsystem maintenance rather than retirement.
- spinics.net
A December 24, 2025 stable patch fixes a null-pointer dereference in `cdns2_gadget_ep_queue()`, indicating the driver is still receiving bug fixes.
- spinics.net
A January 15, 2026 patch proposes a use-after-free fix in `cdns2_gadget_giveback()`, showing active post-merge review and maintenance traffic.
- cadence.com
Cadence still marketed the USB 2.0 Controller IP in/around 2025 as a current configurable device/OTG controller product.
- cateee.net
LKDDb shows `CONFIG_USB_CDNS2_UDC` present from Linux 6.5 onward for Cadence PCI vendor/device ID 17cd:0120.
codex reasoning notes (technical)
Local `rg` inspection showed a real PCI gadget driver: Kconfig names 'Cadence USBHS Device Controller', and `cdns2-pci.c` binds PCI vendor/device 17cd:0120. Lore-style evidence was gathered via web search because `lei` was unavailable; obtained kernel-maintainers, Patchew, and spinics thread URLs. Those show the driver was added in 2023, remains listed as maintained, and still saw fixes/cleanup in 2025-2026 with no removal thread found. Cadence product pages obtained by web search indicate the underlying USB2 controller IP was still being sold in 2025. Deployment is rated low, not medium/high, because this Linux driver is a PCI-based gadget controller mainly associated with FPGA/prototyping and embedded bring-up rather than broad end-user systems. No clear upstream replacement covers the same Cadence USBHS PCI-gadget use case, so removal/deprecation is not supported.