[...] > > > > 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 <thar...@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 > > > > > >