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.

[参考译文] TDA4VEN-Q1:如何在内核中启用 SPI 驱动程序

Guru**** 2487425 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1440394/tda4ven-q1-how-to-enable-spi-driver-in-kernel

器件型号:TDA4VEN-Q1

工具与软件:

尊敬的 TI 专家:

HW env:我们自己的 tda4ven 电路板

软件配置:sdk10.0

我们需要在外部 MCU (RH850)和 A53之间实现 SPI 数据发送和接收。 如何在内核中启用 SPI?

此致。

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

    尊敬的 Xie:

    我最近帮助了一个不同 SoC 的开发人员在本线程中的内核中启用 SPI: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1436992/tda4vm-q1-j721e

    请参考补丁来配置 SPI。 内核驱动程序更改和兼容字段可以与另一个 E2E 线程中的补丁相同、但您需要针对您的 TDA4VEN 板适当地对器件树进行多路复用。

    此致、

    Takuma

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

    你好、Takuma、

    感谢您的答复。 修补程序很有用、并在/dev/下 生成 spidev 节点。

    我还有两个问题。

    如何将 SPI 模式设置为从模式?

    使用 SPI 时如何启用 DMA?

    此致。

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

    尊敬的 Xie:

    如果尚未参考本应用手册: https://www.ti.com/lit/an/sprad26/sprad26.pdf?ts = 1732143558409&ref_url=https%253A%252F%252Fwww.google.com%252F

    "4 SPI:Linux 上的从器件模式启用和验证"部分探讨了如何将 SPI 模式设置为从器件和启用 DMA。

    此致、

    Takuma

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

    你好、Takuma、

    这里有一个奇怪的现象。 我希望您能有所帮助。

    在我在控制台上输出"spidev_test -v -D /dev/spidev0.0后。 从逻辑分析仪上的数据可以看出、来自 SPI TX 的数据出现在 MISO 上、这不是预期出现的现象。 我认为来自 SOC SPI TX 的数据应在 MOSI 上。

    您能帮我弄清楚问题出在哪里吗?

    刻度。

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

    尊敬的 Xie:

    是否在设备树中将 spidev0.0接口配置为从模式? 当 SoC 是从器件时、预计 SoC 上的 MISO 数据... 不过、如果 SoC 是主设备、这可能是意外现象。

    此致、

    Takuma

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

    你好、 Takuma、

    我认为 spidev0.0处于主模式。

    您能否检查我所做的修改是否正确?

    e2e.ti.com/.../0001_2D00_spi_2D00_spidev_2D00_spi2_2D00_20241120.txt

    此致。

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

    尊敬的 Xie:

    我看了看修补程序,它看起来很好。  

    您是否能够尝试尝试启用两个 SPI 接口并在这两个接口之间进行通信? 从理论上讲、回送自身是可行的、但并非实用用例、因此在设计中不需要考虑回送。 没有实际从器件的 MOSI/MISO 可能是导致问题的原因。

    此致、

    Takuma

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

    你好、Takuma、

    感谢您的支持! 客户已解决此问题:

    SPI*-omap2.c 驱动程序代码具有一些用于设置 d0和 d1的寄存器、客户尝试将 d0设置为输入、将 d1设置为输出可以解决他们的问题。

    BR、

    Biao