diff mbox series

dt-bindings: arm: firmware: Convert linaro,optee-tz to json schema

Message ID 20210416222518.15801-1-nm@ti.com
State Superseded
Headers show
Series dt-bindings: arm: firmware: Convert linaro,optee-tz to json schema | expand

Commit Message

Nishanth Menon April 16, 2021, 10:25 p.m. UTC
Convert linaro,optee-tz to json schema format for better documentation
and error checks.

NOTE:
1. This change does introduce a stricter naming convention for
   optee nodes.
2. We do have false positive checkpatch warning with this patch:
   "DT binding docs and includes should be a separate patch"

Signed-off-by: Nishanth Menon <nm@ti.com>
---
 .../bindings/arm/firmware/linaro,optee-tz.txt | 31 ----------
 .../arm/firmware/linaro,optee-tz.yaml         | 62 +++++++++++++++++++
 2 files changed, 62 insertions(+), 31 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt
 create mode 100644 Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml

Comments

Jens Wiklander April 20, 2021, 8:32 a.m. UTC | #1
On Sat, Apr 17, 2021 at 12:25 AM Nishanth Menon <nm@ti.com> wrote:
>

> Convert linaro,optee-tz to json schema format for better documentation

> and error checks.

>

> NOTE:

> 1. This change does introduce a stricter naming convention for

>    optee nodes.

> 2. We do have false positive checkpatch warning with this patch:

>    "DT binding docs and includes should be a separate patch"

>

> Signed-off-by: Nishanth Menon <nm@ti.com>

> ---

>  .../bindings/arm/firmware/linaro,optee-tz.txt | 31 ----------

>  .../arm/firmware/linaro,optee-tz.yaml         | 62 +++++++++++++++++++

>  2 files changed, 62 insertions(+), 31 deletions(-)

>  delete mode 100644 Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt

>  create mode 100644 Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml

>

> diff --git a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt

> deleted file mode 100644

> index d38834c67dff..000000000000

> --- a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt

> +++ /dev/null

> @@ -1,31 +0,0 @@

> -OP-TEE Device Tree Bindings

> -

> -OP-TEE is a piece of software using hardware features to provide a Trusted

> -Execution Environment. The security can be provided with ARM TrustZone, but

> -also by virtualization or a separate chip.

> -

> -We're using "linaro" as the first part of the compatible property for

> -the reference implementation maintained by Linaro.

> -

> -* OP-TEE based on ARM TrustZone required properties:

> -

> -- compatible     : should contain "linaro,optee-tz"

> -

> -- method         : The method of calling the OP-TEE Trusted OS. Permitted

> -                   values are:

> -

> -                   "smc" : SMC #0, with the register assignments specified

> -                          in drivers/tee/optee/optee_smc.h

> -

> -                   "hvc" : HVC #0, with the register assignments specified

> -                          in drivers/tee/optee/optee_smc.h

> -

> -

> -

> -Example:

> -       firmware {

> -               optee {

> -                       compatible = "linaro,optee-tz";

> -                       method = "smc";

> -               };

> -       };

> diff --git a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml

> new file mode 100644

> index 000000000000..6513b5ac8b2c

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml

> @@ -0,0 +1,62 @@

> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/arm/firmware/linaro,optee-tz.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#


Are these links supposed to work?

Thanks,
Jens


> +

> +title: OP-TEE Device Tree Bindings

> +

> +maintainers:

> +  - Jens Wiklander <jens.wiklander@linaro.org>

> +

> +description: |

> +  OP-TEE is a piece of software using hardware features to provide a Trusted

> +  Execution Environment. The security can be provided with ARM TrustZone, but

> +  also by virtualization or a separate chip.

> +

> +  We're using "linaro" as the first part of the compatible property for

> +  the reference implementation maintained by Linaro.

> +

> +properties:

> +  $nodename:

> +    const: 'optee'

> +

> +  compatible:

> +    const: linaro,optee-tz

> +

> +  method:

> +    description: The method of calling the OP-TEE Trusted OS.

> +    oneOf:

> +      - description: |

> +          SMC #0, with the register assignments specified

> +          in drivers/tee/optee/optee_smc.h

> +        items:

