SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
At any given time the UDMA can be in one of three different states as described in Table 10-106.
Operational State | Description |
---|---|
Init | This is the initial state of UDMA during and immediately after reset. During this state, all of the RAMs inside the UDMA will be initialized to known values including the ECC redundant parity bits. While in the Init state, the DMA will de-assert all ready signals on all applicable slave interfaces and will de-assert all request signals on all applicable master interfaces. The UDMA will automatically transition out of the Init state into the Idle state when all of the RAM initialization has been completed. |
Idle | Once the UDMA leaves the Init state, it enters the Idle state whenever no outstanding transactions are pending on any of the UDMA interfaces (master or slave). The Idle state is generally a transient state and is used by the UDMA to determine when it is appropriate to allow the SoC power management complex to turn off the clock. As channels have work queued on them and transactions begin flowing into the system, the UDMA transitions to the Active state. When no more work is pending, or when the host pauses/disables active channels, or when the SoC power management desires to shut down the UDMA, the UDMA will account for any outstanding transactions and will re-enter the Idle state. The UDMA leaves the Idle state anytime it generates or receives a transactions that requires a return response as those protocols dictate that the clock must remain running to avoid faulting the handshaking protocol. |
Active | The UDMA enters the Active state as soon as it issues a transaction or receives a transaction on any interface that uses a split protocol (expects a later response for a request). When all transactions have been accounted for (responses have all been either received or sent) the UDMA transitions to the Idle state. |