1. 概述
为了降成本,千兆PHY改为了百兆PHY,Marvell 88Q2112换成了88Q1010,驱动大同小异,虽然有厂家提供的驱动源码,但是调试过程中也踩了不少坑,本文主要是记录在J3平台(linux)上调试88Q1010驱动的过程,同时也总结了关于MAC、RGMII、PHY等相关基础知识。
2. 调试
调试的步骤
- U-boot中调试
- 修改对应的设备树文件xxx.dts,添加设备地址;
- 在drivers/net/phy/Kconfig中,添加Marvel 88Q1010的定义;
- 在drivers/net/phy/Makefile中,添加Marvel 88Q1010功能;
- 添加mv88q1010.c源码到drivers/net/phy/路径下;
- 根据需求调整mdio的时钟频率(mdc),相关的代码在路径drivers/net/xxx_gmac.c;
- 在include/phy.h中添加声明(int phy_mv88q1010_init(void));
- 在configs/xxx_defconfig配置文件中添加配置;
- 在编译管理文件中,.config追加Marvel 88Q1010及mii cmd调试工具。
- kernel中调试