Re: [PATCH v6 6/7] dt-bindings: tpm: Add YAML schema for TPM TIS I2C options

From: Rob Herring
Date: Wed Apr 15 2020 - 11:21:07 EST


On Tue, Apr 07, 2020 at 07:20:43PM +0300, amirmizi6@xxxxxxxxx wrote:
> From: Amir Mizinski <amirmizi6@xxxxxxxxx>
>
> Added a YAML schema to support tpm tis i2c realted dt-bindings for the I2c
> PTP based physical layer.
>
> This patch adds the documentation for corresponding device tree bindings of
> I2C based Physical TPM.
> Refer to the 'I2C Interface Definition' section in
> 'TCG PC Client PlatformTPMProfile(PTP) Specification' publication
> for specification.
>
> Signed-off-by: Amir Mizinski <amirmizi6@xxxxxxxxx>
> ---
> .../bindings/security/tpm/tpm-tis-i2c.yaml | 47 ++++++++++++++++++++++
> 1 file changed, 47 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml
>
> 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 0000000..13d7c2c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml
> @@ -0,0 +1,47 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%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:
> + - Amir Mizinski <amirmizi6@xxxxxxxxx>
> +
> +description:
> + Device Tree Bindings for I2C based Trusted Platform Module(TPM).
> +
> +properties:
> + compatible:
> + contains:
> + const: tcg,tpm-tis-i2c

This is not sufficient. I assume you are testing on some specific TPM
chip.

> +
> + reg:
> + maxItems: 1
> +
> + interrupt:
> + maxItems: 1
> +
> + crc-checksum:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description:
> + CRC checksum enable.

Why would you not want CRC? Some chips support and some don't? If so,
the compatible for the chip should imply that.

> +
> +required:
> + - compatible
> + - reg
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + tpm-tis-i2c@2e {

tpm@2e

> + compatible = "tcg,tpm-tis-i2c";
> + reg = <0x2e>;
> + crc-checksum;
> + };
> + };
> +...
> --
> 2.7.4
>