Commit be783297 authored by Nishanth Menon's avatar Nishanth Menon Committed by Rob Herring
Browse files

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



Convert linaro,optee-tz to json schema format for better documentation
and error checks.

NOTE: This change does introduce a stricter naming convention for
optee nodes.

Signed-off-by: default avatarNishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210426164008.20000-1-nm@ti.com


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 5a9652f6
Loading
Loading
Loading
Loading
+0 −31
Original line number Diff line number Diff line
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";
		};
	};
+58 −0
Original line number Diff line number Diff line
# 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:
    enum: [smc, hvc]
    description: |
      The method of calling the OP-TEE Trusted OS depending on smc or hvc
      instruction usage.
      SMC #0, register assignments
      or
      HVC #0, register assignments
      register assignments are specified in drivers/tee/optee/optee_smc.h

required:
  - compatible
  - method

additionalProperties: false

examples:
  - |
    firmware  {
        optee  {
            compatible = "linaro,optee-tz";
            method = "smc";
        };
    };

  - |
    firmware  {
        optee  {
            compatible = "linaro,optee-tz";
            method = "hvc";
        };
    };