2020-04-09 03:27:10

by Anson Huang

[permalink] [raw]
Subject: [PATCH] dt-bindings: thermal: Convert i.MX8MM to json-schema

Convert the i.MX8MM thermal binding to DT schema format using json-schema

Signed-off-by: Anson Huang <[email protected]>
---
.../devicetree/bindings/thermal/imx8mm-thermal.txt | 15 ------
.../bindings/thermal/imx8mm-thermal.yaml | 53 ++++++++++++++++++++++
2 files changed, 53 insertions(+), 15 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
create mode 100644 Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml

diff --git a/Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt b/Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
deleted file mode 100644
index 3629d3c..0000000
--- a/Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-* Thermal Monitoring Unit (TMU) on Freescale i.MX8MM SoC
-
-Required properties:
-- compatible : Must be "fsl,imx8mm-tmu" or "fsl,imx8mp-tmu".
-- reg : Address range of TMU registers.
-- clocks : TMU's clock source.
-- #thermal-sensor-cells : Should be 0 or 1. See ./thermal.txt for a description.
-
-Example:
-tmu: tmu@30260000 {
- compatible = "fsl,imx8mm-tmu";
- reg = <0x30260000 0x10000>;
- clocks = <&clk IMX8MM_CLK_TMU_ROOT>;
- #thermal-sensor-cells = <0>;
-};
diff --git a/Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml b/Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
new file mode 100644
index 0000000..53a42b3
--- /dev/null
+++ b/Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
@@ -0,0 +1,53 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/thermal/imx8mm-thermal.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP i.MX8M Mini Thermal Binding
+
+maintainers:
+ - Anson Huang <[email protected]>
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - fsl,imx8mm-tmu
+ - fsl,imx8mp-tmu
+ reg:
+ description: |
+ Address range of TMU registers.
+ maxItems: 1
+ clocks:
+ description: |
+ TMU's clock source.
+ maxItems: 1
+
+ # See ./thermal.txt for details
+ "#thermal-sensor-cells":
+ enum:
+ - 0
+ - 1
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - '#thermal-sensor-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/imx8mm-clock.h>
+
+ tmu: tmu@30260000 {
+ compatible = "fsl,imx8mm-tmu";
+ reg = <0x30260000 0x10000>;
+ clocks = <&clk IMX8MM_CLK_TMU_ROOT>;
+ #thermal-sensor-cells = <0>;
+ };
+
+...
--
2.7.4


2020-04-09 14:01:52

by Amit Kucheria

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: thermal: Convert i.MX8MM to json-schema

Hi Anson,

On Thu, Apr 9, 2020 at 8:56 AM Anson Huang <[email protected]> wrote:
>
> Convert the i.MX8MM thermal binding to DT schema format using json-schema

Would it be possible to have a single yaml file for all i.MX thermal
sensors by playing with required and optional properties ?

> Signed-off-by: Anson Huang <[email protected]>
> ---
> .../devicetree/bindings/thermal/imx8mm-thermal.txt | 15 ------
> .../bindings/thermal/imx8mm-thermal.yaml | 53 ++++++++++++++++++++++
> 2 files changed, 53 insertions(+), 15 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
> create mode 100644 Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
>
> diff --git a/Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt b/Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
> deleted file mode 100644
> index 3629d3c..0000000
> --- a/Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -* Thermal Monitoring Unit (TMU) on Freescale i.MX8MM SoC
> -
> -Required properties:
> -- compatible : Must be "fsl,imx8mm-tmu" or "fsl,imx8mp-tmu".
> -- reg : Address range of TMU registers.
> -- clocks : TMU's clock source.
> -- #thermal-sensor-cells : Should be 0 or 1. See ./thermal.txt for a description.
> -
> -Example:
> -tmu: tmu@30260000 {
> - compatible = "fsl,imx8mm-tmu";
> - reg = <0x30260000 0x10000>;
> - clocks = <&clk IMX8MM_CLK_TMU_ROOT>;
> - #thermal-sensor-cells = <0>;
> -};
> diff --git a/Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml b/Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
> new file mode 100644
> index 0000000..53a42b3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
> @@ -0,0 +1,53 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/thermal/imx8mm-thermal.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP i.MX8M Mini Thermal Binding
> +
> +maintainers:
> + - Anson Huang <[email protected]>
> +
> +properties:
> + compatible:
> + oneOf:
> + - items:
> + - enum:
> + - fsl,imx8mm-tmu
> + - fsl,imx8mp-tmu
> + reg:
> + description: |
> + Address range of TMU registers.
> + maxItems: 1
> + clocks:
> + description: |
> + TMU's clock source.
> + maxItems: 1
> +
> + # See ./thermal.txt for details

