Configuration Space
BCM5718 Programmer’s Guide
Broadcom
®
January 29, 2016 • 5718-PG108-R
Page 175
Indirect Memory Access
Memory indirect mode operates in the same fashion to register indirect mode. There is a PCI configuration
space register pair, which is used to access the Ethernet controller memory block. The
Memory_Window_Base_Address register positions a pointer/cursor in the local memory block. Unlike the
Register_Base_Address register, the Memory_Window_Base_Address register may position at any valid offset.
Access to ranges 0x00000–0x1FFFF is allowable. The Memory_Window_Data register is the read/write
porthole for host software, using the previously positioned pointer/cursor. This register pair accesses the
Ethernet controller local memory block (see
Note:
If Indirect Memory Access is performed using memory write cycles (i.e., by accessing the
Memory_Window_Base_Address and Memory_Window_Data registers through memory mapped by the
PCI BAR register), as opposed to PCI configuration write cycles, the host software must insert a read
command to the Memory_Window_Base_Address register between two consecutive writes to the
Memory_Window_Base_Address and Memory_Window_Data registers.