RTL8211E网口芯片在Uboot下调试问题

文章目录

  • RTL8211E网口芯片在Uboot下调试问题
    • RTL8211E的原理图
    • uboot下的驱动调试
    • 问题排查

RTL8211E的原理图

原理图参考firefly的开发板,特别注意的是39号引脚RESET外接的2.49K的电阻,这个是用来进行外部的电阻参考的。这个很关键,开始时46号引脚CLK_125输出的频率不是125MHZ,而是62.5MHZ,刚好减少一半,后续在对外围电路进行检查时,发现主要是这个39号引脚焊成4.7k的电阻了,刚好是2.49k的近一半,因此导致这个频率减半。这个问题困扰了两天,刚开始以为是程序问题,后来排查另外一块板子的频率是对的。两相对比后才发现这个地方存在问题。



uboot下的驱动调试

要改RTL8211e的驱动也不复杂,只要在ubootimx/include/configs/mx6sabre_common.h的文件里设置如下:

主要是开放REALTEK的驱动注释,并设置好PHY芯片的地址,此处参考原理图,设置为0

  • 然后在板级文件的目录下对网口的相关引脚进行定义,并进行初始化的设置。文件目录为board/freescale/mx6sabresd/mx6sabresd.c,首先是定义引脚

  • 其次是进行PHY芯片的复位,让主控能够识别到PHY芯片。
  • 再者就是进行芯片的初始化的配置,可以利用mdio的协议进行PHY的寄存器的配置。

    最后网络的驱动会通过boot.c一步步引导,最终调用以下函数进行网口的初始化。

问题排查

在完成上述设置,通电后,uboot能顺利读到PHY芯片,并能够通过mii dump 0 1进行寄存器的状态读取。但是在进行ping命令的测试时,则会出现error frame: 0x4ef44e80 0x00000884的问题。

  • 通过查阅代码看到,应该是进行通信时,读不到数据,那本能的想到时序异常的问题,进一步推测应该是RX_delayTx_delay的问题,因此通过修改原理图中失能RX DELAYTX DELAY。并改变对应的电阻,然后进行测试,变能进行ping通,并且通过DHCP指令获取ip。

RTL8211E网口芯片在Uboot下调试问题相关推荐

  1. 基于at91sam9260芯片在u-boot写添加看门狗控制命令

    基于at91sam9260芯片在u-boot下添加wdt on/off控制命令,需要进行如下修改: 1.在common目录下增加cmd_wdt.c文件,代码如下: /<span style=&q ...

  2. t4240 uboot下网络调试(88e1111)

    目前有两个网口,分别从t4240的EC1, EC2出来连接的88e1111 phy芯片.其中一个phy接rj45从板子直出,另一个是过背板的(后面再说). marvell的phy驱动在uboot下dr ...

  3. linux网络驱动rtl8211f,RTL8211F在uboot下使用mii工具配置RJ45网口灯详解

    RTL8211F在uboot下使用mii工具配置RJ45网口灯详解. 首先要明确使用这个工具的目的,类似于i2c-test工具测试i2c,使用这个工具验证测试网口灯的配置.然后再通过软件或者驱动来实现 ...

  4. Dm9000aep在u-boot下网卡驱动调试笔记

    作者:杨硕,华清远见嵌入式培训中心讲师. 最近在将u-boot1.3.4移植到三星s5pc100 SOC平台发现u-boot启动之后无法ping通主机,也不能用tftp下载内核.硬件平台用的网卡芯片是 ...

  5. 海思芯片(hi3516dv300)uboot镜像生成过程详解

    1.前言 (1)本文介绍的uboot编译过程是基于海思提供SDK包里的uboot源码进行编译,具体的编译参数是根据hi3516dv300芯片来设置的,编译生成的uboot烧录镜像也是用于hi3516d ...

  6. 记WinCE下调试SIM900 GSM module

    记WinCE下调试SIM900 GSM module 近几天在调试sim900,把遇到的一些问题总结下吧. 一.一些引脚的说说明. Sim900有几个引脚需要了解下. 1.  CTS.RTS 由于使用 ...

  7. RTL8211D(I)业级网口芯片bsp自适应修改

    XILINX官方默认的lwip bsp驱动暂时不支持RTL8211网口芯片,在使用该网口的时候需要自己手动修改库文件以支持该芯片,不同版本工具之间的修改方式大同小异,这边仅以Vitis 2019.2为 ...

  8. [转帖]你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下)

    你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下) https://www.ijiwei.com/html/news/newsdetail?source=pc&news_id=7177 ...

  9. UBOOT下IXP425 PCI驱动程序设计

    UBOOT下IXP425 PCI驱动程序设计 2009-04-07 13:32 摘要: 本文说明了IXP425 PCI控制器的结构和操作方法,然后说明了如何在UBOOT下为IXP425编写PCI驱动程 ...

  10. U-BOOT下使用bootm引导内核方法

    U-BOOT下使用bootm引导内核方法 注:   u-boot 使用的是打上: http://www.hhcn.com/cgi-bin/topic.cgi?forum=3&topic=651 ...

最新文章

  1. 深入理解Java中的内存泄漏
  2. Hibernate 封装的通用DAO基础类
  3. JAVA学习笔记--初始化与清理
  4. SAP Fiori Elements edit按钮的ABAP端实现细节
  5. 6.Java 面试题整理(XML)
  6. 基于Servlet的MVC模式用户登录实例
  7. 三段诡异的JavaScript代码,结果出乎意料
  8. CVE-2021-3156:隐藏10年之久的 Sudo 漏洞,可使任意用户获得root 权限(详述)
  9. php 数组的深度,有没有办法找出PHP数组的“深度”?
  10. android之uniapp调用weex的module
  11. PHP表单入库处理,ThinkPHP收集表单数据入库操作(三种方式)
  12. (转)周明:未来5-10年,自然语言处理将走向成熟
  13. VMWARE启动失败
  14. sql cast 和convert用法详解
  15. 改变xp开机和关机画面的方法
  16. JVM调优之 -Xms -Xmx -Xmn -Xss
  17. Android手势检测简介
  18. 2225年,人类可以通过脑机永生?
  19. P2V vCenter Converter Standalone迁移(问题记录)
  20. Phoenix在2345公司的实践(转)

热门文章

  1. 韩立刚计算机网络——第五章:应用层
  2. 低配置电脑最适合系统—win10企业版2016长期服务版本密钥和激活方法
  3. 双二阶广义积分器(SOGI)软件锁相(基于双线性变换)推导及实验代码
  4. Android Studio之NDK开发
  5. 陶哲轩:一个华裔数学天才的传奇
  6. matlab初学者_脚本文件调用函数文件
  7. 【面试常问】BS 与 CS 的联系与区别
  8. 机器学习----深刻理解高斯过程回归
  9. S32K1XX系列单片机 ——(1)开发环境搭建
  10. dwg文件怎么转换成pdf格式的文件?