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.

[参考译文] J721EXCPXEVM:psdk10 中的 MCU SPI1 和 TPM 配置

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1588552/j721excpxevm-mcu-spi1-and-tpm-config-in-psdk10

器件型号: J721EXCPXEVM

我们将 TPM 连接到 MCU SPI1、而 MCU SPI1 在使用 psdk7 时工作正常:
TPM_TIS_SPI spi2.0:2.0 TPM(设备 ID 0x1B、rev-id 22)
dts 和 dtsi 配置为:
&mcu_mcspi1{
    状态=“正常“;
    TPM_TIS@0{
        兼容=“TCG、TPM_TIS-SPI“;
        reg =<0>;
        SPI-max-frequency =< 4000000>;
        状态=“正常“;
    };
};
    mcu_mcspi1:spi@40310000{
        兼容=“ti、am654-mcspi“、“ti、OMAP4-mcspi“;
        REG =<0x0 0x40310000 0x0 0x400>;
        中断= ;
        Clocks =<&K3_CLKS 274 1>;
        电源域=<&K3_PDS 274 TI_SCI_PD_EXCLUSTED>;
        SPI1-linkdis;
        #address-cells =<1>;
        #size-cells =<0>;
    };
RESET 引脚处于 GPIO 模式、R5 将其设置为在早期阶段输出高电平。 我们侧没有引脚多路复用。
使用 psdk10 时、我们收到超时错误:
TPM_TIS_SPI:spi2.0 探测失败、错误为–110
我们保持与 arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi 相同
    MCU_SPI1:SPI@40310000{
        兼容=“ti、am654-mcspi“、“ti、OMAP4-mcspi“;
        REG =<0x00 0x040310000 0x00 0x400>;
        中断= ;
        #address-cells =<1>;
        #size-cells =<0>;
        电源域=<&K3_PDS 275 TI_SCI_PD_EXCLUSTE>;
        Clocks =<&K3_CLKS 275 0>;
        STATUS =“已禁用“;
    };
我们在自己的 dts 文件中配置节点:
&MCU_SPI1{
    pinctrl-names =“default";“;
    pinctrl-0 =<&MCU_SPI1_pins_default>;
    TI、spi-num-cs =<1>;
    状态=“正常“;
    tpm0:tpm_tis@0{
        兼容=“TCG、TPM_TIS-SPI“;
        reg =<0>;
        SPI-max-frequency =< 4000000>;
        状态=“正常“;
此外、在 wkup_pmx0 中配置 SPI 引脚多路复用:
            J721E_WKUP_IOPAD (0xb0、PIN_OUTPUT、0)
            J721E_WKUP_IOPAD (0xbc、PIN_OUTPUT_PULLUP、0)
            J721E_WKUP_IOPAD (0xb4、PIN_INPUT_PULLUP、0)
            J721E_WKUP_IOPAD (0xb8、PIN_OUTPUT、0)
RESET 引脚(在 MAIN 域中)配置为 GPIO、也将其设置为输出高电平。 我还删除了 wkupgpio0 到 3 的所有 GPIO 配置、  并通过 CONFIG 4 SPI 引脚验证为 GPIO 模式、我可以使用 GPIO 命令设置为高电平和低电平、以确保没有人保持这些引脚。
在加载子之前、我测量了 Cs、rst、VDD 均为 3.3V。 但是、无论添加 tpm0 节点还是使用 spidev 节点、我都没有看到任何 RX、但我确实可以看到捕获的数据。
我尝试使用较低的频率和不同的模式、没有什么帮助。 我还尝试添加 SPI1-linkdis、仍然没有 RX、捕获波也是相同的。
我附上了 TPM 的示意图、并在启用 TPM 节点后进行捕获。 蓝色是 cs、紫色是时钟、绿色是数据、SDS00012.bmp 是 mosi 数据、SDS00015.bmp 是 MISO 数据。(我上载 bmp 文件有问题,我将尝试压缩它并在下一条消息中进行更新。)
我尝试在驱动程序中打印出 Rx 缓冲区内容、它也是零。 我不确定是否使用 config 注册有问题?  
tpm.pngtpm_to_u1.png

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

    e2e.ti.com/.../7317.capture.zip
    请参阅 zip 文件以获取从示波器进行的捕获。
    谢谢、
    Mandy

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

    您好:

    首先检查 MCU_SPI1 是否已启用 k3conf  

    “k3conf 转储设备 275“

    此外、还对 40F0 4060h 寄存器进行存储器读取  

    此致

    Tarun Mukesh

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

    root@aptiv-EP2000:~#./k3conf dump device 275.
    ---------------------------------------------------------------------------------------- |
    | VERSION INFO |
    ---------------------------------------------------------------------------------------- |
    | K3CONF |(版本 v0.3-99-gcba7dc1 构建于 2025 年 11 月 18 日星期二 14:15:53 UTC)|
    | SoC | J721E SR1.1 |
    | SoC 标识符|[0x1317be2a] fam:0x00000004 base:0x000002f7 |
    | DIE-ID |[0] 0x46A60001 [1] 0x010002 [2] 0x0800fa70 [3] 0x1400b012 |
    | SYSFW | ABI:4.0(固件版本 0x000a '10.0.8--v10.00.08 (Fiery Fox))|
    |固件功能| 0x1:Gen |
    ---------------------------------------------------------------------------------------- |

    ---------------------------------------------------- |
    |设备 ID |设备名称|设备状态|
    ---------------------------------------------------- |
    | 275 | J721E_DEV_MCU_MCSPI1 | device_State_on |
    ---------------------------------------------------- |

    root@aptiv-EP2000:~# devmem2 0x40F04060
    /dev/mem 已打开。
    存储器映射到地址 0xff7fa85000。
    读取地址 0x40F04060 (0xff7fa85060):0x00000000

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

    您好:

    是模块已启用。 但是、您的 MCU_SPI1 会根据值  0x40F04060 作为从器件连接到 SPI3  

    必须写入 1、避免成为从器件。

    此致

    Tarun Mukesh

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

    Tarun、

    谢谢、设置此寄存器后、TPM 工作正常。 这解决了我的问题。 请关闭 TT。
    此致、
    Mandy