diff options
author | Christophe Ricard <christophe.ricard@gmail.com> | 2016-01-21 23:27:12 +0100 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2016-01-28 21:01:22 -0700 |
commit | 1259dcd79c70f97a1606b4b06190c8fa7a1810d1 (patch) | |
tree | b276a7c8ab5b750b3d239d8248df08430faa64f2 /drivers/tpm/tpm_tis_infineon.c | |
parent | ca5bc1bc107c0413f96a6d79b4e95278a37c0cce (diff) |
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>
Diffstat (limited to 'drivers/tpm/tpm_tis_infineon.c')
-rw-r--r-- | drivers/tpm/tpm_tis_infineon.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/tpm/tpm_tis_infineon.c b/drivers/tpm/tpm_tis_infineon.c index f57c32837b..a4b6741676 100644 --- a/drivers/tpm/tpm_tis_infineon.c +++ b/drivers/tpm/tpm_tis_infineon.c @@ -30,17 +30,32 @@ #include <linux/types.h> #include <linux/unaligned/be_byteshift.h> -#include "tpm_tis_infineon.h" +#include "tpm_tis.h" #include "tpm_internal.h" 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[] = { [SLB9635] = "slb9635tt", [SLB9645] = "slb9645tt", [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 * @addr: register address to read from |