1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/arm/firmware/linaro,optee-tz.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: OP-TEE 8 9maintainers: 10 - Jens Wiklander <jens.wiklander@linaro.org> 11 12description: | 13 OP-TEE is a piece of software using hardware features to provide a Trusted 14 Execution Environment. The security can be provided with ARM TrustZone, but 15 also by virtualization or a separate chip. 16 17 We're using "linaro" as the first part of the compatible property for 18 the reference implementation maintained by Linaro. 19 20properties: 21 $nodename: 22 const: optee 23 24 compatible: 25 const: linaro,optee-tz 26 27 interrupts: 28 maxItems: 1 29 description: | 30 This interrupt which is used to signal an event by the secure world 31 software is expected to be either a per-cpu interrupt or an 32 edge-triggered peripheral interrupt. 33 34 method: 35 enum: [smc, hvc] 36 description: | 37 The method of calling the OP-TEE Trusted OS depending on smc or hvc 38 instruction usage. 39 SMC #0, register assignments 40 or 41 HVC #0, register assignments 42 register assignments are specified in drivers/tee/optee/optee_smc.h 43 44required: 45 - compatible 46 - method 47 48additionalProperties: false 49 50examples: 51 - | 52 #include <dt-bindings/interrupt-controller/arm-gic.h> 53 firmware { 54 optee { 55 compatible = "linaro,optee-tz"; 56 method = "smc"; 57 interrupts = <GIC_SPI 187 IRQ_TYPE_EDGE_RISING>; 58 }; 59 }; 60 61 - | 62 firmware { 63 optee { 64 compatible = "linaro,optee-tz"; 65 method = "hvc"; 66 }; 67 }; 68