
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中调试
- 首先
本文详细记录了在Linux环境下,针对Marvell 88Q1010百兆PHY进行驱动调试的全过程,包括在U-boot和kernel中的调试步骤,以及使用mii cmd工具进行寄存器读写的实践操作。通过修改设备树、添加源码、调整mdio时钟频率等方法,解决驱动适配问题。
订阅专栏 解锁全文
3346

被折叠的 条评论
为什么被折叠?



