[PATCH] tpm: display message when using gpio-reset instead of when missing it

Ilias Apalodimas ilias.apalodimas at linaro.org
Wed Mar 27 18:26:01 CET 2024


[...]

> >
> > missing an invalid property?
> >
> > I deal with users all the time that think things like that are
> > 'errors' and contact tech support. In this case its not an error
> > because there is no gpio reset in the official dt-bindings for the tpm
> > and its generally considered bad form to add non official properties.
> >
> > And from what your explaining we shouldn't have a GPIO connected to
> > the TPM so perhaps we should remove the reset completely and perhaps
> > even spit out a warning if present:
> > ignore Invalid DT property gpio reset to conform with the TCG specification
>
> We should, but those changes predate me being appointed as a TPM
> maintainer. If I had to guess, I would say that was added for TPM that
> are connected on an external SPI bus (e.g the RPI).
> So what about not printing the error message, keeping the code so we
> won't break 'test' devices, and print a warning message like "This
> shouldn't be used on secure production devices"?

Unless we can get a list of the devices that *currently* use it. If
they aren't that many I am fine getting rid of the reset overall (and
I can test it on the RPI4)

Cheers
/Ilias
>
> Regards
> /Ilias
> >
> > Best regards,
> >
> > Tim
> >
> > >
> > > Thanks
> > > /Ilias
> > > >
> > > > Best Regards,
> > > >
> > > > Tim
> > > > [1] https://ww1.microchip.com/downloads/en/DeviceDoc/ATTPM20P-Trusted-Platform-Module-TPM-2.0-SPI-Interface-Summary-Data-Sheet-DS40002082A.pdf
> > > >
> > > >
> > > > > Thanks
> > > > > /Ilias
> > > > > >
> > > > > > Signed-off-by: Tim Harvey <tharvey at gateworks.com>
> > > > > > ---
> > > > > >  drivers/tpm/tpm2_tis_spi.c | 8 ++++----
> > > > > >  1 file changed, 4 insertions(+), 4 deletions(-)
> > > > > >
> > > > > > diff --git a/drivers/tpm/tpm2_tis_spi.c b/drivers/tpm/tpm2_tis_spi.c
> > > > > > index de9cf8f21e07..944540f7a711 100644
> > > > > > --- a/drivers/tpm/tpm2_tis_spi.c
> > > > > > +++ b/drivers/tpm/tpm2_tis_spi.c
> > > > > > @@ -237,14 +237,14 @@ static int tpm_tis_spi_probe(struct udevice *dev)
> > > > > >                         /* legacy reset */
> > > > > >                         ret = gpio_request_by_name(dev, "gpio-reset", 0,
> > > > > >                                                    &reset_gpio, GPIOD_IS_OUT);
> > > > > > -                       if (ret) {
> > > > > > -                               log(LOGC_NONE, LOGL_NOTICE,
> > > > > > -                                   "%s: missing reset GPIO\n", __func__);
> > > > > > +                       if (ret)
> > > > > >                                 goto init;
> > > > > > -                       }
> > > > > >                         log(LOGC_NONE, LOGL_NOTICE,
> > > > > >                             "%s: gpio-reset is deprecated\n", __func__);
> > > > > >                 }
> > > > > > +               log(LOGC_NONE, LOGL_NOTICE,
> > > > > > +                   "%s: performing 1ms reset on %s:%d\n", dev->name,
> > > > > > +                   reset_gpio.dev->name, reset_gpio.offset);
> > > > > >                 dm_gpio_set_value(&reset_gpio, 1);
> > > > > >                 mdelay(1);
> > > > > >                 dm_gpio_set_value(&reset_gpio, 0);
> > > > > > --
> > > > > > 2.25.1
> > > > > >


More information about the U-Boot mailing list