Reset
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 134
Reset
A hardware reset initiated by the PCI reset signal will initialize all PCI configuration registers and device MAC
registers to their default values. The driver reset via the Core Clock Blocks Reset bit (see
Configuration Register (offset: 0x6804)” on page 470
) will also initialize all non-sticky registers to their default
values. The content of the device internal memory remains unchanged after warm reset (any reset with the
power supplied to the device).
At the end of the reset, the on-chip RX RISC executes a small on chip ROM code. This code loads an executable
image contained in an attached NVRAM and referred to as the boot code. This boot code allows at least the
following fields to be initialized to different values to support product variations (for additional details, see
3: “NVRAM Configuration,” on page 67
• Vendor ID
• Device ID
• Subsystem Vendor ID
• Subsystem Device ID
• Possible PHY initialization
The boot code may have additional functionality such as PXE that must be acquiesced while the host software
is running.
Example:
An NDIS driver issues a device reset via the Core Clock Blocks Reset bit (see
Table 358 on
page 334
). After the reset is completed, the RX RISC begins executing the boot code as if the power was
first applied to the device. However, the NDIS driver must have a mechanism to prevent the PXE driver from
running and the boot code must be able to distinguish between a power-on reset and a reset initiated by the
host software. The host software and the boot code could implement a reset handshake by using shared
memory at offset 0x0b50 as a software mailbox (see
“Firmware Mailbox” on page 218
).
The BCM5718 family of Ethernet controllers supports a boot code mechanism known as “self-boot”. For self-
boot the boot code image is stored in internal ROM rather than in an external NVRAM. So there is no loading
of a boot code image from external NVRAM when resetting in the self-boot scenario.
However, there may still be a very small external NVRAM device which may contain some configuration items
and possibly boot code “patches” to be applied to the ROM'd self-boot, boot code. Refer to the following
Broadcom Application Notes for additional self-boot and general NVRAM access information:
• 5754X_5787X-AN10X-R “Self Boot Option”
• NetXtreme-AN40X-R “NetXtreme/NetLink Software Self-Boot NVRAM”
• NetXtreme-AN50X-R “NetXtreme
®
/NetLink
®
NVRAM Access”