devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Zamansky <stimpy1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	andrew zamansky
	<andrew.zamansky-KrzQf0k3Iz9BDgjK7y7TUQ@public.gmane.org>,
	tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	gcwilson-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org,
	azamansk-KrzQf0k3Iz9BDgjK7y7TUQ@public.gmane.org,
	Dan.Morav-KrzQf0k3Iz9BDgjK7y7TUQ@public.gmane.org
Subject: Re: [PATCH 1/2] tpm: Factor out common startup code
Date: Sat, 25 Jun 2016 09:07:11 +0200	[thread overview]
Message-ID: <CADYxEtfgYqh-hrpz4WVRk3gUG+rFR+b-ue4u_ERpo8D-N_qaRA@mail.gmail.com> (raw)
In-Reply-To: <20160624181437.GB14506-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>


[-- Attachment #1.1: Type: text/plain, Size: 4914 bytes --]

i hope that i will be able to test it next week .

thanks,
andrew

On 24 June 2016 at 20:14, Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
wrote:

> On Wed, Jun 22, 2016 at 03:22:28PM +0300, Jarkko Sakkinen wrote:
> > The patch set used TPM2_OPS_PROBE_TPM2 only for nuvoton driver. The more
> > recent one used it incorrectly with tpm_tis.
>
> What do you think of this approach?
>
> https://github.com/jgunthorpe/linux/commits/for-andrew
>
> Andrew, does this work for you?
>
> From 73b0f273285ed512a259aa536968175fb14c3450 Mon Sep 17 00:00:00 2001
> From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
> Date: Fri, 24 Jun 2016 12:13:02 -0600
> Subject: [PATCH 2/2] tpm: Add TPM 2.0 support to the Nuvoton i2c driver
>  (NPCT6xx family)
>
> The command flow is exactly the same, the core simply needs to be
> told to enable TPM2 mode when the compatible string indicates a
> TPM2.
>
> Signed-off-by: Andrew Azmansky <andrew.zamansky-KrzQf0k3Iz9BDgjK7y7TUQ@public.gmane.org>
> Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
> Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> ---
>  Documentation/devicetree/bindings/i2c/trivial-devices.txt |  1 +
>  drivers/char/tpm/tpm_i2c_nuvoton.c                        | 13
> +++++++++++--
>  2 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt
> b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
> index 539874490492..d4f654276cf9 100644
> --- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt
> +++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
> @@ -62,6 +62,7 @@ national,lm80         Serial Interface ACPI-Compatible
> Microprocessor System Hardware M
>  national,lm85          Temperature sensor with integrated fan control
>  national,lm92          ±0.33°C Accurate, 12-Bit + Sign Temperature Sensor
> and Thermal Window Comparator with Two-Wire Interface
>  nuvoton,npct501                i2c trusted platform module (TPM)
> +nuvoton,npct601                i2c trusted platform module (TPM2)
>  nxp,pca9556            Octal SMBus and I2C registered interface
>  nxp,pca9557            8-bit I2C-bus and SMBus I/O port with reset
>  nxp,pcf8563            Real-time clock/calendar
> diff --git a/drivers/char/tpm/tpm_i2c_nuvoton.c
> b/drivers/char/tpm/tpm_i2c_nuvoton.c
> index b64effcf3235..2bb6ac9a2695 100644
> --- a/drivers/char/tpm/tpm_i2c_nuvoton.c
> +++ b/drivers/char/tpm/tpm_i2c_nuvoton.c
> @@ -1,5 +1,5 @@
>
>  /******************************************************************************
> - * Nuvoton TPM I2C Device Driver Interface for WPCT301/NPCT501,
> + * Nuvoton TPM I2C Device Driver Interface for WPCT301/NPCT501/NPCT6XX,
>   * based on the TCG TPM Interface Spec version 1.2.
>   * Specifications at www.trustedcomputinggroup.org
>   *
> @@ -31,6 +31,7 @@
>  #include <linux/interrupt.h>
>  #include <linux/wait.h>
>  #include <linux/i2c.h>
> +#include <linux/of_device.h>
>  #include "tpm.h"
>
>  /* I2C interface offsets */
> @@ -54,6 +55,8 @@
>
>  #define I2C_DRIVER_NAME "tpm_i2c_nuvoton"
>
> +#define OF_IS_TPM2 ((void *)1)
> +
>  struct priv_data {
>         unsigned int intrs;
>  };
> @@ -163,7 +166,7 @@ static int i2c_nuvoton_get_burstcount(struct
> i2c_client *client,
>  }
>
>  /*
> - * WPCT301/NPCT501 SINT# supports only dataAvail
> + * WPCT301/NPCT501/NPCT6XX SINT# supports only dataAvail
>   * any call to this function which is not waiting for dataAvail will
>   * set queue to NULL to avoid waiting for interrupt
>   */
> @@ -522,6 +525,7 @@ static int i2c_nuvoton_probe(struct i2c_client *client,
>         int rc;
>         struct tpm_chip *chip;
>         struct device *dev = &client->dev;
> +       const struct of_device_id *match;
>         u32 vid = 0;
>
>         rc = get_vid(client, &vid);
> @@ -535,6 +539,10 @@ static int i2c_nuvoton_probe(struct i2c_client
> *client,
>         if (IS_ERR(chip))
>                 return PTR_ERR(chip);
>
> +       match = of_match_device(dev->driver->of_device_id, dev);
> +       if (match && match->data == OF_IS_TPM2)
> +               chip->flags |= TPM_CHIP_FLAG_TPM2;
> +
>         chip->vendor.priv = devm_kzalloc(dev, sizeof(struct priv_data),
>                                          GFP_KERNEL);
>         if (!chip->vendor.priv)
> @@ -623,6 +631,7 @@ MODULE_DEVICE_TABLE(i2c, i2c_nuvoton_id);
>  static const struct of_device_id i2c_nuvoton_of_match[] = {
>         {.compatible = "nuvoton,npct501"},
>         {.compatible = "winbond,wpct301"},
> +       {.compatible = "nuvoton,npct601", .data = OF_IS_TPM2},
>         {},
>  };
>  MODULE_DEVICE_TABLE(of, i2c_nuvoton_of_match);
> --
> 2.1.4
>
>

[-- Attachment #1.2: Type: text/html, Size: 6306 bytes --]

[-- Attachment #2: Type: text/plain, Size: 422 bytes --]

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev

[-- Attachment #3: Type: text/plain, Size: 192 bytes --]

_______________________________________________
tpmdd-devel mailing list
tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/tpmdd-devel

  parent reply	other threads:[~2016-06-25  7:07 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-19  8:19 [PATCH 0/2] Add TPM 2.0 support to the Nuvoton i2c driver andrew zamansky
     [not found] ` <1466324401-5054-1-git-send-email-andrew.zamansky-KrzQf0k3Iz9BDgjK7y7TUQ@public.gmane.org>
2016-06-19  8:20   ` [PATCH 1/2] tpm: Factor out common startup code andrew zamansky
     [not found]     ` <1466324401-5054-2-git-send-email-andrew.zamansky-KrzQf0k3Iz9BDgjK7y7TUQ@public.gmane.org>
2016-06-19 12:39       ` Jarkko Sakkinen
     [not found]         ` <20160619123923.GA31053-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-06-20 21:07           ` Jason Gunthorpe
     [not found]             ` <20160620210757.GB11746-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-06-22 12:22               ` Jarkko Sakkinen
     [not found]                 ` <20160622122227.GA27577-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-06-22 21:37                   ` Jason Gunthorpe
2016-06-24 18:14                   ` Jason Gunthorpe
     [not found]                     ` <20160624181437.GB14506-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-06-24 20:17                       ` Jarkko Sakkinen
2016-06-25  7:07                       ` Andrew Zamansky [this message]
2016-06-19  8:20   ` [PATCH 2/2] tpm: Add TPM 2.0 support to the Nuvoton i2c driver (NPCT6xx family) andrew zamansky
     [not found]     ` <1466324401-5054-3-git-send-email-andrew.zamansky-KrzQf0k3Iz9BDgjK7y7TUQ@public.gmane.org>
2016-06-20 17:59       ` Rob Herring

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=CADYxEtfgYqh-hrpz4WVRk3gUG+rFR+b-ue4u_ERpo8D-N_qaRA@mail.gmail.com \
    --to=stimpy1-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=Dan.Morav-KrzQf0k3Iz9BDgjK7y7TUQ@public.gmane.org \
    --cc=andrew.zamansky-KrzQf0k3Iz9BDgjK7y7TUQ@public.gmane.org \
    --cc=azamansk-KrzQf0k3Iz9BDgjK7y7TUQ@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=gcwilson-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
    --cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
    --cc=tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /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).