ibm,vtpm.yaml 2.7 KB

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