Power Management
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 192
Device ACPI Transitions
Host software must program the Power Management Control/Status (PMSCR) register to transition the device
between D0 and D3 ACPI states. The Power State bit field in the PMSCR (see
) may be programmed to D0, D1, D2, and D3 states.
The PME signal is enabled in the PMSCR by asserting the PME_Enable bit. Device drivers/BIOS may also read
the PME_Status bit to determine whether the event has been driven; PME_Status is a write to clear bit. The type
and supported power management features for the Ethernet controller are reported in the Power Management
Capabilities (PMC) register. System software and BIOS may read this register to enumerate and detect the
power management features supported by the NIC/LOM. For example, the Ethernet controller can assert PME
from both D3 hot and cold states. The PME_Support bit field in the PMC register will reflect this capability.
Disable Device Through BIOS
The Ethernet controllers can be disabled (that is, placed in Low Power IDDQ mode) through BIOS by writing the
value of DEADDEADh to shared memory location of B50h. This eliminates the need for BIOS to execute the
device specific procedure for disabling the MAC device. The BIOS must do the following steps to disable the
device.
1.
Config cycle, write 88h to location 68h.
2.
Config cycle, write 0B50h to location 7Ch.
3.
Config cycle, write DEADDEADh to location 84h.
Note:
The D1 and D2 configurations are not supported in the Ethernet controller. The D1 and D2 bit
configurations are available for applications, where D1 and D2 states are introduced for board level
designs—the bits provide flexibility to the application. The Broadcom reference NIC/LOM designs do
not use D1 and D2 states; therefore, host software should avoid setting these states. Before the Mac
is moved into the D3 state, the clocks and GPIO must be configured (see above sections).
Note:
The BIOS should first place the controller into the D3 power state prior to writing the
0xDEADDEAD signature value.