嵌入式学习小组
直播中

俞丽

7年用户 194经验值
私信 关注

基于NXP iMX8X示例了双路以太网的设计和配置思路


NXP iMX8X是NXP近期发布的基于Cortex-A35和Coretex-M4异构多核架构的arm处理器,支持两路MAC控制器,可以通过外置百兆或者千兆PHY芯片扩展两路以太网接口,本文就采用Toradex基于NXP iMX8X SoC的ARM核心板模块Colibri iMX8X示例扩展两路以太网。





回帖(2)

郑尧

2020-12-30 11:31:15
  第一路以太网
  a) Colibri iMX8X模块已经通过模块上面部署的一个Microchip KSZ8041NL 百兆PHY芯片默认支持了第一路百兆以太网
  b) KSZ8041NL的参考威廉希尔官方网站 请参考这里(原理图示例的SoC MAC端来自Toradex VF61 ARM模块的定义,在iMX8X或者其他平台上面不能直接引用,请只参考PHY一侧的连接),PHY Address配置为2。
  d)基于上述配置的第一步以太网对应的device tree节点定义和pinmux定义请参考如下,内核基于4.14.159版本
  ---------------------------------------
  # arch/arm64/boot/dts/freescale/fsl-imx8qxp-colibri.dtsi
  / &fec1 node节点定义请参考这里
  / &fec1 pinmux定义请参考这里
  ---------------------------------------
举报

贾桂林

2020-12-30 11:31:34
  第二路以太网
  a) 第二路以太网通过模块预留的RMII或者RGMII接口连接百兆PHY或者千兆PHY来扩展,Colibri iMX8X RMII或者RGMII接口管脚定义请参考手册5.3章节。
  b) 同样使用KSZ8041NL 百兆PHY扩展的参考威廉希尔官方网站 请参考这里(原理图示例的SoC MAC端来自Toradex VF61 ARM模块的定义,在iMX7或者其他平台上面不能直接引用,须按照上面手册定义连接),如需要连接千兆PHY,请参考所使用的千兆PHY(如Microchip KSZ9031RNL)手册进行连接。PHY Address配置为默认的1。
  c)通过ENET2 RMII接口连接KSZ8041NL百兆PHY的device tree配置参考如下patch,注意如下:
  / 由于iMX8X ENET1和ENET2 两路MAC共享同一路MDIO总线,因此两路PHY的节点都放在&fec1节点mdio下面,通过不同的PHY Address来区分。
  / ENET2 Pinmux和lcd功能冲突,因此如果使用ENET2,则要将lcd 功能关闭
  https://github.com/simonqin09/Colibri_iMX8X_2nd_Ethernet/blob/master/0001-colibri-imx8x-rmii-ksz8041-support_20200424.patch
  d)。 详细下载和编译Kernel源代码,以及部署新的设备树到模块的方法说明请参考这里。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分