3 #ifndef __NVIDIA_TEGRA124_DMA_H__
4 #define __NVIDIA_TEGRA124_DMA_H__
7 #include <soc/addressmap.h>
13 #define TEGRA_DMA_ALIGN_BYTES 4
20 #define APB_COMMAND_GEN (1 << 31)
22 #define APB_CNTRL_REG_COUNT_VALUE_MASK 0xffff
23 #define APB_CNTRL_REG_COUNT_VALUE_SHIFT 0
30 #define APB_COMMAND_GEN (1 << 31)
32 #define APB_CNTRL_REG_COUNT_VALUE_MASK 0xffff
33 #define APB_CNTRL_REG_COUNT_VALUE_SHIFT 0
63 #define APB_CSR_ENB (1 << 31)
64 #define APB_CSR_IE_EOC (1 << 30)
65 #define APB_CSR_HOLD (1 << 29)
66 #define APB_CSR_DIR (1 << 28)
67 #define APB_CSR_ONCE (1 << 27)
68 #define APB_CSR_FLOW (1 << 21)
69 #define APB_CSR_REQ_SEL_MASK 0x1f
70 #define APB_CSR_REQ_SEL_SHIFT 16
107 #define APB_STA_BSY (1 << 31)
108 #define APB_STA_ISE_EOC (1 << 30)
109 #define APB_STA_HALT (1 << 29)
110 #define APB_STA_PING_PONG_STA (1 << 28)
111 #define APB_STA_DMA_ACTIVITY (1 << 27)
112 #define APB_STA_CHANNEL_PAUSE (1 << 26)
114 #define APB_CSRE_CHANNEL_PAUSE (1 << 31)
115 #define APB_CSRE_TRIG_SEL_MASK 0x3f
116 #define APB_CSRE_TRIG_SEL_SHIFT 14
118 #define AHB_PTR_MASK (0x3fffffff)
119 #define AHB_PTR_SHIFT 2
121 #define AHB_SEQ_INTR_ENB (1 << 31)
122 #define AHB_BUS_WIDTH_MASK 0x7
123 #define AHB_BUS_WIDTH_SHIFT 28
124 #define AHB_DATA_SWAP (1 << 27)
125 #define AHB_BURST_MASK 0x7
126 #define AHB_BURST_SHIFT 24
127 #define AHB_SEQ_DBL_BUF (1 << 19)
128 #define AHB_SEQ_WRAP_MASK 0x7
129 #define AHB_SEQ_WRAP_SHIFT 16
131 #define APB_PTR_MASK 0x3fffffff
132 #define APB_PTR_SHIFT 2
134 #define APB_BUS_WIDTH_MASK 0x7
135 #define APB_BUS_WIDTH_SHIFT 28
136 #define APB_DATA_SWAP (1 << 27)
137 #define APB_ADDR_WRAP_MASK 0x7
138 #define APB_ADDR_WRAP_SHIFT 16
140 #define APB_WORD_TRANSFER_MASK 0x0fffffff
141 #define APB_WORD_TRANSFER_SHIFT 2
struct apb_dma_channel_regs * regs
check_member(apb_dma, channel_swid1, 0x54)
int dma_start(struct apb_dma_channel *const channel)
int dma_stop(struct apb_dma_channel *const channel)
void dma_release(struct apb_dma_channel *const channel)
int dma_busy(struct apb_dma_channel *const channel)
struct apb_dma_channel *const dma_claim(void)