tpm: Rename tpm_tis_infineon.h to tpm_tis.h and move infineon specific stuff in tpm_infineon.c
I2C protocol is not standardize for TPM 1.2. TIS prococol is define by the Trusted Computing Group and potentially available on several TPMs. tpm_tis_infineon.h header is not generic enough. Rename tpm_tis_infineon.h to tpm_tis.h and move infineon specific defines/variables to tpm_tis_infineon.c Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
This commit is contained in:
parent
ca5bc1bc10
commit
1259dcd79c
|
@ -37,18 +37,12 @@ enum tpm_timeout {
|
||||||
#define TPM_RSP_SIZE_BYTE 2
|
#define TPM_RSP_SIZE_BYTE 2
|
||||||
#define TPM_RSP_RC_BYTE 6
|
#define TPM_RSP_RC_BYTE 6
|
||||||
|
|
||||||
enum i2c_chip_type {
|
|
||||||
SLB9635,
|
|
||||||
SLB9645,
|
|
||||||
UNKNOWN,
|
|
||||||
};
|
|
||||||
|
|
||||||
struct tpm_chip {
|
struct tpm_chip {
|
||||||
int is_open;
|
int is_open;
|
||||||
int locality;
|
int locality;
|
||||||
u32 vend_dev;
|
u32 vend_dev;
|
||||||
unsigned long timeout_a, timeout_b, timeout_c, timeout_d; /* msec */
|
unsigned long timeout_a, timeout_b, timeout_c, timeout_d; /* msec */
|
||||||
enum i2c_chip_type chip_type;
|
ulong chip_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct tpm_input_header {
|
struct tpm_input_header {
|
||||||
|
@ -134,13 +128,4 @@ enum tis_status {
|
||||||
TPM_STS_DATA_EXPECT = 0x08,
|
TPM_STS_DATA_EXPECT = 0x08,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* expected value for DIDVID register */
|
|
||||||
#define TPM_TIS_I2C_DID_VID_9635 0x000b15d1L
|
|
||||||
#define TPM_TIS_I2C_DID_VID_9645 0x001a15d1L
|
|
||||||
|
|
||||||
#define TPM_ACCESS(l) (0x0000 | ((l) << 4))
|
|
||||||
#define TPM_STS(l) (0x0001 | ((l) << 4))
|
|
||||||
#define TPM_DATA_FIFO(l) (0x0005 | ((l) << 4))
|
|
||||||
#define TPM_DID_VID(l) (0x0006 | ((l) << 4))
|
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -30,17 +30,32 @@
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/unaligned/be_byteshift.h>
|
#include <linux/unaligned/be_byteshift.h>
|
||||||
|
|
||||||
#include "tpm_tis_infineon.h"
|
#include "tpm_tis.h"
|
||||||
#include "tpm_internal.h"
|
#include "tpm_internal.h"
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
enum i2c_chip_type {
|
||||||
|
SLB9635,
|
||||||
|
SLB9645,
|
||||||
|
UNKNOWN,
|
||||||
|
};
|
||||||
|
|
||||||
|
/* expected value for DIDVID register */
|
||||||
|
#define TPM_TIS_I2C_DID_VID_9635 0x000b15d1L
|
||||||
|
#define TPM_TIS_I2C_DID_VID_9645 0x001a15d1L
|
||||||
|
|
||||||
static const char * const chip_name[] = {
|
static const char * const chip_name[] = {
|
||||||
[SLB9635] = "slb9635tt",
|
[SLB9635] = "slb9635tt",
|
||||||
[SLB9645] = "slb9645tt",
|
[SLB9645] = "slb9645tt",
|
||||||
[UNKNOWN] = "unknown/fallback to slb9635",
|
[UNKNOWN] = "unknown/fallback to slb9635",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define TPM_ACCESS(l) (0x0000 | ((l) << 4))
|
||||||
|
#define TPM_STS(l) (0x0001 | ((l) << 4))
|
||||||
|
#define TPM_DATA_FIFO(l) (0x0005 | ((l) << 4))
|
||||||
|
#define TPM_DID_VID(l) (0x0006 | ((l) << 4))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* tpm_tis_i2c_read() - read from TPM register
|
* tpm_tis_i2c_read() - read from TPM register
|
||||||
* @addr: register address to read from
|
* @addr: register address to read from
|
||||||
|
|
Loading…
Reference in a new issue