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.

C6678 MDIO寄存器含义求助

Hi,

硬件:自己制作C6678板卡,使用 SGMII0 连接88e1111

软件:使用NDK的client工程,link OK,

问题:在MDIO初始化时,使用KeyStone_MDIO_PHY_Set_Reg()对PHY进行读写,函数如下,

void KeyStone_MDIO_PHY_Set_Reg(Uint32 phyNum, Uint32 regNum, Uint16 data)
{
/*wait for idle (GO=0)*/
while(gpMDIO_regs->USER_GROUP[0].USER_ACCESS_REG&CSL_MDIO_USER_ACCESS_REG_GO_MASK);

gpMDIO_regs->USER_GROUP[0].USER_ACCESS_REG= CSL_MDIO_USER_ACCESS_REG_GO_MASK
|CSL_MDIO_USER_ACCESS_REG_WRITE_MASK
|(phyNum<<CSL_MDIO_USER_ACCESS_REG_PHYADR_SHIFT)
|(regNum<<CSL_MDIO_USER_ACCESS_REG_REGADR_SHIFT)
|(data<<CSL_MDIO_USER_ACCESS_REG_DATA_SHIFT);

/*wait for write complete (GO=0)*/
while(gpMDIO_regs->USER_GROUP[0].USER_ACCESS_REG&CSL_MDIO_USER_ACCESS_REG_GO_MASK);
}

想求助,

1.  是配置 gpMDIO_regs->USER_GROUP[0] 还是 gpMDIO_regs->USER_GROUP[1] ,手册里为寄存器 MDIO_USERACCESS n,可用0还是1是根据什么判断的呢?

2. 目前用88e1111,初始化PHY的步骤是统一的吗?