| # 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 |
| |
| 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 |
| |
| interrupts: |
| maxItems: 1 |
| description: | |
| This interrupt which is used to signal an event by the secure world |
| software is expected to be either a per-cpu interrupt or an |
| edge-triggered peripheral interrupt. |
| |
| 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: |
| - | |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| firmware { |
| optee { |
| compatible = "linaro,optee-tz"; |
| method = "smc"; |
| interrupts = <GIC_SPI 187 IRQ_TYPE_EDGE_RISING>; |
| }; |
| }; |
| |
| - | |
| firmware { |
| optee { |
| compatible = "linaro,optee-tz"; |
| method = "hvc"; |
| }; |
| }; |