Re: [PATCH v1 4/5] dt-bindings: tpm: Add the TPM TIS I2C device tree binding documentaion

From: Amir Mizinski
Date: Sun Nov 24 2019 - 13:02:35 EST


On Thu, Nov 14, 2019 at 9:10 PM Rob Herring <robh@xxxxxxxxxx> wrote:
>
> On Sun, Nov 10, 2019 at 06:21:36PM +0200, amirmizi6@xxxxxxxxx wrote:
> > From: Amir Mizinski <amirmizi6@xxxxxxxxx>
> >
> > this file aim at documenting TPM TIS I2C related dt-bindings for the I2C PTP based Physical TPM.
> >
> > Signed-off-by: Amir Mizinski <amirmizi6@xxxxxxxxx>
> > ---
> > .../bindings/security/tpm/tpm_tis_i2c.txt | 24 ++++++++++++++++++++++
> > 1 file changed, 24 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm_tis_i2c.txt
>
> Please make this a schema. See
> Documentation/devicetree/writing-schema.rst.
>
> >
> > diff --git a/Documentation/devicetree/bindings/security/tpm/tpm_tis_i2c.txt b/Documentation/devicetree/bindings/security/tpm/tpm_tis_i2c.txt
> > new file mode 100644
> > index 0000000..7d5a69e
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/security/tpm/tpm_tis_i2c.txt
> > @@ -0,0 +1,24 @@
> > +* Device Tree Bindings for I2C PTP based Trusted Platform Module(TPM)
> > +
> > +The TCG defines hardware protocol, registers and interface (based
> > +on the TPM Interface Specification) for accessing TPM devices
> > +implemented with an I2C interface.
> > +
> > +Refer to the 'I2C Interface Definition' section in 'TCG PC Client
> > +PlatformTPMProfile(PTP) Specification' publication for specification.
> > +
> > +Required properties:
> > +
> > +- compatible : Should be "tcg,tpm_tis-i2c"
>
> s/_/-/
>
> As this has to be under an I2C controller node, the '-i2c' part is
> redundant.
>

I wrote this Respectively with the tpm_tis-spi driver.
https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/security/tpm/tpm_tis_spi.txt
Should i change it anyway or keep the format?
Also the '-i2c' is added since its not the only protocol used over
tis, and it is handled differently from spi.

> There's a bigger issue that the h/w here is more than just an I2C
> protocol. The chip may have multiple power supplies, clocks, reset
> lines, etc. HID over I2C seems like a similar case. Does the spec define
> *all* of that? If not, you need chip specific compatibles. You can keep
> this as a fallback though.
>
> > +- reg : Address on the bus
> > +- tpm-pirq : Input gpio pin, used for host interrupts
>
> GPIO connections are properties ending in '-gpios'. However, if the only
> use is an interrupt, then you should use 'interrupts'.
>

My mistake, i didn't implemented interrupts yet so ill clear this for
now. thank you.

> > +
> > +Example (for Raspberry Pie 3 Board with Nuvoton's NPCT75X (2.0)
> > +-------------------------------------------------------------------
> > +
> > +tpm_tis-i2c: tpm_tis-i2c@2e {
> > +
> > + compatible = "tcg,tpm_tis-i2c";
> > + reg = <0x2e>;
> > + tpm-pirq = <&gpio 24 GPIO_ACTIVE_HIGH>;
> > +};
> > --
> > 2.7.4
> >

Apologies for the late response, had a personal issue that needed my attention
I'm working on making this a schema for next version. This is new for
me, if you have additional sources regarding how to write it, i'll
appreciate if you send me.
Thank you.

Amir Mizinski