Don't point to thermal.txt anymore. thermal.txt will be replaced by
thermal-*.yaml files at some point soon.

> + "#thermal-sensor-cells":
> + enum:
> + - 0

Don't you have multiple sensors connected to this controller? In that
case, 0 won't be a valid value.

> + - 1
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - '#thermal-sensor-cells'
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/imx8mm-clock.h>
> +
> + tmu: tmu@30260000 {
> + compatible = "fsl,imx8mm-tmu";
> + reg = <0x30260000 0x10000>;
> + clocks = <&clk IMX8MM_CLK_TMU_ROOT>;
> + #thermal-sensor-cells = <0>;
> + };
> +
> +...
> --
> 2.7.4
>

2020-04-09 14:25:40

by Anson Huang

[permalink] [raw]
Subject: RE: [PATCH] dt-bindings: thermal: Convert i.MX8MM to json-schema

Hi, Amit

> Subject: Re: [PATCH] dt-bindings: thermal: Convert i.MX8MM to json-schema
>
> Hi Anson,
>
> On Thu, Apr 9, 2020 at 8:56 AM Anson Huang <[email protected]>
> wrote:
> >
> > Convert the i.MX8MM thermal binding to DT schema format using
> > json-schema
>
> Would it be possible to have a single yaml file for all i.MX thermal sensors by
> playing with required and optional properties ?

i.MX SoCs have many different thermal sensor IP and hence different thermal driver
is used, and different i.MX thermal drivers have different DT bindings, so is it good to
put all of them into single yaml file? For example, imx_thermal.c is for i.MX6/7 SoCs which
do NOT use of_thermal framework, imx8mm_thermal.c is for i.MX8MM/i.MX8MP which
use of_thermal framework.

If putting all of them into 1 yaml file, it will be almost like just putting 2 files together, I
Personally don't think it is a good idea.

