[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