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