我们采用的开发包是DVRRDK,PHY芯片是RTL8211EG,EMAC接口采用GMII方式,现在有个问题就是电路板与电脑直连网口连接不上,本地连接显示断线,但是板子接入交换机,再与其他电脑通信是正常的,与系统是Linux的电脑直连也是没问题的,我想是不是问题出在auto-negotiation上。怎样才能设置EMAC工作在1000M模式上呢?
Starting Bootlog daemon: PHY 0:02 not found
net eth0: could not connect to phy 0:02
davinci_mdio davinci_mdio.0: resetting idled controller
net eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, id=1cc915)
bootlogd.
Applying sync command
PHY: 0:01 - Link is Up - 100/Full
PHY芯片auto-negotiation是由管脚AN[0]和AN[1]决定,AN[0]与RXD7复用,AN[1]与RXER复用,若采用GMII方式这两个管脚都是要用的,我想问下在初始化的时候软件是否会将AN[0]和AN[1]拉高,还是需要外接上拉电阻,
还有个问题是在../driver/net/phy目录中的phy.c文件中的int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd)函数是谁调用它的,case SIOCSMIIREG有什么作用,怎样才能设置正确的auto-negotiation模式?