4.1.2 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.
The table below provides a list of drivers that use SDMA and the number of SDMA
physical channels used by each driver. A driver can specify the SDMA channel number
that it wishes to use, which is called static channel allocation. It can also have the SDMA
driver and provide a free SDMA channel for the driver to use, which is called dynamic
channel allocation. For dynamic channel allocation, the list of SDMA channels is scanned
from channel 32 to channel 1. Upon finding a free channel, that channel is allocated for
the requested DMA transfers.
Table 4-1. SDMA Channel Usage
Driver Name
Number of
SDMA Channels
SDMA Channel Used
SDMA CMD
1
Static Channel allocation-uses SDMA channels 0
SSI
2 per device
Dynamic channel allocation
UART
2 per device
Dynamic channel allocation
SPDIF
2 per device
Dynamic channel allocation
ESAI
2 per device
Dynamic channel allocation
4.1.3 Source Code Structure
The dmaengine.h (header file for SDMA API) is available in the directory /<ltib_dir>/
rpm/BUILD/linux/include/linux
The following table shows the source files available in the directory /<ltib_dir>/rpm/
BUILD/linux/drivers/dma
Table 4-2. SDMA API Source Files
File
Description
dmaengine.c
SDMA management routine
imx-sdma.c
SDMA implement driver
The following table shows the image files available in the directory /<ltib_dir>/rpm/
BUILD/linux/firmware/imx/sdma
Overview
i.MX 6SoloLite Linux Reference Manual, Rev. L3.0.35_4.1.0, 09/2013
40
Freescale Semiconductor, Inc.
Содержание i.MX 6SoloLite Linux
Страница 1: ...i MX 6SoloLite Linux Reference Manual Document Number IMXL6SLRM Rev L3 0 35_4 1 0 09 2013 ...
Страница 2: ...i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 2 Freescale Semiconductor Inc ...
Страница 16: ...i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 16 Freescale Semiconductor Inc ...
Страница 26: ...Overview i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 26 Freescale Semiconductor Inc ...
Страница 42: ...Overview i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 42 Freescale Semiconductor Inc ...
Страница 102: ...Hardware Operation i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 102 Freescale Semiconductor Inc ...
Страница 118: ...Unit Test i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 118 Freescale Semiconductor Inc ...
Страница 122: ...Driver Features i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 122 Freescale Semiconductor Inc ...
Страница 126: ...Driver Features i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 126 Freescale Semiconductor Inc ...
Страница 136: ...Unit Test i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 136 Freescale Semiconductor Inc ...
Страница 140: ...Introduction i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 140 Freescale Semiconductor Inc ...
Страница 154: ...Driver Features i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 154 Freescale Semiconductor Inc ...
Страница 162: ...Driver Features i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 162 Freescale Semiconductor Inc ...
Страница 172: ...System WakeUp i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 172 Freescale Semiconductor Inc ...
Страница 184: ...Programming Interface i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 184 Freescale Semiconductor Inc ...
Страница 192: ...Generic WDOG Driver i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 192 Freescale Semiconductor Inc ...
Страница 198: ...Requirements i MX 6SoloLite Linux Reference Manual Rev L3 0 35_4 1 0 09 2013 198 Freescale Semiconductor Inc ...