linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: <amirmizi6@gmail.com>
To: <Eyal.Cohen@nuvoton.com>, <jarkko.sakkinen@linux.intel.com>,
	<oshrialkoby85@gmail.com>, <alexander.steffen@infineon.com>,
	<robh+dt@kernel.org>, <mark.rutland@arm.com>, <peterhuewe@gmx.de>,
	<jgg@ziepe.ca>, <arnd@arndb.de>, <gregkh@linuxfoundation.org>
Cc: <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-integrity@vger.kernel.org>, <oshri.alkoby@nuvoton.com>,
	<tmaimon77@gmail.com>, <gcwilson@us.ibm.com>,
	<kgoldman@us.ibm.com>, <Dan.Morav@nuvoton.com>,
	<oren.tanami@nuvoton.com>, <shmulik.hager@nuvoton.com>,
	<amir.mizinski@nuvoton.com>, Amir Mizinski <amirmizi6@gmail.com>
Subject: [PATCH v4 0/7] Add tpm i2c ptp driver
Date: Tue, 31 Mar 2020 14:32:00 +0300	[thread overview]
Message-ID: <20200331113207.107080-1-amirmizi6@gmail.com> (raw)

From: Amir Mizinski <amirmizi6@gmail.com>

This patch set adds support for TPM devices that implement the I2C.
Interface defined by TCG PTP specification:
https://trustedcomputinggroup.org/wp-content/uploads/TCG_PC_Client_Platform_TPM_Profile_PTP_2.0_r1.03_v22.pdf

The driver was tested on Raspberry-Pie 3, using Nuvoton NPCT75X TPM.

Interrupts are not implemented yet, preparing it for the next patch.
This patch is based on initial work by oshri Alkoby, Alexander Steffen and Christophe Ricard

Changes since version 1:
-"char:tpm:Add check_data handle to tpm_tis_phy_ops in order to check data integrity"
        - Fixed and extended commit description.
        - Fixed an issue regarding handling max retries.
-"dt-bindings: tpm: Add YAML schema for TPM TIS I2C options":
        -Converted "tpm_tis_i2c.txt" to "tpm-tis-i2c.yaml".
        - Renamed "tpm_tis-i2c" to "tpm-tis-i2c".
        - Removed interrupts properties.
-"char: tpm: add tpm_tis_i2c driver"
        - Replaced "tpm_tis-i2c" with "tpm-tis-i2c" in "tpm_tis_i2c.c".
Addressed comments from:
 - Jarkko Sakkinen: https://patchwork.kernel.org/patch/11236257/
 - Rob Herring: https://patchwork.kernel.org/patch/11236253/

Changes since version 2:
- Added 2 new commits with improvements suggested by Benoit Houyere.
        -"Fix expected bit handling  and send all bytes in one shot without last byte in exception"
        -"Handle an exeption for TPM Firmware Update mode."
- Updated patch to latest v5.5
-"dt-bindings: tpm: Add YAML schema for TPM TIS I2C options"
        - Added "interrupts" and "crc-checksum" to properties.
        - Updated binding description and commit info.
-"char: tpm: add tpm_tis_i2c driver" (suggested by Benoit Houyere)
        - Added repeat I2C frame after NACK.
        - Checksum I2C feature activation in DTS file configuration.
Addressed comments from:
 - Rob Herring: https://lore.kernel.org/patchwork/patch/1161287/

Changes since version 3:
- Updated patch to latest v5.6
- Updated commits headlines and development credit format by Jarkko Sakkinen suggestion
-"tpm: tpm_tis: Make implementation of read16 read32 write32 optional"
        - Updated commit description.
-"dt-bindings: tpm: Add YAML schema for TPM TIS I2C options"
        - Fixed 'make dt_binding_check' errors on YAML file.
        - Removed interrupts from required and examples since there is no use for them in current patch.
Addressed comments from:
 - Jarkko Sakkinen: https://lore.kernel.org/patchwork/patch/1192101/
 - Rob Herring: https://lore.kernel.org/patchwork/patch/1192099/

