[PATCH v2 06/10] configs: chromebook_coral: Build TPMV1 library routines

Sughosh Ganu sughosh.ganu at linaro.org
Wed Mar 2 05:50:02 CET 2022


hi Simon,

On Tue, 1 Mar 2022 at 20:29, Simon Glass <sjg at chromium.org> wrote:
>
> Hi Sughosh,
>
> On Mon, 28 Feb 2022 at 05:07, Sughosh Ganu <sughosh.ganu at linaro.org> wrote:
> >
> > The TPM code currently does a runtime detection of the TPM version and
> > calls appropriate functions. Chromebook Coral is one of the platforms
> > where the TPMV1 code is disabled at build time. With this, calling TPM
> > api's from the TPM uclass driver results in link errors. Enable TPMV1
> > library routines and determine the TPM version at runtime like other
> > platforms.
> >
> > Signed-off-by: Sughosh Ganu <sughosh.ganu at linaro.org>
> > ---
> >
> > Changes since V1: None
> >
> >  configs/chromebook_coral_defconfig | 1 -
> >  1 file changed, 1 deletion(-)
> >
> > diff --git a/configs/chromebook_coral_defconfig b/configs/chromebook_coral_defconfig
> > index 0cd8f39aa3..4704ce25c8 100644
> > --- a/configs/chromebook_coral_defconfig
> > +++ b/configs/chromebook_coral_defconfig
> > @@ -104,7 +104,6 @@ CONFIG_SPI=y
> >  CONFIG_ICH_SPI=y
> >  # CONFIG_SYSINFO_SMBIOS is not set
> >  CONFIG_TPL_SYSRESET=y
> > -# CONFIG_TPM_V1 is not set
> >  CONFIG_TPM2_CR50_I2C=y
> >  CONFIG_USB_XHCI_HCD=y
> >  CONFIG_USB_STORAGE=y
> > --
> > 2.25.1
>
> This board does not have a v1 TPM so we don't want to waste code space
> adding it.

Yes, but because the version detection is happening at runtime, we
need both the files to be compiled if we call any of the tpm api from
outside lib/tpm. When I call the tpm_startup function from the
child_pre_probe callback in tpm-uclass.c, I get link errors for the
TPM v2 functions. Similarly for Gazerbeam board.

>
> The current code works fine and supports both a build-time and
> run-time check. What has gone wrong?

Does not work when an api is called from the tpm uclass driver.

-sughosh

>
> Regards,
> Simon


More information about the U-Boot mailing list