Commit a7bd4bcf authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'tpmdd-next-20190902' of git://git.infradead.org/users/jjs/linux-tpmdd

Pull tpm updates from Jarkko Sakkinen:
 "A new driver for fTPM living inside ARM TEE was added this round.

  In addition to that, there are three bug fixes and one clean up"

* tag 'tpmdd-next-20190902' of git://git.infradead.org/users/jjs/linux-tpmdd:
  tpm/tpm_ftpm_tee: Document fTPM TEE driver
  tpm/tpm_ftpm_tee: A driver for firmware TPM running inside TEE
  tpm: Remove a deprecated comments about implicit sysfs locking
  tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts
  tpm_tis_core: Turn on the TPM before probing IRQ's
  MAINTAINERS: fix style in KEYS-TRUSTED entry
parents c17112a5 e8bd417a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -575,6 +575,8 @@ patternProperties:
    description: Micro Crystal AG
  "^micron,.*":
    description: Micron Technology Inc.
  "^microsoft,.*":
    description: Microsoft Corporation
  "^mikroe,.*":
    description: MikroElektronika d.o.o.
  "^miniand,.*":
+1 −0
Original line number Diff line number Diff line
@@ -6,3 +6,4 @@ Trusted Platform Module documentation

   tpm_vtpm_proxy
   xen-tpmfront
   tpm_ftpm_tee
+27 −0
Original line number Diff line number Diff line
=============================================
Firmware TPM Driver
=============================================

This document describes the firmware Trusted Platform Module (fTPM)
device driver.

Introduction
============

This driver is a shim for firmware implemented in ARM's TrustZone
environment. The driver allows programs to interact with the TPM in the same
way they would interact with a hardware TPM.

Design
======

The driver acts as a thin layer that passes commands to and from a TPM
implemented in firmware. The driver itself doesn't contain much logic and is
used more like a dumb pipe between firmware and kernel/userspace.

The firmware itself is based on the following paper:
https://www.microsoft.com/en-us/research/wp-content/uploads/2017/06/ftpm1.pdf

When the driver is loaded it will expose ``/dev/tpmX`` character devices to
userspace which will enable userspace to communicate with the firmware TPM
through this device.
+5 −0
Original line number Diff line number Diff line
@@ -164,6 +164,11 @@ config TCG_VTPM_PROXY
	  /dev/vtpmX and a server-side file descriptor on which the vTPM
	  can receive commands.

config TCG_FTPM_TEE
	tristate "TEE based fTPM Interface"
	depends on TEE && OPTEE
	help
	  This driver proxies for firmware TPM running in TEE.

source "drivers/char/tpm/st33zp24/Kconfig"
endif # TCG_TPM
+1 −0
Original line number Diff line number Diff line
@@ -33,3 +33,4 @@ obj-$(CONFIG_TCG_TIS_ST33ZP24) += st33zp24/
obj-$(CONFIG_TCG_XEN) += xen-tpmfront.o
obj-$(CONFIG_TCG_CRB) += tpm_crb.o
obj-$(CONFIG_TCG_VTPM_PROXY) += tpm_vtpm_proxy.o
obj-$(CONFIG_TCG_FTPM_TEE) += tpm_ftpm_tee.o
Loading