飞腾CPU FT-2000/4 uboot下PHY调试记录

这篇具有很好参考价值的文章主要介绍了飞腾CPU FT-2000/4 uboot下PHY调试记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

飞腾爱好者技术交流群码飞腾CPU FT-2000/4 uboot下PHY调试记录公众号“乌拉大喵喵”飞腾CPU FT-2000/4 uboot下PHY调试记录


 文章来源地址https://www.toymoban.com/news/detail-423978.html

一、环境说明

板子是FT-2000/4的开发板:

飞腾CPU FT-2000/4 uboot下PHY调试记录

固件版本:

ft-2004c_u-boot-v2-Ver0.3_202112231001.tar.gz

ft2004c_v2.06_image_fix.rar

 

二、调试命令说明

调试PHY主要用到的命令是mii,先查看下可用的命令:

飞腾CPU FT-2000/4 uboot下PHY调试记录

mii device,缩写mii dev,查看网络控制器mac。

mii device,缩写mii dev,用来切换mac控制器。

mii info,用来扫描当前网络控制器mac下的phy有哪些。

mii read/write是用来读写寄存器的。

mii dump,用来显示寄存器状态值,其中addr是通过mii info扫描,确定其PHY地址后,填入的。

三、MII命令使用

3.1 mii dev查看网络控制器

首先通过命令看看配置了几个网络控制器mac。因为FT-2000/4内有两个网络控制器,理论上应该能看到2个mac。

飞腾CPU FT-2000/4 uboot下PHY调试记录

飞腾CPU FT-2000/4 uboot下PHY调试记录

 

FT2004C#mii dev

MII devices: 'ethernet0@2820c000' 'ethernet1@28210000'

Current device: 'ethernet0@2820c000'

能看出来是两个mac控制器都在(ethernet0@2820c000、ethernet1@28210000),这个东西是哪里设置的呢?是uboot的设备树里配置的,如果改过设备树,比如注释了ethernet1,那这里就只能看到一个ethernet0了。

设备树位置:

飞腾CPU FT-2000/4 uboot下PHY调试记录

飞腾CPU FT-2000/4 uboot下PHY调试记录

 

3.2 mii info扫描PHY

飞腾板子上用了两个AR8035的PHY芯片。

 

飞腾CPU FT-2000/4 uboot下PHY调试记录

飞腾CPU FT-2000/4 uboot下PHY调试记录

查看当前mac下的phy有没有:

FT2004C#mii dev

MII devices: 'ethernet0@2820c000' 'ethernet1@28210000'

Current device: 'ethernet0@2820c000'

可以看到当前使用的是第1个mac控制器。

Mii info扫描:

FT2004C#mii info

PHY 0x04: OUI = 0x1374, Model = 0x07, Rev = 0x02,  10baseT, HDX

能够在这个mac下扫到一个地址为0x04的PHY,这个地址是通过PHY的管脚来配出来的。在mii info下能扫到这么一个PHY,说明mac的MDIO是通的。要是这里硬件上设计了一个PHY,但是这里没有扫到,那么就要去查硬件了,要是PHY都没扫到,后面测网络也白测。

 

飞腾CPU FT-2000/4 uboot下PHY调试记录

 

切换mac后再看看其下面有没有phy。

FT2004C#mii dev 'ethernet1@28210000'

上面命令是切换到第2个网络控制器。

FT2004C#mii dev

MII devices: 'ethernet0@2820c000' 'ethernet1@28210000'

Current device: 'ethernet1@28210000'

可以看到,已经切换到了第2个mac控制器。

 

FT2004C#mii info

PHY 0x04: OUI = 0x1374, Model = 0x07, Rev = 0x02,  10baseT, HDX

同样,在这个mac下也看到了一个地址为0x04的PHY。

 

因为飞腾的RGMII控制器是每个单独的MDIO接口,所以可以将板上的两个PHY地址设成一样的。

有些芯片是多个MAC共用一个mdio,这种情况的话就需要将PHY的地址设成不同的了,可以简单的把MDIO接口理解为IIC。

 

3.3 mii dump转储寄存器信息

