目錄
前言
一、RTL8211介紹
二、硬件連接
三、設備樹配置
四、內核配置
五、phy芯片配置
六、調試問題
總結
前言
????????在嵌入式系統開發中,網絡連接是至關重要的一部分。T113-S3開發板搭載了RTL8211系列的網口PHY芯片,用于實現以太網連接。在開發過程中,對于網口的穩定性和性能的調試至關重要。本篇博客將介紹如何調試T113-S3開發板中的RTL8211網口PHY芯片,以確保網絡連接的正常工作。
一、RTL8211介紹
????????Realtek(瑞昱半導體)公司的 RTL8211F-CG/RTL8211FD-CG/RTL8211FI-CG/RTL8211FDI-CG是符合10Base-T,100Base-TX和1000Base-T IEEE 802.3標準的高度集成的以太網收發器。它提供了通過CAT.5 UTP電纜發送和接收以太網數據包的所有必要的物理層功能。 RTL8211FI和RTL8211FDI符合工業級標準。
????????RTL8211F(I)/RTL8211FD(I)使用先進DSP和模擬前端(AFE)技術,通過UTP電纜實現高速數據傳輸。在RTL8211F(I)/RTL8211FD(I)中實現諸如交叉檢測和自動校正,極性校正,自適應均衡,串擾消除,回波消除,定時恢復和糾錯的功能,以提供在10Mbps,100Mbps或1000Mbps時魯棒發送和接收能力。
????????MAC和PHY之間的1000Base-T,10Base-T和100Base-TX數據傳輸是通過RGMII接口實現的。RTL8211F(I)/RTL8211FD(I)支持多種RGMII信號電壓,包括3.3,2.5,1.8和1.5V。
二、硬件連接
? ? ? ? T113-S3采用RGMII模式通過PG口與RTL8211-phy芯片連接,具體連接示意圖如下所示:
三、設備樹配置
? ? ? ? 在SDK里面通過修改device/config/chips/t113/configs/evb1_auto/board.dts設備樹配置文件,添加網口pinctl控制腳,并使能gmac網咯節點。
? ? ? ? 添加pinctl控制腳:
&gmac0_pins_c{allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4","PG5", "PG6", "PG7", "PG8", "PG9","PG10", "PG12", "PG14", "PG15";allwinner,function = "gmac0";allwinner,muxsel = <4>;allwinner,drive = <3>;allwinner,pull = <1>;
};&gmac0_pins_d{allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4","PG5", "PG6", "PG7", "PG8", "PG9","PG10", "PG12", "PG14", "PG15";// allwinner,function = "io_disabled";// bias-disable;allwinner,function = "gmac0";allwinner,muxsel = <4>;allwinner,drive = <3>;allwinner,pull = <1>;
};
使能gmac網絡節點,并正確配置phy-rst復位管腳:
//RGMII
&gmac0 {pinctrl-0 = <&gmac0_pins_c>;pinctrl-1 = <&gmac0_pins_d>;pinctrl-names = "default", "sleep";phy-mode = "rgmii";use_ephy25m = <0>;tx-delay = <7>;rx-delay = <31>;phy-rst = <&pio PB 3 GPIO_ACTIVE_HIGH>; status = "okay";
};
四、內核配置
? ? ? ? linux內核需要打開realtek phy驅動配置,具體路徑如下圖所示:
?具體路徑為:Device Drivers > Network device support > PHY Device support and infrastructure 勾選Realtek PHYs驅動即可。
配置完成之后重新編譯內核,燒寫固件到開發板,rtl8211 phy正常驅動如下圖所示:
?設備eth0節點啟用正常:
?MDIO總線訪問phy芯片寄存器正常,其中4為phy芯片地址
五、phy芯片配置
? ? ? ?phy芯片配置在linux系統里面一般使用phytool工具對phy芯片進行寄存器配置,根據我這個項目情況,需要修改phy芯片active、link指示燈狀態,當網口插上時link燈常亮,有數據交互時active燈閃亮。
? ? ? ? 通過讀取RTL8211芯片手冊可得知phy led配置寄存器為page 0xd04 0x10寄存器,寄存器說明如下所示:
?根據需求這個寄存器地址需要改為0x2F71,修改命令如下所示:
phytool write eth0/0/0x1F 0xd04
phytool write eth0/0/0x10 0x2F71
六、調試問題
? ? ? ?1、phy-RTL8211啟動報錯-hardware error:
????????這個錯誤一般是由于phy-mode模式配置錯誤引起,由于官方sdk默認配置gmac為RMII模式,需要將RMII模式修改為RGMII模式即可正常識別:
2、網絡異常:ifconfig顯示能發不能收:
?????????在確認硬件本身沒問題的情況下,一般是由于pinctl引腳配置錯誤,仔細根據原理圖配置pinctl網口引腳即可,如上設備樹配置章節所示:
總結
????????調試T113-S3開發板中的RTL8211網口PHY芯片可能涉及多個方面,包括硬件連接、內核配置和驅動問題。通過仔細的步驟和有條理的排查,您可以確保網口連接穩定,系統正常工作。務必在調試過程中保持耐心,并參考相關文檔和社區資源,以獲取更多幫助和支持。這將有助于您成功實現網絡連接并順利完成開發工作。