您好,
之前我在开发板上调试,用的k1 stk v1.1里的ge例程。当时过不了keystone ge init这个函数里keystone ethernet ports init函数。后来发现开发板只将sgmii1连到了phy芯片,所以需要把for循环里的i=0改为i=1。改正后ge初始化能正确通过。
现在呀自制板上调试,也是卡在了这个函数的while里面。
由于自制板是连了sgmii0,所以把for循环里的i=0,且i<1,但是依然卡在这个地方。看到status reg里,link和自协商都是0。
现在查了硬件图,发现config管脚的配置和开发板是不一样的。比如说自制板的phy address是00000,而开发板的10000。
我们用的phy芯片和开发板一样,都是88e1111,不知道现在这种情况是否要对88e1111进行配置?怎么配置?
此外,我看了gpmdio寄存器,里面的值为全0,这是否也说明就是phy有问题?
谢谢各位大神赐教!
Thomas Yang1:
这种情况就是PHY没有初始化好,您需要通过MDIO接口对PHY重新进行初始化呢
user4962317:
回复 Thomas Yang1:
您好,我想问,如果88e1111的硬件配置没有问题,是否初始化就能通过?而不需要再软件初始化?因为我看开发板里就没有对phy初始化的部分。
还有,我的phy地址和开发板的配置不一样,这是否一定要利用mdio接口对其进行配置?
我发现phy的config引脚把hwcfg mode配置成gmii模式了,这种配置是否就让我没办法和dsp连上了?还是我再通过软件初始化,还能给它改正过来?
谢谢大神!!!
user4962317:
回复 Thomas Yang1:
感谢您的回复!
可是现在我对phy初始化没有什么思路,请问您那里有phy初始化的代码吗?我没在marvell的官网找到代码。
user4683768:
您好,请问后面这个问题是怎么解决的呢?我跟您遇到了同样的问题,可以分享一下嘛?