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