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

目录

前言

一、LAN8720A介绍

二、原理图连接

三、设备树配置

四、内核配置

五、调试问题

总结


前言

    在嵌入式系统开发中,网络连接是至关重要的一部分。T113-S3开发板搭载了LAN8720A系列的网口PHY芯片,用于实现以太网连接。在开发过程中,对于网口的稳定性和性能的调试至关重要。本篇博客将介绍如何调试T113-S3开发板中的LAN8720A网口PHY芯片,以确保网络连接的正常工作。


一、LAN8720A介绍

        LAN8720A是一款常用的以太网物理层(PHY)芯片,由微芯科技(Microchip Technology)公司生产。它被广泛应用于各种网络设备,如嵌入式系统、单板计算机、工业自动化设备、路由器、交换机等,用于实现高速以太网连接。

以下是LAN8720A的主要特点和特性:

  1. 速率和接口: LAN8720A支持10/100Mbps的以太网速率,与IEEE 802.3u标准兼容。它采用了常见的RMII(Reduced Media Independent Interface)接口,可以与各种主控芯片和处理器连接。

  2. 工作模式: 芯片支持全双工和半双工模式,可以适应不同的网络通信需求。

  3. 自动协商: LAN8720A支持自动协商功能,能够自动检测并适应连接的网络速率和工作模式,从而简化了硬件和软件配置。

  4. 低功耗: 芯片具有低功耗设计,适用于需要长时间运行的嵌入式系统和移动设备。

  5. 内部时钟生成: LAN8720A内部集成了时钟生成电路,可以产生所需的时钟信号,减少了外部组件的需要。

  6. 自动MDI/MDIX交换: 芯片支持自动MDI(Medium Dependent Interface)/MDIX(Medium Dependent Interface Crossover)交换功能,允许直接连接到交叉线缆或普通直通线缆上。

  7. 诊断和状态指示: 芯片提供了诊断功能,可以监测链路状态、电缆长度和信号强度。同时,它还支持LED指示灯,用于显示连接和活动状态。

  8. 温度范围: LAN8720A适用于工业级应用,具有广泛的工作温度范围,适应各种环境条件。

  9. 电源: 芯片工作电压为3.3V,符合现代数字电路的标准电压。

二、原理图连接

        T113-S3采用RMII模式通过PG口与LAN8720A-phy芯片连接,使用PE组io脚作为连接脚与该phy芯片相连接,具体连接示意图如下所示:。

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

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

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

 

三、设备树配置

        在SDK里面通过修改device/config/chips/t113/configs/evb1_auto/board.dts设备树配置文件,添加网口pinctl控制脚,并使能gmac网咯节点。

&gmac0_pins_a{
	allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4",
			 "PE5", "PE6", "PE7","PE8", "PE9";
	allwinner,function = "gmac0";
	allwinner,muxsel = <8>;
	allwinner,drive = <1>;
	allwinner,pull = <0>;
};

&gmac0_pins_b{
	allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4",
			 "PE5", "PE6", "PE7","PE8", "PE9";
	allwinner,function = "gpio_in";
	allwinner,muxsel = <0>;
	allwinner,drive = <1>;
	allwinner,pull = <0>;
};

&gmac0 {
	pinctrl-0 = <&gmac0_pins_a>;
	pinctrl-1 = <&gmac0_pins_b>;
	pinctrl-names = "default", "sleep";
	phy-mode = "rmii";
	use_ephy25m = <0>;
	tx-delay = <7>;
	rx-delay = <31>;
	phy-rst = <&pio PE 13 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

四、内核配置

        linux内核需要打开SMSC phy驱动配置,> Device Drivers > Network device support > PHY Device support and infrastructure 具体路径如下图所示:

T113-S3-LAN8720A网口phy芯片调试_第4张图片

 配置保存重新编译内核烧写到开发板即可。

五、调试问题

       系统启动之后出现如下打印:Master/slave resolution failed, maybe conflicting manual settings?

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

解决方法:修改全志SDK内核驱动文件,/kernel/linux-5.4/drivers/net/ethernet/allwinner/sunxi-gmac.c驱动文件中的geth_phy_init函数,修改部分如下截图所示,原因是该驱动文件访问了一个千兆phy才有的寄存器,导致报错网口出现问题。

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

 修改之后,phy驱动正常加载:

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

 网口速率测试如下所示:

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

 


总结

        通过这些调试,您应该能够成功地在T113-S3 CPU上搭载LAN8720A PHY芯片,并确保网络连接的稳定性和可靠性。调试是一个逐步的过程,需要耐心和仔细。如果遇到问题,可以查阅相关文档、咨询开发者社区或专业人士以获得帮助。祝您在调试过程中获得成功!。

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