主题中讨论的其他器件: AM4372
工具/软件:Linux
您好、支持团队
我是 TI 应用人员、为使用 AM4378处理器和 TWL1837安装系统时遇到问题的客户提供支持。
我已经获得了基于02.00.02 SDK 内核构建的设置、我们似乎遇到了与02.00.00相同的阻碍。 下面列出了有关我们将要挂机的位置的更多技术细节。 如果我们可以更快地通过电子邮件回复回复、我们肯定可以设置一个电话来讨论这一点、这会很好。 在接下来的几周内、我的日历上没有比这更重要的东西、因此在9:30和5 EST 之间的任何时间都可以进行通话。
在第一次尝试在 WiFi 模块上设置寄存器时、驱动程序似乎挂起、使用的是扩展写入命令(命令53、通过 MMC_IO_RW_DELEVDED ()发出)、而不是直接写入命令(命令52、通过 MMC_IO_RW_DIA()发出)。 由于我对 SDIO 协议的理解有限、这两条命令都需要从器件做出响应、并且这两个函数都设置为阻止、直到从器件做出响应。 逻辑分析仪捕获可确认我们将获得所有直接读/写命令的有效响应、至少会正确发送命令数据包进行扩展写(将4个字节写入 addr 0x1ffc4 -> CMD 53: 0xA7FF8804)、 我们将得到一个响应数据包(CMD 53:0x00001000)。 但我还没有找到有关扩展写入应如何传达要写入的数据(看起来根本没有发送)或响应应该是什么样的文档。 我在逻辑分析仪上注意到的另一件奇怪的事情是、在这个挂起的扩展写入命令之前、来自 WiFi 芯片的响应从时钟线的上升沿有效切换到时钟线的下降沿有效。 我知道这是协议的一个有效部分--这一移位之后的5个直接读取都没有像扩展写入那样挂起他们的内核线程。
下面是导致挂起 MMC_IO_RW_DELEDED ()调用的部分调用链:
wlcore_NVS_CB
wl12xx_set_power_on
wlcore_set_partition
wl12xx_SDIO_RAW_WRITE
SDIO_IO_RW_ext_helper
和所连接的是我们使用的器件树源(减去从02.00.02 SDK 修改的包含项)和内核 defconfig。
请通过电子邮件联系我、了解更多详细信息和相关信息
谢谢
Jeff Coletti