>
> > Signed-off-by: Anson Huang <[email protected]>
> > ---
> > .../devicetree/bindings/thermal/imx8mm-thermal.txt | 15 ------
> > .../bindings/thermal/imx8mm-thermal.yaml | 53
> ++++++++++++++++++++++
> > 2 files changed, 53 insertions(+), 15 deletions(-) delete mode
> > 100644 Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
> > create mode 100644
> > Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
> >
> > diff --git
> > a/Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
> > b/Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
> > deleted file mode 100644
> > index 3629d3c..0000000
> > --- a/Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
> > +++ /dev/null
> > @@ -1,15 +0,0 @@
> > -* Thermal Monitoring Unit (TMU) on Freescale i.MX8MM SoC
> > -
> > -Required properties:
> > -- compatible : Must be "fsl,imx8mm-tmu" or "fsl,imx8mp-tmu".
> > -- reg : Address range of TMU registers.
> > -- clocks : TMU's clock source.
> > -- #thermal-sensor-cells : Should be 0 or 1. See ./thermal.txt for a description.
> > -
> > -Example:
> > -tmu: tmu@30260000 {
> > - compatible = "fsl,imx8mm-tmu";
> > - reg = <0x30260000 0x10000>;
> > - clocks = <&clk IMX8MM_CLK_TMU_ROOT>;
> > - #thermal-sensor-cells = <0>;
> > -};
> > diff --git
> > a/Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
> > b/Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
> > new file mode 100644
> > index 0000000..53a42b3
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
> > @@ -0,0 +1,53 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +%YAML 1.2
> > +---
> > +$id:
> > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> >
> +cetree.org%2Fschemas%2Fthermal%2Fimx8mm-thermal.yaml%23&amp;data
> =02%7
> >
> +C01%7CAnson.Huang%40nxp.com%7Cb190e049130e49e0750d08d7dc8e48
> a3%7C686e
> >
> +a1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637220375963888457&am
> p;sdata=s
> >
> +S8%2FR2j%2BT1UmDqXFIPPzPgWs26lMiwW3saTq4qlZAUs%3D&amp;reserve
> d=0
> > +$schema:
> > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> >
> +cetree.org%2Fmeta-schemas%2Fcore.yaml%23&amp;data=02%7C01%7CAns
> on.Hua
> >
> +ng%40nxp.com%7Cb190e049130e49e0750d08d7dc8e48a3%7C686ea1d3bc
> 2b4c6fa92
> >
> +cd99c5c301635%7C0%7C0%7C637220375963898454&amp;sdata=tXIh9d%
> 2BszcExH0
> > +7ic7s%2BqJyUdbE0aHM3tH%2BwkWgnbhQ%3D&amp;reserved=0
> > +
> > +title: NXP i.MX8M Mini Thermal Binding
> > +
> > +maintainers:
> > + - Anson Huang <[email protected]>
> > +
> > +properties:
> > + compatible:
> > + oneOf:
> > + - items:
> > + - enum:
> > + - fsl,imx8mm-tmu
> > + - fsl,imx8mp-tmu
> > + reg:
> > + description: |
> > + Address range of TMU registers.
> > + maxItems: 1
> > + clocks:
> > + description: |
> > + TMU's clock source.
> > + maxItems: 1
> > +
> > + # See ./thermal.txt for details
>
> Don't point to thermal.txt anymore. thermal.txt will be replaced by
> thermal-*.yaml files at some point soon.

OK, will remove it.

>
> > + "#thermal-sensor-cells":
> > + enum:
> > + - 0
>
> Don't you have multiple sensors connected to this controller? In that case, 0
> won't be a valid value.

imx8mm_thermal driver is for i.MX8MM and i.MX8MP, i.MX8MM ONLY has 1 sensor,
while i.MX8MP has 2 sensors, that is why I put both 0 and 1 here.

Thanks,
Anson

2020-04-09 16:51:53

by Amit Kucheria

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: thermal: Convert i.MX8MM to json-schema

On Thu, Apr 9, 2020 at 7:52 PM Anson Huang <[email protected]> wrote:
>
> Hi, Amit
>
> > Subject: Re: [PATCH] dt-bindings: thermal: Convert i.MX8MM to json-schema
> >
> > Hi Anson,
> >
> > On Thu, Apr 9, 2020 at 8:56 AM Anson Huang <[email protected]>
> > wrote:
> > >
> > > Convert the i.MX8MM thermal binding to DT schema format using
> > > json-schema
> >
> > Would it be possible to have a single yaml file for all i.MX thermal sensors by
> > playing with required and optional properties ?
>
> i.MX SoCs have many different thermal sensor IP and hence different thermal driver
> is used, and different i.MX thermal drivers have different DT bindings, so is it good to
> put all of them into single yaml file? For example, imx_thermal.c is for i.MX6/7 SoCs which
> do NOT use of_thermal framework, imx8mm_thermal.c is for i.MX8MM/i.MX8MP which
> use of_thermal framework.
>
> If putting all of them into 1 yaml file, it will be almost like just putting 2 files together, I
> Personally don't think it is a good idea.

OK.

