【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)

时间:2024-03-18 14:15:23

1.mac控制器,phy芯片,rgmii协议
2.寄存器介绍
3.驱动源码解析
4.nanopi t2 移植rtl8211e网卡驱动(首发)

调试过程就不多说了,还是比较坎坷的,遇到了很多问题。

配置设备树

打开gmac设备
arch/arm/dts/s5p4418-nanopi2.dts
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)
这里还是稍微做下解释吧,网卡设备已经有配置了,在
arch/arm/dts/s5p4418.dtsi
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)
不记得我是否有改过,因为一开始GPIO的配置不正确,自己有写代码初始化过,但是后来发现设备树里面定义好了GPIO的配置,就是上面这一排pinctrl,具体配置在
arch/arm/dts/pinctrl.dtsi`
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)

添加宏定义

添加一下phy宏定义,配置phy地址,使能realtek驱动
/include/configs/s5p4418_nanopi2.h
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)
下面这个配置必须要,之前忽略了,查了很就发现realtek驱动没有注册上。
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)
添加一下ip地址参数配置(可选)
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)

添加CMD_MII宏定义开启mii调试命令(可选)
/common/Kconfig
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)
可以查看phy寄存器的值
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)
使用方法不多解释,需要的私信

配置mac地址(可选)
/board/s5p4418/nanopi2/board.c
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)

延长ping等待时间(可选)

drivers/net/phy/realtek.c
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)
/include/phy.h
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)

延长初始化等待时间(必须)

/drivers/net/designware.h
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)

最终效果

加了一些调试输出
【NanoPi T2】 8.uboot gmac网卡驱动(4) - 移植rtl8211e网卡驱动(首发)