> +          - const: smc

> +      - description: |

> +          HVC #0, with the register assignments specified

> +          in drivers/tee/optee/optee_smc.h

> +        items:

> +          - const: hvc

> +

> +required:

> +  - compatible

> +  - method

> +

> +additionalProperties: false

> +

> +examples:

> +  - |

> +    firmware  {

> +        optee  {

> +            compatible = "linaro,optee-tz";

> +            method = "smc";

> +        };

> +    };

> +

> +  - |

> +    firmware  {

> +        optee  {

> +            compatible = "linaro,optee-tz";

> +            method = "hvc";

> +        };

> +    };

> --

> 2.31.0

>
Nishanth Menon April 20, 2021, 1:49 p.m. UTC | #2
On 10:32-20210420, Jens Wiklander wrote:
[...]
> > diff --git a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml

> > new file mode 100644

> > index 000000000000..6513b5ac8b2c

> > --- /dev/null

> > +++ b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml

> > @@ -0,0 +1,62 @@

> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

> > +%YAML 1.2

> > +---

> > +$id: http://devicetree.org/schemas/arm/firmware/linaro,optee-tz.yaml#

> > +$schema: http://devicetree.org/meta-schemas/core.yaml#

> 

> Are these links supposed to work?


I have'nt seen any of them work.. and I think it was intentional. I am
guessing that someday, eventually it might, typically the path beyond
devicetree.org is either in [1] or [2].

[1] https://github.com/devicetree-org/dt-schema
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings
[...]
-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D)/Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D
Rob Herring April 21, 2021, 10:48 p.m. UTC | #3
On Tue, Apr 20, 2021 at 10:32:37AM +0200, Jens Wiklander wrote:
> On Sat, Apr 17, 2021 at 12:25 AM Nishanth Menon <nm@ti.com> wrote:

> >

> > Convert linaro,optee-tz to json schema format for better documentation

> > and error checks.

> >

> > NOTE:

> > 1. This change does introduce a stricter naming convention for

> >    optee nodes.

> > 2. We do have false positive checkpatch warning with this patch:

> >    "DT binding docs and includes should be a separate patch"

> >

> > Signed-off-by: Nishanth Menon <nm@ti.com>

> > ---

> >  .../bindings/arm/firmware/linaro,optee-tz.txt | 31 ----------

> >  .../arm/firmware/linaro,optee-tz.yaml         | 62 +++++++++++++++++++

> >  2 files changed, 62 insertions(+), 31 deletions(-)

> >  delete mode 100644 Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt

> >  create mode 100644 Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml

> >

> > diff --git a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt

> > deleted file mode 100644

> > index d38834c67dff..000000000000

> > --- a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt

> > +++ /dev/null

> > @@ -1,31 +0,0 @@

> > -OP-TEE Device Tree Bindings

> > -

> > -OP-TEE is a piece of software using hardware features to provide a Trusted

> > -Execution Environment. The security can be provided with ARM TrustZone, but

> > -also by virtualization or a separate chip.

> > -

> > -We're using "linaro" as the first part of the compatible property for

> > -the reference implementation maintained by Linaro.

> > -

> > -* OP-TEE based on ARM TrustZone required properties:

> > -

> > -- compatible     : should contain "linaro,optee-tz"

> > -

> > -- method         : The method of calling the OP-TEE Trusted OS. Permitted

> > -                   values are:

> > -

> > -                   "smc" : SMC #0, with the register assignments specified

> > -                          in drivers/tee/optee/optee_smc.h

> > -

> > -                   "hvc" : HVC #0, with the register assignments specified

> > -                          in drivers/tee/optee/optee_smc.h

> > -

> > -

> > -

> > -Example:

> > -       firmware {

> > -               optee {

> > -                       compatible = "linaro,optee-tz";

> > -                       method = "smc";

> > -               };

> > -       };

> > diff --git a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml

> > new file mode 100644

> > index 000000000000..6513b5ac8b2c

> > --- /dev/null

> > +++ b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml

> > @@ -0,0 +1,62 @@

> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

> > +%YAML 1.2

> > +---

> > +$id: http://devicetree.org/schemas/arm/firmware/linaro,optee-tz.yaml#

