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 <[email protected]>
---
.../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 <[email protected]>
+
+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
On Sat, Apr 17, 2021 at 12:25 AM Nishanth Menon <[email protected]> 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 <[email protected]>
> ---
> .../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 <[email protected]>
> +
> +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
>
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
On Tue, Apr 20, 2021 at 10:32:37AM +0200, Jens Wiklander wrote:
> On Sat, Apr 17, 2021 at 12:25 AM Nishanth Menon <[email protected]> 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 <[email protected]>
> > ---
> > .../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
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 <[email protected]>
> ---
> .../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 <[email protected]>
> +
> +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
>
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