linux/drivers/char/tpm
Jason Gunthorpe 4c336e4b15 tpm: Add support for the Nuvoton NPCT501 I2C TPM
This chip is/was also branded as a Winbond WPCT301.

Originally written by Dan Morav <dmorav@nuvoton.com> and posted to LKML:
https://lkml.org/lkml/2011/9/7/206

The original posting was not merged, I have taken it as a
starting point, forward ported, tested and revised the driver:
 - Rework interrupt handling to work properly with level triggered
   interrupts. The old version just locked up.
 - Synchronize various items with Peter Huewe's Infineon driver:
    * Add durations/timeouts sysfs calls
    * Remove I2C device auto-detection
    * Don't fiddle with chip->release
    * Call tpm_dev_vendor_release in the probe error path
    * Use MODULE_DEVICE_TABLE for the I2C ids
    * Provide OF compatible strings for DT support
    * Use SIMPLE_DEV_PM_OPS
    * Use module_i2c_driver
 - checkpatch cleanups
 - Testing on ARM Kirkwood with GPIO interrupts, with this device tree:
	tpm@57 {
                compatible = "nuvoton,npct501";
                reg = <0x57>;
                interrupt-parent = <&gpio1>;
                interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
        };

Signed-off-by: Dan Morav <dmorav@nuvoton.com>
[jgg: revised and tested]
Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
[phuewe: minor whitespace changes, fixed module name in kconfig]

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
2013-10-22 19:43:04 +02:00
..
Kconfig tpm: Add support for the Nuvoton NPCT501 I2C TPM 2013-10-22 19:43:04 +02:00
Makefile tpm: Add support for the Nuvoton NPCT501 I2C TPM 2013-10-22 19:43:04 +02:00
tpm_acpi.c TPM: Switch to __packed instead of __attribute__((packed)) 2013-02-05 09:38:22 -06:00
tpm_atmel.c tpm atmel: Call request_region with the correct base 2013-10-22 19:42:26 +02:00
tpm_atmel.h tpmdd maintainers 2007-08-22 19:52:44 -07:00
tpm_eventlog.c tpm: Merge the tpm-bios module with tpm.o 2013-10-22 19:43:01 +02:00
tpm_eventlog.h drivers/char/tpm: Add securityfs support for event log 2012-08-22 16:22:47 -05:00
tpm_i2c_infineon.c tpm: Remove tpm_show_caps_1_2 2013-10-22 19:42:41 +02:00
tpm_i2c_nuvoton.c tpm: Add support for the Nuvoton NPCT501 I2C TPM 2013-10-22 19:43:04 +02:00
tpm_i2c_stm_st33.c tpm: Remove tpm_show_caps_1_2 2013-10-22 19:42:41 +02:00
tpm_i2c_stm_st33.h tpm_i2c_stm_st33: fix oops when i2c client is unavailable 2013-02-05 09:38:24 -06:00
tpm_ibmvtpm.c tpm: Remove tpm_show_caps_1_2 2013-10-22 19:42:41 +02:00
tpm_ibmvtpm.h drivers/char/tpm: remove tasklet and cleanup 2012-11-01 15:23:14 -05:00
tpm_infineon.c Char/Misc driver merge for 3.8-rc1 2012-12-11 13:56:38 -08:00
tpm_nsc.c tpm: Fix cancellation of TPM commands (polling mode) 2013-02-05 09:38:24 -06:00
tpm_of.c drivers/char/tpm: Add securityfs support for event log 2012-08-22 16:22:47 -05:00
tpm_ppi.c tpm: Merge the tpm-bios module with tpm.o 2013-10-22 19:43:01 +02:00
tpm_tis.c tpm: Remove tpm_show_caps_1_2 2013-10-22 19:42:41 +02:00
tpm-interface.c tpm: Rename tpm.c to tpm-interface.c 2013-10-22 19:42:51 +02:00
tpm.h tpm: Remove tpm_show_caps_1_2 2013-10-22 19:42:41 +02:00
xen-tpmfront.c tpm: Remove redundant dev_set_drvdata 2013-10-22 19:42:35 +02:00