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  method:
28    enum: [smc, hvc]
29    description: |
30      The method of calling the OP-TEE Trusted OS depending on smc or hvc
31      instruction usage.
32      SMC #0, register assignments
33      or
34      HVC #0, register assignments
35      register assignments are specified in drivers/tee/optee/optee_smc.h
36
37required:
38  - compatible
39  - method
40
41additionalProperties: false
42
43examples:
44  - |
45    firmware  {
46        optee  {
47            compatible = "linaro,optee-tz";
48            method = "smc";
49        };
50    };
51
52  - |
53    firmware  {
54        optee  {
55            compatible = "linaro,optee-tz";
56            method = "hvc";
57        };
58    };
59