This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Processor-SDK-AM64X:AM64X TPM SLB9670

Guru**** 2550180 points
Other Parts Discussed in Thread: AM3352

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1092026/processor-sdk-am64x-am64x-tpm-slb9670

部件号:processor-SDK-AM64X
主题中讨论的其他部件:AM3352

您好,

我们希望将Infineon的SPI TPM v 2.0 设备(SLB9670)包含在Yocto版本中。

我们已修补内核配置:

+CONFIG_HW_RANTO_TIMERIOMEM=y
+CONFIG_HW_RANDOM TPM=y
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS_CORE = y
+CONFIG_TCG_TIS_SPI=y
未设置+# CONFIG_SECURITYFS
+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

已修补设备树:

-- A/arch/ARM64/boot/DTS/ti/K3-am642-EVM-DTS
++ b/arch/ARM64/boot/DTS/ti/K3-am642-EVM-DTS
索引c797f5a..7cb673a 10.0644万
@@-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{
+      兼容=" Infineon,SLB9670";
+      reg =<1>;
+      SPI-max-frequency =<2400万>;
+   };
 };

来自TPM模块的CS连接到SOC_SPI1_CS1。

可在以下位置找到该设备:

root@am64xx-EVM:~# ls -l /sys/bus/spi/devices 1.1 40//
共计0
-rw-r--r--   1根    根6.5536万        8月 4 15:19 DRIVER_OVERRIDE
-r--r--r--   1根    根6.5536万        (8月 4日15:19 modalias)
lrwxrwxrwx   1 root    root            0 Aug4 15:19 of_node ->././././././././././firmware/devicexe/base/bus@f4000/SPI@20.1万/TPM_SLB9670@9670@1.
drwxr-xr-x   2 root                0 Aug4:19 power
drwxr-xr-x   2 root                0 Aug4:19 统计信息
lrwxrwxrwx   1根    根            0 8月 4日15:10子系统->.//./././././././././bus/spi
-rw-r--r--   1根    6.5536万        8月 4 15:10 uevent

但不在/dev/TPM*下

您能帮我们找出问题吗?

此致,
Jonas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨,Jonas,

    感谢您的提问,我叫Andrew,我很乐意为您提供帮助。  我已将您的问题转达给团队,希望在接下来的1-2个工作日内得到回复。  在我研究这一问题时,我们是否应该考虑到你们这方面的任何最新情况/发展?

    此致,

    Andrew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Andrew,

    谢谢你。
    我焊接了93lc46b EEPROM,并将其更换为Infineon,SLB9670。
    遗憾的是,在/dev/TPM*下仍然找不到任何内容

    设备树现在如下所示:

       main_spi0_pins_default:main-spi0-pins_default {
          pinctrl-single,pins =<
             AM64X_IOPAD (0x0210,PIN_INPUT,0)/*(D13) SPI0_CLK *
             AM64X_IOPAD (0x0208,PIN_OUTPUT,0)/*(D12) SPI0_CS0 */
             AM64X_IOPAD (0x0214,PIN_OUTPUT,0)/*(A13) SPI0_D0 */
             AM64X_IOPAD (0x0218,PIN_INPUT,0)/*(A14) SPI0_d1 */
          >;
       };


    &MAIN_spi0{
       pinctrl-names ="default";
       pinctrl-0 =<&main_spi0_pins_default>;
       TI,windir-d0-out d1-in =<1>;
       TI,SPI-num-cs =<1>;
       TPM_SLB9670@0{
          /compatible ="Infineon,SLB9670";
          reg =<0>;
          SPI-max-frequency =<100万>;
       };
    };

    此致,

    Jonas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨,Jonas,

    团队的第一个回应是仔细检查您的所有联系,但当然,您似乎已经这样做了。  在这种情况下,您是否有任何方法可以独立验证外部TPM设备本身的功能? 希望确保不存在可能干扰集成的内部设备故障。

    在进一步调查后,我发现了此E2E线程,该线程调试了此TPM设备(SLB9670)的类似错误: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/93.2918万/am3352-u-boot-use-tpm2-0-via-spi1。3352。  虽然在这种情况下主机设备是AM3352,但我认为发布的答案仍然适用于此处。  您能否查看此主题,并告诉我这是否提供了任何澄清?

    此致,

    Andrew