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.

[参考译文] Linux/AM5718:McSPI 配置

Guru**** 2601915 points
Other Parts Discussed in Thread: AM5718

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/643508/linux-am5718-mcspi-configuration

器件型号:AM5718

工具/软件:Linux

尊敬的 TI:

 在启用时遇到问题、我的从属协议驱动程序的 MCSPI。 注册 SPI 协议驱动程序后、探测调用不会触发。

我在 am571x-idk.dts 中进行了 DTS 更改:

mcspi2{(&M)
   状态="正常";
   兼容="ti、omap4-mcspi"、"ti、omap2-mcspi";
   REG =<0x4809a000 0x200>;
   中断= ;
   #address-cells =<1>;
   #size-cells =<0>;
   ti、hwmids ="mcspi2";
   TI、SPI-num-cs =<2>;
   DMA =<&sdma 43>、
      <下一个44>、
      <标准45>、
      <注46>;
   dma-names ="tx0"、"rx0"、"tx1"、"rx1";

   myspislave:myspislave@1{
      兼容="myspisave"、"ti、OMAP4-mcspi"、"ti、OMAP4-mcspi";
      SPI-max-frequency =<48000000>;
      reg =<0>;/*芯片选择0*/       
   };
};

配置:

CONFIG_SPI=y
CONFIG_SPI_DEBUG=y
CONFIG_SPI_MASTER=y

CONFIG_SPI_OMAP24xx=y

能不能有人告诉我进一步处理所需的所有更改。

谢谢、

Anil

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

    AM57x 处理器 SDK 仅支持 SPI 主模式、如下所述: processors.wiki.ti.com/.../Linux_Core_SPI_User's_Guide 驱动程序开发支持不在本论坛的讨论范围内、但您可以一目了然地看到:

    CONFIG_SPI_MASTER=y

    它将 SPI 配置为主模式。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Biser、

    我明白了、但如果我不对、我将尝试为 MCSPI 主设备添加从设备驱动程序(协议驱动程序)。

    谢谢、
    Anil
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    哦、我现在明白了。 您是否见 过 processors.wiki.ti.com/.../Linux_Core_SPI_User's_Guide
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Biser、

    即使 spidev 驱动程序为 AM5718板的 MCSPI2控制器设置器件树设置、我也面临同样的问题。
    探测(spidev_probe)调用仍未命中。

    am571x-idk.dts 中的 DTS 发生变化:
    mcspi2{(&M)
    状态="正常";
    pinctrl-names ="default";
    spidev@1{
    SPI-max-frequency =<24000000>;
    reg =<0>;
    兼容="Rohm、dh2228fv";
    };
    };

    在.config 中:
    CONFIG_SPI_SPIDEV=y

    您能不能向我推荐我缺少的其他内容。

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

    确保从器件 PRCM 启用 McSPI 时钟。 还请提供完整的启动控制台日志以供分析。

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、
    正确更新 DTS 文件后,将按 spidev 探测器调用。

    我想确认 am5718 idk 板所需的 pinctrl 配置。
    我在 am571x-idk.dts 文件中执行了以下操作:
    mcspi2{(&M)
    状态="正常";
    pinctrl-names ="default";
    pinctrl-0 =<&SPI2_PINs>;


    SPI2_Pins:SPI2_Pins{
    pinctrl-single、pins =<
    0x17C0 (PULL_DIS | MUX_MODE0) /* SPI2_clk */
    0x17C8 (INPUBL_EN | PULL_DIS | SLEWCONTROL | MUX_MODE0) /* SPI2_D0 */
    0x17C4 (PULL_DIS | SLEWCONTROL | MUX_MODE0)/* SPI2_D1 *
    0x17CC (PULL_DIS | SLEWCONTROL | MUX_MODE0) /* SPI2_CS0 */
    >;
    };
    这是正确的信息和要写入的位置。

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

    不建议在 Linux 内核中更改 McSPI pinmux。 这应在 SPL (MLO)级完成。 有关更多信息、请参阅以下指针:

    AM571x 器件勘误表、更改 IO 设置时可能会出现 i869 IO 故障
    AM571x TRM、"隔离要求"部分

    e2e.ti.com/.../2316413
    e2e.ti.com/.../566993

    此致、
    帕维尔