Other Parts Discussed in Thread: AM3352
Hi,
We want to include the spi TPM v2.0 device from Infineon (slb9670) in our yocto build.
We've patched the kernel config:
+CONFIG_HW_RANDOM_TIMERIOMEM=y
+CONFIG_HW_RANDOM_TPM=y
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS_CORE=y
+CONFIG_TCG_TIS_SPI=y
+# CONFIG_SECURITYFS is not set
+CONFIG_TCG_TIS=y
+CONFIG_TCG_TIS_I2C_ATMEL=n
+CONFIG_TCG_TIS_I2C_INFINEON=n
+CONFIG_TCG_TIS_I2C_NUVOTON=n
+CONFIG_TCG_ATMEL=n
+CONFIG_TCG_VTPM_PROXY=n
+CONFIG_TCG_TIS_ST33ZP24_I2C=n
+CONFIG_TCG_TIS_ST33ZP24_SPI=y
+CONFIG_TRUSTED_KEYS=y
Patched the device tree:
--- a/arch/arm64/boot/dts/ti/k3-am642-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
index c797f5a..7cb673a 100644
@@ -339,6 +339,7 @@
pinctrl-single,pins = <
AM64X_IOPAD(0x0210, PIN_INPUT, 0) /* (D13) SPI0_CLK */
AM64X_IOPAD(0x0208, PIN_OUTPUT, 0) /* (D12) SPI0_CS0 */
+ AM64X_IOPAD(0x020c, PIN_OUTPUT, 0) /* (C6) SPI0_CS1 */
AM64X_IOPAD(0x0214, PIN_OUTPUT, 0) /* (A13) SPI0_D0 */
AM64X_IOPAD(0x0218, PIN_INPUT, 0) /* (A14) SPI0_D1 */
>;
@@ -567,6 +568,11 @@
spi-cs-high;
data-size = <16>;
};
+ tpm_slb9670@1{
+ compatible = "infineon, slb9670";
+ reg = <1>;
+ spi-max-frequency = <24000000>;
+ };
};
The CS from the TPM Module is connected to SOC_SPI1_CS1.
The device can be found here:
root@am64xx-evm:~# ls -l /sys/bus/spi/devices/spi1.1/
total 0
-rw-r--r-- 1 root root 65536 Aug 4 15:19 driver_override
-r--r--r-- 1 root root 65536 Aug 4 15:19 modalias
lrwxrwxrwx 1 root root 0 Aug 4 15:19 of_node -> ../../../../../../../firmware/devicetree/base/bus@f4000/spi@20100000/tpm_slb9670@1
drwxr-xr-x 2 root root 0 Aug 4 15:19 power
drwxr-xr-x 2 root root 0 Aug 4 15:19 statistics
lrwxrwxrwx 1 root root 0 Aug 4 15:10 subsystem -> ../../../../../../../bus/spi
-rw-r--r-- 1 root root 65536 Aug 4 15:10 uevent
But not under /dev/tpm*
Could you please help us to find what is wrong?
Regards,
Jonas