Hi3559AV100-网口调试
硬件平台:(与Hi3559AV100-DEMOB几乎一样)
CPU:Hi3559AV100
PHY:88E1512
对端使用的是1000Base-X接口的交换机
目前此板子的SVB还没有配置成功。
- U-boot
由于修改phy,且使用的模式是RGMII to 1000Base-X所以需要调试U-boot
1. 首先将gmac_debug打开,在uboot下设置环境变量,
hisilicon # setenv gmac_debug 1
hisilicon # saveenv

2. 通过gmac驱动的打印发现,在ping时gmac才会对phy进行配置,并复位phy和mac。
但是驱动里只对几个phy进行了适配,并且只读第0页的寄存器状态。然而我们使用的88E1512是有分页功能,只有copper的状态是在第0页,1000Base-X的状态在第1页,所以我们需要将驱动适配一下88E1512的此功能(由于本人是新手,所以此地方没有考虑兼容性问题,而是直接对其进行了强制切页)。当然我相信此地方一定有大牛有更好的解决办法(据网上所说uboot也有设备树一说,我想应该是可以从此处下手吧,只是我没有找到)。
3. 此代码在Hi3559AV100_SDK_V2.0.3.0/osdrv/opensource/uboot/u-boot-2016.11/drivers/net/higmacv300/higmac.c文件下,并根据88E1512手册进行修改。
3.1首先配置模式,RGMII to 1000Base-X

3.2 复位phy并将速率固定成1000M(由于对端交换机不能自适应的原因)

4.Uboot下查看PHY寄存器值




5. ping测试,由于Uboot下没有ping回包,所以只能在板卡ping主机,而反之不通。

6. 目前也通过uboot下的网口,进行tftp烧写程序。通过此也可以推测uboot下网口应该是没有问题。
- 系统下调试phy
1. 修改设备树,以便兼容88E1512

2. 在内核中支持MARVELL驱动


3. 此配置下uboot与内核打印信息对比
在系统中配置了固定的IP

并phy再次的设置了下固定speed
ethtool –s eth0 speed 1000 duplex full autoneg off
uboot下phy寄存器信息:

内核下phy寄存器信息:

此下几个函数在不停的循环调用,目前未查清楚是什么作用。

目前在系统下,网口还是没有ping通交换机,问题还未定位到。
目前此文章就是我在Hi3559AV100下调试88E1512的全部过程,过程不是很细节,而且有些问题还没有解决,只是做个调试记录,忘有大神看到,可以给出更好的建议,和接下来的调试方向,谢谢!
更多推荐

所有评论(0)