目录
0. 前言
2. 设备树
0. 前言
这次的网卡驱动就比较顺利,基本就是参考 4.19.x 内核以及 imx6qdl-sabrelite.dtsi、imx6qdl-sabreauto.dtsi 中的设备树,来设置以太网各项参数。
1. menuconfig
其实笔者接手的时候,网口这块 menuconfig设置已经OK了,后续没再做其他修改。
我们在 linux-menuconfig 里面如下设置:进入 Device Drivers ---> Network device support ---> Ethernet driver support ---> Freescale devices
如此保存配置,退出menuconfig,直接编译内核,没有报错,但直接把编译好的zImage放到设备上,内核会输出:
......
fec 2188000.ethernet eth0: Link is Down
而没有如下输出:
fec 2188000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
而后进入rootfs,也是ping不通的。
2. 设备树
我们需要改一下设备树。最终经过几次尝试,笔者做了如下改动:
在根节点下,新增了时钟 clk50m_phy
把 clk50m_phy 时钟补充进 fec节点,再新增了compatible、reg 属性
保存设备树,重新编译内核,把zImage放入设备运行。这次内核打印在末尾就有了“Link is Up” ,并且进入rootfs以后也可以ping通了,也是建立ssh连接了。