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 Device Tree Bindings 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 edge-triggered. 32 33 method: 34 enum: [smc, hvc] 35 description: | 36 The method of calling the OP-TEE Trusted OS depending on smc or hvc 37 instruction usage. 38 SMC #0, register assignments 39 or 40 HVC #0, register assignments 41 register assignments are specified in drivers/tee/optee/optee_smc.h 42 43required: 44 - compatible 45 - method 46 47additionalProperties: false 48 49examples: 50 - | 51 #include <dt-bindings/interrupt-controller/arm-gic.h> 52 firmware { 53 optee { 54 compatible = "linaro,optee-tz"; 55 method = "smc"; 56 interrupts = <GIC_SPI 187 IRQ_TYPE_EDGE_RISING>; 57 }; 58 }; 59 60 - | 61 firmware { 62 optee { 63 compatible = "linaro,optee-tz"; 64 method = "hvc"; 65 }; 66 }; 67