mirror of
https://github.com/torvalds/linux.git
synced 2026-04-19 07:13:56 -04:00
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
1e2714bb83 ("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>
88 lines
2.2 KiB
YAML
88 lines
2.2 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/tpm/tpm-common.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Trusted Platform Module common properties
|
|
|
|
maintainers:
|
|
- Lukas Wunner <lukas@wunner.de>
|
|
|
|
properties:
|
|
$nodename:
|
|
pattern: '^tpm(@[0-9a-f]+)?$'
|
|
|
|
interrupts:
|
|
description: indicates command completion
|
|
maxItems: 1
|
|
|
|
label:
|
|
description: human readable string describing the device, e.g. "tpm"
|
|
|
|
linux,sml-base:
|
|
description:
|
|
base address of reserved memory allocated for firmware event log
|
|
$ref: /schemas/types.yaml#/definitions/uint64
|
|
|
|
linux,sml-size:
|
|
description:
|
|
size of reserved memory allocated for firmware event log
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
|
|
memory-region:
|
|
description: reserved memory allocated for firmware event log
|
|
maxItems: 1
|
|
|
|
powered-while-suspended:
|
|
description:
|
|
present when the TPM is left powered on between suspend and resume
|
|
(makes the suspend/resume callbacks do nothing)
|
|
type: boolean
|
|
|
|
resets:
|
|
description: Reset controller to reset the TPM
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
|
|
reset-gpios:
|
|
description: Output GPIO pin to reset the TPM
|
|
maxItems: 1
|
|
|
|
# must always have both linux,sml-base and linux,sml-size
|
|
dependentRequired:
|
|
linux,sml-base: ['linux,sml-size']
|
|
linux,sml-size: ['linux,sml-base']
|
|
|
|
# must only have either memory-region or linux,sml-base
|
|
# as well as either resets or reset-gpios
|
|
dependentSchemas:
|
|
memory-region:
|
|
properties:
|
|
linux,sml-base: false
|
|
linux,sml-base:
|
|
properties:
|
|
memory-region: false
|
|
resets:
|
|
properties:
|
|
reset-gpios: false
|
|
reset-gpios:
|
|
properties:
|
|
resets: false
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
pattern: '^st,st33zp24'
|
|
then:
|
|
properties:
|
|
lpcpd-gpios:
|
|
description:
|
|
Output GPIO pin used for ST33ZP24 power management of D1/D2 state.
|
|
If set, power must be present when the platform is going into
|
|
sleep/hibernate mode.
|
|
maxItems: 1
|
|
|
|
additionalProperties: true
|