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