Skip to content

Commit

Permalink
dt-bindings: tpm: Document Microsoft fTPM bindings
Browse files Browse the repository at this point in the history
A driver for Microsoft's firmware-based Trusted Platform Module (fTPM)
was merged with commit 09e5748 ("tpm/tpm_ftpm_tee: A driver for
firmware TPM running inside TEE"), but its devicetree bindings were not.

This is the only remaining undocumented compatible string for a TPM,
so add a DT schema based on the patch linked below.

Link: https://lore.kernel.org/all/20190409184958.7476-2-sashal@kernel.org/
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/99523409eb5aec9276055ff358ae6f2ceb10be6d.1702806810.git.lukas@wunner.de
Signed-off-by: Rob Herring <robh@kernel.org>
  • Loading branch information
Lukas Wunner authored and Rob Herring committed Jan 9, 2024
1 parent cd6366c commit 3f4cc70
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions Documentation/devicetree/bindings/tpm/microsoft,ftpm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# 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>;
};

0 comments on commit 3f4cc70

Please sign in to comment.