Clause 45 Registers
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 571
Clause 45 Registers
Clause 45 registers are accessed in the Clause 22 register space according to the method in Clause
22.2.4.3.11-12 and Annex 22D.
Example:
To advertise that EEE mode is supported for 1000BASE-T and 100BASE-TX, Clause 45 Dev
7.3Ch bits 2:1 must be set to 11. To perform this write, the following sequence may be used:
– In register 0Dh, write bits15:14 = 00 (set the function field to Address) and set bits 4:0 to ‘00111’ (set
DEVAD to 7) (write 007h to Register 0Dh).
– In register 0Eh, write the desired address value. In this example, write 003Ch to Register 0Eh.
– In register 0Dh, write the Function field (bits 15:14) to 01 for Data, no post increment. Set DEVAD to 7.
(Write 4007h to Register 0Dh).
– In register 0Eh, write the content of the register. (Write to Register 0Eh to 0006h to set bits 2:1 = 11).
To read the EEE Resolution Status Register (Clause 45 DEV 7 Reg803Eh), the following register sequence may
be followed:
• Write bits 15:14 to 00 to register 0Dh to set the function field to Address, and set bits 4:0 to ‘00111’ to set
DEVAD to 7.
• Write 803Eh to register 0Eh to select the EEE Resolution Status Register.
• Write 4007h to register 0Dh to set the Function to Data, no post increment and to set the Device Address to
7.
• Read register 0Eh to read the content of the selected Clause 45 register (EEE Resolution Status Register
in this case).
Clause 45 Register Dev 3 Reg14h (20d): EEE Capability Register
------------------------------------------------
Clause 45 register Dev3 Reg803Eh read Procedure
------------------------------------------------
int value;
phy_write(0xd, 0x7); //Set function field to address and device to 0x7
phy_write(0xe, 0x803e); //Write 803Eh to to select the EEE Resolution Status Register
phy_write(0xd, 0x4007); //Set function field to data and device to 0x7
value = phy_read(0xe); //read the selected Clause 45 register from 0xe
----------------------------------------------
Clause 45 register Dev3 Reg3Ch write Procedure
----------------------------------------------
phy_write(0xd, 0x7); //Set function field to address and device to 0x7
phy_write(0xe, 0x3C); //Write 3Ch to to select the EEE advertise Register
phy_write(0xd, 0x4007); //Set function field to data and device to 0x7