aboutsummaryrefslogtreecommitdiff
path: root/libstb/tpm_chip.c
diff options
context:
space:
mode:
authorClaudio Carvalho <cclaudio@linux.vnet.ibm.com>2016-09-28 05:01:12 -0300
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-10-10 15:29:35 +1100
commit56ad053c3e8bf0764ad5878cb018f00a389d30cf (patch)
tree0dcef4ec48d5dd83b77dee1bc837d4e10424529b /libstb/tpm_chip.c
parentb018f352d2c0388a95609018ba11cf9ee9d9e464 (diff)
downloadskiboot-56ad053c3e8bf0764ad5878cb018f00a389d30cf.zip
skiboot-56ad053c3e8bf0764ad5878cb018f00a389d30cf.tar.gz
skiboot-56ad053c3e8bf0764ad5878cb018f00a389d30cf.tar.bz2
Add i2c Nuvoton TPM 2.0 Driver
This adds the 1/5 step performed by the TPM I2C Nuvoton driver to transmit a command to the TPM device. In this step the driver checks if the TPM device is ready to receive a new command. This adds the 2/5 step performed by the TPM I2C Nuvoton driver to transmit a command to the TPM device. In this step the driver writes a given command to master I2C FIFO. This adds the 3/5 step performed by the TPM I2C Nuvoton driver to transmit a command to the TPM device. In this step the driver sets the TPMGO bit in the I2C master status register to indicate that the command stored in the FIFO can be sent to the TPM device. This adds the 4/5 step performed by the TPM I2C Nuvoton driver to transmit a command to the TPM device. In this step the driver reads from the I2C master FIFO the result that the TPM device returned for the last command sent. This adds the 5/5 step performed by the TPM I2C Nuvoton driver to transmit a command to the TPM device. In this step the driver sets the COMMAND_READY bit in the status register to indicate that the TPM device is ready to receive a new command. This adds the probe function to the TPM Nuvoton driver and also updates the tpm_init() in tpm_chip.c to call the probe function. Signed-off-by: Claudio Carvalho <cclaudio@linux.vnet.ibm.com> [stewart@linux.vnet.ibm.com: squash commits into one] Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'libstb/tpm_chip.c')
-rw-r--r--libstb/tpm_chip.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libstb/tpm_chip.c b/libstb/tpm_chip.c
index 0fc3f89..ee297c2 100644
--- a/libstb/tpm_chip.c
+++ b/libstb/tpm_chip.c
@@ -21,6 +21,7 @@
#include "status_codes.h"
#include "container.h"
#include "tpm_chip.h"
+#include "drivers/tpm_i2c_nuvoton.h"
static struct list_head tpm_list = LIST_HEAD_INIT(tpm_list);
@@ -78,6 +79,7 @@ void tpm_init(void)
list_head_init(&tpm_list);
/* tpm drivers supported */
+ tpm_i2c_nuvoton_probe();
if (list_empty(&tpm_list))
/**