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

Rob Herring robh at kernel.org
Wed Apr 21 23:52:12 BST 2021


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 at 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 at 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
> 



More information about the linux-arm-kernel mailing list