Re: [PATCH v4 1/3] dt-bindings: trivial-devices: Add two I2C TPM devices

From: Rob Herring
Date: Fri Jun 03 2022 - 14:33:24 EST


On Thu, Jun 2, 2022 at 10:34 AM Alexander Steffen
<Alexander.Steffen@xxxxxxxxxxxx> wrote:
>
> On 02.06.22 15:48, Rob Herring wrote:
> > On Thu, May 26, 2022 at 02:29:56PM +0200, Krzysztof Kozlowski wrote:
> >> On 25/05/2022 18:58, Alexander Steffen wrote:
> >>> Both are supported by the upcoming tpm_tis_i2c driver.
> >>>
> >>> Signed-off-by: Alexander Steffen <Alexander.Steffen@xxxxxxxxxxxx>
> >>> ---
> >>> Documentation/devicetree/bindings/trivial-devices.yaml | 4 ++++
> >>> 1 file changed, 4 insertions(+)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml
> >>> index 550a2e5c9e05..dc52822331dd 100644
> >>> --- a/Documentation/devicetree/bindings/trivial-devices.yaml
> >>> +++ b/Documentation/devicetree/bindings/trivial-devices.yaml
> >>> @@ -135,6 +135,8 @@ properties:
> >>> - infineon,slb9635tt
> >>> # Infineon SLB9645 I2C TPM (new protocol, max 400khz)
> >>> - infineon,slb9645tt
> >>> + # Infineon SLB9673 I2C TPM 2.0
> >>> + - infineon,slb9673
> >>> # Infineon TLV493D-A1B6 I2C 3D Magnetic Sensor
> >>> - infineon,tlv493d-a1b6
> >>> # Infineon Multi-phase Digital VR Controller xdpe11280
> >>> @@ -323,6 +325,8 @@ properties:
> >>> - st,24c256
> >>> # Ambient Light Sensor with SMBUS/Two Wire Serial Interface
> >>> - taos,tsl2550
> >>> + # TCG TIS-compliant TPM with I2C interface
> >>> + - tcg,tpm_tis-i2c
> >>
> >> One flavor uses tpm-tis, another tpm_tis... I guess it is too late to
> >> make it consistent, but let's stick to the one more reasonable, so:
> >> "tpm-tis-i2c".
> >
> > Neither should be used except perhaps as a fallback.
>
> That is the intention, yes.

Then it is not a trivial device as those don't have more than 1
compatible string.

> > Does 'TCG TIS-compliant TPM' encompass every property of a device? Power
> > supplies, resets, interrupts, quirks, etc.?
>
> In an ideal world, yes. In practice, of course implementations do have
> bugs that might require different workarounds. By selecting
> tcg,tpm-tis-i2c instead of anything more specific, you promise that the
> device is fully compliant to the TCG specification and does not require
> any such workarounds.

We don't want broken promises. The problem is you can't know up front
whether you will need a work-around. Adding a compatible later is not
ideal as that would require a DT update which may be in your firmware
(separate from the OS).

Rob