PHY芯片的使用(三)在linux下网络PHY的移植

1 前言

配置设备树请参考上一章。此次说明还是以裕太的YT8511芯片为例。

2 需要配置的文件及路径

a. 在 .. /drivers/net/phy 目录下添加 yt_phy.c 文件(一般来说该驱动文件由厂家提供);

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

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

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

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

3 驱动添加

完成 以上内容后,进入 Linux 内核目录下执行 make menuconfig 进行内核配置,添加 YT PHY 驱动,如下图所示。

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

4. 移植关注点分析

a. u-boot 和 Linux 内核 PHY 驱动移植都是基于标准软件框架, u-boot 和 Linux 内核都是通过 PHY ID 来完成 PHY 设备 device 和驱动 driver 的匹配,匹配成功后通过函数(ytphy8511_config)调用完成设备树解析及 PHY 配置操作;

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

b. u-boot 移植过程中要注意 phy_device->dev(struct udevice *dev,图1所示)不是自身的 udevice 而是 gmac 的设备信息(如图2所示),设备树节点解析时要注意!

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

图1

PHY芯片的使用(三)在linux下网络PHY的移植_第6张图片

图2

c. 设备树中 gmac、 mdio、 phy 设备节点及属性PS 端有两路 gmac(gmac0、gmac1), gamc 下分别有一路 mdio(mdio0、 mdio1)。网络相关设备树节点配置方法为: root 节点下包含 gmac 节点, gamc 节点包含子节点 mdio,mdio 节点包含子节点 phy,其中 mdio 节点下可包含多个 phy 子节点。

你可能感兴趣的:(芯片国产化,linux,phy,ZYNQ)