Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/arm/firmware/linaro,optee-tz.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: OP-TEE Device Tree Bindings
0008 
0009 maintainers:
0010   - Jens Wiklander <jens.wiklander@linaro.org>
0011 
0012 description: |
0013   OP-TEE is a piece of software using hardware features to provide a Trusted
0014   Execution Environment. The security can be provided with ARM TrustZone, but
0015   also by virtualization or a separate chip.
0016 
0017   We're using "linaro" as the first part of the compatible property for
0018   the reference implementation maintained by Linaro.
0019 
0020 properties:
0021   $nodename:
0022     const: optee
0023 
0024   compatible:
0025     const: linaro,optee-tz
0026 
0027   interrupts:
0028     maxItems: 1
0029     description: |
0030       This interrupt which is used to signal an event by the secure world
0031       software is expected to be edge-triggered.
0032 
0033   method:
0034     enum: [smc, hvc]
0035     description: |
0036       The method of calling the OP-TEE Trusted OS depending on smc or hvc
0037       instruction usage.
0038       SMC #0, register assignments
0039       or
0040       HVC #0, register assignments
0041       register assignments are specified in drivers/tee/optee/optee_smc.h
0042 
0043 required:
0044   - compatible
0045   - method
0046 
0047 additionalProperties: false
0048 
0049 examples:
0050   - |
0051     #include <dt-bindings/interrupt-controller/arm-gic.h>
0052     firmware  {
0053         optee  {
0054             compatible = "linaro,optee-tz";
0055             method = "smc";
0056             interrupts = <GIC_SPI 187 IRQ_TYPE_EDGE_RISING>;
0057         };
0058     };
0059 
0060   - |
0061     firmware  {
0062         optee  {
0063             compatible = "linaro,optee-tz";
0064             method = "hvc";
0065         };
0066     };