dt-bindings: net: Convert UniPhier AVE4 controller to json-schema
authorKunihiko Hayashi <hayashi.kunihiko@socionext.com>
Tue, 12 May 2020 07:26:50 +0000 (16:26 +0900)
committerDavid S. Miller <davem@davemloft.net>
Tue, 12 May 2020 19:29:04 +0000 (12:29 -0700)
Convert the UniPhier AVE4 controller binding to DT schema format.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt [deleted file]
Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml [new file with mode: 0644]
MAINTAINERS

diff --git a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
deleted file mode 100644 (file)
index 4e85fc4..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-* Socionext AVE ethernet controller
-
-This describes the devicetree bindings for AVE ethernet controller
-implemented on Socionext UniPhier SoCs.
-
-Required properties:
- - compatible: Should be
-       - "socionext,uniphier-pro4-ave4" : for Pro4 SoC
-       - "socionext,uniphier-pxs2-ave4" : for PXs2 SoC
-       - "socionext,uniphier-ld11-ave4" : for LD11 SoC
-       - "socionext,uniphier-ld20-ave4" : for LD20 SoC
-       - "socionext,uniphier-pxs3-ave4" : for PXs3 SoC
- - reg: Address where registers are mapped and size of region.
- - interrupts: Should contain the MAC interrupt.
- - phy-mode: See ethernet.txt in the same directory. Allow to choose
-       "rgmii", "rmii", "mii", or "internal" according to the PHY.
-       The acceptable mode is SoC-dependent.
- - phy-handle: Should point to the external phy device.
-       See ethernet.txt file in the same directory.
- - clocks: A phandle to the clock for the MAC.
-       For Pro4 SoC, that is "socionext,uniphier-pro4-ave4",
-       another MAC clock, GIO bus clock and PHY clock are also required.
- - clock-names: Should contain
-       - "ether", "ether-gb", "gio", "ether-phy" for Pro4 SoC
-       - "ether" for others
- - resets: A phandle to the reset control for the MAC. For Pro4 SoC,
-       GIO bus reset is also required.
- - reset-names: Should contain
-       - "ether", "gio" for Pro4 SoC
-       - "ether" for others
- - socionext,syscon-phy-mode: A phandle to syscon with one argument
-       that configures phy mode. The argument is the ID of MAC instance.
-
-The MAC address will be determined using the optional properties
-defined in ethernet.txt.
-
-Required subnode:
- - mdio: A container for child nodes representing phy nodes.
-         See phy.txt in the same directory.
-
-Example:
-
-       ether: ethernet@65000000 {
-               compatible = "socionext,uniphier-ld20-ave4";
-               reg = <0x65000000 0x8500>;
-               interrupts = <0 66 4>;
-               phy-mode = "rgmii";
-               phy-handle = <&ethphy>;
-               clock-names = "ether";
-               clocks = <&sys_clk 6>;
-               reset-names = "ether";
-               resets = <&sys_rst 6>;
-               socionext,syscon-phy-mode = <&soc_glue 0>;
-               local-mac-address = [00 00 00 00 00 00];
-
-               mdio {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
-
-                       ethphy: ethphy@1 {
-                               reg = <1>;
-                       };
-               };
-       };
diff --git a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
new file mode 100644 (file)
index 0000000..7d84a86
--- /dev/null
@@ -0,0 +1,111 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/socionext,uniphier-ave4.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Socionext AVE ethernet controller
+
+maintainers:
+  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
+
+description: |
+  This describes the devicetree bindings for AVE ethernet controller
+  implemented on Socionext UniPhier SoCs.
+
+allOf:
+  - $ref: ethernet-controller.yaml#
+
+properties:
+  compatible:
+    enum:
+      - socionext,uniphier-pro4-ave4
+      - socionext,uniphier-pxs2-ave4
+      - socionext,uniphier-ld11-ave4
+      - socionext,uniphier-ld20-ave4
+      - socionext,uniphier-pxs3-ave4
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  phy-mode: true
+
+  phy-handle: true
+
+  mac-address: true
+
+  local-mac-address: true
+
+  clocks:
+    minItems: 1
+    maxItems: 4
+
+  clock-names:
+    oneOf:
+      - items:          # for Pro4
+        - const: gio
+        - const: ether
+        - const: ether-gb
+        - const: ether-phy
+      - const: ether    # for others
+
+  resets:
+    minItems: 1
+    maxItems: 2
+
+  reset-names:
+    oneOf:
+      - items:          # for Pro4
+        - const: gio
+        - const: ether
+      - const: ether    # for others
+
+  socionext,syscon-phy-mode:
+    $ref: /schemas/types.yaml#definitions/phandle-array
+    description:
+      A phandle to syscon with one argument that configures phy mode.
+      The argument is the ID of MAC instance.
+
+  mdio:
+    $ref: mdio.yaml#
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - phy-mode
+  - phy-handle
+  - clocks
+  - clock-names
+  - resets
+  - reset-names
+  - mdio
+
+additionalProperties: false
+
+examples:
+  - |
+    ether: ethernet@65000000 {
+        compatible = "socionext,uniphier-ld20-ave4";
+                reg = <0x65000000 0x8500>;
+                interrupts = <0 66 4>;
+                phy-mode = "rgmii";
+                phy-handle = <&ethphy>;
+                clock-names = "ether";
+                clocks = <&sys_clk 6>;
+                reset-names = "ether";
+                resets = <&sys_rst 6>;
+                socionext,syscon-phy-mode = <&soc_glue 0>;
+
+                mdio {
+                        #address-cells = <1>;
+                        #size-cells = <0>;
+
+                        ethphy: ethernet-phy@1 {
+                                reg = <1>;
+                        };
+                };
+        };
index e581ae49905768e5b5ef2c0fc5b06f4f99a89171..734cccf1d1e5c9d35aa75257ba4fbc98368c70e6 100644 (file)
@@ -15542,7 +15542,7 @@ SOCIONEXT (SNI) AVE NETWORK DRIVER
 M:     Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
 L:     netdev@vger.kernel.org
 S:     Maintained
-F:     Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
+F:     Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
 F:     drivers/net/ethernet/socionext/sni_ave.c
 
 SOCIONEXT (SNI) NETSEC NETWORK DRIVER