1*3f4cc70dSLukas Wunner# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*3f4cc70dSLukas Wunner%YAML 1.2 3*3f4cc70dSLukas Wunner--- 4*3f4cc70dSLukas Wunner$id: http://devicetree.org/schemas/tpm/microsoft,ftpm.yaml# 5*3f4cc70dSLukas Wunner$schema: http://devicetree.org/meta-schemas/core.yaml# 6*3f4cc70dSLukas Wunner 7*3f4cc70dSLukas Wunnertitle: Microsoft firmware-based Trusted Platform Module (fTPM) 8*3f4cc70dSLukas Wunner 9*3f4cc70dSLukas Wunnermaintainers: 10*3f4cc70dSLukas Wunner - Thirupathaiah Annapureddy <thiruan@microsoft.com> 11*3f4cc70dSLukas Wunner - Sasha Levin <sashal@kernel.org> 12*3f4cc70dSLukas Wunner 13*3f4cc70dSLukas Wunnerdescription: | 14*3f4cc70dSLukas Wunner Commodity CPU architectures, such as ARM and Intel CPUs, have started to 15*3f4cc70dSLukas Wunner offer trusted computing features in their CPUs aimed at displacing dedicated 16*3f4cc70dSLukas Wunner trusted hardware. Unfortunately, these CPU architectures raise serious 17*3f4cc70dSLukas Wunner challenges to building trusted systems because they omit providing secure 18*3f4cc70dSLukas Wunner resources outside the CPU perimeter. 19*3f4cc70dSLukas Wunner 20*3f4cc70dSLukas Wunner Microsoft's firmware-based TPM 2.0 (fTPM) leverages ARM TrustZone to overcome 21*3f4cc70dSLukas Wunner these challenges and provide software with security guarantees similar to 22*3f4cc70dSLukas Wunner those of dedicated trusted hardware. 23*3f4cc70dSLukas Wunner 24*3f4cc70dSLukas Wunner https://www.microsoft.com/en-us/research/publication/ftpm-software-implementation-tpm-chip/ 25*3f4cc70dSLukas Wunner https://github.com/Microsoft/ms-tpm-20-ref/tree/main/Samples/ARM32-FirmwareTPM 26*3f4cc70dSLukas Wunner 27*3f4cc70dSLukas Wunnerproperties: 28*3f4cc70dSLukas Wunner compatible: 29*3f4cc70dSLukas Wunner const: microsoft,ftpm 30*3f4cc70dSLukas Wunner 31*3f4cc70dSLukas Wunnerrequired: 32*3f4cc70dSLukas Wunner - compatible 33*3f4cc70dSLukas Wunner - linux,sml-base 34*3f4cc70dSLukas Wunner - linux,sml-size 35*3f4cc70dSLukas Wunner 36*3f4cc70dSLukas WunnerallOf: 37*3f4cc70dSLukas Wunner - $ref: tpm-common.yaml# 38*3f4cc70dSLukas Wunner 39*3f4cc70dSLukas WunnerunevaluatedProperties: false 40*3f4cc70dSLukas Wunner 41*3f4cc70dSLukas Wunnerexamples: 42*3f4cc70dSLukas Wunner - | 43*3f4cc70dSLukas Wunner tpm { 44*3f4cc70dSLukas Wunner compatible = "microsoft,ftpm"; 45*3f4cc70dSLukas Wunner linux,sml-base = <0x0 0xc0000000>; 46*3f4cc70dSLukas Wunner linux,sml-size = <0x10000>; 47*3f4cc70dSLukas Wunner }; 48