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.

DP83869HM

Other Parts Discussed in Thread: DP83869HM
光口有连接,我们用9.4.8.4 1000M Media Convertor Mode, 光口是可以工作的。Write 44  to 1df
       write 1140 to 0
       write  5048 to 10
       write  1140 to C00
OPMODE[2:0]=0x4
 
当我们设置9.4.8.2  RGMII to 1000Base-X mode
       write 41 to 1df
       write 1140 to 0
   OPMODE[2:0]=0x1
     读C01[2]=0
 
当我们设置9.4.8.2  RGMII to 1000Base-X mode
       write 41 to 1df
       write 2100 to 0        /Force mode
   OPMODE[2:0]=0x1
     读C01[2]=1
   但是有TX数据,没有RX数据,还是PING不通。
 
麻烦您给个光口操作的正确流程:选哪种模式,寄存器怎么设置,STRAP怎么设置
 
谢谢!
 
赵小华    13520948750
北京博研高科技术有限公司
2019-08-10
  • 您好,
    对于RGMII to 1000Base-X,0x32和0x86的寄存器值是多少?默认情况下,将为PHY的Rx和Tx启用RGMII delay。这假设在MAC中没有延迟。如果MAC中存在延迟,则需要禁用phy的RGMII内部延迟。请检查MAC数据表以验证是否存在RGMII内部延迟,然后使用register 0x32 bit[1:0]禁用phy的内部延迟。
  • 我们在RGMII to 1000Base-T 调试时没有问题的。那么在RGMII to 1000Base-X中,需要使用register 0X32 [1:0] 禁用phy的内部延时吗?还是说需要根据MAC的延时来决定:如果MAC有延时,我们要把RGMII的内部延时禁用;如果MAC没有延时,我们要打开RGMII的内部延时,是这样的吗?

    谢谢!

  • 0x32=0, 0x86=64.  是不是0x32写0X3就是禁用PHY的内部延迟? 我们按照手册说的,寄存器和STRAP只要二选一,就是只要修改寄存器或者设置STRAP,就能使光口正常工作:在电口能正常工作时,写0X0041到0X01DF;写0X1140到0X0C00;写0X4000到0X001F里,光口就能工作,snla318里是这么说的,是吗?可是我们这样改了,光口还是不能工作。请问还有什么是我们没有设置到的吗?

  • 您好!请问您最后怎么解决的呢?我现在也遇到相似问题,rgmii到100m电口没问题,可以ping通;但是如果是rgmii到100m光口,那么就不能ping,插拔光纤rx有数据增加,TX数据一直为0

    使用的是硬件配置模式的方式,如果是硬件配置了1DF为0x42,软件就不能再去配置了吗?(驱动中我用软件再去配1DF为0x42、或者调用c01读状态,那么再去读1DF的值为C00〈变成了电口模式〉)

    请问你们使用光口时,修改linux驱动吗?是要将通用初始化修改为c00开始的寄存器初始化吗?对于读状态需要修改为间接访问读c01吗? rgmii到光口时是直接用phy通用驱动,还是需要自己修改使其全部访问间接地址(c00开始的)
  • 您好,我现在也在调试DP83869HM这个片子,但是我这边是采用MII 的通信方式,读取BMCR(0x00): 2100,读取PHY_STATUS(0x11): 6802,但是发现网口不通,请教一下大佬,您在调试中对寄存器做了哪些操作,就可以ping 通网口?