2144682_zh-CN

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

2144682_zh-CN

2144682_zh-CN

LS1048ardb SERDES 匹配 DPL 文件

你好

我是恩智浦 Layerscape 硬件的新手,正在使用 LS1048ardb 平台。我想提一下 DPMAC2 以太网设备(我认为这是基本以太网的普遍用法 “eth0”),但是通过阅读恩智浦论坛的各种帖子,我需要一个与 SERDES 相匹配的 DPL 文件。如果没有 DPL 文件,我就会得到预期的 uboot 错误:

"fsl-mc:DPL 未部署,DPAA2 以太网不工作"

我在恩智浦论坛上找到了几个生成 "空 "DPL 文件的帖子,使用该 dtb 后,我得到了这个错误:

"fsl-mc:部署数据路径布局 ...警告:固件返回错误 (GSR: 0x3f)"

在恩智浦技术支持论坛的一些回复中(针对 ls1088ardb),我通过提供 SERDES 值,恩智浦工程师可以生成一个适当的 DPL 文件。

以下是我从 mii/mdio 和 SERDES 值中收集到的一些信息,希望对您有所帮助:

= > mii 设备 MI
I 设备:'FSL_MDIO0' '' FSL_MDIO1 '
当前设备:' FSL_MDIO0 '= > mii 信息 PHY 0x01:OUI = 0x80028,型号 = 0x23,Rev

= 0x01,1000BaseT,FDX

=> mdio 列表
FSL_MDIO0:
1 - TI DP83867<--> DPMAC2@sgmii
FSL_MDIO1:

看似相关的Uboot启动数据:

使用 SERDES1 协议:18 (0x12)
使用 SERDES2 协议:13 (0xd)

网:DPMAC2@sgmii [PRIME]

fsl-mc:启动管理复杂...成功
fsl-mc:管理综合体已启动(版本:10.12.0,启动状态:0x1)启用 1000BT 全双工/半双工广告

若能得到任何帮助,我将不胜感激。


Re: LS1048ardb SERDES Matched DPL File您好@brian-wood
感谢您分享您的发现,您已经在 DTS 中添加了下一项,对吗?
>>>
&davinci_mdio {
phy0:ethernet-phy@0 { //PHY0已定义并传给 phy-handle
reg =<0>;
ti,rx-internal-delay =
ti,fifo-depth =;
};
};
& cpsw_port1 {
phy-mode ="rgmii-rxid" ;
phy-handle =<& phy0>;
};
< < <
" 我想这与 FSL MC 如何创建网络有关)" 其实不然,它与以太网内存映射有关,但我们无法修改。

