T2080 linux内核移植,T1042/T2080 U-BOOT 移植阶段(四)调试网口问题不通解决

在系统设计中遇到网络接口不通的问题,首先通过检查PHY的状态确认其已正确解复位,并能正常响应链接状态变化。接着,排查MAC初始化过程,发现缺少初始化FMAN所需的ucode.bin。烧录ucode.bin后,MAC初始化成功,网络接口恢复正常,能够通过tftp加载内核、设备树和文件系统。
摘要由CSDN通过智能技术生成

本次设计中,我们采用MEMAC4 (RGMII)接口作为调试接口,但是发现网口并不通

1.首先排查PHY 的问题,phy有没有解复位

结果 : CPLD 已经对PHY解复位,且插上网线后,phy'灯link亮,说明phy确实已经解复位

2.使用mii命令,读取phy寄存器,插拔网线后观察寄存器的变化,是否正常反应出phy的down和up

拔掉网线时phy的状态

=> mii dump 1 1

1.     (7969)                 -- 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:0000) 1. 2    =     0    link status

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

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

插上网线时PHY的状态

=> mii dump 1 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

phy没问题,所以就要怀疑MAC是否正常初始化了,在MAC初始化的地方加打印,发现蛛丝马迹。

定位到原因 :

没有烧入初始化FMAN 用的ucode.bin

烧入ucode.bin后,网络部分有注册函数了

-------- RGMII case process....

----cpu_eth_init,CONFIG_FMAN_ENET  case

---fm_standard_init

SF: Detected W25Q256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB

Fman1: Uploading microcode version 106.4.18

----fm_eth_initialize

zyhd init_memac.....

--dev->name : FM1@DTSEC1

-----eth_regiseter

----fm_eth_initialize

zyhd init_memac.....

--dev->name : FM1@DTSEC2

FSL_MDIO0:0 is connected to FM1@DTSEC1.  Reconnecting to FM1@DTSEC2

-----eth_regiseter

----fm_eth_initialize

zyhd init_memac.....

--dev->name : FM1@DTSEC3

-----eth_regiseter

----fm_eth_initialize

zyhd init_memac.....

--dev->name : FM1@DTSEC4

-----eth_regiseter

FM1@DTSEC1

Error: FM1@DTSEC1 address not set.

, FM1@DTSEC2

Error: FM1@DTSEC2 address not set.

, FM1@DTSEC3

Error: FM1@DTSEC3 address not set.

, FM1@DTSEC4 [PRIME]

Error: FM1@DTSEC4 address not set.

烧入ucode.bin到SPI FLASH 对应位置,重新上电后,调试网口ok,可以使用tftp命令加载内核、设备树,文件系统了

setenv serverip 192.168.0.14;setenv ipaddr 192.168.0.206

setenv nfsboot "tftp 1000000  uImage;tftp 2000000 t1042.rootfs.ext2.gz.u-boot;tftp f00000 t1042d4rdb.dtb ;bootm 1000000 2000000 f00000"

run nfsboot

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值