Message ID | 20210416222518.15801-1-nm@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dt-bindings: arm: firmware: Convert linaro, optee-tz to json schema | expand |
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 >
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 [...]
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
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 >
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.
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"; + }; + };
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