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.

[参考译文] AM4376:关于切换多路复用器器件时 Linux 软件中的驱动程序处理

Guru**** 2484615 points
Other Parts Discussed in Thread: SN3257-Q1, TMUX1574, AM4376

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1552241/am4376-regarding-driver-processing-in-linux-software-when-switching-multiplexer-devices

器件型号:AM4376
主题中讨论的其他器件:TMUX1574、SN3257-Q1、

工具/软件:

尊敬的专家:

TI 多路复用器 TMUX1574 和 SN3257-Q1 列出为 SPI 多路复用器的应用示例。
通过使用多路复用器实现基于 SPI 的闪存扩展(修订版 B)也讨论了开关 SPI 连接、但您能否解释 Linux 软件中的驱动程序处理方法?

    

在上图中、当两个闪存器件进行多路复用时、TI SDK (AM4376) 在内核启动期间初始化 SPI 驱动程序并读取连接的 SPI 闪存。
但是、如果多路复用器随后切换到另一个器件、似乎有必要重新识别(重新初始化?) SPI 闪存。

上图中、其中一个 MCU 也断开连接、因此我认为需要进行一些处理才能识别该连接。
是否可以使用某些命令或寄存器设置来重新识别 SPI 器件?

最好的应届毕业生
正常

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

    您好 O.H、您正在使用哪个 AM437x SDK?

    谢谢你  

    Paula

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

    您好 Paula、

    感谢您的答复。

    您正在使用哪个 AM437x SDK?

    v06.03.00.106

    需要更新到较新的版本?

    此致、
    正常

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

    尊敬的 O.H:我们最新的 AM437x 处理器 SDK 为 9.3 (SDK-AM437X 软件开发套件 (PROCESSOR-SDK-LINUX)|德州仪器 TI.com)

    我正在咨询、但我没有看到任何开箱即用的方法在 SPI 的 Linux 驱动程序设备之间动态切换。  

    需要探索的一个选项是“Dynamic Device Tree Overlay“。

    谢谢您、

    Paula

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

    您好 Paula、

    要探索的一个选项可以是“动态设备树覆盖“。

    是否有任何在 AM437x 上实现“动态器件树覆盖“的材料?

    对于 AM62x、有一个“静态? (在 u-boot 中)器件树覆盖层“、如下所示。
    4.1.8.如何在 Linux 中启用 DT 叠加—Processor SDK AM62x 文档

    此外、以下线程指出不支持“动态设备树覆盖“、因此请让我确认这一点。
    TMDX654IDKEVM:器件树叠加层 — 处理器论坛-处理器 — TI E2E 支持论坛

    此致、
    正常

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

    尊敬的 O.H、是的、 “动态设备树覆盖“不是正式支持的、因此它是实验性的、可能是复杂的启用。

    我的理解是、在您的用例中、您需要随时在 SPI 器件之间切换(提出动态器件树叠加建议的原因)。 如果确实是这种情况、请告诉我、如果不是、请帮助我澄清您的用例详细信息。

    一些附加信息 “动态设备树叠加“仅供您参考:

    谢谢您、

    Paula

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

    尊敬的 O.H:

    让我在这里也鸣叫...

    是否可以使用某些命令或寄存器设置重新识别 SPI 器件?

    为此、一般原则应 如下所示...

    • 将相关驱动程序构建为可加载的内核模块 (CONFIG_xxx=m、而不是 CONFIG_xxx=y)
    • 在运行时切换设备时、请执行以下操作
      1. 卸载与 SPI 器件关联的任何/dev/mtd 器件
      2. 使用`rmmod`或“modprobe -r`卸载相关驱动程序(闪存驱动程序,QSPI 驱动程序)
      3. 通过切换 GPIO 等来触发外部多路复用器器件
      4. Re 加载相关驱动器 (`mΩ odprobe`)。 这应该会根据闪存 ID 等触发重新探测新闪存器件

    仅当新芯片的布局不同(分区大小等)时、才需要对设备树进行运行时修改

    Andreas Regads

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

    尊敬的  Paula、 Andreas:

    为您的支持而挑战您。

    我将与客户分享您提供的信息。 如果我有任何其他问题、我将再次与您联系。

    此致、
    正常