1. Layerscape平台与PCIe/高速网络接口概览

NXP Layerscape(LS)系列是面向网络、工业与边缘计算的高集成度ARM SoC 家族,其核心价值在于把多核 CPU、PCIe 控制器、以太网 MAC 与高速 SerDes 集成在同一芯片内,使单板即可承担数据面转发、加速与主控任务。理解这一平台,关键是先建立“CPU 复合体—总线—控制器—SerDes—外部接口”这条纵向链路,再理解各控制器如何通过 SerDes 通道与外部器件对接。

一、LS 系列 SoC 的典型构成

以 LS1046A、LS1043A、LS1028A、LX2160A 等常见型号为例,其内部大致可分为四类资源:

  • CPU 复合体:如 LS1046A 为 4 核 Cortex-A72,LS1043A 为 4 核 Cortex-A53,LX2160A 为 16 核 Cortex-A72。核数、主频与缓存决定控制面处理能力。
  • PCIe 控制器:通常提供 3~6 个 PCIe 控制器,支持 Gen1/2/3/4,可配置为 Root Complex(RC)或 Endpoint(EP),用于连接 NVMe、网卡、FPGA、交换芯片等。
  • 以太网 MAC:集成多个 1G/2.5G/10G/25G/100G 以太网控制器,如 DPAA2 的 DPMAC、ENETC,支持 SGMII、XFI、USXGMII、CAUI-4 等接口模式。
  • SerDes 与复用:芯片内部 SerDes 通道(Lane)通过 RCW(Reset Configuration Word)与 SerDes 协议寄存器映射到 PCIe、SGMII、XFI、SATA、Aurora 等不同协议,是“同一物理通道、多种协议”的关键。

因此,LS 平台的接口能力并非固定,而是由“控制器 + SerDes 通道 + 协议映射”三者共同决定。同一颗芯片在不同 RCW 配置下,可呈现完全不同的 PCIe 与网络接口组合。

二、PCIe 控制器与 SerDes 的关系

PCIe 控制器本身只负责事务层、数据链路层与部分物理层逻辑,真正的差分信号由 SerDes Lane 提供。一个 PCIe 控制器可绑定 1、2、4、8 或 16 条 Lane,形成 x1/x2/x4/x8/x16 链路。例如 LS1046A 的 PCIe1 可配置为 x4,PCIe2 为 x2,PCIe3 为 x1,具体取决于 SerDes 协议分配。

SerDes 协议映射通常通过 RCW 的 SRDS_PRTCL 字段与复位配置字选择。开发时若发现 PCIe 链路无法训练(LTSSM 停在 Detect 或 Polling),首先要确认该控制器对应的 SerDes Lane 是否被正确分配为 PCIe 协议,而不是被占用为 SGMII 或 SATA。

三、以太网 MAC 与高速网络接口

LS 系列的网络接口分为两类:一类是传统 ENET(eTSEC/DPAA1),支持 1G/2.5G,常用于管理口;另一类是 DPAA2 架构下的 DPMAC 与 ENETC,支持 10G/25G/100G,配合 DPNI、DPIO 等对象实现高性能数据面。接口模式包括:

  • SGMII:1G,常用于光模块或 PHY;
  • XFI:10G,直连 SFP+ 或 10G PHY;
  • USXGMII:1G/2.5G/5G/10G 自适应;
  • CAUI-4:100G,4 条 Lane 并行。

这些模式同样依赖 SerDes Lane 的协议分配。例如 LX2160A 的 100G MAC 需要 4 条 Lane 组成 CAUI-4,若 Lane 分配不足,则只能降速运行。

四、典型应用场景

LS 平台常见于以下场景:

  • 网络设备:路由器、交换机、防火墙,利用多核与 DPAA2 做转发;
  • 边缘计算:LS1028A 带 TSN 交换与显示输出,适合工业网关;
  • 存储与加速:通过 PCIe 连接 NVMe SSD 或 FPGA 加速卡;
  • 无线基础设施:LX2160A 用于 5G DU/CU,配合 25G/100G 前传接口。

五、开发环境搭建要点

典型开发流程如下:

  1. 安装 NXP LSDK(Layerscape Software Development Kit)或使用 Yocto 构建;
  2. 准备参考板(如 LS1046ARDB、LS1028ARDB、LX2160ARDB)与串口、网线、电源;
  3. 通过 U-Boot 加载 RCW、BL2、FIP、Linux 内核与根文件系统;
  4. 使用 lspci、ethtool、ip link 查看 PCIe 与网络接口状态;
  5. 通过 devlink、restool 管理 DPAA2 对象。

下面这张图概括了 LS 平台从 CPU 到外部接口的纵向链路,以及 PCIe 与以太网 MAC 如何共享 SerDes 资源:

Layerscape SoC 接口纵向链路与 SerDes 共享关系 CPU 复合体 Cortex-A72 / A53 多核 内部互连总线 / 缓存一致性 PCIe 控制器 RC / EP,Gen1~Gen4 x1 / x2 / x4 / x8 以太网 MAC ENETC / DPMAC 1G / 10G / 25G / 100G 其他控制器 SATA / Aurora / SRIO 复用同一 SerDes SerDes 通道阵列(Lane 0 ~ N) 协议映射由 RCW / SRDS_PRTCL 决定:PCIe | SGMII | XFI | USXGMII | CAUI-4 | SATA NVMe / FPGA / 网卡 PCIe 差分对 SFP+ / PHY / 光模块 SGMII / XFI / CAUI-4 SATA 盘 / 其他链路 复用 SerDes 关键约束 同一 Lane 只能分配 一种协议 RCW 决定最终组合 开发观察点 lspci 看 PCIe 链路 ethtool 看 MAC 速率 restool 看 DPAA2 对象

六、开发中的常见判断依据

在参考板上电后,可通过以下方式快速判断接口是否按预期工作:

观察对象命令/方法正常表现异常提示
PCIe 链路lspci -vv显示设备与 LnkCap/LnkSta 速率、宽度无设备或 LnkSta 为 2.5GT/s x1
以太网接口ip link、ethtool eth0接口 UP,Speed 与预期一致接口不存在或 Speed 降级
SerDes 协议读取 RCW 与 SRDS_PRTCL与硬件设计一致协议冲突导致链路不训练
DPAA2 对象restool dprc showDPNI、DPMAC 正常创建对象缺失或资源不足
提示:LS 平台的 PCIe 与网络接口共享 SerDes 资源,硬件设计阶段就应确定 RCW 中的协议分配。软件调试时若发现接口异常,优先核对 RCW 与原理图,再排查驱动与设备树。