drivers/spi/tpm: Clean up SPI TPM driver
1. Move common TIS macros to include/tpm.h. 2. Use common TIS macros while referring to status and access registers. 3. Add a new function claim_locality to properly check for required access bits and claim locality 0. BUG=b:36873582 Change-Id: I11bf3e8b6e1f50b7868c9fe4394a858488367287 Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://review.coreboot.org/19213 Tested-by: build bot (Jenkins) Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
This commit is contained in:
committed by
Furquan Shaikh
parent
bf6dfaefc2
commit
260b297a89
@ -39,6 +39,7 @@
|
||||
#include <device/i2c.h>
|
||||
#include <endian.h>
|
||||
#include <timer.h>
|
||||
#include <tpm.h>
|
||||
#include "tpm.h"
|
||||
|
||||
#if IS_ENABLED(CONFIG_ARCH_X86)
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include <device/i2c.h>
|
||||
#include <endian.h>
|
||||
#include <timer.h>
|
||||
#include <tpm.h>
|
||||
#include "tpm.h"
|
||||
|
||||
/* max. number of iterations after I2C NAK */
|
||||
|
@ -47,21 +47,6 @@ enum tpm_timeout {
|
||||
#define TPM_RSP_SIZE_BYTE 2
|
||||
#define TPM_RSP_RC_BYTE 6
|
||||
|
||||
enum tis_access {
|
||||
TPM_ACCESS_VALID = 0x80,
|
||||
TPM_ACCESS_ACTIVE_LOCALITY = 0x20,
|
||||
TPM_ACCESS_REQUEST_PENDING = 0x04,
|
||||
TPM_ACCESS_REQUEST_USE = 0x02,
|
||||
};
|
||||
|
||||
enum tis_status {
|
||||
TPM_STS_VALID = 0x80,
|
||||
TPM_STS_COMMAND_READY = 0x40,
|
||||
TPM_STS_GO = 0x20,
|
||||
TPM_STS_DATA_AVAIL = 0x10,
|
||||
TPM_STS_DATA_EXPECT = 0x08,
|
||||
};
|
||||
|
||||
#define TPM_ACCESS(l) (0x0000 | ((l) << 4))
|
||||
#define TPM_STS(l) (0x0001 | ((l) << 4))
|
||||
#define TPM_DATA_FIFO(l) (0x0005 | ((l) << 4))
|
||||
|
Reference in New Issue
Block a user