179697Snon# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
267468Snon%YAML 1.2
367468Snon---
467468Snon$id: http://devicetree.org/schemas/tpm/ibm,vtpm.yaml#
567468Snon$schema: http://devicetree.org/meta-schemas/core.yaml#
679697Snon
767468Snontitle: IBM Virtual Trusted Platform Module (vTPM)
8139749Simp
967468Snonmaintainers:
1079697Snon  - Nayna Jain <nayna@linux.ibm.com>
1167468Snon
1279697Snondescription: |
1367468Snon  Virtual TPM is used on IBM POWER7+ and POWER8 systems running POWERVM.
1467468Snon  It is supported through the adjunct partition with firmware release 740
1567468Snon  or higher.  With vTPM support, each lpar is able to have its own vTPM
1667468Snon  without the physical TPM hardware.  The TPM functionality is provided by
1767468Snon  communicating with the vTPM adjunct partition through Hypervisor calls
1867468Snon  (Hcalls) and Command/Response Queue (CRQ) commands.
1967468Snon
2067468Snonproperties:
2167468Snon  compatible:
2267468Snon    enum:
2367468Snon      - IBM,vtpm
2467468Snon      - IBM,vtpm20
2567468Snon
2667468Snon  device_type:
2767468Snon    description:
2867468Snon      type of virtual device
2967468Snon    enum:
3067468Snon      - IBM,vtpm
3167468Snon      - IBM,vtpm20
3267468Snon
3367468Snon  reg:
3467468Snon    maxItems: 1
3567468Snon
3667468Snon  ibm,#dma-address-cells:
3767468Snon    description:
3867468Snon      number of cells that are used to encode the physical address field of
3967468Snon      dma-window properties
40119420Sobrien    $ref: /schemas/types.yaml#/definitions/uint32-array
41119420Sobrien
42119420Sobrien  ibm,#dma-size-cells:
4367468Snon    description:
4467468Snon      number of cells that are used to encode the size field of
4567468Snon      dma-window properties
4667468Snon    $ref: /schemas/types.yaml#/definitions/uint32-array
4767468Snon
4867468Snon  ibm,my-dma-window:
4979697Snon    description:
5067468Snon      DMA window associated with this virtual I/O Adapter
5167468Snon    $ref: /schemas/types.yaml#/definitions/uint32-array
5267468Snon    minItems: 5
5367468Snon    maxItems: 5
5467468Snon
5567468Snon  ibm,my-drc-index:
5679697Snon    description:
5767468Snon      integer index for the connector between the device and its parent;
5867468Snon      present only if Dynamic Reconfiguration (DR) Connector is enabled
5967468Snon    $ref: /schemas/types.yaml#/definitions/uint32
6067468Snon
6167468Snon  ibm,loc-code:
6267468Snon    description:
6367468Snon      unique and persistent location code associated with this virtual
6467468Snon      I/O Adapter
6567468Snon    $ref: /schemas/types.yaml#/definitions/string
6667468Snon
6767468Snonrequired:
6867468Snon  - compatible
6967468Snon  - device_type
7067468Snon  - reg
7167468Snon  - interrupts
7267468Snon  - ibm,#dma-address-cells
7367468Snon  - ibm,#dma-size-cells
7467468Snon  - ibm,my-dma-window
7567468Snon  - ibm,my-drc-index
7667468Snon  - ibm,loc-code
77126928Speter  - linux,sml-base
78126928Speter  - linux,sml-size
7967468Snon
8067468SnonallOf:
8167468Snon  - $ref: tpm-common.yaml#
8267468Snon
8367468SnonunevaluatedProperties: false
8467468Snon
8567468Snonexamples:
8667468Snon  - |
8767468Snon    soc {
8867468Snon        #address-cells = <1>;
8967468Snon        #size-cells = <0>;
9067468Snon
9167468Snon        tpm@30000003 {
9267468Snon            compatible = "IBM,vtpm";
9367468Snon            device_type = "IBM,vtpm";
9467468Snon            reg = <0x30000003>;
9567468Snon            interrupts = <0xa0003 0x0>;
9667468Snon            ibm,#dma-address-cells = <0x2>;
9767468Snon            ibm,#dma-size-cells = <0x2>;
9867468Snon            ibm,my-dma-window = <0x10000003 0x0 0x0 0x0 0x10000000>;
9979697Snon            ibm,my-drc-index = <0x30000003>;
10067468Snon            ibm,loc-code = "U8286.41A.10082DV-V3-C3";
10179697Snon            linux,sml-base = <0xc60e 0x0>;
10267468Snon            linux,sml-size = <0xbce10200>;
10379697Snon        };
10479697Snon    };
10579697Snon