summaryrefslogtreecommitdiff
path: root/src/security
diff options
context:
space:
mode:
authorTim Wawrzynczak <twawrzynczak@chromium.org>2022-02-14 16:04:21 -0700
committerTim Wawrzynczak <twawrzynczak@chromium.org>2022-03-07 18:06:24 +0000
commit6b8599f29a888c0946ff44e97c32ecd4cec2a151 (patch)
treeca38ae8682e63f5abc66e9475798b5614a05c0fe /src/security
parentf019d986b154cb95db541be9c71eafde51ec9294 (diff)
drivers/tpm/spi: Refactor out some cr50-specific logic
Mainboards accessing the cr50 over an I2C bus may want to reuse some of the same firmware version and BOARD_CFG logic, therefore refactor this logic out into a bus-agnostic file, drivers/tpm/cr50.c. This file uses the new tis_vendor_read/write() functions in order to access the cr50 regardless of the bus which is physically used. In order to leave SPI devices intact, the tis_vendor_* functions are added to the SPI driver. BUG=b:202246591 TEST=boot to OS on google/dratini, see the same FW version and board_cfg console prints as before the change. Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Change-Id: Ie68618cbe026a2b9221f93d0fe41d0b2054e8091 Reviewed-on: https://review.coreboot.org/c/coreboot/+/61977 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subratabanik@google.com>
Diffstat (limited to 'src/security')
-rw-r--r--src/security/tpm/tis.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/security/tpm/tis.h b/src/security/tpm/tis.h
index 3b65134d27..0ef5a8a090 100644
--- a/src/security/tpm/tis.h
+++ b/src/security/tpm/tis.h
@@ -111,5 +111,9 @@ cb_err_t tis_vendor_write(unsigned int addr, const void *sendbuf, size_t send_si
*/
cb_err_t tis_vendor_read(unsigned int addr, void *recvbuf, size_t recv_size);
+static inline bool tpm_first_access_this_boot(void)
+{
+ return ENV_SEPARATE_VERSTAGE || ENV_BOOTBLOCK || !CONFIG(VBOOT);
+}
#endif /* TIS_H_ */