Go to the documentation of this file.
16 #ifndef __ASM_ARCH_MSM_DMA_H
18 #include <linux/list.h>
35 #ifndef CONFIG_ARCH_MSM8X60
49 #define DMOV_SD0(off, ch) (MSM_DMOV_BASE + 0x0000 + (off) + ((ch) << 2))
50 #define DMOV_SD1(off, ch) (MSM_DMOV_BASE + 0x0400 + (off) + ((ch) << 2))
51 #define DMOV_SD2(off, ch) (MSM_DMOV_BASE + 0x0800 + (off) + ((ch) << 2))
52 #define DMOV_SD3(off, ch) (MSM_DMOV_BASE + 0x0C00 + (off) + ((ch) << 2))
54 #if defined(CONFIG_ARCH_MSM7X30)
55 #define DMOV_SD_AARM DMOV_SD2
57 #define DMOV_SD_AARM DMOV_SD3
60 #define DMOV_CMD_PTR(ch) DMOV_SD_AARM(0x000, ch)
61 #define DMOV_CMD_LIST (0 << 29)
62 #define DMOV_CMD_PTR_LIST (1 << 29)
63 #define DMOV_CMD_INPUT_CFG (2 << 29)
64 #define DMOV_CMD_OUTPUT_CFG (3 << 29)
65 #define DMOV_CMD_ADDR(addr) ((addr) >> 3)
67 #define DMOV_RSLT(ch) DMOV_SD_AARM(0x040, ch)
68 #define DMOV_RSLT_VALID (1 << 31)
69 #define DMOV_RSLT_ERROR (1 << 3)
70 #define DMOV_RSLT_FLUSH (1 << 2)
71 #define DMOV_RSLT_DONE (1 << 1)
72 #define DMOV_RSLT_USER (1 << 0)
74 #define DMOV_FLUSH0(ch) DMOV_SD_AARM(0x080, ch)
75 #define DMOV_FLUSH1(ch) DMOV_SD_AARM(0x0C0, ch)
76 #define DMOV_FLUSH2(ch) DMOV_SD_AARM(0x100, ch)
77 #define DMOV_FLUSH3(ch) DMOV_SD_AARM(0x140, ch)
78 #define DMOV_FLUSH4(ch) DMOV_SD_AARM(0x180, ch)
79 #define DMOV_FLUSH5(ch) DMOV_SD_AARM(0x1C0, ch)
81 #define DMOV_STATUS(ch) DMOV_SD_AARM(0x200, ch)
82 #define DMOV_STATUS_RSLT_COUNT(n) (((n) >> 29))
83 #define DMOV_STATUS_CMD_COUNT(n) (((n) >> 27) & 3)
84 #define DMOV_STATUS_RSLT_VALID (1 << 1)
85 #define DMOV_STATUS_CMD_PTR_RDY (1 << 0)
87 #define DMOV_ISR DMOV_SD_AARM(0x380, 0)
89 #define DMOV_CONFIG(ch) DMOV_SD_AARM(0x300, ch)
90 #define DMOV_CONFIG_FORCE_TOP_PTR_RSLT (1 << 2)
91 #define DMOV_CONFIG_FORCE_FLUSH_RSLT (1 << 1)
92 #define DMOV_CONFIG_IRQ_EN (1 << 0)
96 #define DMOV_NAND_CHAN 7
97 #define DMOV_NAND_CRCI_CMD 5
98 #define DMOV_NAND_CRCI_DATA 4
100 #define DMOV_SDC1_CHAN 8
101 #define DMOV_SDC1_CRCI 6
103 #define DMOV_SDC2_CHAN 8
104 #define DMOV_SDC2_CRCI 7
106 #define DMOV_TSIF_CHAN 10
107 #define DMOV_TSIF_CRCI 10
109 #define DMOV_USB_CHAN 11
112 #define DMOV_NONE_CRCI 0
121 #define CMD_PTR_ADDR(addr) ((addr) >> 3)
122 #define CMD_PTR_LP (1 << 31)
123 #define CMD_PTR_PT (3 << 29)
153 #define CMD_LC (1 << 31)
154 #define CMD_FR (1 << 22)
155 #define CMD_OCU (1 << 21)
156 #define CMD_OCB (1 << 20)
157 #define CMD_TCB (1 << 19)
158 #define CMD_DAH (1 << 18)
159 #define CMD_SAH (1 << 17)
161 #define CMD_MODE_SINGLE (0 << 0)
162 #define CMD_MODE_SG (1 << 0)
163 #define CMD_MODE_IND_SG (2 << 0)
164 #define CMD_MODE_BOX (3 << 0)
166 #define CMD_DST_SWAP_BYTES (1 << 14)
167 #define CMD_DST_SWAP_SHORTS (1 << 15)
168 #define CMD_DST_SWAP_WORDS (1 << 16)
170 #define CMD_SRC_SWAP_BYTES (1 << 11)
171 #define CMD_SRC_SWAP_SHORTS (1 << 12)
172 #define CMD_SRC_SWAP_WORDS (1 << 13)
174 #define CMD_DST_CRCI(n) (((n) & 15) << 7)
175 #define CMD_SRC_CRCI(n) (((n) & 15) << 3)