diff options
author | Matt DeVillier <matt.devillier@gmail.com> | 2022-10-18 14:31:50 -0500 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2022-10-20 17:22:57 +0000 |
commit | 411023af720e37ae932981b1c8da91fc3867ddb3 (patch) | |
tree | 819ef45e48f1a702dd35130c1381d116fa3c3550 | |
parent | 3d242755ef12815e358e6662495c371d2c2ba3bc (diff) |
drivers/tpm: Move TPM init to end of device init phase
Boards which use an I2C TPM and do not use vboot will not have the
I2C bus initialized/ready at the start of the device init phase.
If TPM init is called before the bus, init will fail with I2C
transfer timeouts and a significantly lengthened boot time.
Resolves: https://ticket.coreboot.org/issues/429
TEST=build/boot google/reef w/o vboot, verify successful TPM init.
Change-Id: Ic47e465db1c06d8b79a1f0a06906843149b6dacd
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68550
Reviewed-by: Alexandru Stan <amstan@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
-rw-r--r-- | src/drivers/tpm/tpm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/drivers/tpm/tpm.c b/src/drivers/tpm/tpm.c index ce1a2b7670..3b582c84ab 100644 --- a/src/drivers/tpm/tpm.c +++ b/src/drivers/tpm/tpm.c @@ -10,4 +10,4 @@ static void init_tpm_dev(void *unused) tpm_setup(s3resume); } -BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_ENTRY, init_tpm_dev, NULL); +BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_EXIT, init_tpm_dev, NULL); |