PHY芯片的使用(三)在U-boot下网络PHY的移植

1、概述

以太网 PHY 驱动移植,主要包括 Linux、 u-boot 及设备树等三个方面标准框架下的移植。本文以裕太8511PHY为例展开说明。一般国产芯片厂商会提供在uboot/linux下PHY的驱动。在uboot/linux的PHY框架是有区别的,这点要注意。

YT8511 PHY 驱动的移植主要基于 genphy 驱动,在 genphy 驱动的基础上增补了设备树节点的解析及 PHY TX/RX 延迟的配置功能。最近调试国产雄立科技的phy也主要是增补的延迟功能的配置。

2. 设备树属性配置

设备树文件主要涉及 system-top.dts, 可在 gmac0、 gamc1 节点中添加 phy 子节点的一些配置属性信息,如下图。

PHY芯片的使用(三)在U-boot下网络PHY的移植_第1张图片

其中 phy-connection-type = "rgmii-id":表示 PHY 需要配置 TX/RX 延迟,具体解释为"rgmii-id" (RGMII with internal RX and TX delays provided by the PHY, the MAC should not add the RX or TX delays in this case);yt,phy-delay = <0x80a3>:表示 PHY 延迟相关的配置参数信息,用于配置 PHY 延迟相关的寄存器。添加上述两项属性信息后, u-boot 及 Linux 内核在成功完成设备及驱动的匹配后, 会调用 ytphy8511_config 进行设备树的解析并完成相关配置操作。

3. u-boot PHY 驱动移植

3.1 涉及文件

1. 在 ../u-boot/drivers/net/phy 目录下添加 yt_phy.c 文件;

2. 修改../ u-boot/drivers/net/phy 目录下的 Kconfig 文件,如下图所示。

PHY芯片的使用(三)在U-boot下网络PHY的移植_第2张图片

3. 修改../ u-boot /drivers/net/phy 目录下的 Makefile 文件,如下图所示。

PHY芯片的使用(三)在U-boot下网络PHY的移植_第3张图片

4.修改../ u-boot /drivers/net/phy 目录下的 phy.c 文件,如下图所示。

PHY芯片的使用(三)在U-boot下网络PHY的移植_第4张图片

3.2 驱动添加

完成 3.1 章节的内容后,进入 u-boot 目录下执行 make menuconfig 进行 u-boot 配置,添加 YT PHY 驱动,如下图所示。

PHY芯片的使用(三)在U-boot下网络PHY的移植_第5张图片

最后如何硬件没问题,在uboot启动打印中就能看到识别该网卡。设置好ip就能ping通PC了。

下次讲一下在linux在如何添加驱动。

你可能感兴趣的:(芯片国产化,PHY,ZYNQ,FMQL,YT8511)