嵌入式爱好者

查看: 18114|回复: 1

[Linux] U-Boot驱动AR8031的问题

[复制链接]

2

主题

9

帖子

17

积分

扫一扫,手机访问本帖
发表于 2014-12-8 14:33:58 | 显示全部楼层 |阅读模式
飞凌工程师,你好!

我使用OK335xD的核心板,自己绘制了一块底板,使用的PHY芯片是AR8031,网络变压器型号是HR911130C。现在遇到的问题是:

1. 使用AM335x扫描MDIO设备时,打印的MDIO寄存器值为:
maria: ----> 40070106
maria: ----> 410004ff
maria: ----> 10
maria: ----> 0
maria: ----> 0
maria: ----> 0
maria: ----> 1
maria: ----> 0
maria: ----> 0
maria: ----> 0
maria: ----> 3e0ffff
maria: ----> 0
maria: ----> 0
maria: ----> 0

这说明它扫描到的PHY地址是4,而不是0。尝试个二十次,可能突然就出现一次正确的PHY地址为0的情况。这是为什么呢?

2.使用PHY地址为4的时候,获取的AR8031寄存器的值为:
AR8031: final temp = 0x3100
AR8031: final temp = 0x7949
AR8031: final temp = 0x4d
AR8031: final temp = 0xd074
AR8031: final temp = 0x11e1
AR8031: final temp = 0x0
AR8031: final temp = 0x4
AR8031: final temp = 0x2001
AR8031: final temp = 0x0
AR8031: final temp = 0x200
AR8031: final temp = 0x0
AR8031: final temp = 0x0
AR8031: final temp = 0x0
AR8031: final temp = 0x0
AR8031: final temp = 0x0
AR8031: final temp = 0xa000
AR8031: final temp = 0x862
AR8031: final temp = 0x10
AR8031: final temp = 0x0
AR8031: final temp = 0x0
AR8031: final temp = 0x82c
AR8031: final temp = 0x0
AR8031: final temp = 0x4e8
AR8031: final temp = 0x0
AR8031: final temp = 0x3200
AR8031: final temp = 0x3000
AR8031: final temp = 0x0
AR8031: final temp = 0x600
AR8031: final temp = 0x0
AR8031: final temp = 0x0
AR8031: final temp = 0x82ee
AR8031: final temp = 0x8100

而把SD卡从底板上拔下来,插到开发板上,打印出来的信息为:
AR8031: final temp = 0x3100
AR8031: final temp = 0x7949
AR8031: final temp = 0x4d
AR8031: final temp = 0xd074
AR8031: final temp = 0x11e1
AR8031: final temp = 0x0
AR8031: final temp = 0x4
AR8031: final temp = 0x2001
AR8031: final temp = 0x0
AR8031: final temp = 0x200
AR8031: final temp = 0x0
AR8031: final temp = 0x0
AR8031: final temp = 0x0
AR8031: final temp = 0x0
AR8031: final temp = 0x0
AR8031: final temp = 0xa000
AR8031: final temp = 0x862
AR8031: final temp = 0x10
AR8031: final temp = 0x0
AR8031: final temp = 0x0
AR8031: final temp = 0x82c
AR8031: final temp = 0x0
AR8031: final temp = 0x4e8
AR8031: final temp = 0x0
AR8031: final temp = 0x3200
AR8031: final temp = 0x3000
AR8031: final temp = 0x0
AR8031: final temp = 0x600
AR8031: final temp = 0x0
AR8031: final temp = 0x0
AR8031: final temp = 0x82ee
AR8031: final temp = 0x8100

它们有些不一样,能不能告诉我问题出在哪里?

另外,我使用的25MHz的晶振电容是18pF,也试过27pF的,现象都一样。开发板上的电容是22pF的,是这个导致的吗?

回复

使用道具 举报

2

主题

9

帖子

17

积分

 楼主| 发表于 2014-12-12 15:23:51 | 显示全部楼层
暂时推测是布线的问题。
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-21 02:14

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表