← Documents Documentation/devicetree/bindings/tpm/tcg,tpm_tis-spi.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / TPM

TCG TIS SPI TPM

TCG TIS SPI TPM의 vendor compatible과 frequency 조건을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

tcg,tpm_tis-spi.yaml:1-76

TCG TIS SPI TPM의 vendor compatible과 frequency 조건을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, interrupt, bus, register, 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/tcg,tpm_tis-spi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: SPI-attached Trusted Platform Module conforming to TCG TIS specification
8
9 maintainers:
10 - Lukas Wunner <[email protected]>
11
12 description: |
13 The Trusted Computing Group (TCG) has defined a multi-vendor standard
14 for accessing a TPM chip. It can be transported over various buses,
15 one of them being SPI. The standard is named:
16 TCG PC Client Specific TPM Interface Specification (TIS)
17 https://trustedcomputinggroup.org/resource/pc-client-work-group-pc-client-specific-tpm-interface-specification-tis/
18
19 properties:
20 compatible:
21 items:
22 - enum:
23 - atmel,attpm20p
24 - infineon,slb9670
25 - st,st33htpm-spi
26 - st,st33zp24-spi
27 - const: tcg,tpm_tis-spi
28
29 allOf:
30 - $ref: tpm-common.yaml#
31 - $ref: /schemas/spi/spi-peripheral-props.yaml#
32 - if:
33 properties:
34 compatible:
35 contains:
36 const: st,st33zp24-spi
37 then:
38 properties:
39 spi-max-frequency:
40 maximum: 10000000
41
42 required:
43 - compatible
44 - reg
45
46 unevaluatedProperties: false
47
48 examples:
49 - |
50 spi {
51 #address-cells = <1>;
52 #size-cells = <0>;
53
54 tpm@0 {
55 reg = <0>;
56 compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
57 spi-max-frequency = <10000000>;
58 };
59 };
60
61 - |
62 #include <dt-bindings/gpio/gpio.h>
63 #include <dt-bindings/interrupt-controller/irq.h>
64 spi {
65 #address-cells = <1>;
66 #size-cells = <0>;
67
68 tpm@0 {
69 reg = <0>;
70 compatible = "st,st33zp24-spi", "tcg,tpm_tis-spi";
71 spi-max-frequency = <10000000>;
72 interrupt-parent = <&gpio5>;
73 interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
74 lpcpd-gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>;
75 };
76 };
77

3. 한국어 전문 번역

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

SPI TCG TIS TPM

1-18

GPL-2.0-only 또는 BSD-2-Clause 라이선스의 이 스키마는 TCG TIS specification을 따르는 SPI-attached TPM을 정의합니다. Trusted Computing Group은 여러 vendor의 TPM chip에 접근하는 표준인 TCG PC Client Specific TPM Interface Specification(TIS)을 정의했으며 SPI는 이 표준을 운반하는 bus 중 하나입니다. Maintainer는 Lukas Wunner입니다.

Vendor compatible과 ST clock 제한

19-47

Atmel ATTPM20P, Infineon SLB9670, ST ST33HTPM 또는 ST33ZP24 SPI chip은 vendor compatible 뒤에 `tcg,tpm_tis-spi` fallback을 둡니다. Node는 `tpm-common.yaml`과 SPI peripheral 공통 속성을 함께 따릅니다. `st,st33zp24-spi`에서는 `spi-max-frequency`가 최대 10,000,000 Hz입니다. `compatible`과 `reg`가 필수이며 평가되지 않은 추가 속성은 허용하지 않습니다.

properties:
  compatible:
    items:
      - enum:
          - atmel,attpm20p
          - infineon,slb9670
          - st,st33htpm-spi
          - st,st33zp24-spi
      - const: tcg,tpm_tis-spi

allOf:
  - $ref: tpm-common.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: st,st33zp24-spi
    then:
      properties:
        spi-max-frequency:
          maximum: 10000000

required:
  - compatible
  - reg

unevaluatedProperties: false

Infineon SLB9670 예제

48-60

첫 예제는 SPI chip select 0에 Infineon SLB9670 TPM을 연결하고 generic `tcg,tpm_tis-spi` fallback과 최대 frequency 10 MHz를 지정합니다.

examples:
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        tpm@0 {
            reg = <0>;
            compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
            spi-max-frequency = <10000000>;
        };
    };

ST33ZP24 interrupt·power-down 예제

61-76

둘째 예제는 ST33ZP24 SPI TPM에 10 MHz frequency, GPIO5 line 7 level-high interrupt, GPIO5 line 15 active-high LPC power-down signal `lpcpd-gpios`를 지정합니다.

- |
  #include <dt-bindings/gpio/gpio.h>
  #include <dt-bindings/interrupt-controller/irq.h>
  spi {
      #address-cells = <1>;
      #size-cells = <0>;

      tpm@0 {
          reg = <0>;
          compatible = "st,st33zp24-spi", "tcg,tpm_tis-spi";
          spi-max-frequency = <10000000>;
          interrupt-parent = <&gpio5>;
          interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
          lpcpd-gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>;
      };
  };