遗憾的是,没有一种简单的方法,8( ,你可以省略 DPL,但这不是一个好主意,因为 DPL 的目的不是描述硬件属性,而是描述 MC 应创建的逻辑对象的初始拓扑结构和属性。

BR
LFGP
Re: LS1048ardb SERDES Matched DPL File

你好,LFGP、

我想感谢您在解决这个问题时提供的建议。我发现了问题;我们使用的是 TI83867 phy,我需要将 “ ti,fifo-depth = < DP83867_PHYCR_FIFO _DEPTH_4_B_NIB >;” 添加到我的 ph y 设备树节点。我现在有以太网了,但还有一个后续问题。

一切就绪后,我看到了一个 "eth0",但同时也看到了一个 "mac2"(我想这与 FSL MC 的联网方式有关)。是否有一种简单的配置更改方法,可以让一切都变成 "eth0"?还是只有 "Mac2"?

我没有修改 DPC 文件的权限,所以如果我可以修改 DPL 文件或其他文件,那将会很有帮助。

感谢您的帮助。

Re: LS1048ardb SERDES Matched DPL File亲爱的@brian-wood,
'PHYAD:0" 意味着 PHY 没有被识别。
请使用下一个链接查看 LS1088 RDB 的 DTS 和 DTSi。
https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts

https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi

还请 AN5125 介绍 DTS
https://www.nxp.com/docs/en/application-note/AN5125.pdf
如果你的自定义板使用 SERDES 来获取 SGMII 或 RGMII,而没有外部 PHY,那么你的 DTS 将使用 PCS 节点来设置 macX
Re: LS1048ardb SERDES Matched DPL File

你好,LFGP、

我决定试试我的 DPL 文件,同时将上游 6.14 Linux 内核切换到与 LSDK1812(几年前他们建立这个平台时使用的)相匹配的恩智浦 4.14 内核,这样我就能在 eth0 上调用 DPMAC2 了。

但我遇到了一个问题,FSL 管理综合体似乎将 eth0 连接到了 PHY 0,而不是 PHY 1(我相信我在 DTS 中的设置是正确的)。作为一项健全性检查(因为我对使用设备树还很陌生),我使用 PHY 1 的所有设置是否正确:

&emdio1 {

status ="okay" ;

mcp_debug_phy: emdio1_phy@1 {

兼容 ="ethernet-phy-ieee802.3-c22" ;

中断 =<0 2 0x4> ;

reg =<0x1> ;

phy-connection-type ="sgmii" ;

};

};

&dpmac2 {

phy-handle =<& mcp_debug_phy> ;

phy-connection-type ="sgmii" ;

};

但当我给 eth0 分配了一个 IP 地址后尝试 "ping "时,却没有出现任何错误或 rx/tx 计数增加(使用 ifconfig 进行检查)。当我使用 "ethtool eth0 "时,发现它显示连接到 PHYAD 0:

# ethtool eth0
eth0 的设置:
支持的端口:[ ]
支持的链接模式:未报告
支持暂停帧使用:无
支持自动协商:不支持
支持 FEC 模式:未报告
广告链接模式:未报告
广告暂停帧使用:无
广告支持自动协商:无
广告支持的 FEC 模式:未报告
速度:未知!
双工:
端口:双绞线
PHYAD:0
收发器:内部
自动协商:关闭
MDI-X:Unknown
Link detected: no
#

我没有更改 "fsl-ls1088a.dtsi "的默认设置、但如果希望使用 PHY 1,这样做对吗?

/* TODO: WRIOP (CCSR?) */
emdio1: mdio@0x8B96000 { /* WRIOP0: 0x8B8_0000, * E-MDIO1: 0x1_6000*/

compatible ="fsl,fman-memac-mdio";
reg =<0x0 0x8B96000 0x0 0x1000>;
device_type ="mdio";
little-endian; /* 强制驱动程序进入 LE 模式 */

/* 在 QDS 上不需要,但在 RDB 上需要 */
#address-cells =<1>;
#size-cells =<0> ;

};

DPL 中是否有什么需要调整的地方,以便连接正确的 PHY?

非常感谢你们的帮助。

Re: LS1048ardb SERDES Matched DPL File

亲爱的@brian-wood,希望这条信息能让你感觉良好。

我需要澄清一下你的自定义板。

你在定制板中使用 LS1048A 吗?或者你正在使用的 Layerscape 设备是什么?

您的设计是基于 LS1048ARDB 吗?恩智浦没有 LS1048ARDB。

另一方面,您可以在 DPAA 参考手册中找到 DPL 设置。

BR

LFGP

Re: LS1048ardb SERDES Matched DPL File

嗨,LFGP,

快速检查一下,这个 ls1048ardb 平台使用的是 2018.09 版本的 uboot 和 10.12.0 版本的 fsl_mc,我可以在这个平台上使用 6.14 Linux 内核吗?我想知道,我在使用 FSL 管理综合体调用 DPL 节点时遇到的恩智浦/FSL 内核驱动程序错误是否是由于 fsl_mc 支持的内容不匹配(并导致 mc_send_command() "不支持的操作 "失败)?

我已经阅读了前面提到的文档链接,但无法链接到eth0,因为我处于部分状态(由于在Linux内核启动期间启用 DPL 文件时出现 “不支持的操作” 失败)。启动后运行 “ls-listni、restool 等...” 时,我确实看到了同样的 “不支持的操作”,这使我觉得我的 fsl_mc、restool 和 Linux 内核 6.14 版本不匹配。

下面是更多的 uboot 信息,希望对您有所帮助:

U-Boot 2018.09 gpu_bl_01Feb2021 tf/cpsw-15234-bl-u-boot a996f0a3(2021 年 2 月 1 日-18:04:24 -0700)

SoC:LS1048A Rev1.0 (0x87032110)

时钟配置:CPU0 (A53): 1200 MHz CPU1 (A53): 120 0 MHz CPU2 (A53): 1200 MHz
CPU3 (A53): 1200 MHz
总线:500 MHz DDR:1600 MHz
RESET 配置字
(RCW):00000000: 30004014 00000030 00000000 000030 00000000
000010:00000000 0000 0000 0020000 0020000 00000000
000020:02e12980 00000080 00000000 0000000
00000030:00fff054 00000000 00000000 00000000
00000040:
00000000 00000000 0000000
00000040:00000000 00000000 00009:00000000 0000000 00000000
000070:33330002 00009555
I2C:就绪
动态随机存取存储器(DRAM):根据训练值初始化
DDR 控制器
内存初始化正常,检查 ERR_D ETECT 寄存器后在 DDRC 上没有错误
ERR_DETECT=0
3.9 GiB
DDR 3.9 GiB(DDR4,64 位,CL=12,ECC 开 启)
警告:请在 cpo_sample = 0x4b board >/ ddr.c 将优化 cpo
**boot_all_cores env var=true...
继续唤醒二级内核从 fbd4b000 开始
所有 (4) 个内核都已启动。
使用 SERDES1 协议:18 (0x12)
使用 SERDES2 协议:13 (0xd)
MMC: FSL_SDHC: 0
从闪存加载环境...OK
In: serial
Out: serial
Err: serial
Model:Boeing Dual MCP Green V0.2_1 (NXP Layerscape 1048a)
Net:DPMAC2@sgmii [PRIME]
Warning:DPMAC2@sgmii (eth0) using random MAC address - 16:af:d1:f3:8a:cf

crc32+
fsl-mc:启动管理复杂程序...成功
fsl-mc:管理综合体已启动(版本:10.12.0,启动状态:0x1)
启用 1000BT 全双工/半双工广告按任意键停止自动启动:0

Re: LS1048ardb SERDES Matched DPL File

亲爱的@brian-wood

LS1088A 和 LS1048A 添加新 DPNI 的程序相同,请查看我上一篇文章中的链接。

Re: LS1048ardb SERDES Matched DPL File

感谢你的回复,我已经通读了恩智浦关于这款基于LS1048ardB的定制板的许多文档(我猜有四个GPP内核与LS1088ardB略有不同)。这是一个大约 5 年前开发的平台,我继承了它并将其用于简单的 dpmac2 以太网概念验证。

我添加了一些驱动程序调试代码,可以看到这些 dmesg(从最后一次成功的 fsl_mc 调用到 "不支持的操作 "故障),并认为可能是我的 DPL 文件中的某些设置不正确导致了故障(见所附 DPL dts):

[ 14.200954] FSL_MC_DPRC DPRC.1:BJW:(mc_send_command)FSL MC 响应:0,状态:命令成功完成 (0x0)
[ 14.211772] FSL_MC_DPRC DPRC.1:BJW:(dpni_set_pools)FSL MC 调用 mc_send_command()
[ 14.226219] fsl_mc_dprc dprc.1:BJW:(mc_send_command)FSL MC 响应:0,状态:不支持的操作 (0xb)
[ 14.236254] FSL_DPAA2_ETH DPNI.1:dpni_set_pools() 失败
[ 14.241672] fsl_dpaa2_eth dpni.1:BJW:(dpaa2_eth_bind_dpni)错误:-524

我的 DPL 文件是根据我从恩智浦文档(如https://docs.nxp.com/bundle/GUID-487B2E69-BB19-42CB-AC38-7EF18C0FE3AE/page/GUID-C254A494-0853-4C94-8...中看到和读到的示例编写的。

我不太确定我可能需要提供哪些信息来帮助根本原因出现 DPMAC2 @sgmii 以太网问题(我能够启动这个平台并使用以太网进行 uboot/tftp),但无法在 Linux 中启动并运行。因此,如果还需要其他信息,我很乐意提供。

Re: LS1048ardb SERDES Matched DPL File亲爱的@brian-wood
我想你是指 LS1088ARDB,
如果你想配置 DPMAC2,请按照下一个链接中显示的步骤进行
https://community.nxp.com/t5/Layerscape-Knowledge-Base/LS1088ARDB-LS1088ARDB-PB-How-to-create-a-DPAA...
Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 08:02 AM
Updated by: