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