• Jason Gunthorpe's avatar
    tpm: Add support for Atmel I2C TPMs · a2871c62
    Jason Gunthorpe authored
    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: default avatarTeddy Reed <teddy@prosauce.org>
    [jgg: revised and tested]
    Signed-off-by: default avatarJason Gunthorpe <jgunthorpe@obsidianresearch.com>
    [phuewe: minor whitespace changes]
    Signed-off-by: default avatarPeter Huewe <peterhuewe@gmx.de>
    a2871c62
Kconfig 4.52 KB