Raspberry Pi 4/CM4 SPI-3 SLM9670 Communication failure

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Ruberg
Level 1
Level 1
First question asked Welcome!

Good day.

I have the OPTIGA SLM9670 Iridium evaluation board, which can be used with a Raspberry Pi 4.
My client has requested that we need to build a CM4 carrier board, with the TPM included.
I have designed the board, for using the TPM on SPI-3.
While the driver picks up the TPM, the TPM then withholds communication, and the driver thinks it is a v1.2 TPM, not a 2.0 TPM.

dmesg:
[ 6.387233] tpm_tis_status+0xec/0xf4 [tpm_tis_core]
[ 6.387262] wait_for_tpm_stat+0x5c/0x224 [tpm_tis_core]
[ 6.387279] tpm_tis_send_data+0x98/0x2a0 [tpm_tis_core]
[ 6.387294] tpm_tis_send_main+0x3c/0x120 [tpm_tis_core]
[ 6.387309] tpm_tis_send+0x54/0xe4 [tpm_tis_core]
[ 6.387460] tpm_tis_core_init+0x28c/0x5e4 [tpm_tis_core]
[ 6.387477] tpm_tis_spi_probe+0xa4/0xc4 [tpm_tis_spi]
[ 6.387498] tpm_tis_spi_driver_probe+0x40/0x70 [tpm_tis_spi]
[ 7.175807] tpm_tis_spi spi3.1: 1.2 TPM (device-id 0x1B, rev-id 255)
[ 8.184064] tpm_tis_spi: probe of spi3.1 failed with error -62

It is not a SPI/GPIO line misconfiguration, this happens, irrespective of pullup/pulldown.
This TPM works with the SPI-1, and enumerates on the system as /dev/tpm0 and /dev/tpmrm0

0 Likes
1 Solution
Sneha_P
Moderator
Moderator
Moderator
50 likes received 250 replies posted 250 sign-ins

Hi @Ruberg,

TPM SLM9670 only supports SPI mode 0 (datasheet for your reference). Please also refer to the TCG Spec for TPM to understand the SPI bit protocol implementation (section 7.4.6).
For SPI Mode 0: clock polarity is active high, input data on the rising edge and output data on the falling edge. 

View solution in original post

0 Likes
2 Replies
Sneha_P
Moderator
Moderator
Moderator
50 likes received 250 replies posted 250 sign-ins

Hi @Ruberg,

TPM SLM9670 only supports SPI mode 0 (datasheet for your reference). Please also refer to the TCG Spec for TPM to understand the SPI bit protocol implementation (section 7.4.6).
For SPI Mode 0: clock polarity is active high, input data on the rising edge and output data on the falling edge. 

0 Likes
Sneha_P
Moderator
Moderator
Moderator
50 likes received 250 replies posted 250 sign-ins

Hi @Ruberg 

Please let us know if your query was resolved.

We will lock the thread in 3 days. In case your problem is not resolved, please create a new thread and we will be happy to help. 

0 Likes