[PATCH v4 1/2] dt-bindings: usb: cdns3: Add no_drd property

From: Pawel Laszczak via B4 Relay

Date: Tue May 12 2026 - 07:34:05 EST


From: Pawel Laszczak <pawell@xxxxxxxxxxx>

Introduce a new boolean property 'no_drd' for Cadence USBSS/USBSSP
controllers.

Some hardware configurations of this controller are designed without
the Dual-Role Device (DRD) register block or have it inaccessible.
In such cases, the driver must skip all OTG/DRD register accesses
to avoid bus errors and cannot rely on hardware-based role switching.

To accommodate these configurations, also relax the requirements for
the 'reg' and 'interrupts' properties, making the 'otg' resources
optional.

Signed-off-by: Pawel Laszczak <pawell@xxxxxxxxxxx>
---
Documentation/devicetree/bindings/usb/cdns,usb3.yaml | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/cdns,usb3.yaml b/Documentation/devicetree/bindings/usb/cdns,usb3.yaml
index 2d95fb7321af..8c7dc81708fb 100644
--- a/Documentation/devicetree/bindings/usb/cdns,usb3.yaml
+++ b/Documentation/devicetree/bindings/usb/cdns,usb3.yaml
@@ -20,19 +20,21 @@ properties:
const: cdns,usb3

reg:
+ minItems: 2
items:
- description: OTG controller registers
- description: XHCI Host controller registers
- description: DEVICE controller registers

reg-names:
+ minItems: 2
items:
- const: otg
- const: xhci
- const: dev

interrupts:
- minItems: 3
+ minItems: 2
items:
- description: XHCI host controller interrupt
- description: Device controller interrupt
@@ -41,7 +43,7 @@ properties:
cleared by xhci core, this interrupt is optional

interrupt-names:
- minItems: 3
+ minItems: 2
items:
- const: host
- const: peripheral
@@ -79,6 +81,13 @@ properties:
description: Enable resetting of PHY if Rx fail is detected
type: boolean

+ no_drd:
+ description:
+ Indicates that the Dual-Role Device (DRD) register block is not
+ implemented or is inaccessible. In this case, the controller
+ must operate in a fixed peripheral or host mode.
+ type: boolean
+
dependencies:
port: [ usb-role-switch ]


--
2.43.0