diff mbox series

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

Message ID 20220525165849.7789-2-Alexander.Steffen@infineon.com (mailing list archive)
State New, archived
Headers show
Series tpm_tis_i2c | expand

Commit Message

Alexander Steffen May 25, 2022, 4:58 p.m. UTC
Both are supported by the upcoming tpm_tis_i2c driver.

Signed-off-by: Alexander Steffen <Alexander.Steffen@infineon.com>
---
 Documentation/devicetree/bindings/trivial-devices.yaml | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Krzysztof Kozlowski May 26, 2022, 12:29 p.m. UTC | #1
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@infineon.com>
> ---
>  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".


Best regards,
Krzysztof
Rob Herring (Arm) June 2, 2022, 1:48 p.m. UTC | #2
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@infineon.com>
> > ---
> >  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. Does 'TCG 
TIS-compliant TPM' encompass every property of a device? Power supplies, 
resets, interrupts, quirks, etc.?

Rob
Alexander Steffen June 2, 2022, 3:34 p.m. UTC | #3
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@infineon.com>
>>> ---
>>>   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.

> 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.

Alexander
Rob Herring (Arm) June 3, 2022, 6:19 p.m. UTC | #4
On Thu, Jun 2, 2022 at 10:34 AM Alexander Steffen
<Alexander.Steffen@infineon.com> 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@infineon.com>
> >>> ---
> >>>   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
diff mbox series

Patch

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
             # Temperature Monitoring and Fan Control
           - ti,amc6821
             # Temperature and humidity sensor with i2c interface