Rk3288以太网开发
1、环境
平台:rk3288
系统:android7.1
内核版本: linux4.4
u-boot:2017.7
以太网芯片:AR8035
2、设备树修改
linux4.4内核和linux3.3内核以太网开发有些许变化,
①原理图:
②设备树:
③说明:
④注意(修改点)
-
reset-gpio属性对应引脚需要看原理图进行修改!
-
Max-speed = <1000>; 千兆网需要改为1000!
-
如果网络不通,修改rx_delay和tx_delay值。
-
千兆网:phy-mode=”rgmii”;
pinctrl-0 = <&rgmii_pins>;
clock_in_out = "input";
3、驱动修改
linux4.4 版本,驱动框架变化,但兼容之前的驱动,代码位置发生变化。因此,4.4 kernel 中已包含了支持 RK 所使用的 GMAC 的代码框架。
代码位置在 drivers/net/ethernet/stmicro/stmmac/
RK 平台相关代码主要位于 dwmac-rk.c 中.
修改点:
驱动中对AR8035进行了配置,配置文件为drivers/net/ethernet/stmicro/stmmac /stmmac_main.c,添加ar8035_fix函数。
此函数实现如下功能:
1. enable SmartEEE
2.将CLK_25M 配置为125MHz
3.增强RX/TX输出能力
4.disenable RX延迟(delay)
如下:
4、排查及调试方法
暂略!
5、遗留问题
MAC_CLK 连接电阻可能会带来,丢包的问题,待验证!