diff mbox series

[RFC] dt-bindings: net: davinci-mdio: convert bindings to json-schema

Message ID 20191024104730.17708-1-grygorii.strashko@ti.com
State Changes Requested, archived
Headers show
Series [RFC] dt-bindings: net: davinci-mdio: convert bindings to json-schema | expand

Checks

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

Commit Message

Grygorii Strashko Oct. 24, 2019, 10:47 a.m. UTC
Now that we have the DT validation in place, let's convert the device tree
bindings for the TI SoC Davinci/OMAP/Keystone2 MDIO Controllerr over to a
YAML schemas.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
This my first attempt to work with YAML schemas, hence RFC.

 .../bindings/net/ti,davinci-mdio.yaml         | 64 +++++++++++++++++++
 1 file changed, 64 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml

Comments

Rob Herring Oct. 29, 2019, 7:27 p.m. UTC | #1
On Thu, Oct 24, 2019 at 01:47:30PM +0300, Grygorii Strashko wrote:
> Now that we have the DT validation in place, let's convert the device tree
> bindings for the TI SoC Davinci/OMAP/Keystone2 MDIO Controllerr over to a
> YAML schemas.
> 
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> ---
> This my first attempt to work with YAML schemas, hence RFC.

No problems validating this schema, but the example in mdio.yaml isn't 
happy:

/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/net/mdio.example.dt.yaml: 
mdio@5c030000: 'bus_freq' is a required property

> 
>  .../bindings/net/ti,davinci-mdio.yaml         | 64 +++++++++++++++++++
>  1 file changed, 64 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml

Convert implies deleting the old binding...

> 
> diff --git a/Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml b/Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml
> new file mode 100644
> index 000000000000..e51054d2e0fa
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml
> @@ -0,0 +1,64 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/ti,davinci-mdio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI SoC Davinci/Keystone2 MDIO Controller
> +
> +maintainers:
> +  - Grygorii Strashko <grygorii.strashko@ti.com>
> +
> +description:
> +  TI SoC Davinci/Keystone2 MDIO Controller Device Tree Bindings
> +
> +allOf:
> +  - $ref: "mdio.yaml#"
> +
> +properties:
> +  compatible:
> +    oneOf:
> +       - const: ti,davinci_mdio
> +       - items:
> +         - const: ti,keystone_mdio
> +         - const: ti,davinci_mdio
> +       - items:
> +         - const: ti,cpsw-mdio
> +         - const: ti,davinci_mdio
> +       - items:
> +         - const: ti,am4372-mdio
> +         - const: ti,cpsw-mdio
> +         - const: ti,davinci_mdio
> +
> +  reg:
> +    maxItems: 1
> +
> +  bus_freq:
> +      maximum: 2500000
> +      description:
> +        Mdio Bus frequency
> +
> +  ti,hwmods:
> +    description: TI hwmod name
> +    deprecated: true
> +    allOf:
> +      - $ref: /schemas/types.yaml#/definitions/string-array
> +      - items:
> +          const: davinci_mdio
> +
> +required:
> +  - compatible
> +  - reg
> +  - bus_freq
> +  - "#address-cells"
> +  - "#size-cells"
> +
> +examples:
> +  - |
> +    davinci_mdio: mdio@4a101000 {
> +         compatible = "ti,davinci_mdio";
> +         #address-cells = <1>;
> +         #size-cells = <0>;
> +         reg = <0x4A101000 0x1000>;

Lowercase hex please.

> +         bus_freq = <1000000>;
> +    };
> -- 
> 2.17.1
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml b/Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml
new file mode 100644
index 000000000000..e51054d2e0fa
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml
@@ -0,0 +1,64 @@ 
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/ti,davinci-mdio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI SoC Davinci/Keystone2 MDIO Controller
+
+maintainers:
+  - Grygorii Strashko <grygorii.strashko@ti.com>
+
+description:
+  TI SoC Davinci/Keystone2 MDIO Controller Device Tree Bindings
+
+allOf:
+  - $ref: "mdio.yaml#"
+
+properties:
+  compatible:
+    oneOf:
+       - const: ti,davinci_mdio
+       - items:
+         - const: ti,keystone_mdio
+         - const: ti,davinci_mdio
+       - items:
+         - const: ti,cpsw-mdio
+         - const: ti,davinci_mdio
+       - items:
+         - const: ti,am4372-mdio
+         - const: ti,cpsw-mdio
+         - const: ti,davinci_mdio
+
+  reg:
+    maxItems: 1
+
+  bus_freq:
+      maximum: 2500000
+      description:
+        Mdio Bus frequency
+
+  ti,hwmods:
+    description: TI hwmod name
+    deprecated: true
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/string-array
+      - items:
+          const: davinci_mdio
+
+required:
+  - compatible
+  - reg
+  - bus_freq
+  - "#address-cells"
+  - "#size-cells"
+
+examples:
+  - |
+    davinci_mdio: mdio@4a101000 {
+         compatible = "ti,davinci_mdio";
+         #address-cells = <1>;
+         #size-cells = <0>;
+         reg = <0x4A101000 0x1000>;
+         bus_freq = <1000000>;
+    };