现在把网线插到板子双网络的上面的网口,从电路上是对应第一个mac下的phy网口。

飞腾CPU FT-2000/4 uboot下PHY调试记录

查看'ethernet0@2820c000'下PHY的link状态。

使用mii dump命令可以查看phy的0~5的6个寄存器(使用mii read命令不存在这个说法,所有寄存器都能看 )。因为我们的PHY地址是0x04,所以mii dump里的addr我们填0x04,reg部分我们从0填到5就能看全所有的寄存器了。现在是插着网线的,所以可以看到“(0004:0004) 1. 2    =     1    link status”表示link成功了,拔掉网线这里就=0了((0004:0000) 1. 2    =     0    link status)。这也同时印证了PHY的MDIO是通的。还是那句话,这里的PHY link状态都读不到,那就去查硬件看看吧。MDIO都没通,不用着急去ping包。

 

FT2004C#mii dev 'ethernet0@2820c000'

FT2004C#mii dump 0x04 0

0.     (1000)                 -- PHY control register --

  (8000:0000) 0.15    =     0    reset

  (4000:0000) 0.14    =     0    loopback

  (2040:0000) 0. 6,13 =   b00    speed selection = 10 Mbps

  (1000:1000) 0.12    =     1    A/N enable

  (0800:0000) 0.11    =     0    power-down

  (0400:0000) 0.10    =     0    isolate

  (0200:0000) 0. 9    =     0    restart A/N

  (0100:0000) 0. 8    =     0    duplex = half

  (0080:0000) 0. 7    =     0    collision test enable

  (003f:0000) 0. 5- 0 =     0    (reserved)

 

 

FT2004C#mii dump 0x04 1

1.     (796d)                 -- PHY status register --

  (8000:0000) 1.15    =     0    100BASE-T4 able

  (4000:4000) 1.14    =     1    100BASE-X  full duplex able

  (2000:2000) 1.13    =     1    100BASE-X  half duplex able

  (1000:1000) 1.12    =     1    10 Mbps    full duplex able

  (0800:0800) 1.11    =     1    10 Mbps    half duplex able

  (0400:0000) 1.10    =     0    100BASE-T2 full duplex able

  (0200:0000) 1. 9    =     0    100BASE-T2 half duplex able

  (0100:0100) 1. 8    =     1    extended status

  (0080:0000) 1. 7    =     0    (reserved)

  (0040:0040) 1. 6    =     1    MF preamble suppression

  (0020:0020) 1. 5    =     1    A/N complete

  (0010:0000) 1. 4    =     0    remote fault

  (0008:0008) 1. 3    =     1    A/N able

  (0004:0004) 1. 2    =     1    link status

  (0002:0000) 1. 1    =     0    jabber detect

  (0001:0001) 1. 0    =     1    extended capabilities

 

 

FT2004C#mii dump 0x04 2

2.     (004d)                 -- PHY ID 1 register --

  (ffff:004d) 2.15- 0 =    77    OUI portion

 

 

FT2004C#mii dump 0x04 3

3.     (d072)                 -- PHY ID 2 register --

  (fc00:d000) 3.15-10 =    52    OUI portion

  (03f0:0070) 3. 9- 4 =     7    manufacturer part number

  (000f:0002) 3. 3- 0 =     2    manufacturer rev. number

 

 

FT2004C#mii dump 0x04 4

4.     (11e1)                 -- Autonegotiation advertisement register --

  (8000:0000) 4.15    =     0    next page able

  (4000:0000) 4.14    =     0    (reserved)

  (2000:0000) 4.13    =     0    remote fault

  (1000:1000) 4.12    =     1    (reserved)

  (0800:0000) 4.11    =     0    asymmetric pause

  (0400:0000) 4.10    =     0    pause enable

  (0200:0000) 4. 9    =     0    100BASE-T4 able

  (0100:0100) 4. 8    =     1    100BASE-TX full duplex able

  (0080:0080) 4. 7    =     1    100BASE-TX able

  (0040:0040) 4. 6    =     1    10BASE-T   full duplex able

  (0020:0020) 4. 5    =     1    10BASE-T   able

  (001f:0001) 4. 4- 0 =     1    selector = IEEE 802.3

 

 

