dt-bindings: usb: Convert cdns-usb3.txt to YAML schema
authorRoger Quadros <rogerq@ti.com>
Tue, 15 Sep 2020 11:45:41 +0000 (14:45 +0300)
committerFelipe Balbi <balbi@kernel.org>
Fri, 2 Oct 2020 06:57:39 +0000 (09:57 +0300)
Converts cdns-usb3.txt to YAML schema cdns,usb3.yaml

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Documentation/devicetree/bindings/usb/cdns,usb3.yaml [new file with mode: 0644]
Documentation/devicetree/bindings/usb/cdns-usb3.txt [deleted file]

diff --git a/Documentation/devicetree/bindings/usb/cdns,usb3.yaml b/Documentation/devicetree/bindings/usb/cdns,usb3.yaml
new file mode 100644 (file)
index 0000000..9b14c84
--- /dev/null
@@ -0,0 +1,92 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/cdns,usb3.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cadence USBSS-DRD controller bindings
+
+maintainers:
+  - Pawel Laszczak <pawell@cadence.com>
+
+properties:
+  compatible:
+    const: cdns,usb3
+
+  reg:
+    items:
+      - description: OTG controller registers
+      - description: XHCI Host controller registers
+      - description: DEVICE controller registers
+
+  reg-names:
+    items:
+      - const: otg
+      - const: xhci
+      - const: dev
+
+  interrupts:
+    items:
+      - description: OTG/DRD controller interrupt
+      - description: XHCI host controller interrupt
+      - description: Device controller interrupt
+
+  interrupt-names:
+    items:
+      - const: host
+      - const: peripheral
+      - const: otg
+
+  dr_mode:
+    enum: [host, otg, peripheral]
+
+  maximum-speed:
+    enum: [super-speed, high-speed, full-speed]
+
+  phys:
+   minItems: 1
+   maxItems: 2
+
+  phy-names:
+    minItems: 1
+    maxItems: 2
+    items:
+      anyOf:
+        - const: cdns3,usb2-phy
+        - const: cdns3,usb3-phy
+
+  cdns,on-chip-buff-size:
+    description:
+      size of memory intended as internal memory for endpoints
+      buffers expressed in KB
+    $ref: /schemas/types.yaml#/definitions/uint32
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    bus {
+        #address-cells = <2>;
+        #size-cells = <2>;
+
+        usb@6000000 {
+            compatible = "cdns,usb3";
+            reg = <0x00 0x6000000 0x00 0x10000>,
+                  <0x00 0x6010000 0x00 0x10000>,
+                  <0x00 0x6020000 0x00 0x10000>;
+            reg-names = "otg", "xhci", "dev";
+            interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
+                         <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
+                         <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+            interrupt-names = "host", "peripheral", "otg";
+            maximum-speed = "super-speed";
+            dr_mode = "otg";
+        };
+    };
diff --git a/Documentation/devicetree/bindings/usb/cdns-usb3.txt b/Documentation/devicetree/bindings/usb/cdns-usb3.txt
deleted file mode 100644 (file)
index b7dc606..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-Binding for the Cadence USBSS-DRD controller
-
-Required properties:
- - reg: Physical base address and size of the controller's register areas.
-        Controller has 3 different regions:
-        - HOST registers area
-        - DEVICE registers area
-        - OTG/DRD registers area
- - reg-names - register memory area names:
-       "xhci" - for HOST registers space
-       "dev" - for DEVICE registers space
-       "otg" - for OTG/DRD registers space
- - compatible: Should contain: "cdns,usb3"
- - interrupts: Interrupts used by cdns3 controller:
-       "host" - interrupt used by XHCI driver.
-       "peripheral" - interrupt used by device driver
-       "otg" - interrupt used by DRD/OTG  part of driver
-
-Optional properties:
- - maximum-speed : valid arguments are "super-speed", "high-speed" and
-                   "full-speed"; refer to usb/generic.txt
- - dr_mode: Should be one of "host", "peripheral" or "otg".
- - phys: reference to the USB PHY
- - phy-names: from the *Generic PHY* bindings;
-       Supported names are:
-       - cdns3,usb2-phy
-       - cdns3,usb3-phy
-
- - cdns,on-chip-buff-size : size of memory intended as internal memory for endpoints
-       buffers expressed in KB
-
-Example:
-       usb@f3000000 {
-               compatible = "cdns,usb3";
-               interrupts = <GIC_USB_IRQ 7 IRQ_TYPE_LEVEL_HIGH>,
-                               <GIC_USB_IRQ  7 IRQ_TYPE_LEVEL_HIGH>,
-                               <GIC_USB_IRQ  8 IRQ_TYPE_LEVEL_HIGH>;
-               interrupt-names = "host", "peripheral", "otg";
-               reg = <0xf3000000 0x10000>,     /* memory area for HOST registers */
-                       <0xf3010000 0x10000>,   /* memory area for DEVICE registers */
-                       <0xf3020000 0x10000>;   /* memory area for OTG/DRD registers */
-               reg-names = "xhci", "dev", "otg";
-               phys = <&usb2_phy>, <&usb3_phy>;
-               phy-names = "cdns3,usb2-phy", "cnds3,usb3-phy";
-       };