Most TPM devices are very similar and only need a few common properties to describe them. However, they may use more properties than other trivial I2C or SPI devices, e.g. powered-while-suspended. Therefore, move them to their own trivial-tpms.yaml. Signed-off-by: Alexander Steffen <Alexander.Steffen@xxxxxxxxxxxx> --- .../bindings/security/tpm/trivial-tpms.yaml | 54 +++++++++++++++++++ .../devicetree/bindings/trivial-devices.yaml | 16 ------ 2 files changed, 54 insertions(+), 16 deletions(-) create mode 100644 Documentation/devicetree/bindings/security/tpm/trivial-tpms.yaml diff --git a/Documentation/devicetree/bindings/security/tpm/trivial-tpms.yaml b/Documentation/devicetree/bindings/security/tpm/trivial-tpms.yaml new file mode 100644 index 000000000000..fadd4ca96554 --- /dev/null +++ b/Documentation/devicetree/bindings/security/tpm/trivial-tpms.yaml @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/security/tpm/trivial-tpms.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Trivial TPM devices that have simple device tree bindings + +maintainers: + - linux-integrity@xxxxxxxxxxxxxxx + +description: | + This is a list of trivial TPM devices that share the same properties and + therefore have simple device tree bindings. + + If a device needs more specific bindings, such as properties to + describe some aspect of it, there needs to be a specific binding + document for it just like any other devices. + +properties: + reg: + maxItems: 1 + interrupts: + maxItems: 1 + + spi-max-frequency: true + + compatible: + contains: + enum: + # i2c trusted platform module (TPM) + - atmel,at97sc3204t + # Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz) + - infineon,slb9635tt + # Infineon SLB9645 I2C TPM (new protocol, max 400khz) + - infineon,slb9645tt + # Infineon SLB9673 I2C TPM 2.0 + - infineon,slb9673 + # i2c trusted platform module (TPM) + - nuvoton,npct501 + # i2c trusted platform module (TPM2) + - nuvoton,npct601 + # Socionext SynQuacer TPM MMIO module + - socionext,synquacer-tpm-mmio + # i2c trusted platform module (TPM) + - winbond,wpct301 + +required: + - compatible + - reg + +additionalProperties: false + +... diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml index 61746755c107..1cc7f82c0822 100644 --- a/Documentation/devicetree/bindings/trivial-devices.yaml +++ b/Documentation/devicetree/bindings/trivial-devices.yaml @@ -47,8 +47,6 @@ properties: - ams,iaq-core # i2c serial eeprom (24cxx) - at,24c08 - # i2c trusted platform module (TPM) - - atmel,at97sc3204t # ATSHA204 - i2c h/w symmetric crypto module - atmel,atsha204 # ATSHA204A - i2c h/w symmetric crypto module @@ -135,12 +133,6 @@ properties: - infineon,ir38164 # Infineon IR38263 Voltage Regulator - infineon,ir38263 - # Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz) - - infineon,slb9635tt - # Infineon SLB9645 I2C TPM (new protocol, max 400khz) - - infineon,slb9645tt - # Infineon SLB9673 I2C TPM 2.0 - - infineon,slb9673 # Infineon TLV493D-A1B6 I2C 3D Magnetic Sensor - infineon,tlv493d-a1b6 # Infineon Multi-phase Digital VR Controller xdpe11280 @@ -289,10 +281,6 @@ properties: - national,lm85 # I2C ±0.33°C Accurate, 12-Bit + Sign Temperature Sensor and Thermal Window Comparator - national,lm92 - # i2c trusted platform module (TPM) - - nuvoton,npct501 - # i2c trusted platform module (TPM2) - - nuvoton,npct601 # Nuvoton Temperature Sensor - nuvoton,w83773g # OKI ML86V7667 video decoder @@ -327,8 +315,6 @@ properties: - silabs,si7020 # Skyworks SKY81452: Six-Channel White LED Driver with Touch Panel Bias Supply - skyworks,sky81452 - # Socionext SynQuacer TPM MMIO module - - socionext,synquacer-tpm-mmio # SparkFun Qwiic Joystick (COM-15168) with i2c interface - sparkfun,qwiic-joystick # i2c serial eeprom (24cxx) @@ -383,8 +369,6 @@ properties: - winbond,w83793 # Vicor Corporation Digital Supervisor - vicor,pli1209bc - # i2c trusted platform module (TPM) - - winbond,wpct301 required: - compatible -- 2.25.1