SPRUJC6A December 2024 – July 2025 AM2752-Q1 , AM2754-Q1
The ASRC can be configured to generate individual EDMA events to initiate EDMA transfers for fillimg the input FIFOs in each operating mode, Group or Stream. Similarly, the ASRC is able to generate individual EDMA events to initiate EDMA transfers to empty the output FIFOs for each operating mode. Each event is triggered when the specific Group or Stream mode FIFO threshold condition has been met. The event generation is enabled on a group and stream basis. There are 4 group input events and 4 group output events. There are 16 stream input events and 8 stream output events (one for each input and output channel). The group and stream mode events are enabled when setting up the Stream or Group ASRC configuration
ASRC has individual event signals that generate pulse on ASRC external ports to trigger a DMA transaction. There are dedicated DMA events for audio samples write and read, respectively. Each channel/stream and each group has separate DMA event at the ASRC module boundary. The total number of events is determined by the number of channels and the number of groups. These events can be used to transfer the fixed block of data to ASRC.
ASRC DMA Events describes the DMA events, and provides mapping to ASRC boundary signals covered in ASRC Hardware Requests.
| DMA Event | Mapped to ASRC Boundary Signal | Number of Events | Description |
|---|---|---|---|
| infifo_evt[15:0] | ASRC_STREAM_IN[15:0] | 16 | The event will send out a pulse when the threshold for the input FIFO has fallen below the configured level. Once an INFIFO event is fired, next event will be generated only after ASRC_SRCFFCTRL_0[7:0] INFIFO_THRESHOLD number of Audio RX Sync pulses for that particular channel. |
| outfifo_evt[15:0] | ASRC_STREAM_OUT[15:0] | 16 | The event will send out a pulse when the threshold for the output FIFO has reached the configured level. Once an OUTFIFO event is fired, next event will be generated only after ASRC_SRCFFCTRL_0[23:16] OUTFIFO_THRESHOLD number of Audio RX Sync pulses for that particular channel. |
| ingrp_evt[3:0] | ASRC_GROUP_IN[3:0] | 4 | The event will send out a pulse when all input FIFOs in the configured group has fallen below their configured level. Once an INGROUP event is fired, next event will be generated only after INFIFO_THRESHOLD number of Audio RX Sync pulses for all the channels of that group. |
| outgrp_evt[3:0] | ASRC_GROUP_OUT[3:0] | 4 | The event will send out a pulse when all output FIFOs in the configured group has reached their configured level. Once an OUTGROUP event is fired, next event will be generated only after OUTFIFO_THRESHOLD number of Audio RX Sync pulses for all the channels of that group. |