dt-bindings: usb: qcom,dwc3: refine interrupt requirements
authorJohan Hovold <johan+linaro@kernel.org>
Wed, 13 Jul 2022 13:13:35 +0000 (15:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 14 Jul 2022 14:11:43 +0000 (16:11 +0200)
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.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20220713131340.29401-3-johan+linaro@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/devicetree/bindings/usb/qcom,dwc3.yaml

index c991d9103f873c69a0e795d2b5f36bf28fca1d8d..fea3e7092aceab6b8212ea23039bbc95ec2012c8 100644 (file)
@@ -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: