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.

[参考译文] TDA4VL-Q1:在 J721S2XSOMG01EVM 上使用 spidev 和 spidev_test 的 SPI 测试

Guru**** 2487425 points
Other Parts Discussed in Thread: TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1438231/tda4vl-q1-spi-test-using-spidev-and-spidev_test-on-j721s2xsomg01evm

器件型号:TDA4VL-Q1
主题中讨论的其他器件:TDA4VL、TDA4VM

工具与软件:

如标题所述、我使用的是 J721S2XSOMG01EVM。 我已经按照" TDA4系列的 SPI 启用和验证"(文档 SPRAD26)中概述的步骤操作、但在 sysfs 中看不到 SPI 器件。 此文档并非为此平台明确编写、我不确定缺少什么内容。

以下 是我在构建 Linux 并将其安装到我要从中引导的 SD 卡上之前所做的更改。 最后是有关 SPI 外设实例的过程输出。

如果需要、我很乐意提供更多信息。 同时,一些可能的解决方案或去看的地方的方向将是令人难以置信的赞赏。


diff -- git a/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts b/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
索引1264c2d86..32eb6bf38 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
++ b/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
@@-160、6 + 160、18 @@ DP0_CONNECTOR_IN:端点{
};
};
};
+
+ spi6_pins_default:spi6_pins_default{
+ pinctrl-single、pins =<
+ J721S2_IOPAD (0x0C4、PIN_INPUT、8)/*(AB26) SPI6_D0 */
+ J721S2_IOPAD (0x030、PIN_INPUT、8)/*(T26) SPI6_CLK */
+ J721S2_IOPAD (0x078、PIN_INPUT、8)/*(Y25) SPI6_CS1 */
+ J721S2_IOPAD (0x074、PIN_INPUT、8)/*(R28) SPI6_D1 */
+ J721S2_IOPAD (0x080、PIN_INPUT、8)/*(U26) SPI6_CS2 */
+ J721S2_IOPAD (0x084、PIN_INPUT、8)/*(AA28) SPI6_CS3 */
+ J721S2_IOPAD (0x034、PIN_INPUT、8)/*(AD24) SPI6_CS0 */
+>;
+};
};

&MAIN_i2c4{
@@-781、3 + 793、14 @@ K3_TS_OFFSET (25、17)
>;
};
};
+
+&main_spi6{
+ pinctrl-names ="默认值";
+ pinctrl-0 = ;
+状态="正常";
+ spidev@0{
+ spi-max-Frequency =<24000000>;
+ reg =<0>;
+ compatible ="linux,spidev";
+};
+};


diff -- git a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
索引7b844a8f0..9bd943326 100644
---a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
++ b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
@@-1867、7 +1867、7 @@ MAIN_spi6:spi@2160000{
#size-cells =<0>;
电源域=<&K3_PDS 345 TI_SCI_PD_Exclusive>;
时钟=<&K3_CLKS 345 1>;
- status ="已禁用";
+// status ="禁用";
};

MAIN_spi7:spi@2170000{


diff -- git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
指数 f8047c965..8508ecf2b 100644.
-- a/arch/arm64/configs/defconfig
++ b/arch/arm64/configs/defconfig
@@-579,7+579,7 @@ CONFIG_SPI_Meson_SPICC=m
CONFIG_SPI_MESON_SPIFC=m
CONFIG_SPI_MT65XX=y
CONFIG_SPI_MTK_NOR=m
-config_SPI_OMAP24xx=m
+CONFIG_SPI_OMAP24xx=y
CONFIG_SPI_ORION=y
CONFIG_SPI_PL022=y
CONFIG_SPI_Rockchip=y
@@-595、7 +595、7 @@ CONFIG_SPI_SH_MSIOF=m
CONFIG_SPI_SUN6I=y
CONFIG_SPI_TEGRA210_QUAD=m
CONFIG_SPI_TEGRA114=m
-config_SPI_SPIDEV=m
+CONFIG_SPI_SPIDEV=y
CONFIG_SPI_SLAVE=y
CONFIG_SPMI=y
CONFIG_SPMI_MTK_PMIF=m


root@j721s2-EVM:~# cat /proc/device-tree/bus@100000/SPI@2160000/status
已禁用 root@j721s2-EVM:~#

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

    布莱恩特、您好!

    它使用的是哪个 SDK 版本? 我最近为使用6.6 Linux 内核的最新10.0 SDK 制作了一个补丁。

    它适用于 TDA4VM 而不是 TDA4VL、但您可以尝试在下面的主题中引用此补丁: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1436992/tda4vm-q1-j721e

    此致、

    Takuma

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

    你好、Takuma、

    很抱歉遗漏了 SDK 版本。 我使用的是10.0.0.8。

    我应用了你上面提到的补丁,但它没有产生明显的差异。 我已经将启动日志附加到附件中、以防对您有所帮助。

    此致!

    布莱恩特

    e2e.ti.com/.../spi6_5F00_init_5F00_log.txt

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

    布莱恩特、您好!

    我怀疑从 TDA4VM 到 TDA4VL 可能发生了一些移植错误。  

    我已经为 spi6修改了 TDA4VL EVM 板的补丁、因此请尝试一下这个补丁:

    e2e.ti.com/.../0001_2D00_J721S2_2D00_TDA4VL_2D00_10.0_2D00_SDK_2D00_enable_2D00_spi6.patch

    我在 spidev_probe 中放入了调试打印文件、以便您可以通过执行类似"dmesg | grep debug"的操作来确认此驱动程序是否已正确探测。

    此致、

    Takuma

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

    你好、Takuma、

    感谢您提供额外的补丁。 不幸的是、它没有纠正我的问题。  我将 printk 添加到 spidev 驱动程序、但在我附上的初始化日志中看不到它。 如果我可以提供更多信息来帮助完成此过程、请告诉我。

    此致!

    布莱恩特

    e2e.ti.com/.../spi6_5F00_init_5F00_log2.txt

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

    布莱恩特、您好!

    可能在构建过程中出现错误、或者新 内核未正确刷新? 我可以在设置后确认打印调试日志、并在/dev/using 10.0 SDK for TDA4VL EVM 下创建 spidev 器件。

    您能否共享构建日志并检查在 SD 卡上创建映像文件的日期?

    此致、

    Takuma

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

    你好、Takuma、

    我没有看到任何构建错误、时间戳排成了队。 我现在使用一个全新的 SDK、一切都在针对原文章引用的文档中所述的测试正常运行、因此补丁在 EVM 和我们的硬件上都解决了这个问题。

    感谢您的帮助!

    此致!

    布莱恩特