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.

[参考译文] J7200XSOMXEVM:MCU_ringacc FIFO寄存器访问

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1095284/j7200xsomxevm-mcu_ringacc-fifo-register-access

部件号:J7200XSOMXEVM
主题中讨论的其他部件:DRA829DRA821

我们正在尝试将当前在j721e (dra829)上运行的RTOS移植到j7200 (dra821)。 我们在尝试写入MCU_ringacc FIFO寄存器时遇到了j7200 (dra821) MCU_cpsw以太网问题。
我们 的ringacc驱动程序只支持"Messaging Mode"而不支持"Ring Mode"。  在u-boot和Linux中,可以看到ringacc使用的是"Ring Mode"。

使用消息模式, 当我们尝试写入映射在0x2b0万的ringacc FIFO寄存器时,我们得到一个总线异常。 初始化RX描述符并 尝试将物理地址写入FIFO时,会发生总线错误。 udmap_rx索引为50,我们写入的物理地址为0x2b0.0323万f8。 请注意,偏移0x3200适用于索引50。
如果我手动尝试写入同一地址(使用mm.l或devmem2),在u-boot或Linux中也会发生同样的情况,尽管由于u-boot使用“环”模式,因此它不是一个苹果与苹果的比较。

根据文档和Linux/u-boot DTS文件,MCU_cpsw/UDMA/ringacc设备在dra829和821上看起来是相同的(cpsw具有不同的时钟设置)。 此外,正如前面所暗示的,驱动程序在dra829上工作,因此不清楚它为什么不在dra821上工作。

主板上的系统固件报告如下:

U-Boot SPL 2021.01 - g53e79d0e89 (08 072021年8月07日- 07:28:31 +0000)
型号:Texas Instruments K3 J7200 SoC
主板:J7200X-PM2-SOM版本E6
SYSFW ABI:3.1 (固件版本0x0015 'SLM.0-v 2021.05 (了不起的21.5))
检测到:J7X-base-CPB版本E3
检测到:J7X-VSC8514-ETH rev E2

欢迎提出任何建议。

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

    Steve,  

    DRA829和DRA821之间的MCU UDMA IP没有区别。 我唯一能想到的是,SYSFW在资源管理器级别进行的资源分区是不同的。 您能否确认是否已向SYSFW请求频道? 从描述来看,您似乎是在直接对硬件进行编程。  

    此致

    Jian

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

    感谢您的回复。  是的,驱动程序确实使用SCI命令/消息请求和配置(消息模式)通道。  上面提到的RingID 50适用于UDMA_RX。  MCU RingACC Device Descriptors在DRA829和DRA821之间似乎相同,因此不清楚驱动程序在j721e参考板上工作的原因。

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

    Steve,  

    很抱歉回复延迟。 我休假了几天,刚刚回来。  

    如果可能,您是否可以附加一些代码片段,说明您如何请求该通道以及如何使用该通道。 我想和我们的PDK团队一起回顾一下,了解他们的想法。  

    如果不方便在这里发布,您也可以直接发送电子邮件给我。  

    Jian