[PATCH v2 0/5] add tpm i2c ptp driver

From: amirmizi6
Date: Mon Dec 02 2019 - 08:35:55 EST


From: Amir Mizinski <amirmizi6@xxxxxxxxx>

This patch set adds support for TPM devices that implement the I2C.
Interface defined by TCG PTP specification:
https://trustedcomputinggroup.org/wp-content/uploads/TCG_PC_Client_Platform_TPM_Profile_PTP_2.0_r1.03_v22.pdf

The driver was tested on Raspberry-Pie 3, using Nuvoton NPCT75X TPM.

Interupts are not implemented yet, preparing it for the next patch.
This patch is based on initial work by oshri Alkoby, Alexander Steffen and Christophe Ricard

Addressed comments from:
- Jarkko Sakkinen: https://patchwork.kernel.org/patch/11236257/
- Rob Herring: https://patchwork.kernel.org/patch/11236253/

Changes since version 1:
- Commit 2/5:
- Fixed and extended commit description.
- Fixed an issue regarding handeling max retries.
- Commit 4/5:
- Converted "tpm_tis_i2c.txt" to "tpm-tis-i2c.yaml".
- Renamed "tpm_tis-i2c" to "tpm-tis-i2c".
- Removed interrupts properties.
- Commit 5/5: Replaced "tpm_tis-i2c" with "tpm-tis-i2c" in "tpm_tis_i2c.c".

Amir Mizinski (5):
char: tpm: Make implementation of read16 read32 write32 optional
char: tpm: Add check_data handle to tpm_tis_phy_ops in order to check
data integrity
char: tpm: rewrite "tpm_tis_req_canceled()"
dt-bindings: tpm: Add YAML schema for TPM TIS I2C options
char: tpm: add tpm_tis_i2c driver

.../bindings/security/tpm/tpm-tis-i2c.yaml | 38 +++
drivers/char/tpm/Kconfig | 12 +
drivers/char/tpm/Makefile | 1 +
drivers/char/tpm/tpm_tis_core.c | 113 +++++----
drivers/char/tpm/tpm_tis_core.h | 41 +++-
drivers/char/tpm/tpm_tis_i2c.c | 272 +++++++++++++++++++++
drivers/char/tpm/tpm_tis_spi.c | 41 ----
7 files changed, 425 insertions(+), 93 deletions(-)
create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml
create mode 100644 drivers/char/tpm/tpm_tis_i2c.c

--
2.7.4