diff mbox series

[18/18] dt-bindings: usb: qcom,dwc3: Validate DWC3 sub-node

Message ID 20201010224121.12672-19-Sergey.Semin@baikalelectronics.ru
State Changes Requested
Headers show
Series dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema | expand

Checks

Context Check Description
robh/dt-meta-schema fail build log
robh/checkpatch success

Commit Message

Serge Semin Oct. 10, 2020, 10:41 p.m. UTC
Qualcomm msm8996/sc7180/sdm845 DWC3 compatible DT nodes are supposed to
have a DWC USB3 compatible sub-node to describe a fully functioning USB
interface. Let's use the available DWC USB3 DT schema to validate
the Qualcomm DWC3 sub-nodes.

Note since the generic DWC USB3 DT node is supposed to be named as
generic USB HCD ("^usb(@.*)?") we have to accordingly extend the sub-nodes
naming space and fix the DT node example.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

---

Alas there are many Qualcomm DTS files, which have got the Qualcomm DWC3
node defined with sub-nodes named as "^dwc3@.*". Since the generic DWC USB3
DT schema will be automatically selected for them and the naming doesn't
comply with the USB HCD DT schema, the dtbs_check procedure will fail.
I don't really know what is a most suitable way to fix that. It's either
to alter all the Qualcomm DTS files, or extend the USB HCD schema to
accept the "dwc3@.*" nodes, or redesign the usb-hcd.yaml schema. What do
you think?
---
 Documentation/devicetree/bindings/usb/qcom,dwc3.yaml | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
index dac10848dd7f..b3737f0e4dc1 100644
--- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml
@@ -103,11 +103,8 @@  properties:
 # Required child node:
 
 patternProperties:
-  "^dwc3@[0-9a-f]+$":
-    type: object
-    description:
-      A child node must exist to represent the core DWC3 IP block
-      The content of the node is defined in dwc3.txt.
+  "^(usb|dwc3)@[0-9a-f]+$":
+    $ref: snps,dwc3.yaml#
 
 required:
   - compatible
@@ -160,7 +157,7 @@  examples:
 
             resets = <&gcc GCC_USB30_PRIM_BCR>;
 
-            dwc3@a600000 {
+            usb@a600000 {
                 compatible = "snps,dwc3";
                 reg = <0 0x0a600000 0 0xcd00>;
                 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;