40.5.1.2 Receive Buffer List

Receive data is written to areas of data (i.e., buffers) in system memory. These buffers are listed in another data structure that also resides in main memory. This data structure (receive buffer queue) is a sequence of descriptor entries as defined in Receive Buffer Descriptor Entry. It points to this data structure.

Figure 40-2. Receive Buffer List

To create the list of buffers:

  1. Allocate a number (n) of buffers of 128 bytes in system memory.
  2. Allocate an area 2n words for the receive buffer descriptor entry in system memory and create n entries in this list. Mark all entries in this list as owned by EMAC, i.e., bit 0 of word 0 set to zero.
  3. If less than 1024 buffers are defined, the last descriptor must be marked with the wrap bit (bit 1 in word 0 set to one).
  4. Write address of receive buffer descriptor entry to the EMAC_RBQP register.
  5. The receive circuits can then be enabled by writing to the address recognition registers and then to the EMAC_NCR.