Re: [PATCH 4/4] tpm: Add YAML schema for the TPM TIS I2C options
From: Rob Herring
Date: Mon Apr 04 2022 - 17:51:41 EST
On Mon, Apr 04, 2022 at 10:18:35AM +0200, Johannes Holland wrote:
> Add a YAML schema to support device tree bindings for the generic I2C
> physical layer. Refer to the TCG PC Client Platform TPM Profile (PTP)
> Specification for TPM 2.0 v1.04 Revision 14.
Bindings are for devices. A protocol layer does not make a device.
>
> Signed-off-by: Johannes Holland <johannes.holland@xxxxxxxxxxxx>
> ---
> .../bindings/security/tpm/tpm-tis-i2c.yaml | 48 +++++++++++++++++++
> 1 file changed, 48 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml
We already have a binding for I2C TPM. That one should be converted.
>
> diff --git a/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml b/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml
> new file mode 100644
> index 000000000000..7948867ff3f7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml
> @@ -0,0 +1,48 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/security/tpm/tpm-tis-i2c.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: I2C PTP based TPM Device Tree Bindings
> +
> +maintainers:
> + - Johannes Holland <johannes.holland@xxxxxxxxxxxx>
> +
> +description:
> + Device Tree Bindings for I2C based Trusted Platform Module (TPM).
> +
> +properties:
> + compatible:
> + items:
> + - enum:
> + # Infineon's Trusted Platform Module (TPM) (SLB9673)
> + - infineon,slb9673
> + # Nuvoton's Trusted Platform Module (TPM) (NPCT75x)
> + - nuvoton,npct75x
I see this is already used, but in general wildcards should not be used
in device compatibles.
> + - const: tcg,tpm-tis-i2c
Pretty sure I killed this off when originally reviewing the TPM I2C
binding.
> +
> + reg:
> + maxItems: 1
> +
> + interrupt:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + tpm@2e {
> + compatible = "infineon,slb9673", "nuvoton,npct75x", "tcg,tpm-tis-i2c";
> + reg = <0x2e>;
> + };
> + };
> +...
> --
> 2.31.1.windows.1
>
>