SPRUJ17H March 2022 – October 2024 AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1
When an event is asserted from a peripheral or device pins, it gets latched in the corresponding bit of the event register (EDMA_TPCC_ER[31:0] En = 1). For more information about peripheral events to EDMA events mapping, refer to the device data manual.
If the corresponding event in the event enable register (EDMA_TPCC_EER) is enabled (EDMA_TPCC_EER[31:0] En = 1), then the EDMA_TPCC prioritizes and queues the event in the appropriate event queue. When the event reaches the head of the queue, it is evaluated for submission as a transfer request to the transfer controller.
If the PaRAM set is valid (not a NULL set), then a transfer request packet (TRP) is submitted to the EDMA_TPTC and the EDMA_TPCC_ER[31:0] En bit is cleared. At this point, a new event can be safely received by the EDMA_TPCC.
If the PaRAM set associated with the channel is a NULL set (see Section 11.3.3.3.3 Null PaRAM Set), then no transfer request (TR) is submitted and the corresponding EDMA_TPCC_ER[31:0] En bit is cleared and simultaneously the corresponding channel bit is set in the event miss register (EDMA_TPCC_EMR[31:0] En = 1) to indicate that the event was discarded due to a null TR being serviced. Good programming practices should include cleaning the event missed error before re-triggering the DMA channel.
When an event is received, the corresponding event bit in the event register is set (EDMA_TPCC_ER[31:0] En = 1), regardless of the state of EDMA_TPCC_EER[31:0] En. If the event is disabled when an external event is received (EDMA_TPCC_ER[31:0] En = 1 and EDMA_TPCC_EER[31:0] En = 0), the EDMA_TPCC_ER[31:0] En bit remains set. If the event is subsequently enabled (EDMA_TPCC_EER[31:0] En = 1), then the pending event is processed by the EDMA_TPCC and the TR is processed/submitted, after which the EDMA_TPCC_ER[31:0] En bit is cleared.
If an event is being processed (prioritized or is in the event queue) and another sync event is received for the same channel prior to the original being cleared (EDMA_TPCC_ER[31:0] En != 0), then the second event is registered as a missed event in the corresponding bit of the event missed register (EDMA_TPCC_EMR[31:0] En = 1).