tpm: Add support for Atmel I2C TPMs
authorJason Gunthorpe <jgunthorpe@obsidianresearch.com>
Sun, 6 Oct 2013 18:43:36 +0000 (12:43 -0600)
committerPeter Huewe <peterhuewe@gmx.de>
Tue, 22 Oct 2013 17:43:07 +0000 (19:43 +0200)
commita2871c62e1865c45f87a9343de76f727fb7a0ffd
treeca319f1a69800b161c002edf667120143fda7c84
parent4c336e4b1556f4b722ba597bc6e3df786968a600
tpm: Add support for Atmel I2C TPMs

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>
Documentation/devicetree/bindings/i2c/trivial-devices.txt
drivers/char/tpm/Kconfig
drivers/char/tpm/Makefile
drivers/char/tpm/tpm_i2c_atmel.c [new file with mode: 0644]