前面已經(jīng)說了,MDIO原本是為MII總線接口定義的。MII用于連接MAC和PHY,包含兩種信號接口,一個(gè)數(shù)據(jù)接口用于MAC和PHY之間接收和發(fā)送以太網(wǎng)幀數(shù)據(jù),一個(gè)PHY管理接口,即MDIO,用于讀寫每個(gè)PHY的控制寄存器和狀態(tài)寄存器,以達(dá)到控制PHY行為和監(jiān)控PHY狀態(tài)的目的。MDIO是雙向的,支持一個(gè)MAC連接最多32個(gè)PHY的連接方式,且MAC作為master,PHY作為slave。在寫PHY寄存器的時(shí)候,由MAC驅(qū)動MDIO向PHY寫入數(shù)據(jù);在讀PHY寄存器時(shí),先由MAC驅(qū)動發(fā)送寄存器地址,然后由PHY驅(qū)動回復(fù)寄存器的值。
i.MX6ULL有兩個(gè)ENET接口,ELF?1開發(fā)板把這兩個(gè)接口都已引出,所以有兩個(gè)phy芯片,這兩個(gè)phy是由同一個(gè)MDIO接口進(jìn)行管理的。
MAC通過MDIO向兩個(gè)phy芯片讀寫操作,主要通過phy地址進(jìn)行區(qū)分向哪個(gè)phy進(jìn)行讀寫操作。
ElfBoard的兩個(gè)phy地址分別為:001和010: