This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM8168 + phy芯片 8211E(G)



DM8168 + phy芯片8211EG

百兆速度已经通了,但是连接千兆交换机速度还是100M

查看phy 的 CBSR(0XA) 状态只偶尔读到 0x0800 其余时候均为0x0000

对比其他phy寄存器设置,寄存器设置应该是没有问题的。


8211eg 自动协商功能,是由pin_AN[1:0]控制,上电时位拉高状态,


请问,有人知道这个是什么原因吗?

  • Luo Yu,

    你看看下面的e2e讨论是否有帮助?

    https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/221748

  • 我量了一下phy芯片的自适应 时钟,上电过程中 能在100M和1000M自动切换。但是8168和phy的时钟,只在10M和100M变化。不是道是怎么回事

  • Luo Yu,

    6.2.1 Clock Control
    The frequencies for the transmit and receive clocks are fixed by the IEEE 802.3 specification as:
    • 2.5 MHz at 10 Mbps
    • 25 MHz at 100 Mbps
    • 125 MHz at 1000 Mbps

  • 我知道千兆需要125MHz 百兆需要25MHz,但是我读去phy芯片的寄存器信息,不能自适应千兆,强制设置成125MHz后,网口ping不通了

  • 没有人遇到过同样的问题吗?

  • 我正在使用RTL8211EG phy芯片
    使用的是GMII接口方式,现象如下:
    我把现象整理了一席
    100M网络能通,并且使用正常;不能使用1000M网络。
    使用的是GMII接口方式,100M网络能通,并且使用正常;不能使用1000M网络
    1.使用mdio扫描phy设备,每个phy设备能多出一个地址
            phy_mask =  __raw_readl(&data->regs->alive);函数读出来的phy地址总会多出一个。
            <1>.如果地址不为“0:00”,则扫描到的地址会本身的地址再加上“0:00”;
            <2>.如果地址为”0:00”,则扫描到的地址为“0:00”和“0:01”。
    2.软件上读取寄存器0x0A发现,初始化时会读到0x0800,而一段时间后就只能读到0x0000了(寄存器显示本地接收 和 对端接收 都不ok)
    3.测量PHY给MAC的时钟发现,会在125MHz,25MHz,2.5MHz上跳变,最后稳定在25MHz上
    4.测量MAC给PHY的时钟发现,时钟一直在25MHz,2.5MHz上跳变,最后稳定在25MHz上
    请问有没有解决的方法 或者 建议?