ERR003745
Chip Errata for the i.MX 6Dual/6Quad and i.MX 6DualPlus/6QuadPlus, Rev. 6.1, 06/2016
NXP Semiconductors
115
Description:
When AHB audio DMA Master uses incrementing bursts of unspecified lengths (INCR) and
receives an ERROR response in idmahresp[1:0], it does not stop the AHB operation and continues
to request data from the AHB BUS until a software forces a stop condition through the
AHB_DMA_STOP register. Internally, these requested samples are not forwarded to the AHB
Audio DMA Master FIFO, as a consequence an FIFO empty condition is created. This stops the
audio samples in the HDMI link.
Conditions:
• Setup the system memory with audio samples
• Start an Audio DMA transfer with incrementing burst of unspecified length (INCR) and all
channels enabled (channel allocation = 0xFF)
• Force the Slave to send an ERROR in idmahresp[1:0]
Projected Impact:
This issue happens only when Audio DMA is configured to use unspecified length burst (INCR);
however, it is not recommended to use INCR in i.MX 6Dual/6Quad due to poor bus performance
(PL301 convert AHB INCR to AXI SINGLE transfers). This issue can be ignored.
Workarounds:
For 2 channels and the whole range of sample rates supported (from 32k to 192k), the workaround
consists of setting a threshold of 126 and using unspecified INCR instruction only (other types of
INCR forbidden). For multi channel (4, 6, or 8 channels) and the whole range of sample rates
supported (from 32k to 192k), the workaround consists in setting a threshold of 126 and using
INCR4 instructions only (other types of INCR forbidden). The threshold mentioned above is
programmed in the register AHB_DMA_THRSLD 0x00123603 bit[7:0]. The register of INCR
type is AHB_DMA_CONF0 0x00123600, with bit 0 cleared (“0”) and with the bits 2:1
determining the INCR type.
Proposed Solution:
No fix scheduled
Linux BSP Status:
Software workaround not implemented in Linux BSP. Functionality or mode of operation in which
the erratum may manifest itself is not used.
ERR003745
HDMI: 9000440660—Audio DMA fails to stop after ERROR detection