A significant number of Trusted Platform Modules conform to the "TIS" specification published by the Trusted Computing Group ("TCG PC Client Specific TPM Interface Specification"). These chips typically use an SPI, I²C or LPC bus as transport (via MMIO in the latter case). Some of them even support multiple of those buses (selectable through a config strap) or the same chip is available in multiple SKUs, each with a different bus interface. The devicetree bindings for these TPMs have not been converted to DT schema yet and are spread out across 3 generic files and 2 chip-specific files. A few TPM compatible strings were added to trivial-devices.yaml even though additional properties are documented in the plaintext bindings. Consolidate the devicetree bindings into 3 yaml files, one per bus. Move common properties to a separate tpm-common.yaml. Document compatible strings which are supported by the TPM TIS driver but were neglected to be added to the devicetree bindings. Document the memory-region property recently introduced by commit 1e2714bb83fc ("tpm: Add reserved memory event log"). Signed-off-by: Lukas Wunner <lukas@wunner.de> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/953fd4c7519030db88e5b5e12ab6307414ebdd21.1702806810.git.lukas@wunner.de Signed-off-by: Rob Herring <robh@kernel.org>
50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/tpm/tcg,tpm-tis-mmio.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: MMIO-accessed Trusted Platform Module conforming to TCG TIS specification
|
|
|
|
maintainers:
|
|
- Lukas Wunner <lukas@wunner.de>
|
|
|
|
description: |
|
|
The Trusted Computing Group (TCG) has defined a multi-vendor standard
|
|
for accessing a TPM chip. It can be transported over various buses,
|
|
one of them being LPC (via MMIO). The standard is named:
|
|
TCG PC Client Specific TPM Interface Specification (TIS)
|
|
https://trustedcomputinggroup.org/resource/pc-client-work-group-pc-client-specific-tpm-interface-specification-tis/
|
|
|
|
properties:
|
|
compatible:
|
|
items:
|
|
- enum:
|
|
- at97sc3201
|
|
- atmel,at97sc3204
|
|
- socionext,synquacer-tpm-mmio
|
|
- const: tcg,tpm-tis-mmio
|
|
|
|
reg:
|
|
description:
|
|
location and length of the MMIO registers, length should be
|
|
at least 0x5000 bytes
|
|
|
|
allOf:
|
|
- $ref: tpm-common.yaml#
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
tpm@90000 {
|
|
compatible = "atmel,at97sc3204", "tcg,tpm-tis-mmio";
|
|
reg = <0x90000 0x5000>;
|
|
interrupt-parent = <&EIC0>;
|
|
interrupts = <1 2>;
|
|
};
|