目录
前言
一、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芯片可能涉及多个方面,包括硬件连接、内核配置和驱动问题。通过仔细的步骤和有条理的排查,您可以确保网口连接稳定,系统正常工作。务必在调试过程中保持耐心,并参考相关文档和社区资源,以获取更多帮助和支持。这将有助于您成功实现网络连接并顺利完成开发工作。