1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/tpm/tpm-common.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Trusted Platform Module common properties
8
9maintainers:
10  - Lukas Wunner <lukas@wunner.de>
11
12properties:
13  $nodename:
14    pattern: '^tpm(@[0-9a-f]+)?$'
15
16  interrupts:
17    description: indicates command completion
18    maxItems: 1
19
20  label:
21    description: human readable string describing the device, e.g. "tpm"
22
23  linux,sml-base:
24    description:
25      base address of reserved memory allocated for firmware event log
26    $ref: /schemas/types.yaml#/definitions/uint64
27
28  linux,sml-size:
29    description:
30      size of reserved memory allocated for firmware event log
31    $ref: /schemas/types.yaml#/definitions/uint32
32
33  memory-region:
34    description: reserved memory allocated for firmware event log
35    maxItems: 1
36
37  powered-while-suspended:
38    description:
39      present when the TPM is left powered on between suspend and resume
40      (makes the suspend/resume callbacks do nothing)
41    type: boolean
42
43  resets:
44    description: Reset controller to reset the TPM
45    maxItems: 1
46
47  reset-gpios:
48    description: Output GPIO pin to reset the TPM
49    maxItems: 1
50
51# must always have both linux,sml-base and linux,sml-size
52dependentRequired:
53  linux,sml-base: ['linux,sml-size']
54  linux,sml-size: ['linux,sml-base']
55
56# must only have either memory-region or linux,sml-base
57# as well as either resets or reset-gpios
58dependentSchemas:
59  memory-region:
60    properties:
61      linux,sml-base: false
62  linux,sml-base:
63    properties:
64      memory-region: false
65  resets:
66    properties:
67      reset-gpios: false
68  reset-gpios:
69    properties:
70      resets: false
71
72allOf:
73  - if:
74      properties:
75        compatible:
76          contains:
77            pattern: '^st,st33zp24'
78    then:
79      properties:
80        lpcpd-gpios:
81          description:
82            Output GPIO pin used for ST33ZP24 power management of D1/D2 state.
83            If set, power must be present when the platform is going into
84            sleep/hibernate mode.
85          maxItems: 1
86
87additionalProperties: true
88