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.

[参考译文] TDA4VM:DTS 中的 TDA4 SPI 配置

Guru**** 2455360 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1484070/tda4vm-tda4-spi-config-in-dts

器件型号:TDA4VM

工具与软件:

您好、

 我需要在 Linux 设备树中配置 SPI5。 目前、我使用的配置如下图所示。 我想知道是否仍然需要在路径 pdk_jacinto_10_00_00_27/packages/ti/board/spiki/j721e_evm/j721E_pinmux_data.c 中配置 src 引脚?

 此外、我在 SPI5中使用了 CS1、是否应该将参数"reg=<0>"修改为"reg=<1>"? 该参数是什么意思?

此致、

Yang

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

    尊敬的 Yang:

    否、无需在 PDK 中配置 SPI5引脚。 如果计划从 Linux 使用 SPI 接口、则只需要在 Linux devicetre 内配置这些图形用户界面、如果计划从 RTOS 使用 SPI 接口、则只需要在 PDK 内配置这些图形用户界面、但不能同时在两者之间配置、以避免资源冲突。

     此外、我在 SPI5中使用了 CS1、是否应将参数"reg=<0>"修改为"reg=<1>"?

    这是寄存器属性、在本例中表示 spidev 设备位于父总线 main_spi5中的偏移量0处。

    如果您尝试了 Linux spidev 示例并发现 SPI 无法正常工作、请随时提出更多问题。 "dmesg"中的完整日志有助于识别当前观察到的情况。

    此致、

    Takuma

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

    您好!

    我想将 GPO0_40导出到/dev/gpiochip0中、但根据上述内容进行配置后、发现没有此节点。 您能告诉我如何配置它吗?

    MAIN_spi3_PINS_DEFAULT:main-spi3-default-pins{
    PINCTL-SINGLE、PINS =<
    J721E_IOPAD (0x144、PIN_INPUT、4)/*(Y25) PRG0_PRU1_GPO17.SPI3_CLK */
    J721E_IOPAD (0x11c、PIN_INPUT、4)/*(AA24) PRG0_PRU1_GPO7.SPI3_CS0 */
    J721E_IOPAD (0xd4、PIN_INPUT、4)/*(AB26) PRG0_PRU0_GPO9.SPI3_CS1 */
    J721E_IOPAD (0xd8、PIN_INPUT、4)/*(AB25) PRG0_PRU0_GPO10.SPI3_CS2 */
    J721E_IOPAD (0x124、PIN_INPUT、4)/*(Y24) PRG0_PRU1_GPO9.SPI3_CS3 */
    J721E_IOPAD (0x148、PIN_INPUT、4)/*(AA26) PRG0_PRU1_GPO18.SPI3_D0 */
    J721E_IOPAD (0x14c、PIN_INPUT、4)/*(AA29) PRG0_PRU1_GPO19.SPI3_D1 */
    J721E_IOPAD (0xa4、PIN_INPUT、7)/*(AH22) PRG1_PRU1_GPO19.GPIO0_40 */
    >;
    };

    &main_spi3{
    状态="正常";
    pinctrl-names ="默认值";
    pinctrl-0 =<&MAIN_spi3_PINS_DEFAULT>;
    GPIO =<&MAIN_GPIO0 40 GPIO_ACTIVE_HIGH>;

    spidev@0{
    兼容="ti、spi-evm";
    SPI-max-Frequency =<3125000>;
    REG =<0>;
    spi-cpol =<1>;// CPOL = 1
    spi-cpha =<1>;// CPHA = 1
    };
    spidev@1{
    兼容="ti、spi-evm";
    SPI-max-Frequency =<3125000>;
    reg =<1>;
    spi-cpol =<0>;// CPOL = 0
    spi-cpha =<1>;// CPHA = 1
    };
    spidev@2{
    兼容="ti、spi-evm";
    SPI-max-Frequency =<3125000>;
    reg =<2>;
    spi-cpol =<0>;// CPOL = 0
    spi-cpha =<0>;// CPHA = 0
    // interrupts = ;
    };
    spidev@3{
    兼容="ti、spi-evm";
    SPI-max-Frequency =<3125000>;
    REG =<3>;
    spi-cpol =<0>;// CPOL = 0
    spi-cpha =<1>;// CPHA = 1
    };
    };

    此致、

    Yang

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

    尊敬的 Yang:

    我有点困惑、该线程的问题和目标是什么。 您能否说明问题是:

    1. McSPI/spidev 有问题吗、目标是发送 SPI 数据
    2. 或者、设置通用 GPIO 引脚是否存在问题、并且目标是切换该 GPIO 引脚

    最新的问题是关于 GPIO、因此我假设目标是设置一个 通用 GPIO 以进行手动切换。 如果是、则 sysfs 部分会过时、因为 sysfs 已替换为 chardev、但此常见问题解答中包含了有关 devicetre 的一些说明: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/918654/faq-tda4vm-dra829-am65xx-linux-configuring-gpios 

    有关新 chardev 和 GPIO 工具的更多信息、请参阅此常见问题解答: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1260373/faq-transitioning-the-gpio-userspace-interface-from-sysfs-to-chardev 

    此致、

    Takuma  

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

    您好!

      非常感谢您的回答。 由于 TDA4的 GPIO 有外部输入、因此我需要在 Linux 中的 SPI 通信期间读取 GPIO 状态、以确定何时开始发送。

    Reagrds、

    Yang

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

    尊敬的 Yang:

    我懂了。 如果有后续问题、请随时发布或打开新主题。

    此致、

    Takuma