TPM SPI issue

Sean Anderson seanga2 at gmail.com
Thu Nov 30 15:48:30 CET 2023


Hi Niek,

On 11/29/23 18:58, niek.nooijens at omron.com wrote:
> Hi Fabio
> 
> I'm using the socfpga_cyclone5 with the designwire_spi driver.
> I added the TPM to the devicetree as so:
> &spi0 {
>       status = "okay";
>       num-cs = <2>;
>       mram0 at 0 {
>             compatible = "spi-dev";
>             reg = <0>;
>             spi-max-frequency = <1000000>;
>       };
>       tpm at 1 { // slm9670 - U144
>             compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
>             reg = <1>;
>             spi-max-frequency = <1000000>;
>       };
> };

The DW SPI device does not support holding the CS low between separate reads/writes.
The easiest fix is to use a GPIO CS. However, you can also rewrite the SPI slave
driver to use mem_ops, which will ensure that the CS stays high for a transaction.
However, this may not be possible for all slaves. For more info, have a look at
commit fec7bf0460d ("spi: dw: Add mem_ops").

--Sean

> NIek
> ________________________________
> 差出人: Fabio Estevam <festevam at gmail.com>
> 送信日時: 2023年11月29日 22:17
> 宛先: Niek Nooijens / OC-IAB PBD-C DEVEL 1-1 <niek.nooijens at omron.com>
> CC: u-boot at lists.denx.de <u-boot at lists.denx.de>
> 件名: Re: TPM SPI issue
> 
> [festevam at gmail.com からのメールを受け取る頻度は高くありません。これが問題である可能性の理由については、https://aka.ms/LearnAboutSenderIdentification をご覧ください。]
> 
> Hi Niek,
> 
> On Wed, Nov 29, 2023 at 9:51 AM niek.nooijens at omron.com
> <niek.nooijens at omron.com> wrote:
>>
>> Hi there
>>
>> I have the same issue as here:
>> https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcommunity.infineon.com%2Ft5%2FOPTIGA-TPM%2FI-MX8-TPM-SLB9670-SPI-Com-Error%2Ftd-p%2F472533&data=05%7C01%7Cniek.nooijens%40omron.com%7C0ed9342c6f4e4d14dbbe08dbf0dd80b5%7C0ecff5a94bef4a7b96eca96579b4ac37%7C0%7C0%7C638368606354451409%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=D3f09RUX4i0EcgQiUC4rv3y1VP3A5Ka3ozAR8dXden8%3D&reserved=0<https://community.infineon.com/t5/OPTIGA-TPM/I-MX8-TPM-SLB9670-SPI-Com-Error/td-p/472533>
>>
>> apparently the CS is released in between responses. Can you help me solve this?
> 
> Which SoC are you using?
> 
> In case you are using drivers/spi/mxc_spi.c, there was a commit in the
> kernel driver that
> allowed to put the CS line in low when idle:
> 
> https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.kernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Fstable%2Flinux.git%2Fcommit%2F%3Fh%3Dv6.6.3%26id%3D6a983ff5102ff0d859df05ca3f5cf2f6a17c0fad&data=05%7C01%7Cniek.nooijens%40omron.com%7C0ed9342c6f4e4d14dbbe08dbf0dd80b5%7C0ecff5a94bef4a7b96eca96579b4ac37%7C0%7C0%7C638368606354458890%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Q3feQjDcyArxhwoehGB3D%2Fwnq0phPPs3pb8jdmkdaSg%3D&reserved=0<https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.3&id=6a983ff5102ff0d859df05ca3f5cf2f6a17c0fad>



More information about the U-Boot mailing list