xref: /linux/Documentation/devicetree/bindings/tpm/ibm,vtpm.yaml (revision 06f054b1fee83415fe35204845708988fc16ef22)
1cd6366c0SLukas Wunner# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2cd6366c0SLukas Wunner%YAML 1.2
3cd6366c0SLukas Wunner---
4cd6366c0SLukas Wunner$id: http://devicetree.org/schemas/tpm/ibm,vtpm.yaml#
5cd6366c0SLukas Wunner$schema: http://devicetree.org/meta-schemas/core.yaml#
6cd6366c0SLukas Wunner
7cd6366c0SLukas Wunnertitle: IBM Virtual Trusted Platform Module (vTPM)
8cd6366c0SLukas Wunner
9cd6366c0SLukas Wunnermaintainers:
10cd6366c0SLukas Wunner  - Nayna Jain <nayna@linux.ibm.com>
11cd6366c0SLukas Wunner
12cd6366c0SLukas Wunnerdescription: |
13cd6366c0SLukas Wunner  Virtual TPM is used on IBM POWER7+ and POWER8 systems running POWERVM.
14cd6366c0SLukas Wunner  It is supported through the adjunct partition with firmware release 740
15cd6366c0SLukas Wunner  or higher.  With vTPM support, each lpar is able to have its own vTPM
16cd6366c0SLukas Wunner  without the physical TPM hardware.  The TPM functionality is provided by
17cd6366c0SLukas Wunner  communicating with the vTPM adjunct partition through Hypervisor calls
18cd6366c0SLukas Wunner  (Hcalls) and Command/Response Queue (CRQ) commands.
19cd6366c0SLukas Wunner
20cd6366c0SLukas Wunnerproperties:
21cd6366c0SLukas Wunner  compatible:
22cd6366c0SLukas Wunner    enum:
23cd6366c0SLukas Wunner      - IBM,vtpm
24cd6366c0SLukas Wunner      - IBM,vtpm20
25cd6366c0SLukas Wunner
26cd6366c0SLukas Wunner  device_type:
27cd6366c0SLukas Wunner    description:
28cd6366c0SLukas Wunner      type of virtual device
29cd6366c0SLukas Wunner    enum:
30cd6366c0SLukas Wunner      - IBM,vtpm
31cd6366c0SLukas Wunner      - IBM,vtpm20
32cd6366c0SLukas Wunner
33cd6366c0SLukas Wunner  reg:
34cd6366c0SLukas Wunner    maxItems: 1
35cd6366c0SLukas Wunner
36*15be4f7cSRob Herring (Arm)  ibm,#dma-address-cells:
37cd6366c0SLukas Wunner    description:
38cd6366c0SLukas Wunner      number of cells that are used to encode the physical address field of
39cd6366c0SLukas Wunner      dma-window properties
40cd6366c0SLukas Wunner    $ref: /schemas/types.yaml#/definitions/uint32-array
41cd6366c0SLukas Wunner
42*15be4f7cSRob Herring (Arm)  ibm,#dma-size-cells:
43cd6366c0SLukas Wunner    description:
44cd6366c0SLukas Wunner      number of cells that are used to encode the size field of
45cd6366c0SLukas Wunner      dma-window properties
46cd6366c0SLukas Wunner    $ref: /schemas/types.yaml#/definitions/uint32-array
47cd6366c0SLukas Wunner
48cd6366c0SLukas Wunner  ibm,my-dma-window:
49cd6366c0SLukas Wunner    description:
50cd6366c0SLukas Wunner      DMA window associated with this virtual I/O Adapter
51cd6366c0SLukas Wunner    $ref: /schemas/types.yaml#/definitions/uint32-array
52cd6366c0SLukas Wunner    minItems: 5
53cd6366c0SLukas Wunner    maxItems: 5
54cd6366c0SLukas Wunner
55cd6366c0SLukas Wunner  ibm,my-drc-index:
56cd6366c0SLukas Wunner    description:
57cd6366c0SLukas Wunner      integer index for the connector between the device and its parent;
58cd6366c0SLukas Wunner      present only if Dynamic Reconfiguration (DR) Connector is enabled
59cd6366c0SLukas Wunner    $ref: /schemas/types.yaml#/definitions/uint32
60cd6366c0SLukas Wunner
61cd6366c0SLukas Wunner  ibm,loc-code:
62cd6366c0SLukas Wunner    description:
63cd6366c0SLukas Wunner      unique and persistent location code associated with this virtual
64cd6366c0SLukas Wunner      I/O Adapter
65cd6366c0SLukas Wunner    $ref: /schemas/types.yaml#/definitions/string
66cd6366c0SLukas Wunner
67cd6366c0SLukas Wunnerrequired:
68cd6366c0SLukas Wunner  - compatible
69cd6366c0SLukas Wunner  - device_type
70cd6366c0SLukas Wunner  - reg
71cd6366c0SLukas Wunner  - interrupts
72cd6366c0SLukas Wunner  - ibm,#dma-address-cells
73cd6366c0SLukas Wunner  - ibm,#dma-size-cells
74cd6366c0SLukas Wunner  - ibm,my-dma-window
75cd6366c0SLukas Wunner  - ibm,my-drc-index
76cd6366c0SLukas Wunner  - ibm,loc-code
77cd6366c0SLukas Wunner  - linux,sml-base
78cd6366c0SLukas Wunner  - linux,sml-size
79cd6366c0SLukas Wunner
80cd6366c0SLukas WunnerallOf:
81cd6366c0SLukas Wunner  - $ref: tpm-common.yaml#
82cd6366c0SLukas Wunner
83cd6366c0SLukas WunnerunevaluatedProperties: false
84cd6366c0SLukas Wunner
85cd6366c0SLukas Wunnerexamples:
86cd6366c0SLukas Wunner  - |
87cd6366c0SLukas Wunner    soc {
88cd6366c0SLukas Wunner        #address-cells = <1>;
89cd6366c0SLukas Wunner        #size-cells = <0>;
90cd6366c0SLukas Wunner
91cd6366c0SLukas Wunner        tpm@30000003 {
92cd6366c0SLukas Wunner            compatible = "IBM,vtpm";
93cd6366c0SLukas Wunner            device_type = "IBM,vtpm";
94cd6366c0SLukas Wunner            reg = <0x30000003>;
95cd6366c0SLukas Wunner            interrupts = <0xa0003 0x0>;
96cd6366c0SLukas Wunner            ibm,#dma-address-cells = <0x2>;
97cd6366c0SLukas Wunner            ibm,#dma-size-cells = <0x2>;
98cd6366c0SLukas Wunner            ibm,my-dma-window = <0x10000003 0x0 0x0 0x0 0x10000000>;
99cd6366c0SLukas Wunner            ibm,my-drc-index = <0x30000003>;
100cd6366c0SLukas Wunner            ibm,loc-code = "U8286.41A.10082DV-V3-C3";
101cd6366c0SLukas Wunner            linux,sml-base = <0xc60e 0x0>;
102cd6366c0SLukas Wunner            linux,sml-size = <0xbce10200>;
103cd6366c0SLukas Wunner        };
104cd6366c0SLukas Wunner    };
105