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

From: Amir Mizinski
Date: Wed Apr 22 2020 - 04:16:01 EST



On 2020-04-15 15:20, Rob Herring wrote:
> 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.
>

I am, but this implementation follows the "TCG PC client Device Driver Design Principles for TPM 2.0"
It's not meant solely for out 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.
>

There's an Enable/Disable CRC option in the TPM chip, not all vendors
use this by default.

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

I understand why i should remove "i2c", but i think it should be "tpm_tis@2e".
Respectively with "tpm_tis_spi.txt" and "tpm_tis_mmio.txt".

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

Thank you for your feedback.
Best regards,
Amir Mizinski