> >
> > > Signed-off-by: Anson Huang <[email protected]>
> > > ---
> > > .../devicetree/bindings/thermal/imx8mm-thermal.txt | 15 ------
> > > .../bindings/thermal/imx8mm-thermal.yaml | 53
> > ++++++++++++++++++++++
> > > 2 files changed, 53 insertions(+), 15 deletions(-) delete mode
> > > 100644 Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
> > > create mode 100644
> > > Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
> > >
> > > diff --git
> > > a/Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
> > > b/Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
> > > deleted file mode 100644
> > > index 3629d3c..0000000
> > > --- a/Documentation/devicetree/bindings/thermal/imx8mm-thermal.txt
> > > +++ /dev/null
> > > @@ -1,15 +0,0 @@
> > > -* Thermal Monitoring Unit (TMU) on Freescale i.MX8MM SoC
> > > -
> > > -Required properties:
> > > -- compatible : Must be "fsl,imx8mm-tmu" or "fsl,imx8mp-tmu".
> > > -- reg : Address range of TMU registers.
> > > -- clocks : TMU's clock source.
> > > -- #thermal-sensor-cells : Should be 0 or 1. See ./thermal.txt for a description.
> > > -
> > > -Example:
> > > -tmu: tmu@30260000 {
> > > - compatible = "fsl,imx8mm-tmu";
> > > - reg = <0x30260000 0x10000>;
> > > - clocks = <&clk IMX8MM_CLK_TMU_ROOT>;
> > > - #thermal-sensor-cells = <0>;
> > > -};
> > > diff --git
> > > a/Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
> > > b/Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
> > > new file mode 100644
> > > index 0000000..53a42b3
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
> > > @@ -0,0 +1,53 @@
> > > +# SPDX-License-Identifier: GPL-2.0
> > > +%YAML 1.2
> > > +---
> > > +$id:
> > > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > >
> > +cetree.org%2Fschemas%2Fthermal%2Fimx8mm-thermal.yaml%23&amp;data
> > =02%7
> > >
> > +C01%7CAnson.Huang%40nxp.com%7Cb190e049130e49e0750d08d7dc8e48
> > a3%7C686e
> > >
> > +a1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637220375963888457&am
> > p;sdata=s
> > >
> > +S8%2FR2j%2BT1UmDqXFIPPzPgWs26lMiwW3saTq4qlZAUs%3D&amp;reserve
> > d=0
> > > +$schema:
> > > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > >
> > +cetree.org%2Fmeta-schemas%2Fcore.yaml%23&amp;data=02%7C01%7CAns
> > on.Hua
> > >
> > +ng%40nxp.com%7Cb190e049130e49e0750d08d7dc8e48a3%7C686ea1d3bc
> > 2b4c6fa92
> > >
> > +cd99c5c301635%7C0%7C0%7C637220375963898454&amp;sdata=tXIh9d%
> > 2BszcExH0
> > > +7ic7s%2BqJyUdbE0aHM3tH%2BwkWgnbhQ%3D&amp;reserved=0
> > > +
> > > +title: NXP i.MX8M Mini Thermal Binding
> > > +
> > > +maintainers:
> > > + - Anson Huang <[email protected]>
> > > +
> > > +properties:
> > > + compatible:
> > > + oneOf:
> > > + - items:
> > > + - enum:
> > > + - fsl,imx8mm-tmu
> > > + - fsl,imx8mp-tmu
> > > + reg:
> > > + description: |
> > > + Address range of TMU registers.
> > > + maxItems: 1
> > > + clocks:
> > > + description: |
> > > + TMU's clock source.
> > > + maxItems: 1
> > > +
> > > + # See ./thermal.txt for details
> >
> > Don't point to thermal.txt anymore. thermal.txt will be replaced by
> > thermal-*.yaml files at some point soon.
>
> OK, will remove it.
>
> >
> > > + "#thermal-sensor-cells":
> > > + enum:
> > > + - 0
> >
> > Don't you have multiple sensors connected to this controller? In that case, 0
> > won't be a valid value.
>
> imx8mm_thermal driver is for i.MX8MM and i.MX8MP, i.MX8MM ONLY has 1 sensor,
> while i.MX8MP has 2 sensors, that is why I put both 0 and 1 here.

Please put this in description after maintainers above.