xref: /freebsd/sys/contrib/device-tree/Bindings/tpm/ibm,vtpm.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
18d13bc63SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28d13bc63SEmmanuel Vadot%YAML 1.2
38d13bc63SEmmanuel Vadot---
48d13bc63SEmmanuel Vadot$id: http://devicetree.org/schemas/tpm/ibm,vtpm.yaml#
58d13bc63SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68d13bc63SEmmanuel Vadot
78d13bc63SEmmanuel Vadottitle: IBM Virtual Trusted Platform Module (vTPM)
88d13bc63SEmmanuel Vadot
98d13bc63SEmmanuel Vadotmaintainers:
108d13bc63SEmmanuel Vadot  - Nayna Jain <nayna@linux.ibm.com>
118d13bc63SEmmanuel Vadot
128d13bc63SEmmanuel Vadotdescription: |
138d13bc63SEmmanuel Vadot  Virtual TPM is used on IBM POWER7+ and POWER8 systems running POWERVM.
148d13bc63SEmmanuel Vadot  It is supported through the adjunct partition with firmware release 740
158d13bc63SEmmanuel Vadot  or higher.  With vTPM support, each lpar is able to have its own vTPM
168d13bc63SEmmanuel Vadot  without the physical TPM hardware.  The TPM functionality is provided by
178d13bc63SEmmanuel Vadot  communicating with the vTPM adjunct partition through Hypervisor calls
188d13bc63SEmmanuel Vadot  (Hcalls) and Command/Response Queue (CRQ) commands.
198d13bc63SEmmanuel Vadot
208d13bc63SEmmanuel Vadotproperties:
218d13bc63SEmmanuel Vadot  compatible:
228d13bc63SEmmanuel Vadot    enum:
238d13bc63SEmmanuel Vadot      - IBM,vtpm
248d13bc63SEmmanuel Vadot      - IBM,vtpm20
258d13bc63SEmmanuel Vadot
268d13bc63SEmmanuel Vadot  device_type:
278d13bc63SEmmanuel Vadot    description:
288d13bc63SEmmanuel Vadot      type of virtual device
298d13bc63SEmmanuel Vadot    enum:
308d13bc63SEmmanuel Vadot      - IBM,vtpm
318d13bc63SEmmanuel Vadot      - IBM,vtpm20
328d13bc63SEmmanuel Vadot
338d13bc63SEmmanuel Vadot  reg:
348d13bc63SEmmanuel Vadot    maxItems: 1
358d13bc63SEmmanuel Vadot
36*7d0873ebSEmmanuel Vadot  ibm,#dma-address-cells:
378d13bc63SEmmanuel Vadot    description:
388d13bc63SEmmanuel Vadot      number of cells that are used to encode the physical address field of
398d13bc63SEmmanuel Vadot      dma-window properties
408d13bc63SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
418d13bc63SEmmanuel Vadot
42*7d0873ebSEmmanuel Vadot  ibm,#dma-size-cells:
438d13bc63SEmmanuel Vadot    description:
448d13bc63SEmmanuel Vadot      number of cells that are used to encode the size field of
458d13bc63SEmmanuel Vadot      dma-window properties
468d13bc63SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
478d13bc63SEmmanuel Vadot
488d13bc63SEmmanuel Vadot  ibm,my-dma-window:
498d13bc63SEmmanuel Vadot    description:
508d13bc63SEmmanuel Vadot      DMA window associated with this virtual I/O Adapter
518d13bc63SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
528d13bc63SEmmanuel Vadot    minItems: 5
538d13bc63SEmmanuel Vadot    maxItems: 5
548d13bc63SEmmanuel Vadot
558d13bc63SEmmanuel Vadot  ibm,my-drc-index:
568d13bc63SEmmanuel Vadot    description:
578d13bc63SEmmanuel Vadot      integer index for the connector between the device and its parent;
588d13bc63SEmmanuel Vadot      present only if Dynamic Reconfiguration (DR) Connector is enabled
598d13bc63SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
608d13bc63SEmmanuel Vadot
618d13bc63SEmmanuel Vadot  ibm,loc-code:
628d13bc63SEmmanuel Vadot    description:
638d13bc63SEmmanuel Vadot      unique and persistent location code associated with this virtual
648d13bc63SEmmanuel Vadot      I/O Adapter
658d13bc63SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
668d13bc63SEmmanuel Vadot
678d13bc63SEmmanuel Vadotrequired:
688d13bc63SEmmanuel Vadot  - compatible
698d13bc63SEmmanuel Vadot  - device_type
708d13bc63SEmmanuel Vadot  - reg
718d13bc63SEmmanuel Vadot  - interrupts
728d13bc63SEmmanuel Vadot  - ibm,#dma-address-cells
738d13bc63SEmmanuel Vadot  - ibm,#dma-size-cells
748d13bc63SEmmanuel Vadot  - ibm,my-dma-window
758d13bc63SEmmanuel Vadot  - ibm,my-drc-index
768d13bc63SEmmanuel Vadot  - ibm,loc-code
778d13bc63SEmmanuel Vadot  - linux,sml-base
788d13bc63SEmmanuel Vadot  - linux,sml-size
798d13bc63SEmmanuel Vadot
808d13bc63SEmmanuel VadotallOf:
818d13bc63SEmmanuel Vadot  - $ref: tpm-common.yaml#
828d13bc63SEmmanuel Vadot
838d13bc63SEmmanuel VadotunevaluatedProperties: false
848d13bc63SEmmanuel Vadot
858d13bc63SEmmanuel Vadotexamples:
868d13bc63SEmmanuel Vadot  - |
878d13bc63SEmmanuel Vadot    soc {
888d13bc63SEmmanuel Vadot        #address-cells = <1>;
898d13bc63SEmmanuel Vadot        #size-cells = <0>;
908d13bc63SEmmanuel Vadot
918d13bc63SEmmanuel Vadot        tpm@30000003 {
928d13bc63SEmmanuel Vadot            compatible = "IBM,vtpm";
938d13bc63SEmmanuel Vadot            device_type = "IBM,vtpm";
948d13bc63SEmmanuel Vadot            reg = <0x30000003>;
958d13bc63SEmmanuel Vadot            interrupts = <0xa0003 0x0>;
968d13bc63SEmmanuel Vadot            ibm,#dma-address-cells = <0x2>;
978d13bc63SEmmanuel Vadot            ibm,#dma-size-cells = <0x2>;
988d13bc63SEmmanuel Vadot            ibm,my-dma-window = <0x10000003 0x0 0x0 0x0 0x10000000>;
998d13bc63SEmmanuel Vadot            ibm,my-drc-index = <0x30000003>;
1008d13bc63SEmmanuel Vadot            ibm,loc-code = "U8286.41A.10082DV-V3-C3";
1018d13bc63SEmmanuel Vadot            linux,sml-base = <0xc60e 0x0>;
1028d13bc63SEmmanuel Vadot            linux,sml-size = <0xbce10200>;
1038d13bc63SEmmanuel Vadot        };
1048d13bc63SEmmanuel Vadot    };
105