
Obsolete
Product(s)
- Obsolete
Product(s)
Obsolete
Product(s)
- Obsolete
Product(s)
SPEAR-07-NC03
6 Blocks description
When the DMA completes, the master DMA SM can be required to assert an interrupt request
to the processor and wait for new instruction, or to wake up the DMA descriptor SM to require a
new DMA descriptor fetch.
To save gates, the implementation limits the maximum DMA transfer count to 4 Kbytes, hence
the XFER_COUNT field in the DMA control registers is limited to 12 bits.
The DMA start address (DMA_ADDRESS) must be 32 bit word aligned.
The DMA wrapping address point must be 32 bit word aligned.
If an AHB error condition occurs, while the DMA is running, the SM activity is suspended, until
the error interrupt bit (MERR_INT) is reset. When the error condition is removed the DMA
makes the same request previously interrupted by the error response.
DMA descriptor SM
A dedicated SM has been implemented that, when required by the DMA master logic, starts
some AHB master read operations to load from the external memory all the information (DMA
descriptors) required to start the new DMA data transfer.
The DMA descriptor consists of a VALID bit plus 3 registers: the DMA control (DMA_CTL), the
DMA base address (DMA_ADDR) and the DMA next descriptor address register (DMA_NXT).
The Host Processor must ensure that the descriptors are up to date in memory when the DMA
descriptor SM loads them. The fetch order is: DMA_CTL, DMA_ADDR, DMA_NXT and VALID
bit.
If a fetched descriptor is not valid (VALID=0), then the DMA engine can be programmed to stop
the operation (reset the DMA_EN bit in RX_DMA_START) and raise an interrupt (RX_DONE),
or to repeat the descriptor fetch operation, until a valid descriptors is found.
The interrupt register bit named RX_NEXT is always set when a not valid descriptor is loaded.
In the first case, the DMA will then wait for the Host Processor to re-enable the DMA operation
(START_FETCH bit in the
RX_DMA_START register set to 1) before attempting anew descriptor fetch.
While, when in polling mode, the DMA will keep reloading the descriptor, with an access
frequency determined by the DFETCH_DLY field in the RX_DMA_START register.
An AHB ERROR response suspends the descriptor SM activity and reset the DMA_EN bit in
RX_DMA_START register. To help the error source understanding, the RX_DMA_CADDR
register value is the address at which the error occurred.
After clearing the error bit, the SW needs to reprogram the DMA registers, to start again a new
descriptor fetch.
6.2.2.3 TX LOGIC
The transmit (TX) DMA block includes all the logic required to manage data transfers from an
external AHB memory mapped device to the TX port of the MAC110 wrapper.
It includes:
●
TX wrapper interface
●
TX FIFO
●
TX DMA master SM
●
DMA descriptor SM