Rk3288以太网开发

Rk3288以太网开发

1、环境

平台:rk3288

系统:android7.1

内核版本: linux4.4 

u-boot:2017.7

以太网芯片:AR8035

2、设备树修改

linux4.4内核和linux3.3内核以太网开发有些许变化,

①原理图:

②设备树:

③说明:

④注意(修改点)

  1. reset-gpio属性对应引脚需要看原理图进行修改!

  2. Max-speed = <1000>;  千兆网需要改为1000!

  3. 如果网络不通,修改rx_delay和tx_delay值。

  4. 千兆网: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 连接电阻可能会带来,丢包的问题,待验证!