2408628_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2408628_zh-CN

2408628_zh-CN

S32G274A 上 PFE HIF DMA 到 DDR 通信对 QuadSPI MCR 配置的意外依赖性

你好,专家

我们正在调查运行 QNX 7.1 的 S32G274A 上 QuadSPI 和 PFE HIF 数据路径之间意想不到的依赖关系。如果 QuadSPI 未初始化,PFE0 和 PFE2 将成功完成 PHY、EMAC、固件和 HIF 初始化。EMAC 可以接收有效帧,但 HIF DMA 不消耗 TX 或 RX 描述符,因此数据包无法在 PFE 和 DDR 之间传输,ARP/ping 失败。通过逐步简化 QuadSPI 初始化序列,我们发现只需一次写入即可恢复 PFE 通信:将 0x020F000C 写入 QuadSPI 模块配置寄存器 QuadSPI_MCR,其偏移量为 0x0000,距离 QuadSPI 基地址 0x40134000(即物理地址 0x40134000)不等。如果删除此写入操作,PFE 通信将持续失败。Flash 识别、JEDEC 事务、QNX F3S 框架、/dev/fs0 和启动延迟均已被排除在必要条件之外。我们目前的解释是,相关的效果可能是将 QuadSPI_MCR[MDIS] 清除为 0,从而启用 QuadSPI 时钟。
请问清除 QuadSPI_MCR[MDIS] 是否可以激活 S32G274A 上与 PFE HIF DMA-to-DDR/XBAR/NoC 路径共享的任何时钟请求、桥接或互连状态?PFE HIF DDR 访问与 QuadSPI 时钟或互连状态之间是否存在任何未记录或间接的依赖关系?或者这是否表明平台启动期间缺少共享时钟/NoC 初始化步骤?应该配置哪个 MC_CGM、RDC、MC_ME、NoC 或 PFE 平台寄存器来独立建立所需的状态,而不是让 PFE 驱动程序访问 QuadSPI MCR?

我们目前正在进行补充测试,以确认单独清除 MDIS 是否既必要又充分;目前,已确认的触发条件是完整的 MCR 写入值 0x020F000C。

Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27

嗨,维特旺

感谢您与我们联系。

1. 您是否在使用客户板?

2.您的PFE版本是什么?

BR

乔伊

Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27嗨 Joey,是的,我们使用的是基于 S32G274A 的定制电路板。PFE0 和 PFE2 通过 RGMII 连接到 KSZ9031 PHY。操作系统为QNX 7.1。PFE软件版本如下: - NXP PFE QNX驱动程序版本:PFE-DRV_S32G_QNX_1.9.0 - PFE固件版本:PFE-FW_S32G_1.12.0 - 驱动程序报告的PFE硬件版本:0x00050300 如果您需要完整的启动日志、时钟配置、原理图部分或寄存器转储以进行比较,请告知。此致敬礼,WaitewangRe: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27

您好,

感谢您的回复。

1.你们的S32G启动方法是什么?早期阶段是否没有对QSPI进行初始化?

2.尝试只操作 MDIS 位,看看是否会影响结果。

BR

乔伊

Re: Unexpected Dependency of PFE HIF DMA-to-DDR Communication on QuadSPI MCR Configuration on S32G27

嗨,乔伊,
1.我们在 U-Boot 中通过 TFTP 加载 QNX IFS 和 DTB,并使用 bootm 启动 QNX。QNX 不是从 QSPI Flash 加载的。在启动 PFE 驱动程序之前,QNX 不会启动 devf-qspi-s32g 或显式初始化 QuadSPI 控制器。
2. 我们使用对 QuadSPI 模块配置寄存器(QuadSPI_MCR,基地址 0x40134000,偏移量 0x0000)进行读-修改-写操作来测试 MDIS 位。
测试 A — 无 QuadSPI MCR 操作
QSPI驱动程序未启动,QuadSPI_MCR未写入。PFE通信失败。
测试 B — 仅设置 MDIS
MCR 之前 = 0x030F00CC
MCR 写入 = 0x030F40CC
MCR 后 = 0x030F40CC
MDIS = 1
PFE沟通成功
只有 MDIS 的第 14 位从 0 变为 1。QSPI Flash 文件系统未启动,/dev/fs0 未创建,且未执行 JEDEC 访问。测试程序在寄存器操作后正常退出。
测试 C — 仅通过 MDIS
初始 MDIS 值已经是 0,因此未更改的 MCR 值 0x030F00CC 被写回。PFE通信失败。


我们之前也测试过将完整值 0x020F000C 写入 QuadSPI_MCR。在这种情况下,PFE通信成功了。


请问为什么仅将 QuadSPI MCR MDIS 位从 0 设置为 1 会影响 S32G274A 上的 PFE0/PFE2 通信?QuadSPI MCR 操作与 PFE HIF/DMA 到 DDR 路径之间是否存在任何必需的初始化顺序、已知的错误或已记录的依赖关系?
BR,
怀特旺

Tags (1)
No ratings
Version history
Last update:
yesterday
Updated by: