← Documents Documentation/devicetree/bindings/tpm/tpm-common.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / TPM

TPM Common Properties

TPM event log·interrupt·suspend power·reset 공통 속성을 설명합니다.

Source pathDocumentation/devicetree/bindings/tpm/tpm-common.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

tpm-common.yaml:1-87

TPM event log·interrupt·suspend power·reset 공통 속성을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, interrupt, register, GPIO, phandle, 수치와 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
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
7 title: Trusted Platform Module common properties
8
9 maintainers:
10 - Lukas Wunner <[email protected]>
11
12 properties:
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
52 dependentRequired:
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
58 dependentSchemas:
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
72 allOf:
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
87 additionalProperties: true
88

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Trusted Platform Module 공통 속성

1-11

GPL-2.0-only 또는 BSD-2-Clause 라이선스의 이 스키마는 bus와 구현에 공통인 Trusted Platform Module 속성을 정의합니다. Maintainer는 Lukas Wunner입니다.

Node·interrupt·firmware event log

12-35

Node 이름은 `tpm` 또는 hexadecimal unit address가 붙은 `tpm@...` 형식입니다. `interrupts`는 command completion을 나타내며 최대 한 항목입니다. `label`은 예를 들어 `tpm`처럼 device를 설명하는 사람이 읽을 수 있는 string입니다.

Firmware event log용 reserved memory는 `linux,sml-base` uint64 base address와 `linux,sml-size` uint32 size의 쌍으로 지정하거나, `memory-region` phandle 한 개로 지정할 수 있습니다.

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

Suspend 전원과 reset 방식

36-50

Boolean `powered-while-suspended`는 suspend와 resume 사이에도 TPM 전원을 유지함을 나타내며, 이 경우 suspend/resume callback은 아무 작업도 하지 않습니다. TPM reset은 reset controller를 가리키는 `resets` 한 개 또는 output GPIO인 `reset-gpios` 한 개로 표현합니다.


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

Event log·reset 표현의 상호 배타성

51-71

`linux,sml-base`와 `linux,sml-size`는 항상 함께 있어야 합니다. Firmware event log는 `memory-region`과 `linux,sml-base` 방식 중 하나만 사용할 수 있습니다. 마찬가지로 TPM reset은 `resets`와 `reset-gpios` 중 하나만 사용할 수 있습니다.

# 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

ST33ZP24 LPC power-down GPIO

72-87

`compatible`에 `st,st33zp24` pattern이 포함되면 `lpcpd-gpios`를 사용할 수 있습니다. 이 output GPIO는 ST33ZP24의 D1/D2 state power management에 사용되며, 속성을 지정한 경우 platform이 sleep 또는 hibernate mode로 들어갈 때 전원이 반드시 공급되어야 합니다. Provider별 확장을 위해 추가 속성은 허용됩니다.

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