当前位置:   article > 正文

Zynq-Linux移植学习笔记之49-国产ZYNQ适配国产裕太PHY网络调试_yt_phy.c

yt_phy.c

1、背景介绍

由于元器件国产化大环境的需要,目前项目中采用国产ZYNQ替换xilinx ZYNQ,连接一片国产裕太8521 PHY替换Marvell 88E1111 PHY,通过RJ45转电口连接外部。框图如下:

 

其中YT 8521 PHY模式需要配置为千兆网,电口方式。

2、Uboot适配

uboot目前采用国产ZYNQ厂商提供的2018.7版本,需要在Uboot中对裕太这款PHY进行适配。

首先需要修改config配置文件,增加PHYLIB配置,由于裕太PHY与其他厂家的PHY不兼容,需要关闭其他厂家的PHY配置,如下图

其次修改/drivers/net/phy/phy.c文件中phy_reset函数

增加软件复位和配置PHY TX delay操作,这个在88E1111中也有类似的配置

 

PHY复位为软件复位,通过国产ZYNQ PL部分的GPIO进行配置。

 

TX DELAY配置PHY寄存器 0xa003为0xf9.

最后修改一下uboot环境变量,配置本地IP地址和上位机IP地址

 

3、devicetree配置

设备树中需要将phy地址配对,并与网卡进行关联

 

上图中phy硬件地址为1,关联到国产ZYNQ eth0.

4、内核配置

首先内核中需要增加裕太的PHY驱动,一个.h头文件和.c驱动文件,放到内核对应位置下面

 

修改makefile,默认将PHY驱动编译进内核

 

 

其次修改内核默认配置文件,去除其他厂家的PHY,增加PHYLIB

 

最后参考uboot中的配置,增加对PHY的软复位和TX  DELAY操作。

注意软件复位需要放在网络初始化之前执行。

这里简单处理就放在spi_nor.c中进行PHY复位,spi驱动在网络初始化之前。

 

 

TX DELAY放在YT提供的PHY驱动 8521的config_init函数中

 

 

5、测试

编译uboot和Image.ub,可以看到uboot下可以ping通上位机

 

Linux系统启动后也可以ping通上位机

到此适配成功

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/81734
推荐阅读
相关标签
  

闽ICP备14008679号