![Jason Gunthorpe](/assets/img/avatar_default.png)
This is based on the work of Teddy Reed <teddy@prosauce.org> published on GitHub: https://github.com/theopolis/tpm-i2c-atmel.git 34894b988b67e0ae55088d6388e77b0dbf10c07d That driver was never merged, I have taken it as a starting port, forward ported, tested and revised the driver: - Make it broadly textually similar to the Infineon and Nuvoton I2C driver - Place everything in a format suitable for mainline inclusion - Use high level I2C functions i2c_master_send and i2c_master_recv for data xfer - Use the timeout system from the core code, by faking out a status register - Only I2C transfer the number of bytes in the reply, not a fixed message size. - checkpatch cleanups - Testing on ARM Kirkwood, with this device tree, using a AT97SC3204T-X1A180 tpm@29 { compatible = "atmel,at97sc3204t"; reg = <0x29>; }; Signed-off-by: Teddy Reed <teddy@prosauce.org> [jgg: revised and tested] Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> [phuewe: minor whitespace changes] Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
25 lines
718 B
Makefile
25 lines
718 B
Makefile
#
|
|
# Makefile for the kernel tpm device drivers.
|
|
#
|
|
obj-$(CONFIG_TCG_TPM) += tpm.o
|
|
tpm-y := tpm-interface.o
|
|
tpm-$(CONFIG_ACPI) += tpm_ppi.o
|
|
|
|
ifdef CONFIG_ACPI
|
|
tpm-y += tpm_eventlog.o tpm_acpi.o
|
|
else
|
|
ifdef CONFIG_TCG_IBMVTPM
|
|
tpm-y += tpm_eventlog.o tpm_of.o
|
|
endif
|
|
endif
|
|
obj-$(CONFIG_TCG_TIS) += tpm_tis.o
|
|
obj-$(CONFIG_TCG_TIS_I2C_ATMEL) += tpm_i2c_atmel.o
|
|
obj-$(CONFIG_TCG_TIS_I2C_INFINEON) += tpm_i2c_infineon.o
|
|
obj-$(CONFIG_TCG_TIS_I2C_NUVOTON) += tpm_i2c_nuvoton.o
|
|
obj-$(CONFIG_TCG_NSC) += tpm_nsc.o
|
|
obj-$(CONFIG_TCG_ATMEL) += tpm_atmel.o
|
|
obj-$(CONFIG_TCG_INFINEON) += tpm_infineon.o
|
|
obj-$(CONFIG_TCG_IBMVTPM) += tpm_ibmvtpm.o
|
|
obj-$(CONFIG_TCG_ST33_I2C) += tpm_i2c_stm_st33.o
|
|
obj-$(CONFIG_TCG_XEN) += xen-tpmfront.o
|