[PATCH u-boot v2019.04-aspeed-openbmc v2 0/9] ast2600: Add I2C TPMv2 driver
Eddie James
eajames at linux.ibm.com
Sat May 14 03:07:06 AEST 2022
This series backports the addition of a TPM TIS core driver from
mainline u-boot. Then, add an I2C driver to talk to the NPCT75X
chip using the TPM TIS core.
Add the TPM to the Rainier/Everest devicetree.
Also, add new board code for IBM's systems that need to "poison"
the TPM during u-boot initialization.
I tested this on Everest hardware and verified in Linux that the TPM PCR0
was extended. I also tested with the TPM at the wrong bus address to
verify that the code can handle a missing TPM, and I saw no errors.
Changes since v1:
- Use upstream core for I2C tpm driver. I initially couldn't get the
core driver to work at all, but found a small bug in the ordering
of operations in the core init. I also needed to force the locality
to 0, like in the Linux NPCT75X driver.
- Use new board init code for IBM's systems that need the TPM poisoning
Eddie James (5):
tpm: core: Set timeouts before requesting locality
i2c: ast_i2c: Remove SCL direct drive mode
tpm: add support for TPMv2.x I2C chips
arm: dts: ast2600-rainier: Add NPCT75X TPM
board: ast2600-ibm: Add AST2600 BMC based POWER10+ servers
Heinrich Schuchardt (1):
tis: fix tpm_tis_remove()
Ilias Apalodimas (1):
tpm2: Introduce TIS tpm core
Johannes Holland (1):
tpm: add #ifndef to fix redeclaration build errors
Simon Glass (1):
tpm: Add more TPM2 definitions
arch/arm/dts/ast2600-rainier.dts | 12 +-
arch/arm/mach-aspeed/ast2600/Kconfig | 7 +
board/aspeed/ast2600_ibm/Kconfig | 13 +
board/aspeed/ast2600_ibm/Makefile | 1 +
board/aspeed/ast2600_ibm/ibm.c | 46 +++
configs/ast2600_ibm_defconfig | 137 ++++++++
drivers/i2c/ast_i2c.c | 2 +-
drivers/tpm/Kconfig | 9 +
drivers/tpm/Makefile | 1 +
drivers/tpm/tpm2_tis_core.c | 470 +++++++++++++++++++++++++++
drivers/tpm/tpm2_tis_i2c.c | 171 ++++++++++
drivers/tpm/tpm_tis.h | 138 ++++++++
include/tpm-v2.h | 32 ++
13 files changed, 1033 insertions(+), 6 deletions(-)
create mode 100644 board/aspeed/ast2600_ibm/Kconfig
create mode 100644 board/aspeed/ast2600_ibm/Makefile
create mode 100644 board/aspeed/ast2600_ibm/ibm.c
create mode 100644 configs/ast2600_ibm_defconfig
create mode 100644 drivers/tpm/tpm2_tis_core.c
create mode 100644 drivers/tpm/tpm2_tis_i2c.c
--
2.27.0
More information about the openbmc
mailing list