FT2004C#mii dump 0x04 5

5.     (cde1)                 -- Autonegotiation partner abilities register --

  (8000:8000) 5.15    =     1    next page able

  (4000:4000) 5.14    =     1    acknowledge

  (2000:0000) 5.13    =     0    remote fault

  (1000:0000) 5.12    =     0    (reserved)

  (0800:0800) 5.11    =     1    asymmetric pause able

  (0400:0400) 5.10    =     1    pause able

  (0200:0000) 5. 9    =     0    100BASE-T4 able

  (0100:0100) 5. 8    =     1    100BASE-X full duplex able

  (0080:0080) 5. 7    =     1    100BASE-TX able

  (0040:0040) 5. 6    =     1    10BASE-T full duplex able

  (0020:0020) 5. 5    =     1    10BASE-T able

  (001f:0001) 5. 4- 0 =     1    selector = IEEE 802.3

 

 

要是想看详细的寄存器位描述,就查手册就好了。

飞腾CPU FT-2000/4 uboot下PHY调试记录

 

3.4 mii read write读写寄存器

我们来尝试read、write一下。

mii read                 

mii write  

这里的可以填手册里有的地址,AR8035有0x00~0x1F这么些寄存器。我们先使用read,看看读上来的是啥。

 

FT2004C#mii read 0x04 0

1000

飞腾CPU FT-2000/4 uboot下PHY调试记录

 

这里是把整个寄存器的16位都读上来了,也就说我们要控制寄存器的某一位,需要自己在二进制里配置好,转换完再配进去。

我们先看,这里读上来的0x1000。这里需要注意的是,uboot显示speed selection是bit6+bit13。所以要是看dump显示和read的对应关系,这里要注意一下。要是你直接从手册寄存器表里去查,那就没这个注意事项了。

飞腾CPU FT-2000/4 uboot下PHY调试记录

 

当然你也可以去读其他的寄存器值,读到后对应手册去查寄存器含义就好了。

飞腾CPU FT-2000/4 uboot下PHY调试记录

 

我们write下试试,就操作speed selection寄存器吧,这个代表速度选择用控制寄存器。修改speed为2'b10 = 1000Mbps。即寄存器0的值为0x1040。配置完再读一下看,是配置进去了。

飞腾CPU FT-2000/4 uboot下PHY调试记录

MDIO这边就这样了。MDIO能操作是调网络的基础。

 

3.5 网络测试ping

剩下就是ping测试了。

print一下环境变量,简单的话就是默认环境变量不动,改PC机那边的,改成和环境变量中serverip一样的。

改完后从uboot这边去ping PC机就好了。

飞腾CPU FT-2000/4 uboot下PHY调试记录

 

或者改uboot那边的ipaddr、gatewayip、serverip,改成你想要的。之后通过PC去ping板子。

 


 

欢迎飞腾爱好者加入微信交流群。

群内大家可以畅所欲言。

在群内不需要表露自己的公司和身份,可以群内交流遇到的问题,分享自己的调试心得。

希望大家共建飞腾友谊!

飞腾爱好者技术交流群码飞腾CPU FT-2000/4 uboot下PHY调试记录公众号“乌拉大喵喵”飞腾CPU FT-2000/4 uboot下PHY调试记录

 

