On Wed, May 6, 2020 at 10:20 AM Amir Mizinski <amirmizi6@xxxxxxxxx> wrote: > > > On 2020-05-05 16:12, Rob Herring wrote: > > On Mon, Apr 27, 2020 at 03:49:30PM +0300, amirmizi6@xxxxxxxxx wrote: > >> From: Amir Mizinski <amirmizi6@xxxxxxxxx> > >> > >> Added a YAML schema to support tpm tis i2c related 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. > > > > Again, DT bindings describe h/w devices, not just a protocol. A device > > is more than just a protocol interface. There's clocks, power rails, > > resets, interrupts, firmware, etc. > > > > Unless there's something special about TPM chips that makes none of this > > applicable and no chip will ever have any quirks (or extensions) in > > their protocol to work-around, then you need compatible string(s) that > > are specific to the TPM chip. You can have tcg,tpm-tis-i2c as a > > fallback, but you need specific compatible to handle any quirks. > > > > Rob > > Hello Rob, currently yes. All TPM chip are implemented according to the TGC specs and should use the same properties for this I2C driver. > I can't say for sure that it will be the case in the future. Exactly. That's the issue. If you have just "tcg,tpm-tis-i2c" and need to handle some difference in the future, then you can't without updating the DT. You must be able to handle future issues without updating the DT. > Shouldn't we use the standard "tcg,tpm-tis-i2c" compatible, and if a specific TPM chip will deviate from the specs, the vendor should add an additional compatible string for it? Name something where multiple vendors have implemented a spec and there's no deviation. It simply doesn't exist. How would you know? Does the TPM spec define all the things I listed above outside of just the I2C protocol? Also, what version of the spec is "tcg,tpm-tis-i2c"? Few specs have only 1 version. Rob