NXP MCU 技术william hill官网
直播中

感谢相遇

9年用户 953经验值
擅长:嵌入式技术 制造/封装 控制/MCU
私信 关注
[问答]

如何在iMX8MM EVK中启用TPM支持?

我正在使用 iMX8MM EVK 和 TPM(Infineon SLB9670)。
首先,通过连接(MOSI 引脚到 MISO 引脚)检查 imx8mm 板本身用户空间中的 spi 环回测试,它工作正常。
如何将 TPM 与 imx8mm 板连接?
1.我想知道用 imx8mm 板启用 tpm2.0(optiga slb9670) 的可能方法是什么。
2. U-Boot 和内核是否有启用tpm 的能力?如果可能的话,我该如何进行?
3. 虽然我在内核 make menuconfig 中启用了 CONFIG_TCG_TPM = y 并将内容包含在内核设备树 imx8mm-evk.dts 中,如下所示,但它没有在内核空间中列出
&ecspi2 {
    #address-cells = <1>;
    #size-cells = <0>;
    fsl,spi-num-chipselects = <1>;
    pinctrl-名称=“默认”;
    pinctrl-0 = <&pinctrl_ecspi2 &pinctrl_ecspi2_cs>;
    cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
    状态=“好的”;
    spidev0: spi@0 {
        reg = <0>;
        兼容=“罗姆,dh2228fv”;
        spi-最大频率=<500000>;
    };
    tpm0: slb9670@0 {
        compatible="英飞凌, slb9670";
        注册 = <0>;
        重置 = <&tpm_reset>;
        spi-max-频率=<38000000>;
        中断父级 = <&gpio5
        中断 = ;
        状态=“好的”;
    };
};
这个dts文件配置对吗?
4. 为了连接 tpm 还需要执行其他步骤吗?

回帖(1)

杨海清

2023-9-28 09:26:25
启用TPM支持的步骤如下:

1. 连接TPM模块和imx8mm板。

2. 在U-Boot中启用TPM支持,可以通过在U-Boot的配置文件中,启用对应的选项来实现。

3. 在内核中启用TPM支持,在内核配置选项中启用CONFIG_TCG_TPM选项。

4. 在设备树中配置TPM,可以在设备树中添加对应的节点,例如:

&ecspi2 {
    #address-cells = <1>;
    #size-cells = <0>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_ecspi2>;
    cs-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>; /* TPM CS */
    status = "okay";

    tpm @0 {
        compatible = "infineon,slb9670";
        reg = <0>;
        interrupt-parent = <&gpio5>;
        interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
        reset-gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>;
        power-reset-duration-us = <45000>;
        status = "okay";
    };
};

5. 重新编译内核和设备树,并将其烧录到imx8mm板中。

6. 测试TPM支持,可以使用开源的tpm2-tools工具来测试。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分