1.mac控制器,phy芯片,rgmii协议
2.寄存器介绍
3.驱动源码解析
4.nanopi t2 移植rtl8211e网卡驱动(首发)
调试过程就不多说了,还是比较坎坷的,遇到了很多问题。
配置设备树
打开gmac设备arch/arm/dts/s5p4418-nanopi2.dts
这里还是稍微做下解释吧,网卡设备已经有配置了,在arch/arm/dts/s5p4418.dtsi
不记得我是否有改过,因为一开始GPIO的配置不正确,自己有写代码初始化过,但是后来发现设备树里面定义好了GPIO的配置,就是上面这一排pinctrl,具体配置在
arch/arm/dts/pinctrl.dtsi`
添加宏定义
添加一下phy宏定义,配置phy地址,使能realtek驱动/include/configs/s5p4418_nanopi2.h
下面这个配置必须要,之前忽略了,查了很就发现realtek驱动没有注册上。
添加一下ip地址参数配置(可选)
添加CMD_MII宏定义开启mii调试命令(可选)/common/Kconfig
可以查看phy寄存器的值
使用方法不多解释,需要的私信
配置mac地址(可选)/board/s5p4418/nanopi2/board.c
延长ping等待时间(可选)
drivers/net/phy/realtek.c
/include/phy.h
延长初始化等待时间(必须)
/drivers/net/designware.h
最终效果
加了一些调试输出