Re: [PATCH v3] usb: cdnsp: Add support for device-only configuration
From: Bjorn Helgaas
Date: Fri May 08 2026 - 10:46:39 EST
On Fri, May 08, 2026 at 12:06:39PM +0200, Pawel Laszczak via B4 Relay wrote:
> From: Pawel Laszczak <pawell@xxxxxxxxxxx>
>
> This patch introduces support for the Cadence USBSSP (cdnsp)
> controller in hardware configurations where the Dual-Role Device (DRD)
> register block is not implemented or is inaccessible.
>
> In such cases, the driver cannot rely on the DRD logic to manage roles
> and must operate exclusively in a fixed peripheral/host mode.
>
> The change in BAR indexing (from BAR 2 to BAR 1) is a direct
> consequence of the 32-bit addressing used in this specific
> DRD-disabled hardware layout, compared to the 64-bit addressing
> used in DRD-enabled configurations.
>
> Tested on a PCI platform with a hardware configuration that lacks
> DRD support. Platform-side changes are included to support the PCI
> glue layer's property injection to handle this specific layout.
>
> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> # pci_ids.h
I did ack this
(https://lore.kernel.org/linux-pci/20260331181209.GA148250@bhelgaas/) but I
wish I had added a note about why. Usually we don't add things to
pci_ids.h unless they're used by more than one driver. This (slightly)
simplifies backporting things.
Fine as-is, but if you respin for other reasons, you could consider moving
it to cdnsp-pci.c.
> +++ b/include/linux/pci_ids.h
* Do not add new entries to this file unless the definitions
* are shared between multiple drivers.
*/
> +#define PCI_DEVICE_ID_CDNS_UDC_USBSSP 0x0400
Looks like this #define could go in cdnsp-pci.c, since that's the only
place it's used.