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

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

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

配置设备树

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

添加宏定义

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

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

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

延长ping等待时间(可选)

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

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

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

最终效果

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

你可能感兴趣的:(uboot,nanopi,t2,rtl8211e,uboot网卡驱动,uboot,驱动移植)