Visible to Intel only — GUID: aoh1481129458200
Ixiasoft
Visible to Intel only — GUID: aoh1481129458200
Ixiasoft
8.2. DMA Controller Block Diagram and System Integration
The following figure shows a block diagram of the DMAC and how it integrates into the rest of the HPS system.
The l4_main_clk clock drives the DMA controller, controller logic, and all the interfaces. The DMA controller accesses the level 3 (L3) main switch with its 64-bit AXI master interface.
The DMA controller provides the following slave interfaces that connect to the L4 bus:
- Non-secure slave interface
- Secure slave interface
- ECC register slave interface
Both non-secure and secure slave interfaces may access registers that control the functionality of the DMA controller. The DMA controller implements TrustZone® secure technology with one interface operating in the secure state and the other operating in the non-secure state.
The MFIFO has an ECC controller built-in to provide ECC protection. The ECC controller is able to detect single-bit and double-bit errors, and correct the single-bit errors. The ECC operation and functionality is programmable via the ECC register slave interface, as shown in DMA Controller Connectivity. The ECC register interface provides host access to configure the ECC logic as well as inject bit errors into the memory. It also provides host access to memory initialization hardware used to clear out the memory contents including the ECC bits. The ECC controller generates interrupts upon occurrences of single and double-bit errors, and the interrupt signals are connected to the system manager.
When a cold or warm reset is issued in the HPS, the reset manager resets this module and holds it in reset until software releases it.
After the Cortex-A53 MPCore boots, it can deassert the reset signal by clearing the appropriate bits in the reset manager's corresponding reset register. For details about reset registers, refer to section: Reset Signals and Registers in the Reset Manager chapter.
You should ensure that both the DMA ECC RAM and the DMA Module resets are deasserted before beginning transactions. Program the dmaocp bits and the dma bits in the per0modrst register of the Reset Manager to deassert reset in the DMA ECC RAM and the DMA module, respectively.