T113-S3-RTL8211网口phy芯片调试


目录

前言

一、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芯片连接,具体连接示意图如下所示:

T113-S3-RTL8211网口phy芯片调试_第1张图片

T113-S3-RTL8211网口phy芯片调试_第2张图片

三、设备树配置

        在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驱动配置,具体路径如下图所示:

T113-S3-RTL8211网口phy芯片调试_第3张图片

 具体路径为:Device Drivers > Network device support > PHY Device support and infrastructure 勾选Realtek PHYs驱动即可。

配置完成之后重新编译内核,烧写固件到开发板,rtl8211 phy正常驱动如下图所示:

 设备eth0节点启用正常:T113-S3-RTL8211网口phy芯片调试_第4张图片

 MDIO总线访问phy芯片寄存器正常,其中4为phy芯片地址

T113-S3-RTL8211网口phy芯片调试_第5张图片

五、phy芯片配置

       phy芯片配置在linux系统里面一般使用phytool工具对phy芯片进行寄存器配置,根据我这个项目情况,需要修改phy芯片active、link指示灯状态,当网口插上时link灯常亮,有数据交互时active灯闪亮。

        通过读取RTL8211芯片手册可得知phy led配置寄存器为page 0xd04 0x10寄存器,寄存器说明如下所示:

T113-S3-RTL8211网口phy芯片调试_第6张图片

 根据需求这个寄存器地址需要改为0x2F71,修改命令如下所示:

phytool write eth0/0/0x1F 0xd04
phytool write eth0/0/0x10 0x2F71

六、调试问题

       1、phy-RTL8211启动报错-hardware error:

T113-S3-RTL8211网口phy芯片调试_第7张图片

        这个错误一般是由于phy-mode模式配置错误引起,由于官方sdk默认配置gmac为RMII模式,需要将RMII模式修改为RGMII模式即可正常识别:

T113-S3-RTL8211网口phy芯片调试_第8张图片

2、网络异常:ifconfig显示能发不能收:

T113-S3-RTL8211网口phy芯片调试_第9张图片

         在确认硬件本身没问题的情况下,一般是由于pinctl引脚配置错误,仔细根据原理图配置pinctl网口引脚即可,如上设备树配置章节所示:

T113-S3-RTL8211网口phy芯片调试_第10张图片


总结

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

你可能感兴趣的:(全志平台,linux,架构,全志,phy,RTL8211)