|
Linux Kernel
3.7.1
|
#include <linux/init.h>#include <linux/module.h>#include <linux/types.h>#include <linux/bitops.h>#include <linux/mm.h>#include <linux/interrupt.h>#include <linux/clk.h>#include <linux/delay.h>#include <linux/sched.h>#include <linux/semaphore.h>#include <linux/spinlock.h>#include <linux/device.h>#include <linux/dma-mapping.h>#include <linux/firmware.h>#include <linux/slab.h>#include <linux/platform_device.h>#include <linux/dmaengine.h>#include <linux/of.h>#include <linux/of_device.h>#include <asm/irq.h>#include <linux/platform_data/dma-imx-sdma.h>#include <linux/platform_data/dma-imx.h>#include <mach/hardware.h>#include "dmaengine.h"Go to the source code of this file.
Data Structures | |
| struct | sdma_mode_count |
| struct | sdma_buffer_descriptor |
| struct | sdma_channel_control |
| struct | sdma_state_registers |
| struct | sdma_context_data |
| struct | sdma_channel |
| struct | sdma_firmware_header |
| struct | sdma_engine |
Macros | |
| #define | SDMA_H_C0PTR 0x000 |
| #define | SDMA_H_INTR 0x004 |
| #define | SDMA_H_STATSTOP 0x008 |
| #define | SDMA_H_START 0x00c |
| #define | SDMA_H_EVTOVR 0x010 |
| #define | SDMA_H_DSPOVR 0x014 |
| #define | SDMA_H_HOSTOVR 0x018 |
| #define | SDMA_H_EVTPEND 0x01c |
| #define | SDMA_H_DSPENBL 0x020 |
| #define | SDMA_H_RESET 0x024 |
| #define | SDMA_H_EVTERR 0x028 |
| #define | SDMA_H_INTRMSK 0x02c |
| #define | SDMA_H_PSW 0x030 |
| #define | SDMA_H_EVTERRDBG 0x034 |
| #define | SDMA_H_CONFIG 0x038 |
| #define | SDMA_ONCE_ENB 0x040 |
| #define | SDMA_ONCE_DATA 0x044 |
| #define | SDMA_ONCE_INSTR 0x048 |
| #define | SDMA_ONCE_STAT 0x04c |
| #define | SDMA_ONCE_CMD 0x050 |
| #define | SDMA_EVT_MIRROR 0x054 |
| #define | SDMA_ILLINSTADDR 0x058 |
| #define | SDMA_CHN0ADDR 0x05c |
| #define | SDMA_ONCE_RTB 0x060 |
| #define | SDMA_XTRIG_CONF1 0x070 |
| #define | SDMA_XTRIG_CONF2 0x074 |
| #define | SDMA_CHNENBL0_IMX35 0x200 |
| #define | SDMA_CHNENBL0_IMX31 0x080 |
| #define | SDMA_CHNPRI_0 0x100 |
| #define | BD_DONE 0x01 |
| #define | BD_WRAP 0x02 |
| #define | BD_CONT 0x04 |
| #define | BD_INTR 0x08 |
| #define | BD_RROR 0x10 |
| #define | BD_LAST 0x20 |
| #define | BD_EXTD 0x80 |
| #define | DND_END_OF_FRAME 0x80 |
| #define | DND_END_OF_XFER 0x40 |
| #define | DND_DONE 0x20 |
| #define | DND_UNUSED 0x01 |
| #define | BD_IPCV2_END_OF_FRAME 0x40 |
| #define | IPCV2_MAX_NODES 50 |
| #define | DATA_ERROR 0x10000000 |
| #define | C0_ADDR 0x01 |
| #define | C0_LOAD 0x02 |
| #define | C0_DUMP 0x03 |
| #define | C0_SETCTX 0x07 |
| #define | C0_GETCTX 0x03 |
| #define | C0_SETDM 0x01 |
| #define | C0_SETPM 0x04 |
| #define | C0_GETDM 0x02 |
| #define | C0_GETPM 0x08 |
| #define | CHANGE_ENDIANNESS 0x80 |
| #define | NUM_BD (int)(PAGE_SIZE / sizeof(struct sdma_buffer_descriptor)) |
| #define | IMX_DMA_SG_LOOP BIT(0) |
| #define | MAX_DMA_CHANNELS 32 |
| #define | MXC_SDMA_DEFAULT_PRIORITY 1 |
| #define | MXC_SDMA_MIN_PRIORITY 1 |
| #define | MXC_SDMA_MAX_PRIORITY 7 |
| #define | SDMA_FIRMWARE_MAGIC 0x414d4453 |
| #define | SDMA_H_CONFIG_DSPDMA BIT(12) /* indicates if the DSPDMA is used */ |
| #define | SDMA_H_CONFIG_RTD_PINS BIT(11) /* indicates if Real-Time Debug pins are enabled */ |
| #define | SDMA_H_CONFIG_ACR BIT(4) /* indicates if AHB freq /core freq = 2 or 1 */ |
| #define | SDMA_H_CONFIG_CSM (3) /* indicates which context switch mode is selected*/ |
| #define | SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V1 34 |
Enumerations | |
| enum | sdma_devtype { IMX31_SDMA, IMX35_SDMA } |
Functions | |
| struct sdma_buffer_descriptor | __attribute__ ((packed)) |
| MODULE_DEVICE_TABLE (platform, sdma_devtypes) | |
| MODULE_DEVICE_TABLE (of, sdma_dt_ids) | |
| module_init (sdma_module_init) | |
| MODULE_AUTHOR ("Sascha Hauer, Pengutronix <[email protected]>") | |
| MODULE_DESCRIPTION ("i.MX SDMA driver") | |
| MODULE_LICENSE ("GPL") | |
Variables | |
| struct sdma_mode_count | mode |
| u32 | buffer_addr |
| u32 | ext_buffer_addr |
| u32 | current_bd_ptr |
| u32 | base_bd_ptr |
| u32 | unused [2] |
| u32 | pc |
| u32 | unused1 |
| u32 | t |
| u32 | rpc |
| u32 | unused0 |
| u32 | sf |
| u32 | spc |
| u32 | unused2 |
| u32 | df |
| u32 | epc |
| u32 | lm |
| struct sdma_state_registers | channel_state |
| u32 | gReg [8] |
| u32 | mda |
| u32 | msa |
| u32 | ms |
| u32 | md |
| u32 | pda |
| u32 | psa |
| u32 | ps |
| u32 | pd |
| u32 | ca |
| u32 | cs |
| u32 | dda |
| u32 | dsa |
| u32 | ds |
| u32 | dd |
| u32 | scratch0 |
| u32 | scratch1 |
| u32 | scratch2 |
| u32 | scratch3 |
| u32 | scratch4 |
| u32 | scratch5 |
| u32 | scratch6 |
| u32 | scratch7 |
| struct sdma_channel | __attribute__ |
| #define BD_CONT 0x04 |
Definition at line 83 of file imx-sdma.c.
| #define BD_DONE 0x01 |
Definition at line 81 of file imx-sdma.c.
| #define BD_EXTD 0x80 |
Definition at line 87 of file imx-sdma.c.
| #define BD_INTR 0x08 |
Definition at line 84 of file imx-sdma.c.
| #define BD_IPCV2_END_OF_FRAME 0x40 |
Definition at line 100 of file imx-sdma.c.
| #define BD_LAST 0x20 |
Definition at line 86 of file imx-sdma.c.
| #define BD_RROR 0x10 |
Definition at line 85 of file imx-sdma.c.
| #define BD_WRAP 0x02 |
Definition at line 82 of file imx-sdma.c.
| #define C0_ADDR 0x01 |
Definition at line 112 of file imx-sdma.c.
| #define C0_DUMP 0x03 |
Definition at line 114 of file imx-sdma.c.
| #define C0_GETCTX 0x03 |
Definition at line 116 of file imx-sdma.c.
| #define C0_GETDM 0x02 |
Definition at line 119 of file imx-sdma.c.
| #define C0_GETPM 0x08 |
Definition at line 120 of file imx-sdma.c.
| #define C0_LOAD 0x02 |
Definition at line 113 of file imx-sdma.c.
| #define C0_SETCTX 0x07 |
Definition at line 115 of file imx-sdma.c.
| #define C0_SETDM 0x01 |
Definition at line 117 of file imx-sdma.c.
| #define C0_SETPM 0x04 |
Definition at line 118 of file imx-sdma.c.
| #define CHANGE_ENDIANNESS 0x80 |
Definition at line 124 of file imx-sdma.c.
| #define DATA_ERROR 0x10000000 |
Definition at line 107 of file imx-sdma.c.
| #define DND_DONE 0x20 |
Definition at line 94 of file imx-sdma.c.
| #define DND_END_OF_FRAME 0x80 |
Definition at line 92 of file imx-sdma.c.
| #define DND_END_OF_XFER 0x40 |
Definition at line 93 of file imx-sdma.c.
| #define DND_UNUSED 0x01 |
Definition at line 95 of file imx-sdma.c.
| #define IMX_DMA_SG_LOOP BIT(0) |
Definition at line 277 of file imx-sdma.c.
| #define IPCV2_MAX_NODES 50 |
Definition at line 102 of file imx-sdma.c.
| #define MAX_DMA_CHANNELS 32 |
Definition at line 279 of file imx-sdma.c.
| #define MXC_SDMA_DEFAULT_PRIORITY 1 |
Definition at line 280 of file imx-sdma.c.
| #define MXC_SDMA_MAX_PRIORITY 7 |
Definition at line 282 of file imx-sdma.c.
| #define MXC_SDMA_MIN_PRIORITY 1 |
Definition at line 281 of file imx-sdma.c.
| #define NUM_BD (int)(PAGE_SIZE / sizeof(struct sdma_buffer_descriptor)) |
Definition at line 231 of file imx-sdma.c.
| #define SDMA_CHN0ADDR 0x05c |
Definition at line 70 of file imx-sdma.c.
| #define SDMA_CHNENBL0_IMX31 0x080 |
Definition at line 75 of file imx-sdma.c.
| #define SDMA_CHNENBL0_IMX35 0x200 |
Definition at line 74 of file imx-sdma.c.
| #define SDMA_CHNPRI_0 0x100 |
Definition at line 76 of file imx-sdma.c.
| #define SDMA_EVT_MIRROR 0x054 |
Definition at line 68 of file imx-sdma.c.
| #define SDMA_FIRMWARE_MAGIC 0x414d4453 |
Definition at line 284 of file imx-sdma.c.
| #define SDMA_H_C0PTR 0x000 |
Definition at line 48 of file imx-sdma.c.
| #define SDMA_H_CONFIG 0x038 |
Definition at line 62 of file imx-sdma.c.
Definition at line 354 of file imx-sdma.c.
Definition at line 355 of file imx-sdma.c.
Definition at line 352 of file imx-sdma.c.
Definition at line 353 of file imx-sdma.c.
| #define SDMA_H_DSPENBL 0x020 |
Definition at line 56 of file imx-sdma.c.
| #define SDMA_H_DSPOVR 0x014 |
Definition at line 53 of file imx-sdma.c.
| #define SDMA_H_EVTERR 0x028 |
Definition at line 58 of file imx-sdma.c.
| #define SDMA_H_EVTERRDBG 0x034 |
Definition at line 61 of file imx-sdma.c.
| #define SDMA_H_EVTOVR 0x010 |
Definition at line 52 of file imx-sdma.c.
| #define SDMA_H_EVTPEND 0x01c |
Definition at line 55 of file imx-sdma.c.
| #define SDMA_H_HOSTOVR 0x018 |
Definition at line 54 of file imx-sdma.c.
| #define SDMA_H_INTR 0x004 |
Definition at line 49 of file imx-sdma.c.
| #define SDMA_H_INTRMSK 0x02c |
Definition at line 59 of file imx-sdma.c.
| #define SDMA_H_PSW 0x030 |
Definition at line 60 of file imx-sdma.c.
| #define SDMA_H_RESET 0x024 |
Definition at line 57 of file imx-sdma.c.
| #define SDMA_H_START 0x00c |
Definition at line 51 of file imx-sdma.c.
| #define SDMA_H_STATSTOP 0x008 |
Definition at line 50 of file imx-sdma.c.
| #define SDMA_ILLINSTADDR 0x058 |
Definition at line 69 of file imx-sdma.c.
| #define SDMA_ONCE_CMD 0x050 |
Definition at line 67 of file imx-sdma.c.
| #define SDMA_ONCE_DATA 0x044 |
Definition at line 64 of file imx-sdma.c.
| #define SDMA_ONCE_ENB 0x040 |
Definition at line 63 of file imx-sdma.c.
| #define SDMA_ONCE_INSTR 0x048 |
Definition at line 65 of file imx-sdma.c.
| #define SDMA_ONCE_RTB 0x060 |
Definition at line 71 of file imx-sdma.c.
| #define SDMA_ONCE_STAT 0x04c |
Definition at line 66 of file imx-sdma.c.
| #define SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V1 34 |
Definition at line 1146 of file imx-sdma.c.
| #define SDMA_XTRIG_CONF1 0x070 |
Definition at line 72 of file imx-sdma.c.
| #define SDMA_XTRIG_CONF2 0x074 |
Definition at line 73 of file imx-sdma.c.
| enum sdma_devtype |
Definition at line 310 of file imx-sdma.c.
|
read |
Definition at line 171 of file esd_usb2.c.
| MODULE_AUTHOR | ( | "Sascha | Hauer, |
| Pengutronix< s.hauer @pengutronix.de >" | |||
| ) |
| MODULE_DESCRIPTION | ( | "i.MX SDMA driver" | ) |
| MODULE_DEVICE_TABLE | ( | platform | , |
| sdma_devtypes | |||
| ) |
| MODULE_DEVICE_TABLE | ( | of | , |
| sdma_dt_ids | |||
| ) |
| module_init | ( | sdma_module_init | ) |
| MODULE_LICENSE | ( | "GPL" | ) |
| u32 base_bd_ptr |
Definition at line 158 of file imx-sdma.c.
| u32 buffer_addr |
Definition at line 144 of file imx-sdma.c.
| u32 ca |
Definition at line 240 of file imx-sdma.c.
Definition at line 230 of file imx-sdma.c.
| u32 cs |
Definition at line 241 of file imx-sdma.c.
| u32 current_bd_ptr |
Definition at line 157 of file imx-sdma.c.
| u32 dd |
Definition at line 245 of file imx-sdma.c.
| u32 dda |
Definition at line 242 of file imx-sdma.c.
| u32 df |
Definition at line 191 of file imx-sdma.c.
| u32 ds |
Definition at line 244 of file imx-sdma.c.
| u32 dsa |
Definition at line 243 of file imx-sdma.c.
| u32 epc |
Definition at line 192 of file imx-sdma.c.
| u32 ext_buffer_addr |
Definition at line 145 of file imx-sdma.c.
| u32 gReg[8] |
Definition at line 231 of file imx-sdma.c.
| u32 lm |
Definition at line 193 of file imx-sdma.c.
| u32 md |
Definition at line 235 of file imx-sdma.c.
| u32 mda |
Definition at line 232 of file imx-sdma.c.
| struct sdma_mode_count mode |
Definition at line 143 of file imx-sdma.c.
| u32 ms |
Definition at line 234 of file imx-sdma.c.
| u32 msa |
Definition at line 233 of file imx-sdma.c.
| u32 pc |
Definition at line 183 of file imx-sdma.c.
Definition at line 239 of file imx-sdma.c.
Definition at line 236 of file imx-sdma.c.
| struct path_state ps |
Definition at line 238 of file imx-sdma.c.
| u32 psa |
Definition at line 237 of file imx-sdma.c.
| u32 rpc |
Definition at line 186 of file imx-sdma.c.
| u32 scratch0 |
Definition at line 246 of file imx-sdma.c.
| u32 scratch1 |
Definition at line 247 of file imx-sdma.c.
| u32 scratch2 |
Definition at line 248 of file imx-sdma.c.
| u32 scratch3 |
Definition at line 249 of file imx-sdma.c.
| u32 scratch4 |
Definition at line 250 of file imx-sdma.c.
| u32 scratch5 |
Definition at line 251 of file imx-sdma.c.
| u32 scratch6 |
Definition at line 252 of file imx-sdma.c.
| u32 scratch7 |
Definition at line 253 of file imx-sdma.c.
| u32 sf |
Definition at line 188 of file imx-sdma.c.
| u32 spc |
Definition at line 189 of file imx-sdma.c.
| u32 t |
Definition at line 185 of file imx-sdma.c.
Definition at line 159 of file imx-sdma.c.
| u32 unused0 |
Definition at line 187 of file imx-sdma.c.
| u32 unused1 |
Definition at line 184 of file imx-sdma.c.
| u32 unused2 |
Definition at line 190 of file imx-sdma.c.
1.8.2