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-TDA4VM:如何在 TDA4VM 中启用 SPIDEV

Guru**** 1139930 points
Other Parts Discussed in Thread: SK-TDA4VM, SYSCONFIG, TDA4VM, J721EXSOMXEVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1243619/sk-tda4vm-how-to-enable-spidev-into-tda4vm

器件型号:SK-TDA4VM
主题中讨论的其他器件: SysConfigTDA4VM、DRA829、 J721EXSOMXEVM

您好!

我正在使用 SK-TDA4VM evl 板(SDK: 08.06.01.02 (2023年5月12日) PROCESSOR-SDK-LINUX-J721E)。

我想使用 40引脚接头中提供的 SPI 接口。 但不要在/dev/下面 看到 spidev

我也参考了 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/947437/faq-ccs-tda4vm-how-to-use-spi-spi_dev-on-tda4-j721e 、但可以创建 spidev、我确信我可能错过了一些内容。

您能否分享以下详细信息?
1) 1)哪些器件树文件适用于我的电路板以及如何启用 SPI?

2) 2)如何构建和生成 DTB 并复制到电路板中?

我有基于 ti-processor-sdk-linux-j7-evm-08_06_01_02-Linux-x86-Install.bin 的 SDK 代码

谢谢!

内拉伊

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

    Neeraj,

    共享您在 SDK 上创建的用于启用 SPI 的补丁。 您是否参考了您分享的常见问题解答:

    共享您创建的补丁。 我可以回顾一下您是否遗漏了一些内容。

    -基尔西

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

    e2e.ti.com/.../spi_5F00_enable.diff

    Keerthy、您好!

    我按照链接修改了 DTS 文件、我注意到相同的(SPI)引脚用作 GPIO、我将它们注释掉。

    以下更改在以下条件后自动完成 让 Linux 成为可能

    +dtb-$(CONFIG_ARCH_k3)+= k3-j721e-edgeai-apps.dtbo
    +dtb-$(CONFIG_ARCH_k3)+= k3-j721e-vision-apps.dtbo

    + main_i2c2_pins_default:main-i2c2-pins-default {
    + pinctrl-single、pins =<
    + J721E_IOPAD (0x1c8、PIN_INPUT_PULLUP、2)/*(AB5) SPI0_CLK.I2C2_SCL */
    + J721E_IOPAD (0x1cc、PIN_INPUT_PULLUP、2)/*(AA1) SPI0_D0.I2C2_SDA */
    +>;
    +};

    + P08-HOG{
    +/* P10 - PM_I2C_CTRL_OE */
    + GPIO 唤醒;
    + GPIO =<8 GPIO_ACTIVE_HIGH>;
    +输出高电平;
    + line-name ="CTRL_PM_I2C_OE";
    +};

    +&main_i2c2{
    + pinctrl-names ="默认";
    + pinctrl-0 =<&main_i2c2_pins_default>;
    +时钟频率=<400000>;
    ...

    +
    + main_r5fs0_core0_shared_memory_queue_region:r5f-virtual-eth-queue@ac000000{
    +兼容="共享 DMA 池";
    + reg =<0x00 0xac000000 0x00 0x200000>;
    +无地图;
    +};
    +
    + main_r5fs0_core0_shared_memory_bufpool_region:r5f-virtual-eth-buffers@ac200000{
    +兼容="共享 DMA 池";
    + reg =<0x00 0xac200000 0x00 0x1e00000>;
    +无地图;
    +};

    +<&main_r5fs0_core0_memory_region>
    +<&main_r5fs0_core0_shared_memory_queue_region>
    +<&main_r5fs0_core0_shared_memory_bufpool_region>;

    谢谢!

    内拉伊

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

    尊敬的 Neeraj:

    尽管常见问题解答没有提到这一点、但我认为、使用 J721E EVM 板而不是 SK 板制定了常见问题解答的可能性很大。 相同的过程和流程可用于为 SK-TDA4VM 启用 SPI、但不应按原样应用补丁、而应仅用作参考、因为任何与外设相关的都取决于电路板设计。

    这是 https://www.ti.com/lit/zip/sprr438上的 SCH (原理图)文件的屏幕截图、但40引脚扩展头具有 SPI5引脚输出似乎:

    您是否可以修改器件树以使用 SPI5而不是 SPI6?

    此致、

    大沼市

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

    您好!

    我找不到所有4个 SPI 引脚的焊盘映射、因此这也用于 u-boot dtsi

    CLK:J721E_IOPAD (0x1a0、PIN_INPUT_PULLDOWN、12)/*(W29) RGMII6_TXC.MCASP10_AXR6 */
    CS0:J721E_IOPAD (0x19c、PIN_INPUT_PULLDOWN、12)/*(W27) RGMII6_TD0.MCASP10_AXR5 */
    执行:J721E_IOPAD (0x198、PIN_INPUT_PULLUP、12)/*(V25) RGMII6_TD1.MCASP10_AXR4 */
    DI:W24 -我们找不到

    在此问题上、您能帮助我吗?

    谢谢!

    内拉伊

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

    尊敬的 Neeraj:

    这用于 u-boot dtsi

    CLK:J721E_IOPAD (0x1a0、PIN_INPUT_PULLDOWN、12)/*(W29) RGMII6_TXC.MCASP10_AXR6 */
    CS0:J721E_IOPAD (0x19c、PIN_INPUT_PULLDOWN、12)/*(W27) RGMII6_TD0.MCASP10_AXR5 */
    执行:J721E_IOPAD (0x198、PIN_INPUT_PULLUP、12)/*(V25) RGMII6_TD1.MCASP10_AXR4 */

    [/报价]

    这有点奇怪。 通过器件树覆盖文件、可以如以下文档中的图所示配置 SK-TDA4VM 的40引脚接头: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-edgeai/TDA4VM/08_06_01/exports/docs/devices/TDA4VM/linux/pi_hdr_programming.html

    如果这些引脚在 MCASP 中具有历史意义和引脚多路复用功能、那么 GPIO 不应该起作用、或者至少由于资源冲突、GPIO 应该成为重叠的引脚。 这是在 SK 板的 dtsi 文件中吗?还是使用定制板?

    否则、对于"DI:W24 -我们找不到"、SysConfig 工具将是一个很好的起点: https://www.ti.com/tool/SYSCONFIG。如果在浏览器中启动它并选择 J721E_DRA829_TDA4VM_AM752x 作为器件、并添加 SPI 外设、它应该会为器件树生成引脚多路复用。 需要注意的是、这只会导致引脚复用、因此仍需遵循 Keerthy 常见问题解答的其他部分。 但是、SysConfig 工具应该可以省去查看数据表以辨别正确的 pinmux 值和偏移所带来的麻烦。

    此致、

    大沼市

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

    您好、Takuma、

    " 这是位于 SK 板的 dtsi 文件中吗?还是使用定制板?" 不确定我是否漏掉了任何信息,如果你重新查找查询(SK-TDA4VM:如何启用 SPIDEV 到 TDA4VM)我询问并在那里共享信息。

    我参考了 SysConfig 在线工具并生成了 devicetree.dtsi、以便查看引脚编号。 但切勿在多次尝试后在/dev/dev 下获得 SPI。

    由于这是 我需要在器件树中进行的唯一更改、您能否与我们分享一下需要进行的唯一更改、考虑到我有 SK-TDA4VM 电路板并想在40引脚接头中将 SPI 与 CS0一起使用?

    谢谢!

    内拉伊

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

    尊敬的 Neeraj:

    不确定如果您重新查找查询是否错过了提供任何信息[/报价]

    抱歉、只是想确保引脚多路复用、因为对于 SK 板、这些引脚被引脚多路复用为 McASP 令我感到震惊。 这不应该发生、因此我想确认我们之间的设置是否存在差异-我看到过很多 SK-TDA4VM 与 J721EXSOMXEVM 和定制电路板混淆的情况。 在本例中、似乎还没有混合电路、因为"40引脚插头"对于 SK-TDA4VM 而言是非常独特的。 但令人震惊/奇怪的仍然看到 McASP pinmux。

    由于这是 我需要在器件树中进行的唯一更改,请您分享一下考虑我使用 SK-TDA4VM 板并希望在40引脚接头中将 SPI 与 CS0一起使用时需要哪些更改吗?

    当然、我可以尝试创建一个 dtbo 文件以在8.6.1基础上应用来启用 SPI、或者创建一个 DTS 文件补丁来实现同样的功能。 很抱歉、但 由于我和团队的带宽、请至少等待几周(2~3周)才能完成此过程。 同时、如果可以共享新的 DTS 文件更改、我们可以看看、并像过去一周那样继续分享评论。

    此致、

    大沼市

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

    尊敬的 Neeraj:

    附件为两个文件。 一个是可以放入 rootfs 分区的引导文件夹的预编译 dtb 文件、它应该适用于 SK-TDA4VM 的默认 Edge AI SDK 映像 Linux 内核;另一个是用于生成 dtb 的补丁。

    e2e.ti.com/.../k3_2D00_j721e_2D00_sk.dtb

    e2e.ti.com/.../0001_2D00_SK_2D00_TDA4VM_2D00_Processor_2D00_SDK_2D00_Linux_2D00_8.6.1.2_2D00_patch_2D00_for_2D00_SPI5.patch

    我已确认 spidev 出现在/dev/文件夹 下、枚举为 spidev8.0 (仍然应该使用 spi5)。 我无法使用另一端的实际 SPI 器件进行测试以接收传输、但如本应用手册中所述使用 spidev_test、似乎正在传输内容: https://www.ti.com/lit/an/sprad26/sprad26.pdf

    请告诉我这是否适用于您的设置。

    此致、

    大沼市