Hi Jarkko and Alexander,

We have made an additional code review on the TPM TIS core driver, it looks 
quite good and we can connect our new I2C driver to this layer.
However, there are several differences between the SPI interface and the I2C 
interface that will require changes to the TIS core.
At a minimum we thought of:
1. Handling TPM Localities in I2C is different
2. Handling I2C CRC - relevant only to I2C bus hence not supported today by TIS 
core
3. Handling Chip specific issues, since I2C implementation might be slightly 
different across the various TPM vendors
4. Modify tpm_tis_send_data and tpm_tis_recv_data to work according the TCG 
Device Driver Guide (optimization on TPM_STS access and send/recv retry)
Besides this, during development we might encounter additional differences 
between SPI and I2C.

We currently target to allocate an eng. to work on this on the second half of 
August with a goal to have the driver ready for the next kernel merge window.

Regards,
Eyal.

-----Original Message-----
From: Jarkko Sakkinen <[email protected]>
Sent: Monday, July 15, 2019 12:46 PM
To: Tomer Maimon <[email protected]>
Cc: Oshri Alkobi <[email protected]>; Alexander Steffen 
<[email protected]>; Rob Herring <[email protected]>; Mark 
Rutland <[email protected]>; [email protected]; [email protected]; Arnd Bergmann 
<[email protected]>; Greg KH <[email protected]>; IS20 Oshri Alkoby 
<[email protected]>; devicetree <[email protected]>; AP MS30 
Linux Kernel community <[email protected]>; 
[email protected]; [email protected]; [email protected]; 
[email protected]; IS30 Dan Morav <[email protected]>; IS20 Eyal 
Cohen <[email protected]>
Subject: Re: [PATCH v2 0/2] char: tpm: add new driver for tpm i2c ptp

On Mon, Jul 15, 2019 at 11:08:47AM +0300, Tomer Maimon wrote:
>    Thanks for your feedback and sorry for the late response.
>
>    Due to the amount of work required to handle this technical feedback and
>    project constraints we need to put this task on hold for the near future.
>
>    In the meantime, anyone from the community is welcome to take over this
>    code and handle the re-design for the benefit of the entire TPM community.

Ok, so there is already driver for this called tpm_tis_core.

So you go and create a new module, whose name given the framework of things 
that we already have deployed, is destined to be tpm_tis_i2c.

Then you roughly implement a new physical layer by using  a callback interface 
provided to you by tpm_tis_core.

The so called re-design was already addressed by Alexander [1].

How hard can it be seriously?

[1] 
https://urldefense.proofpoint.com/v2/url?u=https-3A__lkml.org_lkml_2019_7_4_331&d=DwIBAg&c=ue8mO8zgC4VZ4q_aNVKt8G9MC01UFDmisvMR1k-EoDM&r=hjzIxEsS8wf3Ezr__r0ZOjw3kki8jIlQK-SQ5pWhXaM&m=aYs86sTFmxqvlI5rE2AWLGRl0lb9XRuiRKVtsCaXdRM&s=_3MMoq5UISFwMfK4OfgLbA2kMfZVgEfgkaWKqDEUXGw&e=

/Jarkko


===========================================================================================
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.

<<attachment: winmail.dat>>

Reply via email to