]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Bindings/arm/firmware/linaro,optee-tz.yaml
Import device-tree files from Linux 6.2
[FreeBSD/FreeBSD.git] / Bindings / arm / firmware / linaro,optee-tz.yaml
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
7 title: OP-TEE
8
9 maintainers:
10   - Jens Wiklander <jens.wiklander@linaro.org>
11
12 description: |
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
20 properties:
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
43 required:
44   - compatible
45   - method
46
47 additionalProperties: false
48
49 examples:
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     };