Rockchip BOX 以太网开发指南 - v2.2(5)

2019-08-30 23:27

福州瑞芯微电子有限公司5以太网常见问题排查5.13.10版本Kernel部分

5.1.1phy寄存器读写调试系统中提供以下节点(以rk3288为例,其它芯片可通过查找关键字“phy_reg”找到具体路径)供phy寄存器读写:

/sys/devices/ff290000.eth/stmmac-0:01/phy_reg/sys/devices/ff290000.eth/stmmac-0:01/phy_regValue

5.1.2以太网无法正常工作1如果kernel打印以下异常log:

stmmac_open:DMAinitializationfailed

这种情况只有在“clock_in_out=\A)需要确认GMAC工作主时钟MAC1_CLK是否有从PHY供给主控:

使用100MPHY时,其频率是50M使用100MPHY时,其频率是125M

B)如果有clock,需要确认clock的幅度是否达标,一般需要3.0V以上。

2如果出现PHY初始化异常类似如下异常打印:

stmmac_open:CannotattachtoPHY或

eth0:NoPHYfoundPHY正常识别会有如下打印:

eth0:PHYID20005c90at1IRQ0(stmmac-0:01)active

内部资料,不得扩散Page21of28福州瑞芯微电子有限公司A)需要先确认硬件是否有异常,对比RK发布的《以太网PHY参考电路V1.0_20150129》

B)需要确认PHY的供电是否正常,复位信号是否正常C)还可以尝试增加以下delay时间试试

+++b/drivers/net/ethernet/rockchip/gmac/stmmac_platform.c@@-358,10+358,10@@staticintphy_power_on(boolenable)//resetif(gpio_is_valid(bsp_priv->reset_io)){gpio_direction_output(bsp_priv->reset_io,bsp_priv->reset_io_level);-+mdelay(5);mdelay(100);gpio_direction_output(bsp_priv->reset_io,!bsp_priv->reset_io_level);}-+}else{//pulldownreset3mdelay(30);mdelay(100);IOMUX确认

注意:GMACRGMII接口与其它功能脚利用,需要确认IOMUX状态是否正确,可通过io命令直接查看GRF寄存器确认:RK3128:与lcdc0复用

io-40x200080cc

200080cc:0000ffffio-40x200080d0

200080d0:000000ffio-40x200080d4

200080d4:0000000c

//低4bit//低8bit//低16bit

RK3288:与flash1及sdio1复用

io-4-l200xFF77002C

内部资料,不得扩散Page22of28福州瑞芯微电子有限公司ff77002c:ff77003c:

400003333000033330000333300003333//低16bit00000033

//低8bit

确认GMAC工作主时钟是否正常

确认时钟是否是有正常产生,时钟具体频率及来源如下表:

PHY

RK3288RK3288RK3128RK3128

1000M100M

(建议使用PHY提供)

1000M100M

PHYRK3128

125M50M

时钟来源PHYRK3288或PHY

50M时间频率125M

clock的幅度是否达标,一般需要3.0V以上

主控端可通过以下clocktree信息:catd/clk/clk_summary来确认clock是否设置正确(注意对应的enable_cnt需要为1,这才表示这个clock已经使能)

例如由PHY提供125Mclock:

clockgmac_clkin

例如由主控提供50Mclock:

clockclk_mac_pll

enable_cnt1

prepare_cnt1

rate50000000

enable_cnt1

prepare_cnt

1

rate125000000

注意:如果出现2小节中提到的“PHY初始化异常”,那么clock会被disable掉,所以看到的clock会是以下情况(对应的enable_cnt为0):

clockclk_mac_pll

enable_cnt0

prepare_cnt0

rate

50000000

可加以下调试代码,异常时不去关clock

内部资料,不得扩散Page23of28福州瑞芯微电子有限公司+++b/drivers/net/ethernet/rockchip/gmac/stmmac_platform.c@@-219,6+219,7@@staticintgmac_clk_enable(boolenable){

structbsp_priv*bsp_priv=&g_bsp_priv;phy_iface=bsp_priv->phy_iface;+

enable=1;if(enable){

if(!bsp_priv->clk_enable){

5如果出现无法接收RX数据busyboxifconfigeth0eth0

Linkencap:Ethernet

HWaddr7E:13:69:61:1C:32

inet6addr:fe80::7c13:69ff:fe61:1c32/64Scope:LinkUPBROADCASTRUNNINGMULTICAST

MTU:1500

Metric:1

RXpackets:0errors:83dropped:0overruns:0frame:83TXpackets:11errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RXbytes:0(0.0B)Interrupt:51

那么可能是clock精度存在问题,、晶体的频偏要求在10ppm以内。

TXbytes:2188(2.1KiB)

5.1.3USB以太网异常排查5.1.3.1以太网无法使用问题排查

第一步:

USB以太网接到通过USBHOST口连接到主控,先确认是否有以下USB设备枚举到的打印:

usb2-1:newhighspeedUSBdevicenumber2usingusb20_hostusb2-1:NewUSBdevicefound,idVendor=0bda,idProduct=8152//这里打印出枚举到的设备信息

内部资料,不得扩散Page24of28福州瑞芯微电子有限公司usb2-1:NewUSBdevicestrings:Mfr=1,Product=2,SerialNumber=3usb2-1:Product:USB10/100LANusb2-1:Manufacturer:Realtekusb2-1:SerialNumber:00E04C360001EthernetDevice,00:e0:4c:36:00:01

如果没有打印以上信息,证明USB枚举失败,需要排查:

1)USBHOST口工作是否正常,可以接鼠标等设备测试;2)USBHOST口供电是否足够;

3)如果是接在HUB,确认HUB工作是否正常;第二步:

如果USB设备被正确枚举到了,那么可通过以下以下命令查看eth0接口状态:

busyboxifconfigeth0eth0Linkencap:EthernetHWaddr00:E0:4C:36:00:01//确认是否有获取到以下IP地址inetMask:255.255.255.0inet6addr:fe80::2e0:4cff:fe36:1/64Scope:LinkUPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1addr:192.168.0.120Bcast:192.168.0.255RXpackets:577errors:0dropped:0overruns:0frame:0TXpackets:465errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RXbytes:751796(734.1KiB)TXbytes:39502(38.5KiB)如果没有正确获取到IP地址,那么可能是所在局域网有问题,可以在设置中设置成静态IP地址试试。

内部资料,不得扩散Page25of28


Rockchip BOX 以太网开发指南 - v2.2(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:创设互动情景,促文言文教学

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: