3.4. Device Feature Header Linked-list
The streaming DMA AFU design example contains four device feature headers (DFH) that form a linked list. This linked list allows the sample application to identify the streaming DMA AFU as well as the driver to identify each of the streaming DMA BBBs.
A NULL DFH is included at the end of the list. The inclusion of the null DFH at the end of the linked list allows you to add more streaming DMA BBBs to your design. You simply need to move the NULL DFH to an address after the other BBBs. Each streaming DMA BBB expects the next DFH to be located 0x100 bytes from the base address of the BBB. The following figure depicts the linked-list for the streaming DMA AFU design example.
Byte Address | Register Name | Span in Bytes | Description |
---|---|---|---|
0x000 | Streaming DMA AFU DFH | 0x40 | Your AFU DFU. This DFH points to 0x100 as the next DFH offset. |
0x100 | M2S DMA BBB #1 | 0x100 | First memory-to-stream DMA BBB. Next DFH set to 0x100. |
0x200 | M2S DMA BBB #2 | 0x100 | Second memory-to-stream DMA BBB. Next DFH set to 0x100. |
0x300 | S2M DMA BBB #1 | 0x100 | First stream-to-memory DMA BBB. Next DFH set to 0x100. |
0x400 | S2M DMA BBB #2 | 0x100 | Second stream-to-memory DMA BBB. Next DFH set to 0x100. |
0x500 | NULL DFH | 0x40 | Null DFH at the end of the linked list. |