tpmdd-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 0/7] Rework of tpm_tis to share common logic across phy's (lpc/spi/-i2c-)
@ 2016-05-18 22:35 Christophe Ricard
  2016-05-18 22:35 ` [PATCH v8 2/7] tpm: tpm_tis: Share common data between phys Christophe Ricard
                   ` (6 more replies)
  0 siblings, 7 replies; 21+ messages in thread
From: Christophe Ricard @ 2016-05-18 22:35 UTC (permalink / raw)
  To: jarkko.sakkinen-VuQAYsv1563Yd54FQh9/CA
  Cc: jean-luc.blanc-qxv4g6HH51o, ashley-fm2HMyfA2y6tG0bUXCXiUA,
	linux-security-module-u79uwXL29TY76Z2rM5mHXA,
	tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	christophe-h.ricard-qxv4g6HH51o, benoit.houyere-qxv4g6HH51o

Hi Jarkko,

This serie is including common work from Infineon (Peter Huewe & Alexander Steffen) and ST.
We propose a common low level API used by a core TIS interface allowing to share
some protocols behavior between physical layers (lpc, spi, i2c...) or drivers.

To easy the group review, i only send 10 patches showing how we rework the tpm_tis driver
keeping existing proprietary logic (itpm workaround, irq for tpm_tis ("lpc")).
Finally we are adding spi support based on TCG PTP specification. This additional driver
support the SPI bit protocol including optional flow control.

Reworked tpm_tis got validated on a HP 8200 machine with an Infineon TPM
tpm_tis_spi got validated using Minnowboard Max as well as Raspberry Pi.

v2:
- Add Rob Herring acks on devicetree specific patch
- Renamed priv_data tpm_tis_data
- Moved data_expect_val & data_expect_mask in tpm_tis_data
- Moved "hal" (e.g: tpm_write_xxx/tpm_read_xxx) in tpm_tis_core.h
- Reduced list of the exported functions from tpm_tis_core
- Make tpm_tis ops internal to tpm_tis_core

v3:
- Merge tpm_class_lowlevel and tpm_tis_phy_ops
- Changed the way phy specific structure looked like in order to use container_of
- Cleanup patches with rebase mistakes and build verify them...
- Moved "Add include guards in tpm.h" at first position

v4:
- Move patch "Use read/write_bytes for drivers without more specialized methods"
before spi phy patch and rework so that functions are no more inlined and available
from tpm_tis_core.

v5:
- Squashed several patch together. (2, 3, 4).
- Renammed tpm_tis_lpc_data --> tpm_tis_tcg_data.
- Change tpm_tis_read_xxx/tpm_tis_write_xx parameters to take a struct tpm_tis_data* instead of a struct tpm_chip*.
- Manage itpm workaround internally to the tpm_tis_core and add a TIS flag (TPM_TIS_ITPM_POSSIBLE).
- Several fixes in the spi phy.
- Use chip->ops->cancel(chip) instead of tpm_tis_ready out of tpm_tis_core.
- Reworked Makefile

v6:
- Fix rebase mistaked in patch 2 and 3.
- Remove post_probe handler from tpm_tis_phy_ops in "Split tpm_tis driver into a core and TCG TIS compliant phy"

v7:
- Merge patch 7 in patch 8 as requested by Jarkko.

v8:
- Change tpm_readxx/tpm_writexx with tpm_tis_readxx/tpm_tis_writexx

You can check this work on:
https://github.com/cricard13/linux-tpmdd tpm_tis_core_v8

Best Regards
Christophe

