| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/tpm/microsoft,ftpm.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Microsoft firmware-based Trusted Platform Module (fTPM) |
| |
| maintainers: |
| - Thirupathaiah Annapureddy <thiruan@microsoft.com> |
| - Sasha Levin <sashal@kernel.org> |
| |
| description: | |
| Commodity CPU architectures, such as ARM and Intel CPUs, have started to |
| offer trusted computing features in their CPUs aimed at displacing dedicated |
| trusted hardware. Unfortunately, these CPU architectures raise serious |
| challenges to building trusted systems because they omit providing secure |
| resources outside the CPU perimeter. |
| |
| Microsoft's firmware-based TPM 2.0 (fTPM) leverages ARM TrustZone to overcome |
| these challenges and provide software with security guarantees similar to |
| those of dedicated trusted hardware. |
| |
| https://www.microsoft.com/en-us/research/publication/ftpm-software-implementation-tpm-chip/ |
| https://github.com/Microsoft/ms-tpm-20-ref/tree/main/Samples/ARM32-FirmwareTPM |
| |
| properties: |
| compatible: |
| const: microsoft,ftpm |
| |
| required: |
| - compatible |
| - linux,sml-base |
| - linux,sml-size |
| |
| allOf: |
| - $ref: tpm-common.yaml# |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| tpm { |
| compatible = "microsoft,ftpm"; |
| linux,sml-base = <0x0 0xc0000000>; |
| linux,sml-size = <0x10000>; |
| }; |