www.ti.com

Architecture

2.7.2.1Initializing the MDIO Module

The following steps are performed by the application software or device driver to initialize the MDIO device:

1.Configure the PREAMBLE and CLKDIV bits in the MDIO control register (CONTROL).

2.Enable the MDIO module by setting the ENABLE bit in CONTROL.

3.The MDIO PHY alive status register (ALIVE) can be read in polling fashion until a PHY connected to the system responded, and the MDIO PHY link status register (LINK) can determine whether this PHY already has a link.

4.Setup the appropriate PHY addresses in the MDIO user PHY select register (USERPHYSELn), and set the LINKINTENB bit to enable a link change event interrupt if desirable.

5.If an interrupt on general MDIO register access is desired, set the corresponding bit in the MDIO user command complete interrupt mask set register (USERINTMASKSET) to use the MDIO user access register (USERACCESSn). Since only one PHY is used in this device, the application software can use one USERACCESSn to trigger a completion interrupt; the other USERACCESSn is not setup.

2.7.2.2Writing Data To a PHY Register

The MDIO module includes a user access register (USERACCESSn) to directly access a specified PHY device. To write a PHY register, perform the following:

1.Check to ensure that the GO bit in the MDIO user access register (USERACCESSn) is cleared.

2.Write to the GO, WRITE, REGADR, PHYADR, and DATA bits in USERACCESSn corresponding to the PHY and PHY register you want to write.

3.The write operation to the PHY is scheduled and completed by the MDIO module. Completion of the write operation can be determined by polling the GO bit in USERACCESSn for a 0.

4.Completion of the operation sets the corresponding USERINTRAW bit (0 or 1) in the MDIO user command complete interrupt register (USERINTRAW) corresponding to USERACCESSn used. If interrupts have been enabled on this bit using the MDIO user command complete interrupt mask set register (USERINTMASKSET), then the bit is also set in the MDIO user command complete interrupt register (USERINTMASKED) and an interrupt is triggered on the CPU.

2.7.2.3Reading Data From a PHY Register

The MDIO module includes a user access register (USERACCESSn) to directly access a specified PHY device. To read a PHY register, perform the following:

1.Check to ensure that the GO bit in the MDIO user access register (USERACCESSn) is cleared.

2.Write to the GO, REGADR, and PHYADR bits in USERACCESSn corresponding to the PHY and PHY register you want to read.

3.The read data value is available in the DATA bits in USERACCESSn after the module completes the read operation on the serial bus. Completion of the read operation can be determined by polling the GO and ACK bits in USERACCESSn. Once the GO bit has cleared, the ACK bit is set on a successful read.

4.Completion of the operation sets the corresponding USERINTRAW bit (0 or 1) in the MDIO user command complete interrupt register (USERINTRAW) corresponding to USERACCESSn used. If interrupts have been enabled on this bit using the MDIO user command complete interrupt mask set register (USERINTMASKSET), then the bit is also set in the MDIO user command complete interrupt register (USERINTMASKED) and an interrupt is triggered on the CPU.

SPRUFL5B –April 2011

EMAC/MDIO Module

33

Submit Documentation Feedback

 

 

© 2011, Texas Instruments Incorporated

Page 33
Image 33
Texas Instruments TMS320C674X manual Initializing the Mdio Module, Writing Data To a PHY Register