drivers/spi/tpm: Add helper to get cr50 firmware version
Introduce a helper to get the cached cr50 firmware version. This information is in turn used to identify the strap configuration supported by Cr50. BUG=None TEST=Ensure that Drawcia board boots to OS. Ensure that the version cached cr50 firmware version is returned. Change-Id: Id84b152993f253878a6c133cc433a0da2c990cf2 Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/44653 Reviewed-by: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Sam McNally <sammc@google.com> Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
4cc87d4e35
commit
7b58f9413d
|
@ -48,11 +48,6 @@ static struct spi_slave spi_slave;
|
|||
|
||||
/* Cached TPM device identification. */
|
||||
static struct tpm2_info tpm_info;
|
||||
struct cr50_firmware_version {
|
||||
int epoch;
|
||||
int major;
|
||||
int minor;
|
||||
};
|
||||
static struct cr50_firmware_version cr50_firmware_version;
|
||||
|
||||
/*
|
||||
|
@ -849,3 +844,8 @@ size_t tpm2_process_command(const void *tpm2_command, size_t command_size,
|
|||
|
||||
return payload_size;
|
||||
}
|
||||
|
||||
void cr50_get_firmware_version(struct cr50_firmware_version *version)
|
||||
{
|
||||
memcpy(version, &cr50_firmware_version, sizeof(*version));
|
||||
}
|
||||
|
|
|
@ -16,6 +16,13 @@ struct tpm2_info {
|
|||
uint16_t revision;
|
||||
};
|
||||
|
||||
/* Structure describing the elements of Cr50 firmware version. */
|
||||
struct cr50_firmware_version {
|
||||
int epoch;
|
||||
int major;
|
||||
int minor;
|
||||
};
|
||||
|
||||
/*
|
||||
* Initialize a TPM2 device: read its id, claim locality of zero, verify that
|
||||
* this indeed is a TPM2 device. Use the passed in handle to access the right
|
||||
|
@ -44,4 +51,7 @@ void tpm2_get_info(struct tpm2_info *info);
|
|||
/* Indicates whether Cr50 ready pulses are guaranteed to be at least 100us. */
|
||||
bool cr50_is_long_interrupt_pulse_enabled(void);
|
||||
|
||||
/* Get the cr50 firmware version information. */
|
||||
void cr50_get_firmware_version(struct cr50_firmware_version *version);
|
||||
|
||||
#endif /* ! __COREBOOT_SRC_DRIVERS_SPI_TPM_TPM_H */
|
||||
|
|
Loading…
Reference in New Issue