summaryrefslogtreecommitdiff
path: root/drivers/char/tpm/tpm_i2c_atmel.c
diff options
context:
space:
mode:
authorJason Gunthorpe <jgunthorpe@obsidianresearch.com>2013-10-06 22:43:13 +0400
committerPeter Huewe <peterhuewe@gmx.de>2013-10-22 21:43:04 +0400
commit4c336e4b1556f4b722ba597bc6e3df786968a600 (patch)
tree06c87151784a45fa4ae7beb7c0121fd045b469a1 /drivers/char/tpm/tpm_i2c_atmel.c
parent187eea0c353abd4ffa3a9cc86a660af9605fcb10 (diff)
downloadlinux-4c336e4b1556f4b722ba597bc6e3df786968a600.tar.xz
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>
Diffstat (limited to 'drivers/char/tpm/tpm_i2c_atmel.c')
0 files changed, 0 insertions, 0 deletions