marianna_2010 发表于 2014-12-8 14:33:58

U-Boot驱动AR8031的问题

飞凌工程师,你好!

我使用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的,是这个导致的吗?

marianna_2010 发表于 2014-12-12 15:23:51

暂时推测是布线的问题。
页: [1]
查看完整版本: U-Boot驱动AR8031的问题