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.

[参考译文] SK-AM68:在 RPI 接头中启用 SPI 后、测试 SPI 无响应

Guru**** 2474690 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1459822/sk-am68-no-response-from-testing-spi-after-enabling-it-in-the-rpi-header

器件型号:SK-AM68
主题中讨论的其他器件:SysConfig

工具与软件:

我已在 RPI 接头中启用 MCU SPI 1接口、但在测试期间未收到响应。 这里是我的设备树、配置中有任何错误?

&wkup_pmx2 {
	mcu_spi1_pins_default: mcu_spi1-default-pins {
        pinctrl-single,pins = <
            J721S2_WKUP_IOPAD(0x058, PIN_OUTPUT, 7) /* (D26) WKUP_GPIO0_0.MCU_SPI1_CLK */
            J721S2_WKUP_IOPAD(0x064, PIN_OUTPUT, 7) /* (C27) WKUP_GPIO0_3.MCU_SPI1_CS0 */
            J721S2_WKUP_IOPAD(0x05c, PIN_OUTPUT, 7) /* (E24) WKUP_GPIO0_1.MCU_SPI1_D0 */
            J721S2_WKUP_IOPAD(0x060, PIN_INPUT, 7) /* (C28) WKUP_GPIO0_2.MCU_SPI1_D1 */
        >;
    };
};

&mcu_spi1 {
        pinctrl-names = "default";
        pinctrl-0 = <&mcu_spi1_pins_default>;
        status = "okay";

        spidev@0 {
                spi-max-frequency = <2000000>;
                reg = <0>;
                compatible = "linux,spidev";
        };
};

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

    尊敬的 Faheem:

    以下几点:

    • 您是否也能发送完整的引导日志?  
    • 这是在9.2 SDK 上吗? 如果这是10.0 SDK、我记得内核驱动程序中可能需要进行了额外更改、我可以向您指出这些更改。  
    • 行为 spidev 设备未在/dev/下 创建、还是创建了 spidev 设备、但在使用分析器进行探测时未发生传输、还是出现了不同的行为? 根据行为,我有几个不同的假设。

    此致、

    Takuma

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

    尊敬的 Faheem:

    它可能与引脚方向相关。 您是否可以尝试在器件树中添加此 E2E 主题中提到的标志: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1408960/tda4vm-mcu_spi0-under-linux/5398774#5398774

    此致、

    Takuma

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

    你好、Takuma、
    添加标志后、我可以查看来自 MOSI 引脚的信号流、但在进行环回测试时仍然没有从 MISO 引脚接收到任何响应。 此外、在器件树中添加 SPI 节点后、也无法访问 RPIO 接头。

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



    这是我得到的。

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

    尊敬的 Faheem:

    对于 RPIO 标头、我认为存在资源冲突。

    您能否在此处查看覆盖文件: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am68-sk-rpi-hdr-ehrpwm.dtso?h=ti-linux-6.1.y

    基础板文件位于: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts?h=ti-linux-6.1.y 

    和与针对 SPI 完成的额外引脚多路复用进行比较、看看与进行多路复用的引脚是否存在任何重叠?

    我假设 SPI 控制某些引脚、这会由于资源冲突而使 GPIO 初始化失败。 我在原始引导日志中看到"pinctrl-single 4301c068.pinctrl:引脚 PIN23已由403600.spi 请求;无法声明4211000.gpio"。

    从日志来看、SPI 似乎控制引脚、因此 SPI 应能正常工作。 但是、应该首先解决此冲突、以防这也影响 SPI 环回测试。  

    此外、我再次在原来的帖子中查看了器件树片段、并注意到引脚复用为7。 我建议使用 SysConfig 并添加 MCU_SPI 器件来重新生成引脚多路复用。 它应创建不同于7的引脚多路复用。

    此致、

    Takuma

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

    你好、Takuma、


    我已经更正了配置、这是逻辑分析仪的输出。 我认为它按预期工作。 您能否确认这一点?

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

    尊敬的 Faheem:

    看起来数据是在 MOSI 和 MISO 上看到的。 时钟似乎也是通过活动生成的、因此看起来它按预期工作。

    此致、

    Takuma