1*26c9d152SLukas Wunner# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*26c9d152SLukas Wunner%YAML 1.2 3*26c9d152SLukas Wunner--- 4*26c9d152SLukas Wunner$id: http://devicetree.org/schemas/tpm/tcg,tpm_tis-spi.yaml# 5*26c9d152SLukas Wunner$schema: http://devicetree.org/meta-schemas/core.yaml# 6*26c9d152SLukas Wunner 7*26c9d152SLukas Wunnertitle: SPI-attached Trusted Platform Module conforming to TCG TIS specification 8*26c9d152SLukas Wunner 9*26c9d152SLukas Wunnermaintainers: 10*26c9d152SLukas Wunner - Lukas Wunner <lukas@wunner.de> 11*26c9d152SLukas Wunner 12*26c9d152SLukas Wunnerdescription: | 13*26c9d152SLukas Wunner The Trusted Computing Group (TCG) has defined a multi-vendor standard 14*26c9d152SLukas Wunner for accessing a TPM chip. It can be transported over various buses, 15*26c9d152SLukas Wunner one of them being SPI. The standard is named: 16*26c9d152SLukas Wunner TCG PC Client Specific TPM Interface Specification (TIS) 17*26c9d152SLukas Wunner https://trustedcomputinggroup.org/resource/pc-client-work-group-pc-client-specific-tpm-interface-specification-tis/ 18*26c9d152SLukas Wunner 19*26c9d152SLukas Wunnerproperties: 20*26c9d152SLukas Wunner compatible: 21*26c9d152SLukas Wunner items: 22*26c9d152SLukas Wunner - enum: 23*26c9d152SLukas Wunner - infineon,slb9670 24*26c9d152SLukas Wunner - st,st33htpm-spi 25*26c9d152SLukas Wunner - st,st33zp24-spi 26*26c9d152SLukas Wunner - const: tcg,tpm_tis-spi 27*26c9d152SLukas Wunner 28*26c9d152SLukas WunnerallOf: 29*26c9d152SLukas Wunner - $ref: tpm-common.yaml# 30*26c9d152SLukas Wunner - $ref: /schemas/spi/spi-peripheral-props.yaml# 31*26c9d152SLukas Wunner - if: 32*26c9d152SLukas Wunner properties: 33*26c9d152SLukas Wunner compatible: 34*26c9d152SLukas Wunner contains: 35*26c9d152SLukas Wunner const: st,st33zp24-spi 36*26c9d152SLukas Wunner then: 37*26c9d152SLukas Wunner properties: 38*26c9d152SLukas Wunner spi-max-frequency: 39*26c9d152SLukas Wunner maximum: 10000000 40*26c9d152SLukas Wunner 41*26c9d152SLukas Wunnerrequired: 42*26c9d152SLukas Wunner - compatible 43*26c9d152SLukas Wunner - reg 44*26c9d152SLukas Wunner 45*26c9d152SLukas WunnerunevaluatedProperties: false 46*26c9d152SLukas Wunner 47*26c9d152SLukas Wunnerexamples: 48*26c9d152SLukas Wunner - | 49*26c9d152SLukas Wunner spi { 50*26c9d152SLukas Wunner #address-cells = <1>; 51*26c9d152SLukas Wunner #size-cells = <0>; 52*26c9d152SLukas Wunner 53*26c9d152SLukas Wunner tpm@0 { 54*26c9d152SLukas Wunner reg = <0>; 55*26c9d152SLukas Wunner compatible = "infineon,slb9670", "tcg,tpm_tis-spi"; 56*26c9d152SLukas Wunner spi-max-frequency = <10000000>; 57*26c9d152SLukas Wunner }; 58*26c9d152SLukas Wunner }; 59*26c9d152SLukas Wunner 60*26c9d152SLukas Wunner - | 61*26c9d152SLukas Wunner #include <dt-bindings/gpio/gpio.h> 62*26c9d152SLukas Wunner #include <dt-bindings/interrupt-controller/irq.h> 63*26c9d152SLukas Wunner spi { 64*26c9d152SLukas Wunner #address-cells = <1>; 65*26c9d152SLukas Wunner #size-cells = <0>; 66*26c9d152SLukas Wunner 67*26c9d152SLukas Wunner tpm@0 { 68*26c9d152SLukas Wunner reg = <0>; 69*26c9d152SLukas Wunner compatible = "st,st33zp24-spi", "tcg,tpm_tis-spi"; 70*26c9d152SLukas Wunner spi-max-frequency = <10000000>; 71*26c9d152SLukas Wunner interrupt-parent = <&gpio5>; 72*26c9d152SLukas Wunner interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; 73*26c9d152SLukas Wunner lpcpd-gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>; 74*26c9d152SLukas Wunner }; 75*26c9d152SLukas Wunner }; 76