Go to the documentation of this file.
14 #define DW_DMA_MAX_NR_CHANNELS 8
32 #define DW_REG(name) u32 name; u32 __pad_##name
101 #ifdef CONFIG_DW_DMAC_BIG_ENDIAN_IO
102 #define dma_readl_native ioread32be
103 #define dma_writel_native iowrite32be
105 #define dma_readl_native readl
106 #define dma_writel_native writel
110 #define dma_read_byaddr(addr, name) \
111 dma_readl_native((addr) + offsetof(struct dw_dma_regs, name))
114 #define DW_PARAMS_NR_CHAN 8
115 #define DW_PARAMS_NR_MASTER 11
116 #define DW_PARAMS_DATA_WIDTH(n) (15 + 2 * (n))
117 #define DW_PARAMS_DATA_WIDTH1 15
118 #define DW_PARAMS_DATA_WIDTH2 17
119 #define DW_PARAMS_DATA_WIDTH3 19
120 #define DW_PARAMS_DATA_WIDTH4 21
121 #define DW_PARAMS_EN 28
124 #define DWC_PARAMS_MBLK_EN 11
127 #define DWC_CTLL_INT_EN (1 << 0)
128 #define DWC_CTLL_DST_WIDTH(n) ((n)<<1)
129 #define DWC_CTLL_SRC_WIDTH(n) ((n)<<4)
130 #define DWC_CTLL_DST_INC (0<<7)
131 #define DWC_CTLL_DST_DEC (1<<7)
132 #define DWC_CTLL_DST_FIX (2<<7)
133 #define DWC_CTLL_SRC_INC (0<<7)
134 #define DWC_CTLL_SRC_DEC (1<<9)
135 #define DWC_CTLL_SRC_FIX (2<<9)
136 #define DWC_CTLL_DST_MSIZE(n) ((n)<<11)
137 #define DWC_CTLL_SRC_MSIZE(n) ((n)<<14)
138 #define DWC_CTLL_S_GATH_EN (1 << 17)
139 #define DWC_CTLL_D_SCAT_EN (1 << 18)
140 #define DWC_CTLL_FC(n) ((n) << 20)
141 #define DWC_CTLL_FC_M2M (0 << 20)
142 #define DWC_CTLL_FC_M2P (1 << 20)
143 #define DWC_CTLL_FC_P2M (2 << 20)
144 #define DWC_CTLL_FC_P2P (3 << 20)
146 #define DWC_CTLL_DMS(n) ((n)<<23)
147 #define DWC_CTLL_SMS(n) ((n)<<25)
148 #define DWC_CTLL_LLP_D_EN (1 << 27)
149 #define DWC_CTLL_LLP_S_EN (1 << 28)
152 #define DWC_CTLH_DONE 0x00001000
153 #define DWC_CTLH_BLOCK_TS_MASK 0x00000fff
156 #define DWC_CFGL_CH_PRIOR_MASK (0x7 << 5)
157 #define DWC_CFGL_CH_PRIOR(x) ((x) << 5)
158 #define DWC_CFGL_CH_SUSP (1 << 8)
159 #define DWC_CFGL_FIFO_EMPTY (1 << 9)
160 #define DWC_CFGL_HS_DST (1 << 10)
161 #define DWC_CFGL_HS_SRC (1 << 11)
162 #define DWC_CFGL_MAX_BURST(x) ((x) << 20)
163 #define DWC_CFGL_RELOAD_SAR (1 << 30)
164 #define DWC_CFGL_RELOAD_DAR (1 << 31)
167 #define DWC_CFGH_DS_UPD_EN (1 << 5)
168 #define DWC_CFGH_SS_UPD_EN (1 << 6)
171 #define DWC_SGR_SGI(x) ((x) << 0)
172 #define DWC_SGR_SGC(x) ((x) << 20)
175 #define DWC_DSR_DSI(x) ((x) << 0)
176 #define DWC_DSR_DSC(x) ((x) << 20)
179 #define DW_CFG_DMA_EN (1 << 0)
226 #define channel_readl(dwc, name) \
227 dma_readl_native(&(__dwc_regs(dwc)->name))
228 #define channel_writel(dwc, name, val) \
229 dma_writel_native((val), &(__dwc_regs(dwc)->name))
256 #define dma_readl(dw, name) \
257 dma_readl_native(&(__dw_regs(dw)->name))
258 #define dma_writel(dw, name, val) \
259 dma_writel_native((val), &(__dw_regs(dw)->name))
261 #define channel_set_bit(dw, reg, mask) \
262 dma_writel(dw, reg, ((mask) << 8) | (mask))
263 #define channel_clear_bit(dw, reg, mask) \
264 dma_writel(dw, reg, ((mask) << 8) | 0)