> > +$schema: http://devicetree.org/meta-schemas/core.yaml#

> 

> Are these links supposed to work?


Could possibly some day, but no. Just convention for json-schema.

Rob
Rob Herring April 21, 2021, 10:52 p.m. UTC | #4
On Fri, Apr 16, 2021 at 05:25:18PM -0500, Nishanth Menon wrote:
> Convert linaro,optee-tz to json schema format for better documentation

> and error checks.

> 

> NOTE:

> 1. This change does introduce a stricter naming convention for

>    optee nodes.

> 2. We do have false positive checkpatch warning with this patch:

>    "DT binding docs and includes should be a separate patch"


Not really something that needs to be in the commit msg. I'm aware of 
the issue, just haven't gotten around to fixing it.

> Signed-off-by: Nishanth Menon <nm@ti.com>

> ---

>  .../bindings/arm/firmware/linaro,optee-tz.txt | 31 ----------

>  .../arm/firmware/linaro,optee-tz.yaml         | 62 +++++++++++++++++++

>  2 files changed, 62 insertions(+), 31 deletions(-)

>  delete mode 100644 Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt

>  create mode 100644 Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml

> 

> diff --git a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt

> deleted file mode 100644

> index d38834c67dff..000000000000

> --- a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt

> +++ /dev/null

> @@ -1,31 +0,0 @@

> -OP-TEE Device Tree Bindings

> -

> -OP-TEE is a piece of software using hardware features to provide a Trusted

> -Execution Environment. The security can be provided with ARM TrustZone, but

> -also by virtualization or a separate chip.

> -

> -We're using "linaro" as the first part of the compatible property for

> -the reference implementation maintained by Linaro.

> -

> -* OP-TEE based on ARM TrustZone required properties:

> -

> -- compatible     : should contain "linaro,optee-tz"

> -

> -- method         : The method of calling the OP-TEE Trusted OS. Permitted

> -                   values are:

> -

> -                   "smc" : SMC #0, with the register assignments specified

> -		           in drivers/tee/optee/optee_smc.h

> -

> -                   "hvc" : HVC #0, with the register assignments specified

> -		           in drivers/tee/optee/optee_smc.h

> -

> -

> -

> -Example:

> -	firmware {

> -		optee {

> -			compatible = "linaro,optee-tz";

> -			method = "smc";

> -		};

> -	};

> diff --git a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml

> new file mode 100644

> index 000000000000..6513b5ac8b2c

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml

> @@ -0,0 +1,62 @@

> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/arm/firmware/linaro,optee-tz.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: OP-TEE Device Tree Bindings

> +

> +maintainers:

> +  - Jens Wiklander <jens.wiklander@linaro.org>

> +

> +description: |

> +  OP-TEE is a piece of software using hardware features to provide a Trusted

> +  Execution Environment. The security can be provided with ARM TrustZone, but

> +  also by virtualization or a separate chip.

> +

> +  We're using "linaro" as the first part of the compatible property for

> +  the reference implementation maintained by Linaro.

> +

> +properties:

> +  $nodename:

> +    const: 'optee'


Don't need quotes.

> +

> +  compatible:

> +    const: linaro,optee-tz

> +

> +  method:

> +    description: The method of calling the OP-TEE Trusted OS.

> +    oneOf:

> +      - description: |

> +          SMC #0, with the register assignments specified

> +          in drivers/tee/optee/optee_smc.h

> +        items:

> +          - const: smc

> +      - description: |

> +          HVC #0, with the register assignments specified

> +          in drivers/tee/optee/optee_smc.h

> +        items:

> +          - const: hvc


Please just do 'enum: [ smc, hvc ]' and rework to a single description.

> +

> +required:

> +  - compatible

> +  - method

> +

> +additionalProperties: false

> +

> +examples:

> +  - |

> +    firmware  {

> +        optee  {

> +            compatible = "linaro,optee-tz";

> +            method = "smc";

> +        };

> +    };

> +

> +  - |

> +    firmware  {

> +        optee  {

> +            compatible = "linaro,optee-tz";

> +            method = "hvc";

> +        };

> +    };

> -- 

> 2.31.0

