[PATCH] dt-bindings: usb: dwc3-xilinx: Describe the reset constraint for the versal platform

Radhey Shyam Pandey posted 1 patch 2 months, 4 weeks ago
There is a newer version of this series
.../devicetree/bindings/usb/dwc3-xilinx.yaml  | 43 +++++++++++++++----
1 file changed, 34 insertions(+), 9 deletions(-)
[PATCH] dt-bindings: usb: dwc3-xilinx: Describe the reset constraint for the versal platform
Posted by Radhey Shyam Pandey 2 months, 4 weeks ago
AMD Versal platform USB 2.0 IP controller receives one reset input from
the SoC controlled by the CRL.RST_USB [RESET] register so accordingly
describe reset constraints.

Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
---
 .../devicetree/bindings/usb/dwc3-xilinx.yaml  | 43 +++++++++++++++----
 1 file changed, 34 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml b/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
index 36f5c644d959..cd0cc9da242f 100644
--- a/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
+++ b/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
@@ -50,17 +50,22 @@ properties:
     description:
       A list of phandles for resets listed in reset-names.
 
-    items:
-      - description: USB core reset
-      - description: USB hibernation reset
-      - description: USB APB reset
+    oneOf:
+      - items:
+          - description: USB controller reset
+      - items:
+          - description: USB core reset
+          - description: USB hibernation reset
+          - description: USB APB reset
 
   reset-names:
-    items:
-      - const: usb_crst
-      - const: usb_hibrst
-      - const: usb_apbrst
-
+    oneOf:
+      - items:
+          - const: usb_crst
+      - items:
+          - const: usb_crst
+          - const: usb_hibrst
+          - const: usb_apbrst
   phys:
     minItems: 1
     maxItems: 2
@@ -95,6 +100,26 @@ required:
   - resets
   - reset-names
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - xlnx,versal-dwc3
+    then:
+      properties:
+        resets:
+          maxItems: 1
+        reset-names:
+          maxItems: 1
+    else:
+      properties:
+        resets:
+          minItems: 3
+        reset-names:
+          minItems: 3
+
 additionalProperties: false
 
 examples:

base-commit: b179ce312bafcb8c68dc718e015aee79b7939ff0
-- 
2.34.1
Re: [PATCH] dt-bindings: usb: dwc3-xilinx: Describe the reset constraint for the versal platform
Posted by Conor Dooley 2 months, 4 weeks ago
On Wed, Nov 12, 2025 at 09:24:30PM +0530, Radhey Shyam Pandey wrote:
> AMD Versal platform USB 2.0 IP controller receives one reset input from
> the SoC controlled by the CRL.RST_USB [RESET] register so accordingly
> describe reset constraints.
> 
> Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
> ---
>  .../devicetree/bindings/usb/dwc3-xilinx.yaml  | 43 +++++++++++++++----
>  1 file changed, 34 insertions(+), 9 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml b/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
> index 36f5c644d959..cd0cc9da242f 100644
> --- a/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
> +++ b/Documentation/devicetree/bindings/usb/dwc3-xilinx.yaml
> @@ -50,17 +50,22 @@ properties:
>      description:
>        A list of phandles for resets listed in reset-names.
>  
> -    items:
> -      - description: USB core reset
> -      - description: USB hibernation reset
> -      - description: USB APB reset
> +    oneOf:
> +      - items:
> +          - description: USB controller reset
> +      - items:
> +          - description: USB core reset
> +          - description: USB hibernation reset
> +          - description: USB APB reset
>  
>    reset-names:
> -    items:
> -      - const: usb_crst
> -      - const: usb_hibrst
> -      - const: usb_apbrst
> -
> +    oneOf:
> +      - items:
> +          - const: usb_crst

Why do we need all this oneOf stuff if both have the same first reset?
Can't you just set minItems: 1?

> +      - items:
> +          - const: usb_crst
> +          - const: usb_hibrst
> +          - const: usb_apbrst
>    phys:
>      minItems: 1
>      maxItems: 2
> @@ -95,6 +100,26 @@ required:
>    - resets
>    - reset-names
>  
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - xlnx,versal-dwc3
> +    then:
> +      properties:
> +        resets:
> +          maxItems: 1
> +        reset-names:
> +          maxItems: 1
> +    else:
> +      properties:
> +        resets:
> +          minItems: 3
> +        reset-names:
> +          minItems: 3
> +
>  additionalProperties: false
>  
>  examples:
> 
> base-commit: b179ce312bafcb8c68dc718e015aee79b7939ff0
> -- 
> 2.34.1
>