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 連接電阻可能會帶來,丟包的問題,待驗證!