diff mbox series

[2/7] dt-bindings: usb: qcom,dwc3: refine interrupt requirements

Message ID 20220713131340.29401-3-johan+linaro@kernel.org
State New
Headers show
Series usb: dwc3: add support for SC8280XP | expand

Commit Message

Johan Hovold July 13, 2022, 1:13 p.m. UTC
Not all platforms have all of the four wakeup interrupts currently
described by the bindings.

Specifically, MSM8953/6/8 and SDM660 do not use the DP/DM interrupts,
while the SS PHY interrupt is optional on SDM660 and SC7280.

Note that no devicetree in mainline specify any wakeup interrupts for

  - qcom,ipq4019-dwc3
  - qcom,ipq6018-dwc3
  - qcom,ipq8064-dwc3
  - qcom,ipq8074-dwc3
  - qcom,msm8994-dwc3
  - qcom,qcs404-dwc3

but let's keep the schema warnings about that for now.

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
 .../devicetree/bindings/usb/qcom,dwc3.yaml    | 60 +++++++++++++++++--
 1 file changed, 55 insertions(+), 5 deletions(-)

Comments

Krzysztof Kozlowski July 14, 2022, 10:50 a.m. UTC | #1
On 13/07/2022 15:13, Johan Hovold wrote:
> Not all platforms have all of the four wakeup interrupts currently
> described by the bindings.
> 
> Specifically, MSM8953/6/8 and SDM660 do not use the DP/DM interrupts,
> while the SS PHY interrupt is optional on SDM660 and SC7280.
> 
> Note that no devicetree in mainline specify any wakeup interrupts for
> 
>   - qcom,ipq4019-dwc3
>   - qcom,ipq6018-dwc3
>   - qcom,ipq8064-dwc3
>   - qcom,ipq8074-dwc3
>   - qcom,msm8994-dwc3
>   - qcom,qcs404-dwc3
> 
> but let's keep the schema warnings about that for now.
> 
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
> ---
>  .../devicetree/bindings/usb/qcom,dwc3.yaml    | 60 +++++++++++++++++--
>  1 file changed, 55 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> index c991d9103f87..fea3e7092ace 100644
> --- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
> @@ -94,9 +94,11 @@ properties:
>        - const: apps-usb
>  
>    interrupts:
> +    minItems: 1
>      maxItems: 4
>  
>    interrupt-names:
> +    minItems: 1
>      maxItems: 4
>  
>    qcom,select-utmi-as-pipe-clk:
> @@ -333,14 +335,9 @@ allOf:
>                - qcom,ipq6018-dwc3
>                - qcom,ipq8064-dwc3
>                - qcom,ipq8074-dwc3
> -              - qcom,msm8953-dwc3
>                - qcom,msm8994-dwc3
> -              - qcom,msm8996-dwc3
> -              - qcom,msm8998-dwc3
>                - qcom,qcs404-dwc3
>                - qcom,sc7180-dwc3
> -              - qcom,sc7280-dwc3
> -              - qcom,sdm660-dwc3
>                - qcom,sdm845-dwc3
>                - qcom,sdx55-dwc3
>                - qcom,sdx65-dwc3
> @@ -369,6 +366,59 @@ allOf:
>              - const: dm_hs_phy_irq
>              - const: dp_hs_phy_irq
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,msm8953-dwc3
> +              - qcom,msm8996-dwc3
> +              - qcom,msm8998-dwc3
> +    then:
> +      properties:
> +        interrupts:
> +          maxItems: 2
> +        interrupt-names:
> +          items:
> +            - const: hs_phy_irq
> +            - const: ss_phy_irq
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,sdm660-dwc3
> +    then:
> +      properties:
> +        interrupts:
> +          minItems: 1
> +          maxItems: 2
> +        interrupt-names:
> +          minItems: 1
> +          items:
> +            - const: hs_phy_irq
> +            - const: ss_phy_irq
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,sc7280-dwc3
> +    then:
> +      properties:
> +        interrupts:
> +          minItems: 3
> +          maxItems: 4
> +        interrupt-names:
> +          minItems: 3
> +          items:
> +            - const: hs_phy_irq
> +            - const: dp_hs_phy_irq
> +            - const: dm_hs_phy_irq
> +            - const: ss_phy_irq

OK, I see now that you used SC8280XP order matching this one.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

> +
>    - if:
>        properties:
>          compatible:


Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
index c991d9103f87..fea3e7092ace 100644
--- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
@@ -94,9 +94,11 @@  properties:
       - const: apps-usb
 
   interrupts:
+    minItems: 1
     maxItems: 4
 
   interrupt-names:
+    minItems: 1
     maxItems: 4
 
   qcom,select-utmi-as-pipe-clk:
@@ -333,14 +335,9 @@  allOf:
               - qcom,ipq6018-dwc3
               - qcom,ipq8064-dwc3
               - qcom,ipq8074-dwc3
-              - qcom,msm8953-dwc3
               - qcom,msm8994-dwc3
-              - qcom,msm8996-dwc3
-              - qcom,msm8998-dwc3
               - qcom,qcs404-dwc3
               - qcom,sc7180-dwc3
-              - qcom,sc7280-dwc3
-              - qcom,sdm660-dwc3
               - qcom,sdm845-dwc3
               - qcom,sdx55-dwc3
               - qcom,sdx65-dwc3
@@ -369,6 +366,59 @@  allOf:
             - const: dm_hs_phy_irq
             - const: dp_hs_phy_irq
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,msm8953-dwc3
+              - qcom,msm8996-dwc3
+              - qcom,msm8998-dwc3
+    then:
+      properties:
+        interrupts:
+          maxItems: 2
+        interrupt-names:
+          items:
+            - const: hs_phy_irq
+            - const: ss_phy_irq
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,sdm660-dwc3
+    then:
+      properties:
+        interrupts:
+          minItems: 1
+          maxItems: 2
+        interrupt-names:
+          minItems: 1
+          items:
+            - const: hs_phy_irq
+            - const: ss_phy_irq
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,sc7280-dwc3
+    then:
+      properties:
+        interrupts:
+          minItems: 3
+          maxItems: 4
+        interrupt-names:
+          minItems: 3
+          items:
+            - const: hs_phy_irq
+            - const: dp_hs_phy_irq
+            - const: dm_hs_phy_irq
+            - const: ss_phy_irq
+
   - if:
       properties:
         compatible: