summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/tpm/tpm-common.yaml
blob: 3c1241b2a43f99d361e0af89aed61f4318c9b914 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/tpm/tpm-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Trusted Platform Module common properties

maintainers:
  - Lukas Wunner <lukas@wunner.de>

properties:
  $nodename:
    pattern: '^tpm(@[0-9a-f]+)?$'

  interrupts:
    description: indicates command completion
    maxItems: 1

  label:
    description: human readable string describing the device, e.g. "tpm"

  linux,sml-base:
    description:
      base address of reserved memory allocated for firmware event log
    $ref: /schemas/types.yaml#/definitions/uint64

  linux,sml-size:
    description:
      size of reserved memory allocated for firmware event log
    $ref: /schemas/types.yaml#/definitions/uint32

  memory-region:
    description: reserved memory allocated for firmware event log
    maxItems: 1

  powered-while-suspended:
    description:
      present when the TPM is left powered on between suspend and resume
      (makes the suspend/resume callbacks do nothing)
    type: boolean

  resets:
    description: Reset controller to reset the TPM
    maxItems: 1

  reset-gpios:
    description: Output GPIO pin to reset the TPM
    maxItems: 1

# must always have both linux,sml-base and linux,sml-size
dependentRequired:
  linux,sml-base: ['linux,sml-size']
  linux,sml-size: ['linux,sml-base']

# must only have either memory-region or linux,sml-base
# as well as either resets or reset-gpios
dependentSchemas:
  memory-region:
    properties:
      linux,sml-base: false
  linux,sml-base:
    properties:
      memory-region: false
  resets:
    properties:
      reset-gpios: false
  reset-gpios:
    properties:
      resets: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            pattern: '^st,st33zp24'
    then:
      properties:
        lpcpd-gpios:
          description:
            Output GPIO pin used for ST33ZP24 power management of D1/D2 state.
            If set, power must be present when the platform is going into
            sleep/hibernate mode.
          maxItems: 1

additionalProperties: true