diff mbox series

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

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

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

-- 
2.17.1

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>;
+    };