i.MX51 EVK Linux Reference Manual
Freescale Semiconductor
3-1
Chapter 3
Smart Direct Memory Access (SDMA) API
3.1
Overview
The Smart Direct Memory Access (SDMA) API driver controls the SDMA hardware. It provides an API
to other drivers for transferring data between MCU memory space, DSP memory space and the
peripherals. It supports the following features:
•
Loading channel scripts from the MCU memory space into SDMA internal RAM
•
Loading context parameters of the scripts
•
Loading buffer descriptor parameters of the scripts
•
Controlling execution of the scripts
•
Callback mechanism at the end of script execution
3.2
Hardware Operation
The SDMA controller is responsible for transferring data between the MCU memory space, the DSP
memory space and peripherals and includes the following features.
•
Multi-channel DMA supporting up to 32 time-division multiplexed DMA channels
•
Powered by a 16-bit Instruction-Set microRISC engine
•
Each channel executes specific script
•
Very fast context-switching with two-level priority based preemptive multi-tasking
•
4 Kbytes ROM containing startup scripts (that is, boot code) and other common utilities that can
be referenced by RAM-located scripts
•
8 Kbyte RAM area is divided into a processor context area and a code space area used to store
channel scripts that are downloaded from the system memory.
3.3
Software Operation
The driver provides an API for other drivers to control SDMA channels. SDMA channels run dedicated
scripts, according to peripheral and transfer types. The SDMA API driver is responsible for loading the
scripts into SDMA memory, initializing the channel descriptors, and controlling the buffer descriptors and
SDMA registers.
Summary of Contents for i.MX51 EVK
Page 1: ...Part Number 924 76374 Rev 10 11 01 11 2010 i MX51 EVK Linux Reference Manual...
Page 14: ...i MX51 EVK Linux Reference Manual xiv Freescale Semiconductor...
Page 18: ...i MX51 EVK Linux Reference Manual xviii Freescale Semiconductor...
Page 24: ...i MX51 EVK Linux Reference Manual xxiv Freescale Semiconductor...
Page 38: ...Machine Specific Layer MSL i MX51 EVK Linux Reference Manual 2 8 Freescale Semiconductor...
Page 52: ...MC13892 Digitizer Driver i MX51 EVK Linux Reference Manual 5 4 Freescale Semiconductor...
Page 64: ...TV Encoder TVE Driver i MX51 EVK Linux Reference Manual 10 4 Freescale Semiconductor...
Page 82: ...Video for Linux Two V4L2 Driver i MX51 EVK Linux Reference Manual 12 8 Freescale Semiconductor...
Page 86: ...i MX5 Dual Display i MX51 EVK Linux Reference Manual 13 4 Freescale Semiconductor...
Page 100: ...X Windows Acceleration i MX51 EVK Linux Reference Manual 16 6 Freescale Semiconductor...
Page 118: ...Low Level Keypad Driver i MX51 EVK Linux Reference Manual 20 6 Freescale Semiconductor...
Page 134: ...Security Drivers i MX51 EVK Linux Reference Manual 22 10 Freescale Semiconductor...
Page 148: ...Inter IC I2C Driver i MX51 EVK Linux Reference Manual 24 4 Freescale Semiconductor...
Page 178: ...ARC USB Driver i MX51 EVK Linux Reference Manual 29 10 Freescale Semiconductor...
Page 194: ...OProfile i MX51 EVK Linux Reference Manual 33 6 Freescale Semiconductor...