>
Nishanth Menon April 22, 2021, 2:20 p.m. UTC | #5
On 17:52-20210421, Rob Herring wrote:
> On Fri, Apr 16, 2021 at 05:25:18PM -0500, Nishanth Menon wrote:

> > Convert linaro,optee-tz to json schema format for better documentation

> > and error checks.

> > 

> > NOTE:

> > 1. This change does introduce a stricter naming convention for

> >    optee nodes.

> > 2. We do have false positive checkpatch warning with this patch:

> >    "DT binding docs and includes should be a separate patch"

> 

> Not really something that needs to be in the commit msg. I'm aware of 

> the issue, just haven't gotten around to fixing it.


sure, thanks..
In this patch and my previous patches as well, I will move them all
to diffstat comment.

> > +properties:

> > +  $nodename:

> > +    const: 'optee'

> 

> Don't need quotes.


aarrgh.. yes, ofcourse.
> 

> > +

> > +  compatible:

> > +    const: linaro,optee-tz

> > +

> > +  method:

> > +    description: The method of calling the OP-TEE Trusted OS.

> > +    oneOf:

> > +      - description: |

> > +          SMC #0, with the register assignments specified

> > +          in drivers/tee/optee/optee_smc.h

> > +        items:

> > +          - const: smc

> > +      - description: |

> > +          HVC #0, with the register assignments specified

> > +          in drivers/tee/optee/optee_smc.h

> > +        items:

> > +          - const: hvc

> 

> Please just do 'enum: [ smc, hvc ]' and rework to a single description.


Sure, will do. thanks for the comments.

-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D)/Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt
deleted file mode 100644
index d38834c67dff..000000000000
--- a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt
+++ /dev/null
@@ -1,31 +0,0 @@ 
-OP-TEE Device Tree Bindings
-
-OP-TEE is a piece of software using hardware features to provide a Trusted
-Execution Environment. The security can be provided with ARM TrustZone, but
-also by virtualization or a separate chip.
-
-We're using "linaro" as the first part of the compatible property for
-the reference implementation maintained by Linaro.
-
-* OP-TEE based on ARM TrustZone required properties:
-
-- compatible     : should contain "linaro,optee-tz"
-
-- method         : The method of calling the OP-TEE Trusted OS. Permitted
-                   values are:
-
-                   "smc" : SMC #0, with the register assignments specified
-		           in drivers/tee/optee/optee_smc.h
-
-                   "hvc" : HVC #0, with the register assignments specified
-		           in drivers/tee/optee/optee_smc.h
-
-
-
-Example:
-	firmware {
-		optee {
-			compatible = "linaro,optee-tz";
-			method = "smc";
-		};
-	};
diff --git a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml
new file mode 100644
index 000000000000..6513b5ac8b2c
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml
@@ -0,0 +1,62 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/firmware/linaro,optee-tz.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: OP-TEE Device Tree Bindings
+
+maintainers:
+  - Jens Wiklander <jens.wiklander@linaro.org>
+
+description: |
+  OP-TEE is a piece of software using hardware features to provide a Trusted
+  Execution Environment. The security can be provided with ARM TrustZone, but
+  also by virtualization or a separate chip.
+
+  We're using "linaro" as the first part of the compatible property for
+  the reference implementation maintained by Linaro.
+
+properties:
+  $nodename:
+    const: 'optee'
+
+  compatible:
+    const: linaro,optee-tz
+
+  method:
+    description: The method of calling the OP-TEE Trusted OS.
+    oneOf:
+      - description: |
+          SMC #0, with the register assignments specified
+          in drivers/tee/optee/optee_smc.h
+        items:
+          - const: smc
+      - description: |
+          HVC #0, with the register assignments specified
+          in drivers/tee/optee/optee_smc.h
+        items:
+          - const: hvc
+
+required:
+  - compatible
+  - method
+
+additionalProperties: false
+
+examples:
+  - |
+    firmware  {
+        optee  {
+            compatible = "linaro,optee-tz";
+            method = "smc";
+        };
+    };
+
+  - |
+    firmware  {
+        optee  {
+            compatible = "linaro,optee-tz";
+            method = "hvc";
+        };
+    };