1. 06 1月, 2014 2 次提交
  2. 23 10月, 2013 4 次提交
    • J
      tpm: Add support for Atmel I2C TPMs · a2871c62
      Jason Gunthorpe 提交于
      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: NTeddy Reed <teddy@prosauce.org>
      [jgg: revised and tested]
      Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com>
      [phuewe: minor whitespace changes]
      Signed-off-by: NPeter Huewe <peterhuewe@gmx.de>
      a2871c62
    • 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
    • J
      tpm: Merge the tpm-bios module with tpm.o · 187eea0c
      Jason Gunthorpe 提交于
      Now that we can have multiple .c files in the tpm module there is
      no reason for tpm-bios.
      
      tpm-bios exported several functions: tpm_bios_log_setup,
      tpm_bios_log_teardown, tpm_add_ppi, and tpm_remove_ppi.
      
      They are only used by tpm, and if tpm-bios is built then
      tpm will unconditionally require them. Further, tpm-bios does
      nothing on its own, it has no module_init function.
      
      Thus we remove the exports and merge the modules to simplify things.
      
      The Makefile conditions are changed slightly to match the code,
      tpm_ppi is always required if CONFIG_ACPI is set.
      Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com>
      187eea0c
    • J
      tpm: Rename tpm.c to tpm-interface.c · 9deb0eb7
      Jason Gunthorpe 提交于
      This is preparation for making the tpm module multi-file. kbuild does
      not like having a .c file with the same name as a module. We wish to
      keep the tpm module name so that userspace doesn't see this change.
      
      tpm-interface.c is chosen because the next several commits in the series
      migrate items into tpm-sysfs.c, tpm-dev.c and tpm-class.c. All that will
      be left is tpm command processing and interfacing code.
      Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com>
      9deb0eb7
  3. 09 8月, 2013 1 次提交
  4. 05 2月, 2013 1 次提交
    • M
      TPM: STMicroelectronics ST33 I2C BUILD STUFF · 2bfee22f
      Mathias Leblanc 提交于
       * STMicroelectronics version 1.2.0, Copyright (C) 2010
       * STMicroelectronics comes with ABSOLUTELY NO WARRANTY.
       * This is free software, and you are welcome to redistribute it
       * under certain conditions.
      
      This is the driver for TPM chip from ST Microelectronics.
      
      If you have a TPM security chip from STMicroelectronics working with
      an I2C, in menuconfig or .config choose the tpm driver on
      device --> tpm and activate the protocol of your choice before compiling
      the kernel.
      The driver will be accessible from within Linux.
      
      Tested on linux x86/x64, beagleboard REV B & XM REV C and CHROMIUM OS
      Signed-off-by: NMathias Leblanc <mathias.leblanc@st.com>
      Signed-off-by: NKent Yoder <key@linux.vnet.ibm.com>
      2bfee22f
  5. 23 8月, 2012 5 次提交
    • X
      driver: add PPI support in tpm driver · f84fdff0
      Xiaoyan Zhang 提交于
      The Physical Presence Interface enables the OS and the BIOS to cooperate and
      provides a simple and straightforward platform user experience for
      administering the TPM without sacrificing security.
      
      V2: separate the patch out in a separate source file,
          add #ifdef CONFIG_ACPI so it compiles out on ppc,
          use standard error instead of ACPI error as return code of show/store fns.
      V3: move #ifdef CONFIG_ACPI from .c file to .h file.
      V4: move tpm_ppi code from tpm module to tpm_bios module.
      V5: modify sys_add_ppi() so that ppi_attr_grp doesn't need to be exported
      Signed-off-by: NXiaoyan Zhang <xiaoyan.zhang@intel.com>
      Signed-off-by: NKent Yoder <key@linux.vnet.ibm.com>
      f84fdff0
    • A
      drivers/char/tpm: Add securityfs support for event log · c5df3926
      Ashley Lai 提交于
      This patch retrieves the event log data from the device tree
      during file open. The event log data will then displayed through
      securityfs.
      Signed-off-by: NAshley Lai <adlai@us.ibm.com>
      Signed-off-by: NKent Yoder <key@linux.vnet.ibm.com>
      c5df3926
    • A
      drivers/char/tpm: Add new device driver to support IBM vTPM · 132f7629
      Ashley Lai 提交于
      This patch adds a new device driver to support IBM virtual TPM
      (vTPM) for PPC64.  IBM vTPM is supported through the adjunct
      partition with firmware release 740 or higher.  With vTPM
      support, each lpar is able to have its own vTPM without the
      physical TPM hardware.
      
      This driver provides TPM functionalities by communicating with
      the vTPM adjunct partition through Hypervisor calls (Hcalls)
      and Command/Response Queue (CRQ) commands.
      Signed-off-by: NAshley Lai <adlai@us.ibm.com>
      Signed-off-by: NKent Yoder <key@linux.vnet.ibm.com>
      132f7629
    • K
      tpm: modularize event log collection · e5dcd87f
      Kent Yoder 提交于
      Break ACPI-specific pieces of the event log handling into their own file
      and create tpm_eventlog.[ch] to store common event log handling code.
      This will be required to integrate future event log sources on platforms
      without ACPI tables.
      Signed-off-by: NKent Yoder <key@linux.vnet.ibm.com>
      e5dcd87f
    • P
      char/tpm: Add new driver for Infineon I2C TIS TPM · aad628c1
      Peter Huewe 提交于
      This patch adds a driver to support Infineon's SLB 9635 TT 1.2 Soft I2C TPMs
      which follow the TGC TIS 1.2 TPM specification[1] and Infineon's I2C Protocol
      Stack Specification 0.20.
      The I2C Protocol Stack Specification is a simple adaption of the LPC TIS
      Protocol to the I2C Bus.
      The I2C TPMs can be used when LPC Bus is not available (i.e. non x86
      architectures like ARM).
      
      The driver is based on the tpm_tis.c driver by Leendert van Dorn and Kyleen
      Hall and has quite similar functionality.
      
      Tested on Nvidia ARM Tegra2 Development Platform and Beagleboard (ARM OMAP)
      Tested with the Trousers[2] TSS API Testsuite v 0.3 [3]
      Compile-tested on x86 (32/64-bit)
      
      Updates since version 2.1.4:
      - included "Lock the I2C adapter for a sequence of requests", by Bryan Freed
      - use __i2c_transfer instead of own implementation of unlocked i2c_transfer
      - use struct dev_pm_ops for power management via SIMPLE_DEV_PM_OPS
      
      Updates since version 2.1.3:
      - use proper probing mechanism
      * either add the tpm using I2C_BOARD_INFO to your board file or probe it
      * during runtime e.g on BeagleBoard using :
      * "echo tpm_i2c_infineon 0x20 > /sys/bus/i2c/devices/i2c-2/new_device"
      - fix possible endless loop if hardware misbehaves
      - improved return codes
      - consistent spelling i2c/tpm -> I2C/TPM
      - remove hardcoded sleep values and msleep usage
      - removed debug statements
      - added check for I2C functionality
      - renaming to tpm_i2c_infineon
      
      Updates since version 2.1.2:
      - added sysfs entries for duration and timeouts
      - updated to new tpm_do_selftest
      
      Updates since version 2.1.0:
      - improved error handling
      - implemented workarounds needed by the tpm
      - fixed typos
      
      References:
      [1]
      http://www.trustedcomputinggroup.org/resources/pc_client_work_group_pc_client_
      specific_tpm_interface_specification_tis_version_12/
      [2] http://trousers.sourceforge.net/
      [3]
      http://sourceforge.net/projects/trousers/files/TSS%20API%20test%20suite/0.3/Reviewed-by: NAndi Shyti <andi.shyti@gmail.com>
      Acked-by: NMarcel Selhorst <tpmdd@selhorst.net>
      Signed-off-by: NPeter Huewe <peter.huewe@infineon.com>
      Signed-off-by: NBryan Freed <bfreed@chromium.org>
      Signed-off-by: NKent Yoder <key@linux.vnet.ibm.com>
      aad628c1
  6. 23 4月, 2006 1 次提交
  7. 09 1月, 2006 1 次提交
  8. 28 7月, 2005 1 次提交
  9. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4