[net] dt-bindings: net: Convert UniPhier AVE4 controller to json-schema
diff mbox series

Message ID 1588055482-13012-1-git-send-email-hayashi.kunihiko@socionext.com
State Superseded
Headers show
Series
  • [net] dt-bindings: net: Convert UniPhier AVE4 controller to json-schema
Related show

Commit Message

Kunihiko Hayashi April 28, 2020, 6:31 a.m. UTC
Convert the UniPhier AVE4 controller binding to DT schema format.
This changes phy-handle property to required.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
---
 .../bindings/net/socionext,uniphier-ave4.txt       |  64 ------------
 .../bindings/net/socionext,uniphier-ave4.yaml      | 109 +++++++++++++++++++++
 MAINTAINERS                                        |   2 +-
 3 files changed, 110 insertions(+), 65 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
 create mode 100644 Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml

Comments

David Miller May 1, 2020, 10:21 p.m. UTC | #1
From: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Date: Tue, 28 Apr 2020 15:31:22 +0900

> Convert the UniPhier AVE4 controller binding to DT schema format.
> This changes phy-handle property to required.
> 
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>

DT folks, is it ok if I take this into net-next or do you folks want to
take it instead?

Thanks.
Kunihiko Hayashi May 8, 2020, 8:44 a.m. UTC | #2
Hi David, Rob,

On 2020/05/02 7:21, David Miller wrote:
> From: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
> Date: Tue, 28 Apr 2020 15:31:22 +0900
> 
>> Convert the UniPhier AVE4 controller binding to DT schema format.
>> This changes phy-handle property to required.
>>
>> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
> 
> DT folks, is it ok if I take this into net-next or do you folks want to
> take it instead?
Rob, how about this?
I think net-next is preferable.

Thank you,

---
Best Regards
Kunihiko Hayashi
Rob Herring May 12, 2020, 2:01 a.m. UTC | #3
On Tue, Apr 28, 2020 at 03:31:22PM +0900, Kunihiko Hayashi wrote:
> Convert the UniPhier AVE4 controller binding to DT schema format.
> This changes phy-handle property to required.
> 
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
> ---
>  .../bindings/net/socionext,uniphier-ave4.txt       |  64 ------------
>  .../bindings/net/socionext,uniphier-ave4.yaml      | 109 +++++++++++++++++++++
>  MAINTAINERS                                        |   2 +-
>  3 files changed, 110 insertions(+), 65 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
>  create mode 100644 Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
> 
> diff --git a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
> deleted file mode 100644
> index 4e85fc4..0000000
> --- a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
> +++ /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
> index 0000000..fd31e87
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
> @@ -0,0 +1,109 @@
> +# 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:
> +    $ref: ethernet-controller.yaml#/properties/phy-mode
> +
> +  phy-handle:
> +    $ref: ethernet-controller.yaml#/properties/phy-handle

No need for these $ref, the 1st reference did this. Just:

phy-mode: 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>;
> +                        };
> +                };
> +        };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a1558eb..0ee65e2 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -15590,7 +15590,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
> -- 
> 2.7.4
>
Kunihiko Hayashi May 12, 2020, 2:18 a.m. UTC | #4
Hi Rob,

On 2020/05/12 11:01, Rob Herring wrote:
> On Tue, Apr 28, 2020 at 03:31:22PM +0900, Kunihiko Hayashi wrote:
>> Convert the UniPhier AVE4 controller binding to DT schema format.
>> This changes phy-handle property to required.
>>
>> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
>> ---

(snip)

>> +  phy-mode:
>> +    $ref: ethernet-controller.yaml#/properties/phy-mode
>> +
>> +  phy-handle:
>> +    $ref: ethernet-controller.yaml#/properties/phy-handle
> 
> No need for these $ref, the 1st reference did this. Just:
> 
> phy-mode: true

Okay, "phy-handle" also replaces with "true".
I'll fix it in v2.

Thank you,
  
---
Best Regards
Kunihiko Hayashi

Patch
diff mbox series

diff --git a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
deleted file mode 100644
index 4e85fc4..0000000
--- a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt
+++ /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
index 0000000..fd31e87
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml
@@ -0,0 +1,109 @@ 
+# 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:
+    $ref: ethernet-controller.yaml#/properties/phy-mode
+
+  phy-handle:
+    $ref: ethernet-controller.yaml#/properties/phy-handle
+
+  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>;
+                        };
+                };
+        };
diff --git a/MAINTAINERS b/MAINTAINERS
index a1558eb..0ee65e2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -15590,7 +15590,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