NVRAM Configuration
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 67
S e c t i o n 3 : N V R A M C o n f i g u r a t i o n
Overview
Broadcom NetXtreme and NetLink controllers require the use of an external non-volatile memory (NVRAM)
device (Flash or SEEPROM), which contains a boot code program that the controller's on-chip CPU core loads
and executes upon release from reset. This external NVRAM device also contains many configuration items that
direct the behavior of the controller, enable/disable various management and/or value-add firmware
components, etc.
All configuration settings are default-configured in the official release binary image files provided in Broadcom's
CD software releases. However, the settings chosen as default by Broadcom may not be what best suits a
particular OEM's application, so some settings may need to be changed by the OEM.
The BCM5718 family supports the following boot code styles:
• “Legacy”—Boot code plus configuration options fully contained in an external 8k byte NVRAM device
• “Self-boot”—Uses a fixed internal ROM'd copy of the boot code program (requires only a very small
external NVRAM) for the purpose of housing OEM-programmable configuration items (refer to Application
Note NetXtreme-AN60x-R “NetXtreme/NetLink NVRAM Configuration Options”).
Refer to Broadcom Application Note NetXtreme-AN40X-R (NetXtreme
®
/NetLink
™
Software Self-Boot NVRAM
Application Note) for additional detail regarding self-boot NVRAM structure.
Details relating to the legacy style NVRAM organization can be found in
NetXtreme/NetLink NVRAM Access
Broadcom application note (NetXtreme-AN50X-R). Some of the topics addressed by this application note
include the following:
• Programming NVRAM (sample C code, x86 assembly)
• NVRAM map
• Configuration settings
• Boot code
• Multiple boot agent (MBA), PXE, etc.
Note:
If using self-boot, the design must use a very small (approximately 256 byte) external NVRAM
to hold configuration items and self-boot code patches.
Note:
NVRAM CRC-32: There are multiple distinct regions contained within the NVRAM map. Each
of these regions has its own CRC-32 checksum value associated with it. If any data element contained
within a region is modified, then that region's CRC-32 value must also be updated. Details relating to
calculating the CRC-32 can be found in
Calculating CRC32 Checksums for Broadcom NetLink,
NetXtreme, and NetXtreme II
®
Controllers
Broadcom application note (NetXtreme_NetXtremeII-
AN20X-R).