到了这里,关于飞腾CPU FT-2000/4 uboot下PHY调试记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FT2004(D2000)开发实战之网口stmmac报错调试(Failed to reset the dma)

    主芯片为飞腾FT2004,网口MAC为stmmac,phy芯片为ar8035,工作接口为RGMII接口 具体报错信息如下所示:

    2024年02月15日
    浏览(78)
  • JavaFX爱好者看过来,这款工具值得拥有

           各位CSDN的博友们,随着各地政策的放开,大伙现在是在水深火热当中呢?还是天选打工人-安然无羊。在这里,希望阳了的朋友,赶紧恢复健康,早日康复。希望没有阳的朋友们,继续坚持,万一要阳,也一定要做一直美羊羊。       之前因为工作需要,看了一些J

    2023年04月20日
    浏览(35)
  • Python爱好者社区历史文章列表(每周append更新一次)

    2月22日更新:   0.Python从零开始系列连载: Python从零开始系列连载(1)——安装环境 Python从零开始系列连载(2)——jupyter的常用操作 Python从零开始系列连载(3)——Python的基本数据类型(上) Python从零开始系列连载(4)——Python的基本数据类型(下) Python从零开始系列

    2024年02月08日
    浏览(33)
  • 云原生爱好者周刊:M1 芯片 Mac 可以成功运行 Linux

    3 月 19 日,也就是前两天,Asahi Linux 官方推特宣布:首个原生支持 M1 系列芯片的 Linux 测试版现已发布,所有人皆可使用! Asahi Linux 起初只是一个众筹项目,计划为 Apple Silicon Mac 设备移植 Linux 系统,后来才被命名为 Asahi Linux,开始加速开发。虽然现在还很粗糙,很多功能无

    2023年04月08日
    浏览(33)
  • Debian 12 + NVIDIA驱动:给人工智能爱好者的安装指南

    Debian 12是最新发布的Debian GNU/Linux发行版,代号为Bookworm。人工智能程序通常需要大量的计算资源,尤其是GPU,来加速训练和推理过程。为了让Debian 12系统能够正常渲染桌面,并充分利用Nvidia GPU的性能,我们需要安装合适的显卡驱动。 本文介绍如何安装Debian 12系统和Nvidia显卡

    2024年02月16日
    浏览(40)
  • 手机还能做电路仿真啊!电子电路兴趣爱好者福音!

    不知道大家喜不喜欢平时动手做点小玩具或者一些小的电子电路方面的手工。比如制做一个音频功率放大器(音响),数码管时钟,电磁炮之类的。霸哥偶尔也会动手做一些,不过因为专业原因我甚至连专业的电路软件都不会用,几经辗转我找到了一些手机仿真软件。初学者

    2024年02月09日
    浏览(27)
  • 云原生爱好者周刊:野心很大的云原生数据库 SurrealDB

    SurrealDB SurrealDB 是一个开源的端到端云原生数据库,同时支持 Table、Document 和 Graph 等多种数据模型,对外提供 SurrealQL、GraphQL、Rest 与 WebSocket 等多种查询方式,支持实时查询和权限等高级特性,既可以嵌入式部署,也可以在云端扩展为分布式的数据库。 pg_watch_demo 这个项目在

    2023年04月09日
    浏览(83)
  • 云原生爱好者周刊:PromLabs 开源 PromQL 可视化工具 PromLens

    PromLens PromLabs 开源了旗下的 PromQL 可视化工具 PromLens,它可以通过图形化的方式展示 PromQL 的语法特征,对相关查询参数进行解释,并提供告警和常见错误的快速修复措施。 Kube Auto Puller 之前给大家介绍过 kube-fledged,这个 Operator 可以监控 Kubernetes 特定节点的特定镜像缓存,并

    2024年02月09日
    浏览(35)
  • 国外大学生都用FPGA做什么项目(六)-游戏爱好者的福音

    看看国外大学的FPGA开发项目 据我了解,目前国内很多大学是没有开设FPGA相关课程的,所以很多同学都是自学,但是自学需要一定的目标和项目,今天我们就去看看常春藤盟校Cornell University 康奈尔大学开设的FPGA项目课程,大部分课程是有源码的,而且和国内使用习惯类似都

    2024年01月17日
    浏览(27)
  • VueHub:我用 ChatGPT 开发的第一个项目,送给所有 Vue 爱好者

    大家好,我是DOM哥。 我用 ChatGPT 开发了一个 Vue 的资源导航网站。 不管你是资深 Vue 用户,还是刚入门想学习 Vue 的小白,这个网站都能帮助到你。 网站地址:https://dombro.site/vue#/vue 纯净模式:https://dombro.site/spa/#/vue 项目托管在 GitHub,访问不了的可以私信我哟,包教包会 Vu

    2023年04月27日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包