1. 06 1月, 2014 1 次提交
  2. 23 10月, 2013 1 次提交
    • J
      tpm: Add support for the Nuvoton NPCT501 I2C TPM · 4c336e4b
      Jason Gunthorpe 提交于
      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: NDan Morav <dmorav@nuvoton.com>
      [jgg: revised and tested]
      Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com>
      [phuewe: minor whitespace changes, fixed module name in kconfig]
      Signed-off-by: NPeter Huewe <peterhuewe@gmx.de>
      4c336e4b