Amir Mizinski (7):
  tpm: tpm_tis: Make implementation of read16 read32 write32 optional
  tpm: tpm_tis: Add check_data handle to tpm_tis_phy_ops      in order
    to check data integrity
  tpm: tpm_tis: rewrite "tpm_tis_req_canceled()"
  tpm: tpm_tis: Fix expected bit handling and send all bytes in one shot
    without last byte in exception
  tpm: Handle an exception for TPM Firmware Update mode.
  dt-bindings: tpm: Add YAML schema for TPM TIS I2C options
  tpm: tpm_tis: add tpm_tis_i2c driver

 .../bindings/security/tpm/tpm-tis-i2c.yaml         |  43 +++
 drivers/char/tpm/Kconfig                           |  12 +
 drivers/char/tpm/Makefile                          |   1 +
 drivers/char/tpm/tpm2-cmd.c                        |   4 +
 drivers/char/tpm/tpm_tis_core.c                    | 182 ++++++-------
 drivers/char/tpm/tpm_tis_core.h                    |  41 ++-
 drivers/char/tpm/tpm_tis_i2c.c                     | 292 +++++++++++++++++++++
 drivers/char/tpm/tpm_tis_spi_main.c                |  41 ---
 include/linux/tpm.h                                |   1 +
 9 files changed, 482 insertions(+), 135 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm-tis-i2c.yaml
 create mode 100644 drivers/char/tpm/tpm_tis_i2c.c

--
2.7.4



===========================================================================================
The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.

             reply	other threads:[~2020-03-31 11:46 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-31 11:32 amirmizi6 [this message]
2020-03-31 11:32 ` [PATCH v4 1/7] tpm: tpm_tis: Make implementation of read16 read32 write32 optional amirmizi6
2020-03-31 12:04   ` Jarkko Sakkinen
2020-03-31 11:32 ` [PATCH v4 2/7] tpm: tpm_tis: Add check_data handle to tpm_tis_phy_ops in order to check data integrity amirmizi6
2020-04-01  8:20   ` Jarkko Sakkinen
2020-04-01 20:18     ` Benoit HOUYERE
     [not found]     ` <CAMHTsUUvStPHNL-W7vtjGrtehQx22jUZbN8kLib4h+JWH3p7_w@mail.gmail.com>
2020-04-02 20:17       ` Jarkko Sakkinen
2020-03-31 11:32 ` [PATCH v4 3/7] tpm: tpm_tis: rewrite "tpm_tis_req_canceled()" amirmizi6
2020-03-31 12:13   ` Jarkko Sakkinen
2020-03-31 13:52     ` Ken Goldman
2020-03-31 11:32 ` [PATCH v4 4/7] tpm: tpm_tis: Fix expected bit handling and send all bytes in one shot without last byte in exception amirmizi6
2020-03-31 12:17   ` Jarkko Sakkinen
2020-03-31 21:34     ` Benoit HOUYERE
2020-04-01  8:34       ` Jarkko Sakkinen
2020-03-31 11:32 ` [PATCH v4 5/7] tpm: Handle an exception for TPM Firmware Update mode amirmizi6
2020-03-31 11:32 ` [PATCH v4 6/7] dt-bindings: tpm: Add YAML schema for TPM TIS I2C options amirmizi6
2020-03-31 16:31   ` Rob Herring
2020-03-31 11:32 ` [PATCH v4 7/7] tpm: tpm_tis: add tpm_tis_i2c driver amirmizi6
2020-03-31 12:20   ` Jarkko Sakkinen
2020-03-31 15:38   ` Randy Dunlap

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200331113207.107080-1-amirmizi6@gmail.com \
    --to=amirmizi6@gmail.com \
    --cc=Dan.Morav@nuvoton.com \
    --cc=Eyal.Cohen@nuvoton.com \
    --cc=alexander.steffen@infineon.com \
    --cc=amir.mizinski@nuvoton.com \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=gcwilson@us.ibm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jarkko.sakkinen@linux.intel.com \
    --cc=jgg@ziepe.ca \
    --cc=kgoldman@us.ibm.com \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=oren.tanami@nuvoton.com \
    --cc=oshri.alkoby@nuvoton.com \
    --cc=oshrialkoby85@gmail.com \
    --cc=peterhuewe@gmx.de \
    --cc=robh+dt@kernel.org \
    --cc=shmulik.hager@nuvoton.com \
    --cc=tmaimon77@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).