Christophe Ricard (7):
  tpm: Add include guards in tpm.h
  tpm: tpm_tis: Share common data between phys
  tpm_tis: Introduce intermediate layer for TPM access
  devicetree: Add infineon to vendor-prefix.txt
  devicetree: Add Trusted Computing Group to vendor-prefix.txt
  tpm/tpm_tis: Split tpm_tis driver into a core and TCG TIS compliant
    phy
  tpm/tpm_tis_spi: Add support for spi phy

 .../bindings/security/tpm/tpm_tis_spi.txt          |  24 +
 .../devicetree/bindings/vendor-prefixes.txt        |   2 +
 drivers/char/tpm/Kconfig                           |  19 +
 drivers/char/tpm/Makefile                          |   2 +
 drivers/char/tpm/tpm.h                             |   5 +
 drivers/char/tpm/tpm_tis.c                         | 851 ++------------------
 drivers/char/tpm/tpm_tis_core.c                    | 862 +++++++++++++++++++++
 drivers/char/tpm/tpm_tis_core.h                    | 156 ++++
 drivers/char/tpm/tpm_tis_spi.c                     | 272 +++++++
 9 files changed, 1405 insertions(+), 788 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm_tis_spi.txt
 create mode 100644 drivers/char/tpm/tpm_tis_core.c
 create mode 100644 drivers/char/tpm/tpm_tis_core.h
 create mode 100644 drivers/char/tpm/tpm_tis_spi.c

-- 
2.1.4


------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2016-06-17 18:05 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-18 22:35 [PATCH v8 0/7] Rework of tpm_tis to share common logic across phy's (lpc/spi/-i2c-) Christophe Ricard
2016-05-18 22:35 ` [PATCH v8 2/7] tpm: tpm_tis: Share common data between phys Christophe Ricard
2016-05-18 22:35 ` [PATCH v8 3/7] tpm_tis: Introduce intermediate layer for TPM access Christophe Ricard
     [not found]   ` <1463610953-2766-4-git-send-email-christophe-h.ricard-qxv4g6HH51o@public.gmane.org>
2016-05-23 21:20     ` Jarkko Sakkinen
2016-05-18 22:35 ` [PATCH v8 4/7] devicetree: Add infineon to vendor-prefix.txt Christophe Ricard
2016-05-23 21:21   ` Jarkko Sakkinen
2016-05-18 22:35 ` [PATCH v8 6/7] tpm/tpm_tis: Split tpm_tis driver into a core and TCG TIS compliant phy Christophe Ricard
2016-05-23 21:24   ` Jarkko Sakkinen
2016-05-24  6:58   ` Jarkko Sakkinen
2016-05-23 21:31 ` [PATCH v8 0/7] Rework of tpm_tis to share common logic across phy's (lpc/spi/-i2c-) Jarkko Sakkinen
2016-05-26 12:26 ` Jarkko Sakkinen
     [not found]   ` <20160526131932.C95EDC6047@b03ledav006.gho.boulder.ibm.com>
     [not found]     ` <20160526131932.C95EDC6047-YTr1IC4v7wD031Vs2vNS4j5RcGG8+4aCqyM6JfAXOaQ@public.gmane.org>
2016-05-26 16:05       ` Christophe Ricard
     [not found]   ` <20160526131932.30F57112056@b01ledav004.gho.pok.ibm.com>
2016-05-26 16:35     ` [tpmdd-devel] " Jarkko Sakkinen
     [not found]   ` <20160526122635.GA31557-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-05-26 13:19     ` Stefan Berger
2016-05-28  8:59     ` Peter Huewe
2016-05-30 18:36       ` Jarkko Sakkinen
     [not found] ` <1463610953-2766-1-git-send-email-christophe-h.ricard-qxv4g6HH51o@public.gmane.org>
2016-05-18 22:35   ` [PATCH v8 1/7] tpm: Add include guards in tpm.h Christophe Ricard
2016-05-18 22:35   ` [PATCH v8 5/7] devicetree: Add Trusted Computing Group to vendor-prefix.txt Christophe Ricard
     [not found]     ` <1463610953-2766-6-git-send-email-christophe-h.ricard-qxv4g6HH51o@public.gmane.org>
2016-05-23 21:22       ` Jarkko Sakkinen
2016-05-18 22:35   ` [PATCH v8 7/7] tpm/tpm_tis_spi: Add support for spi phy Christophe Ricard
2016-06-17 18:05   ` [PATCH v8 0/7] Rework of tpm_tis to share common logic across phy's (lpc/spi/-i2c-) Jarkko Sakkinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).