1 /**
2  * Copyright (c) 2022 Raspberry Pi (Trading) Ltd.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 // =============================================================================
7 // Register block : DMA
8 // Version        : 1
9 // Bus type       : apb
10 // Description    : DMA with separate read and write masters
11 // =============================================================================
12 #ifndef HARDWARE_REGS_DMA_DEFINED
13 #define HARDWARE_REGS_DMA_DEFINED
14 // =============================================================================
15 // Register    : DMA_CH0_READ_ADDR
16 // Description : DMA Channel 0 Read Address pointer
17 //               This register updates automatically each time a read completes.
18 //               The current value is the next address to be read by this
19 //               channel.
20 #define DMA_CH0_READ_ADDR_OFFSET _u(0x00000000)
21 #define DMA_CH0_READ_ADDR_BITS   _u(0xffffffff)
22 #define DMA_CH0_READ_ADDR_RESET  _u(0x00000000)
23 #define DMA_CH0_READ_ADDR_MSB    _u(31)
24 #define DMA_CH0_READ_ADDR_LSB    _u(0)
25 #define DMA_CH0_READ_ADDR_ACCESS "RW"
26 // =============================================================================
27 // Register    : DMA_CH0_WRITE_ADDR
28 // Description : DMA Channel 0 Write Address pointer
29 //               This register updates automatically each time a write
30 //               completes. The current value is the next address to be written
31 //               by this channel.
32 #define DMA_CH0_WRITE_ADDR_OFFSET _u(0x00000004)
33 #define DMA_CH0_WRITE_ADDR_BITS   _u(0xffffffff)
34 #define DMA_CH0_WRITE_ADDR_RESET  _u(0x00000000)
35 #define DMA_CH0_WRITE_ADDR_MSB    _u(31)
36 #define DMA_CH0_WRITE_ADDR_LSB    _u(0)
37 #define DMA_CH0_WRITE_ADDR_ACCESS "RW"
38 // =============================================================================
39 // Register    : DMA_CH0_TRANS_COUNT
40 // Description : DMA Channel 0 Transfer Count
41 //               Program the number of bus transfers a channel will perform
42 //               before halting. Note that, if transfers are larger than one
43 //               byte in size, this is not equal to the number of bytes
44 //               transferred (see CTRL_DATA_SIZE).
45 //
46 //               When the channel is active, reading this register shows the
47 //               number of transfers remaining, updating automatically each time
48 //               a write transfer completes.
49 //
50 //               Writing this register sets the RELOAD value for the transfer
51 //               counter. Each time this channel is triggered, the RELOAD value
52 //               is copied into the live transfer counter. The channel can be
53 //               started multiple times, and will perform the same number of
54 //               transfers each time, as programmed by most recent write.
55 //
56 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
57 //               is used as a trigger, the written value is used immediately as
58 //               the length of the new transfer sequence, as well as being
59 //               written to RELOAD.
60 #define DMA_CH0_TRANS_COUNT_OFFSET _u(0x00000008)
61 #define DMA_CH0_TRANS_COUNT_BITS   _u(0xffffffff)
62 #define DMA_CH0_TRANS_COUNT_RESET  _u(0x00000000)
63 #define DMA_CH0_TRANS_COUNT_MSB    _u(31)
64 #define DMA_CH0_TRANS_COUNT_LSB    _u(0)
65 #define DMA_CH0_TRANS_COUNT_ACCESS "RW"
66 // =============================================================================
67 // Register    : DMA_CH0_CTRL_TRIG
68 // Description : DMA Channel 0 Control and Status
69 #define DMA_CH0_CTRL_TRIG_OFFSET _u(0x0000000c)
70 #define DMA_CH0_CTRL_TRIG_BITS   _u(0xe1ffffff)
71 #define DMA_CH0_CTRL_TRIG_RESET  _u(0x00000000)
72 // -----------------------------------------------------------------------------
73 // Field       : DMA_CH0_CTRL_TRIG_AHB_ERROR
74 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
75 //               halts when it encounters any bus error, and always raises its
76 //               channel IRQ flag.
77 #define DMA_CH0_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
78 #define DMA_CH0_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
79 #define DMA_CH0_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
80 #define DMA_CH0_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
81 #define DMA_CH0_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
82 // -----------------------------------------------------------------------------
83 // Field       : DMA_CH0_CTRL_TRIG_READ_ERROR
84 // Description : If 1, the channel received a read bus error. Write one to
85 //               clear.
86 //               READ_ADDR shows the approximate address where the bus error was
87 //               encountered (will not be earlier, or more than 3 transfers
88 //               later)
89 #define DMA_CH0_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
90 #define DMA_CH0_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
91 #define DMA_CH0_CTRL_TRIG_READ_ERROR_MSB    _u(30)
92 #define DMA_CH0_CTRL_TRIG_READ_ERROR_LSB    _u(30)
93 #define DMA_CH0_CTRL_TRIG_READ_ERROR_ACCESS "WC"
94 // -----------------------------------------------------------------------------
95 // Field       : DMA_CH0_CTRL_TRIG_WRITE_ERROR
96 // Description : If 1, the channel received a write bus error. Write one to
97 //               clear.
98 //               WRITE_ADDR shows the approximate address where the bus error
99 //               was encountered (will not be earlier, or more than 5 transfers
100 //               later)
101 #define DMA_CH0_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
102 #define DMA_CH0_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
103 #define DMA_CH0_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
104 #define DMA_CH0_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
105 #define DMA_CH0_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
106 // -----------------------------------------------------------------------------
107 // Field       : DMA_CH0_CTRL_TRIG_BUSY
108 // Description : This flag goes high when the channel starts a new transfer
109 //               sequence, and low when the last transfer of that sequence
110 //               completes. Clearing EN while BUSY is high pauses the channel,
111 //               and BUSY will stay high while paused.
112 //
113 //               To terminate a sequence early (and clear the BUSY flag), see
114 //               CHAN_ABORT.
115 #define DMA_CH0_CTRL_TRIG_BUSY_RESET  _u(0x0)
116 #define DMA_CH0_CTRL_TRIG_BUSY_BITS   _u(0x01000000)
117 #define DMA_CH0_CTRL_TRIG_BUSY_MSB    _u(24)
118 #define DMA_CH0_CTRL_TRIG_BUSY_LSB    _u(24)
119 #define DMA_CH0_CTRL_TRIG_BUSY_ACCESS "RO"
120 // -----------------------------------------------------------------------------
121 // Field       : DMA_CH0_CTRL_TRIG_SNIFF_EN
122 // Description : If 1, this channel's data transfers are visible to the sniff
123 //               hardware, and each transfer will advance the state of the
124 //               checksum. This only applies if the sniff hardware is enabled,
125 //               and has this channel selected.
126 //
127 //               This allows checksum to be enabled or disabled on a
128 //               per-control- block basis.
129 #define DMA_CH0_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
130 #define DMA_CH0_CTRL_TRIG_SNIFF_EN_BITS   _u(0x00800000)
131 #define DMA_CH0_CTRL_TRIG_SNIFF_EN_MSB    _u(23)
132 #define DMA_CH0_CTRL_TRIG_SNIFF_EN_LSB    _u(23)
133 #define DMA_CH0_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
134 // -----------------------------------------------------------------------------
135 // Field       : DMA_CH0_CTRL_TRIG_BSWAP
136 // Description : Apply byte-swap transformation to DMA data.
137 //               For byte data, this has no effect. For halfword data, the two
138 //               bytes of each halfword are swapped. For word data, the four
139 //               bytes of each word are swapped to reverse order.
140 #define DMA_CH0_CTRL_TRIG_BSWAP_RESET  _u(0x0)
141 #define DMA_CH0_CTRL_TRIG_BSWAP_BITS   _u(0x00400000)
142 #define DMA_CH0_CTRL_TRIG_BSWAP_MSB    _u(22)
143 #define DMA_CH0_CTRL_TRIG_BSWAP_LSB    _u(22)
144 #define DMA_CH0_CTRL_TRIG_BSWAP_ACCESS "RW"
145 // -----------------------------------------------------------------------------
146 // Field       : DMA_CH0_CTRL_TRIG_IRQ_QUIET
147 // Description : In QUIET mode, the channel does not generate IRQs at the end of
148 //               every transfer block. Instead, an IRQ is raised when NULL is
149 //               written to a trigger register, indicating the end of a control
150 //               block chain.
151 //
152 //               This reduces the number of interrupts to be serviced by the CPU
153 //               when transferring a DMA chain of many small control blocks.
154 #define DMA_CH0_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
155 #define DMA_CH0_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00200000)
156 #define DMA_CH0_CTRL_TRIG_IRQ_QUIET_MSB    _u(21)
157 #define DMA_CH0_CTRL_TRIG_IRQ_QUIET_LSB    _u(21)
158 #define DMA_CH0_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
159 // -----------------------------------------------------------------------------
160 // Field       : DMA_CH0_CTRL_TRIG_TREQ_SEL
161 // Description : Select a Transfer Request signal.
162 //               The channel uses the transfer request signal to pace its data
163 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
164 //               or external (DREQ, a Data Request from the system).
165 //               0x0 to 0x3a -> select DREQ n as TREQ
166 //               0x3b -> Select Timer 0 as TREQ
167 //               0x3c -> Select Timer 1 as TREQ
168 //               0x3d -> Select Timer 2 as TREQ (Optional)
169 //               0x3e -> Select Timer 3 as TREQ (Optional)
170 //               0x3f -> Permanent request, for unpaced transfers.
171 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_RESET           _u(0x00)
172 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_BITS            _u(0x001f8000)
173 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_MSB             _u(20)
174 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_LSB             _u(15)
175 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_ACCESS          "RW"
176 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0    _u(0x3b)
177 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1    _u(0x3c)
178 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2    _u(0x3d)
179 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3    _u(0x3e)
180 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
181 // -----------------------------------------------------------------------------
182 // Field       : DMA_CH0_CTRL_TRIG_CHAIN_TO
183 // Description : When this channel completes, it will trigger the channel
184 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
185 //               channel)_.
186 #define DMA_CH0_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
187 #define DMA_CH0_CTRL_TRIG_CHAIN_TO_BITS   _u(0x00007800)
188 #define DMA_CH0_CTRL_TRIG_CHAIN_TO_MSB    _u(14)
189 #define DMA_CH0_CTRL_TRIG_CHAIN_TO_LSB    _u(11)
190 #define DMA_CH0_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
191 // -----------------------------------------------------------------------------
192 // Field       : DMA_CH0_CTRL_TRIG_RING_SEL
193 // Description : Select whether RING_SIZE applies to read or write addresses.
194 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
195 //               boundary. If 1, write addresses are wrapped.
196 #define DMA_CH0_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
197 #define DMA_CH0_CTRL_TRIG_RING_SEL_BITS   _u(0x00000400)
198 #define DMA_CH0_CTRL_TRIG_RING_SEL_MSB    _u(10)
199 #define DMA_CH0_CTRL_TRIG_RING_SEL_LSB    _u(10)
200 #define DMA_CH0_CTRL_TRIG_RING_SEL_ACCESS "RW"
201 // -----------------------------------------------------------------------------
202 // Field       : DMA_CH0_CTRL_TRIG_RING_SIZE
203 // Description : Size of address wrap region. If 0, don't wrap. For values n >
204 //               0, only the lower n bits of the address will change. This wraps
205 //               the address on a (1 << n) byte boundary, facilitating access to
206 //               naturally-aligned ring buffers.
207 //
208 //               Ring sizes between 2 and 32768 bytes are possible. This can
209 //               apply to either read or write addresses, based on value of
210 //               RING_SEL.
211 //               0x0 -> RING_NONE
212 #define DMA_CH0_CTRL_TRIG_RING_SIZE_RESET           _u(0x0)
213 #define DMA_CH0_CTRL_TRIG_RING_SIZE_BITS            _u(0x000003c0)
214 #define DMA_CH0_CTRL_TRIG_RING_SIZE_MSB             _u(9)
215 #define DMA_CH0_CTRL_TRIG_RING_SIZE_LSB             _u(6)
216 #define DMA_CH0_CTRL_TRIG_RING_SIZE_ACCESS          "RW"
217 #define DMA_CH0_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
218 // -----------------------------------------------------------------------------
219 // Field       : DMA_CH0_CTRL_TRIG_INCR_WRITE
220 // Description : If 1, the write address increments with each transfer. If 0,
221 //               each write is directed to the same, initial address.
222 //
223 //               Generally this should be disabled for memory-to-peripheral
224 //               transfers.
225 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
226 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000020)
227 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_MSB    _u(5)
228 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_LSB    _u(5)
229 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
230 // -----------------------------------------------------------------------------
231 // Field       : DMA_CH0_CTRL_TRIG_INCR_READ
232 // Description : If 1, the read address increments with each transfer. If 0,
233 //               each read is directed to the same, initial address.
234 //
235 //               Generally this should be disabled for peripheral-to-memory
236 //               transfers.
237 #define DMA_CH0_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
238 #define DMA_CH0_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
239 #define DMA_CH0_CTRL_TRIG_INCR_READ_MSB    _u(4)
240 #define DMA_CH0_CTRL_TRIG_INCR_READ_LSB    _u(4)
241 #define DMA_CH0_CTRL_TRIG_INCR_READ_ACCESS "RW"
242 // -----------------------------------------------------------------------------
243 // Field       : DMA_CH0_CTRL_TRIG_DATA_SIZE
244 // Description : Set the size of each bus transfer (byte/halfword/word).
245 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
246 //               with each transfer.
247 //               0x0 -> SIZE_BYTE
248 //               0x1 -> SIZE_HALFWORD
249 //               0x2 -> SIZE_WORD
250 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_RESET               _u(0x0)
251 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_BITS                _u(0x0000000c)
252 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_MSB                 _u(3)
253 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_LSB                 _u(2)
254 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_ACCESS              "RW"
255 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE     _u(0x0)
256 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
257 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD     _u(0x2)
258 // -----------------------------------------------------------------------------
259 // Field       : DMA_CH0_CTRL_TRIG_HIGH_PRIORITY
260 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
261 //               scheduling: in each scheduling round, all high priority
262 //               channels are considered first, and then only a single low
263 //               priority channel, before returning to the high priority
264 //               channels.
265 //
266 //               This only affects the order in which the DMA schedules
267 //               channels. The DMA's bus priority is not changed. If the DMA is
268 //               not saturated then a low priority channel will see no loss of
269 //               throughput.
270 #define DMA_CH0_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
271 #define DMA_CH0_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
272 #define DMA_CH0_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
273 #define DMA_CH0_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
274 #define DMA_CH0_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
275 // -----------------------------------------------------------------------------
276 // Field       : DMA_CH0_CTRL_TRIG_EN
277 // Description : DMA Channel Enable.
278 //               When 1, the channel will respond to triggering events, which
279 //               will cause it to become BUSY and start transferring data. When
280 //               0, the channel will ignore triggers, stop issuing transfers,
281 //               and pause the current transfer sequence (i.e. BUSY will remain
282 //               high if already high)
283 #define DMA_CH0_CTRL_TRIG_EN_RESET  _u(0x0)
284 #define DMA_CH0_CTRL_TRIG_EN_BITS   _u(0x00000001)
285 #define DMA_CH0_CTRL_TRIG_EN_MSB    _u(0)
286 #define DMA_CH0_CTRL_TRIG_EN_LSB    _u(0)
287 #define DMA_CH0_CTRL_TRIG_EN_ACCESS "RW"
288 // =============================================================================
289 // Register    : DMA_CH0_AL1_CTRL
290 // Description : Alias for channel 0 CTRL register
291 #define DMA_CH0_AL1_CTRL_OFFSET _u(0x00000010)
292 #define DMA_CH0_AL1_CTRL_BITS   _u(0xffffffff)
293 #define DMA_CH0_AL1_CTRL_RESET  "-"
294 #define DMA_CH0_AL1_CTRL_MSB    _u(31)
295 #define DMA_CH0_AL1_CTRL_LSB    _u(0)
296 #define DMA_CH0_AL1_CTRL_ACCESS "RW"
297 // =============================================================================
298 // Register    : DMA_CH0_AL1_READ_ADDR
299 // Description : Alias for channel 0 READ_ADDR register
300 #define DMA_CH0_AL1_READ_ADDR_OFFSET _u(0x00000014)
301 #define DMA_CH0_AL1_READ_ADDR_BITS   _u(0xffffffff)
302 #define DMA_CH0_AL1_READ_ADDR_RESET  "-"
303 #define DMA_CH0_AL1_READ_ADDR_MSB    _u(31)
304 #define DMA_CH0_AL1_READ_ADDR_LSB    _u(0)
305 #define DMA_CH0_AL1_READ_ADDR_ACCESS "RW"
306 // =============================================================================
307 // Register    : DMA_CH0_AL1_WRITE_ADDR
308 // Description : Alias for channel 0 WRITE_ADDR register
309 #define DMA_CH0_AL1_WRITE_ADDR_OFFSET _u(0x00000018)
310 #define DMA_CH0_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
311 #define DMA_CH0_AL1_WRITE_ADDR_RESET  "-"
312 #define DMA_CH0_AL1_WRITE_ADDR_MSB    _u(31)
313 #define DMA_CH0_AL1_WRITE_ADDR_LSB    _u(0)
314 #define DMA_CH0_AL1_WRITE_ADDR_ACCESS "RW"
315 // =============================================================================
316 // Register    : DMA_CH0_AL1_TRANS_COUNT_TRIG
317 // Description : Alias for channel 0 TRANS_COUNT register
318 //               This is a trigger register (0xc). Writing a nonzero value will
319 //               reload the channel counter and start the channel.
320 #define DMA_CH0_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000001c)
321 #define DMA_CH0_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
322 #define DMA_CH0_AL1_TRANS_COUNT_TRIG_RESET  "-"
323 #define DMA_CH0_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
324 #define DMA_CH0_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
325 #define DMA_CH0_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
326 // =============================================================================
327 // Register    : DMA_CH0_AL2_CTRL
328 // Description : Alias for channel 0 CTRL register
329 #define DMA_CH0_AL2_CTRL_OFFSET _u(0x00000020)
330 #define DMA_CH0_AL2_CTRL_BITS   _u(0xffffffff)
331 #define DMA_CH0_AL2_CTRL_RESET  "-"
332 #define DMA_CH0_AL2_CTRL_MSB    _u(31)
333 #define DMA_CH0_AL2_CTRL_LSB    _u(0)
334 #define DMA_CH0_AL2_CTRL_ACCESS "RW"
335 // =============================================================================
336 // Register    : DMA_CH0_AL2_TRANS_COUNT
337 // Description : Alias for channel 0 TRANS_COUNT register
338 #define DMA_CH0_AL2_TRANS_COUNT_OFFSET _u(0x00000024)
339 #define DMA_CH0_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
340 #define DMA_CH0_AL2_TRANS_COUNT_RESET  "-"
341 #define DMA_CH0_AL2_TRANS_COUNT_MSB    _u(31)
342 #define DMA_CH0_AL2_TRANS_COUNT_LSB    _u(0)
343 #define DMA_CH0_AL2_TRANS_COUNT_ACCESS "RW"
344 // =============================================================================
345 // Register    : DMA_CH0_AL2_READ_ADDR
346 // Description : Alias for channel 0 READ_ADDR register
347 #define DMA_CH0_AL2_READ_ADDR_OFFSET _u(0x00000028)
348 #define DMA_CH0_AL2_READ_ADDR_BITS   _u(0xffffffff)
349 #define DMA_CH0_AL2_READ_ADDR_RESET  "-"
350 #define DMA_CH0_AL2_READ_ADDR_MSB    _u(31)
351 #define DMA_CH0_AL2_READ_ADDR_LSB    _u(0)
352 #define DMA_CH0_AL2_READ_ADDR_ACCESS "RW"
353 // =============================================================================
354 // Register    : DMA_CH0_AL2_WRITE_ADDR_TRIG
355 // Description : Alias for channel 0 WRITE_ADDR register
356 //               This is a trigger register (0xc). Writing a nonzero value will
357 //               reload the channel counter and start the channel.
358 #define DMA_CH0_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000002c)
359 #define DMA_CH0_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
360 #define DMA_CH0_AL2_WRITE_ADDR_TRIG_RESET  "-"
361 #define DMA_CH0_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
362 #define DMA_CH0_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
363 #define DMA_CH0_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
364 // =============================================================================
365 // Register    : DMA_CH0_AL3_CTRL
366 // Description : Alias for channel 0 CTRL register
367 #define DMA_CH0_AL3_CTRL_OFFSET _u(0x00000030)
368 #define DMA_CH0_AL3_CTRL_BITS   _u(0xffffffff)
369 #define DMA_CH0_AL3_CTRL_RESET  "-"
370 #define DMA_CH0_AL3_CTRL_MSB    _u(31)
371 #define DMA_CH0_AL3_CTRL_LSB    _u(0)
372 #define DMA_CH0_AL3_CTRL_ACCESS "RW"
373 // =============================================================================
374 // Register    : DMA_CH0_AL3_WRITE_ADDR
375 // Description : Alias for channel 0 WRITE_ADDR register
376 #define DMA_CH0_AL3_WRITE_ADDR_OFFSET _u(0x00000034)
377 #define DMA_CH0_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
378 #define DMA_CH0_AL3_WRITE_ADDR_RESET  "-"
379 #define DMA_CH0_AL3_WRITE_ADDR_MSB    _u(31)
380 #define DMA_CH0_AL3_WRITE_ADDR_LSB    _u(0)
381 #define DMA_CH0_AL3_WRITE_ADDR_ACCESS "RW"
382 // =============================================================================
383 // Register    : DMA_CH0_AL3_TRANS_COUNT
384 // Description : Alias for channel 0 TRANS_COUNT register
385 #define DMA_CH0_AL3_TRANS_COUNT_OFFSET _u(0x00000038)
386 #define DMA_CH0_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
387 #define DMA_CH0_AL3_TRANS_COUNT_RESET  "-"
388 #define DMA_CH0_AL3_TRANS_COUNT_MSB    _u(31)
389 #define DMA_CH0_AL3_TRANS_COUNT_LSB    _u(0)
390 #define DMA_CH0_AL3_TRANS_COUNT_ACCESS "RW"
391 // =============================================================================
392 // Register    : DMA_CH0_AL3_READ_ADDR_TRIG
393 // Description : Alias for channel 0 READ_ADDR register
394 //               This is a trigger register (0xc). Writing a nonzero value will
395 //               reload the channel counter and start the channel.
396 #define DMA_CH0_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000003c)
397 #define DMA_CH0_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
398 #define DMA_CH0_AL3_READ_ADDR_TRIG_RESET  "-"
399 #define DMA_CH0_AL3_READ_ADDR_TRIG_MSB    _u(31)
400 #define DMA_CH0_AL3_READ_ADDR_TRIG_LSB    _u(0)
401 #define DMA_CH0_AL3_READ_ADDR_TRIG_ACCESS "RW"
402 // =============================================================================
403 // Register    : DMA_CH1_READ_ADDR
404 // Description : DMA Channel 1 Read Address pointer
405 //               This register updates automatically each time a read completes.
406 //               The current value is the next address to be read by this
407 //               channel.
408 #define DMA_CH1_READ_ADDR_OFFSET _u(0x00000040)
409 #define DMA_CH1_READ_ADDR_BITS   _u(0xffffffff)
410 #define DMA_CH1_READ_ADDR_RESET  _u(0x00000000)
411 #define DMA_CH1_READ_ADDR_MSB    _u(31)
412 #define DMA_CH1_READ_ADDR_LSB    _u(0)
413 #define DMA_CH1_READ_ADDR_ACCESS "RW"
414 // =============================================================================
415 // Register    : DMA_CH1_WRITE_ADDR
416 // Description : DMA Channel 1 Write Address pointer
417 //               This register updates automatically each time a write
418 //               completes. The current value is the next address to be written
419 //               by this channel.
420 #define DMA_CH1_WRITE_ADDR_OFFSET _u(0x00000044)
421 #define DMA_CH1_WRITE_ADDR_BITS   _u(0xffffffff)
422 #define DMA_CH1_WRITE_ADDR_RESET  _u(0x00000000)
423 #define DMA_CH1_WRITE_ADDR_MSB    _u(31)
424 #define DMA_CH1_WRITE_ADDR_LSB    _u(0)
425 #define DMA_CH1_WRITE_ADDR_ACCESS "RW"
426 // =============================================================================
427 // Register    : DMA_CH1_TRANS_COUNT
428 // Description : DMA Channel 1 Transfer Count
429 //               Program the number of bus transfers a channel will perform
430 //               before halting. Note that, if transfers are larger than one
431 //               byte in size, this is not equal to the number of bytes
432 //               transferred (see CTRL_DATA_SIZE).
433 //
434 //               When the channel is active, reading this register shows the
435 //               number of transfers remaining, updating automatically each time
436 //               a write transfer completes.
437 //
438 //               Writing this register sets the RELOAD value for the transfer
439 //               counter. Each time this channel is triggered, the RELOAD value
440 //               is copied into the live transfer counter. The channel can be
441 //               started multiple times, and will perform the same number of
442 //               transfers each time, as programmed by most recent write.
443 //
444 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
445 //               is used as a trigger, the written value is used immediately as
446 //               the length of the new transfer sequence, as well as being
447 //               written to RELOAD.
448 #define DMA_CH1_TRANS_COUNT_OFFSET _u(0x00000048)
449 #define DMA_CH1_TRANS_COUNT_BITS   _u(0xffffffff)
450 #define DMA_CH1_TRANS_COUNT_RESET  _u(0x00000000)
451 #define DMA_CH1_TRANS_COUNT_MSB    _u(31)
452 #define DMA_CH1_TRANS_COUNT_LSB    _u(0)
453 #define DMA_CH1_TRANS_COUNT_ACCESS "RW"
454 // =============================================================================
455 // Register    : DMA_CH1_CTRL_TRIG
456 // Description : DMA Channel 1 Control and Status
457 #define DMA_CH1_CTRL_TRIG_OFFSET _u(0x0000004c)
458 #define DMA_CH1_CTRL_TRIG_BITS   _u(0xe1ffffff)
459 #define DMA_CH1_CTRL_TRIG_RESET  _u(0x00000000)
460 // -----------------------------------------------------------------------------
461 // Field       : DMA_CH1_CTRL_TRIG_AHB_ERROR
462 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
463 //               halts when it encounters any bus error, and always raises its
464 //               channel IRQ flag.
465 #define DMA_CH1_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
466 #define DMA_CH1_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
467 #define DMA_CH1_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
468 #define DMA_CH1_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
469 #define DMA_CH1_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
470 // -----------------------------------------------------------------------------
471 // Field       : DMA_CH1_CTRL_TRIG_READ_ERROR
472 // Description : If 1, the channel received a read bus error. Write one to
473 //               clear.
474 //               READ_ADDR shows the approximate address where the bus error was
475 //               encountered (will not be earlier, or more than 3 transfers
476 //               later)
477 #define DMA_CH1_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
478 #define DMA_CH1_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
479 #define DMA_CH1_CTRL_TRIG_READ_ERROR_MSB    _u(30)
480 #define DMA_CH1_CTRL_TRIG_READ_ERROR_LSB    _u(30)
481 #define DMA_CH1_CTRL_TRIG_READ_ERROR_ACCESS "WC"
482 // -----------------------------------------------------------------------------
483 // Field       : DMA_CH1_CTRL_TRIG_WRITE_ERROR
484 // Description : If 1, the channel received a write bus error. Write one to
485 //               clear.
486 //               WRITE_ADDR shows the approximate address where the bus error
487 //               was encountered (will not be earlier, or more than 5 transfers
488 //               later)
489 #define DMA_CH1_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
490 #define DMA_CH1_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
491 #define DMA_CH1_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
492 #define DMA_CH1_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
493 #define DMA_CH1_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
494 // -----------------------------------------------------------------------------
495 // Field       : DMA_CH1_CTRL_TRIG_BUSY
496 // Description : This flag goes high when the channel starts a new transfer
497 //               sequence, and low when the last transfer of that sequence
498 //               completes. Clearing EN while BUSY is high pauses the channel,
499 //               and BUSY will stay high while paused.
500 //
501 //               To terminate a sequence early (and clear the BUSY flag), see
502 //               CHAN_ABORT.
503 #define DMA_CH1_CTRL_TRIG_BUSY_RESET  _u(0x0)
504 #define DMA_CH1_CTRL_TRIG_BUSY_BITS   _u(0x01000000)
505 #define DMA_CH1_CTRL_TRIG_BUSY_MSB    _u(24)
506 #define DMA_CH1_CTRL_TRIG_BUSY_LSB    _u(24)
507 #define DMA_CH1_CTRL_TRIG_BUSY_ACCESS "RO"
508 // -----------------------------------------------------------------------------
509 // Field       : DMA_CH1_CTRL_TRIG_SNIFF_EN
510 // Description : If 1, this channel's data transfers are visible to the sniff
511 //               hardware, and each transfer will advance the state of the
512 //               checksum. This only applies if the sniff hardware is enabled,
513 //               and has this channel selected.
514 //
515 //               This allows checksum to be enabled or disabled on a
516 //               per-control- block basis.
517 #define DMA_CH1_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
518 #define DMA_CH1_CTRL_TRIG_SNIFF_EN_BITS   _u(0x00800000)
519 #define DMA_CH1_CTRL_TRIG_SNIFF_EN_MSB    _u(23)
520 #define DMA_CH1_CTRL_TRIG_SNIFF_EN_LSB    _u(23)
521 #define DMA_CH1_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
522 // -----------------------------------------------------------------------------
523 // Field       : DMA_CH1_CTRL_TRIG_BSWAP
524 // Description : Apply byte-swap transformation to DMA data.
525 //               For byte data, this has no effect. For halfword data, the two
526 //               bytes of each halfword are swapped. For word data, the four
527 //               bytes of each word are swapped to reverse order.
528 #define DMA_CH1_CTRL_TRIG_BSWAP_RESET  _u(0x0)
529 #define DMA_CH1_CTRL_TRIG_BSWAP_BITS   _u(0x00400000)
530 #define DMA_CH1_CTRL_TRIG_BSWAP_MSB    _u(22)
531 #define DMA_CH1_CTRL_TRIG_BSWAP_LSB    _u(22)
532 #define DMA_CH1_CTRL_TRIG_BSWAP_ACCESS "RW"
533 // -----------------------------------------------------------------------------
534 // Field       : DMA_CH1_CTRL_TRIG_IRQ_QUIET
535 // Description : In QUIET mode, the channel does not generate IRQs at the end of
536 //               every transfer block. Instead, an IRQ is raised when NULL is
537 //               written to a trigger register, indicating the end of a control
538 //               block chain.
539 //
540 //               This reduces the number of interrupts to be serviced by the CPU
541 //               when transferring a DMA chain of many small control blocks.
542 #define DMA_CH1_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
543 #define DMA_CH1_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00200000)
544 #define DMA_CH1_CTRL_TRIG_IRQ_QUIET_MSB    _u(21)
545 #define DMA_CH1_CTRL_TRIG_IRQ_QUIET_LSB    _u(21)
546 #define DMA_CH1_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
547 // -----------------------------------------------------------------------------
548 // Field       : DMA_CH1_CTRL_TRIG_TREQ_SEL
549 // Description : Select a Transfer Request signal.
550 //               The channel uses the transfer request signal to pace its data
551 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
552 //               or external (DREQ, a Data Request from the system).
553 //               0x0 to 0x3a -> select DREQ n as TREQ
554 //               0x3b -> Select Timer 0 as TREQ
555 //               0x3c -> Select Timer 1 as TREQ
556 //               0x3d -> Select Timer 2 as TREQ (Optional)
557 //               0x3e -> Select Timer 3 as TREQ (Optional)
558 //               0x3f -> Permanent request, for unpaced transfers.
559 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_RESET           _u(0x00)
560 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_BITS            _u(0x001f8000)
561 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_MSB             _u(20)
562 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_LSB             _u(15)
563 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_ACCESS          "RW"
564 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0    _u(0x3b)
565 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1    _u(0x3c)
566 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2    _u(0x3d)
567 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3    _u(0x3e)
568 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
569 // -----------------------------------------------------------------------------
570 // Field       : DMA_CH1_CTRL_TRIG_CHAIN_TO
571 // Description : When this channel completes, it will trigger the channel
572 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
573 //               channel)_.
574 #define DMA_CH1_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
575 #define DMA_CH1_CTRL_TRIG_CHAIN_TO_BITS   _u(0x00007800)
576 #define DMA_CH1_CTRL_TRIG_CHAIN_TO_MSB    _u(14)
577 #define DMA_CH1_CTRL_TRIG_CHAIN_TO_LSB    _u(11)
578 #define DMA_CH1_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
579 // -----------------------------------------------------------------------------
580 // Field       : DMA_CH1_CTRL_TRIG_RING_SEL
581 // Description : Select whether RING_SIZE applies to read or write addresses.
582 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
583 //               boundary. If 1, write addresses are wrapped.
584 #define DMA_CH1_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
585 #define DMA_CH1_CTRL_TRIG_RING_SEL_BITS   _u(0x00000400)
586 #define DMA_CH1_CTRL_TRIG_RING_SEL_MSB    _u(10)
587 #define DMA_CH1_CTRL_TRIG_RING_SEL_LSB    _u(10)
588 #define DMA_CH1_CTRL_TRIG_RING_SEL_ACCESS "RW"
589 // -----------------------------------------------------------------------------
590 // Field       : DMA_CH1_CTRL_TRIG_RING_SIZE
591 // Description : Size of address wrap region. If 0, don't wrap. For values n >
592 //               0, only the lower n bits of the address will change. This wraps
593 //               the address on a (1 << n) byte boundary, facilitating access to
594 //               naturally-aligned ring buffers.
595 //
596 //               Ring sizes between 2 and 32768 bytes are possible. This can
597 //               apply to either read or write addresses, based on value of
598 //               RING_SEL.
599 //               0x0 -> RING_NONE
600 #define DMA_CH1_CTRL_TRIG_RING_SIZE_RESET           _u(0x0)
601 #define DMA_CH1_CTRL_TRIG_RING_SIZE_BITS            _u(0x000003c0)
602 #define DMA_CH1_CTRL_TRIG_RING_SIZE_MSB             _u(9)
603 #define DMA_CH1_CTRL_TRIG_RING_SIZE_LSB             _u(6)
604 #define DMA_CH1_CTRL_TRIG_RING_SIZE_ACCESS          "RW"
605 #define DMA_CH1_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
606 // -----------------------------------------------------------------------------
607 // Field       : DMA_CH1_CTRL_TRIG_INCR_WRITE
608 // Description : If 1, the write address increments with each transfer. If 0,
609 //               each write is directed to the same, initial address.
610 //
611 //               Generally this should be disabled for memory-to-peripheral
612 //               transfers.
613 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
614 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000020)
615 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_MSB    _u(5)
616 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_LSB    _u(5)
617 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
618 // -----------------------------------------------------------------------------
619 // Field       : DMA_CH1_CTRL_TRIG_INCR_READ
620 // Description : If 1, the read address increments with each transfer. If 0,
621 //               each read is directed to the same, initial address.
622 //
623 //               Generally this should be disabled for peripheral-to-memory
624 //               transfers.
625 #define DMA_CH1_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
626 #define DMA_CH1_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
627 #define DMA_CH1_CTRL_TRIG_INCR_READ_MSB    _u(4)
628 #define DMA_CH1_CTRL_TRIG_INCR_READ_LSB    _u(4)
629 #define DMA_CH1_CTRL_TRIG_INCR_READ_ACCESS "RW"
630 // -----------------------------------------------------------------------------
631 // Field       : DMA_CH1_CTRL_TRIG_DATA_SIZE
632 // Description : Set the size of each bus transfer (byte/halfword/word).
633 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
634 //               with each transfer.
635 //               0x0 -> SIZE_BYTE
636 //               0x1 -> SIZE_HALFWORD
637 //               0x2 -> SIZE_WORD
638 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_RESET               _u(0x0)
639 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_BITS                _u(0x0000000c)
640 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_MSB                 _u(3)
641 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_LSB                 _u(2)
642 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_ACCESS              "RW"
643 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE     _u(0x0)
644 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
645 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD     _u(0x2)
646 // -----------------------------------------------------------------------------
647 // Field       : DMA_CH1_CTRL_TRIG_HIGH_PRIORITY
648 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
649 //               scheduling: in each scheduling round, all high priority
650 //               channels are considered first, and then only a single low
651 //               priority channel, before returning to the high priority
652 //               channels.
653 //
654 //               This only affects the order in which the DMA schedules
655 //               channels. The DMA's bus priority is not changed. If the DMA is
656 //               not saturated then a low priority channel will see no loss of
657 //               throughput.
658 #define DMA_CH1_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
659 #define DMA_CH1_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
660 #define DMA_CH1_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
661 #define DMA_CH1_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
662 #define DMA_CH1_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
663 // -----------------------------------------------------------------------------
664 // Field       : DMA_CH1_CTRL_TRIG_EN
665 // Description : DMA Channel Enable.
666 //               When 1, the channel will respond to triggering events, which
667 //               will cause it to become BUSY and start transferring data. When
668 //               0, the channel will ignore triggers, stop issuing transfers,
669 //               and pause the current transfer sequence (i.e. BUSY will remain
670 //               high if already high)
671 #define DMA_CH1_CTRL_TRIG_EN_RESET  _u(0x0)
672 #define DMA_CH1_CTRL_TRIG_EN_BITS   _u(0x00000001)
673 #define DMA_CH1_CTRL_TRIG_EN_MSB    _u(0)
674 #define DMA_CH1_CTRL_TRIG_EN_LSB    _u(0)
675 #define DMA_CH1_CTRL_TRIG_EN_ACCESS "RW"
676 // =============================================================================
677 // Register    : DMA_CH1_AL1_CTRL
678 // Description : Alias for channel 1 CTRL register
679 #define DMA_CH1_AL1_CTRL_OFFSET _u(0x00000050)
680 #define DMA_CH1_AL1_CTRL_BITS   _u(0xffffffff)
681 #define DMA_CH1_AL1_CTRL_RESET  "-"
682 #define DMA_CH1_AL1_CTRL_MSB    _u(31)
683 #define DMA_CH1_AL1_CTRL_LSB    _u(0)
684 #define DMA_CH1_AL1_CTRL_ACCESS "RW"
685 // =============================================================================
686 // Register    : DMA_CH1_AL1_READ_ADDR
687 // Description : Alias for channel 1 READ_ADDR register
688 #define DMA_CH1_AL1_READ_ADDR_OFFSET _u(0x00000054)
689 #define DMA_CH1_AL1_READ_ADDR_BITS   _u(0xffffffff)
690 #define DMA_CH1_AL1_READ_ADDR_RESET  "-"
691 #define DMA_CH1_AL1_READ_ADDR_MSB    _u(31)
692 #define DMA_CH1_AL1_READ_ADDR_LSB    _u(0)
693 #define DMA_CH1_AL1_READ_ADDR_ACCESS "RW"
694 // =============================================================================
695 // Register    : DMA_CH1_AL1_WRITE_ADDR
696 // Description : Alias for channel 1 WRITE_ADDR register
697 #define DMA_CH1_AL1_WRITE_ADDR_OFFSET _u(0x00000058)
698 #define DMA_CH1_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
699 #define DMA_CH1_AL1_WRITE_ADDR_RESET  "-"
700 #define DMA_CH1_AL1_WRITE_ADDR_MSB    _u(31)
701 #define DMA_CH1_AL1_WRITE_ADDR_LSB    _u(0)
702 #define DMA_CH1_AL1_WRITE_ADDR_ACCESS "RW"
703 // =============================================================================
704 // Register    : DMA_CH1_AL1_TRANS_COUNT_TRIG
705 // Description : Alias for channel 1 TRANS_COUNT register
706 //               This is a trigger register (0xc). Writing a nonzero value will
707 //               reload the channel counter and start the channel.
708 #define DMA_CH1_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000005c)
709 #define DMA_CH1_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
710 #define DMA_CH1_AL1_TRANS_COUNT_TRIG_RESET  "-"
711 #define DMA_CH1_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
712 #define DMA_CH1_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
713 #define DMA_CH1_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
714 // =============================================================================
715 // Register    : DMA_CH1_AL2_CTRL
716 // Description : Alias for channel 1 CTRL register
717 #define DMA_CH1_AL2_CTRL_OFFSET _u(0x00000060)
718 #define DMA_CH1_AL2_CTRL_BITS   _u(0xffffffff)
719 #define DMA_CH1_AL2_CTRL_RESET  "-"
720 #define DMA_CH1_AL2_CTRL_MSB    _u(31)
721 #define DMA_CH1_AL2_CTRL_LSB    _u(0)
722 #define DMA_CH1_AL2_CTRL_ACCESS "RW"
723 // =============================================================================
724 // Register    : DMA_CH1_AL2_TRANS_COUNT
725 // Description : Alias for channel 1 TRANS_COUNT register
726 #define DMA_CH1_AL2_TRANS_COUNT_OFFSET _u(0x00000064)
727 #define DMA_CH1_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
728 #define DMA_CH1_AL2_TRANS_COUNT_RESET  "-"
729 #define DMA_CH1_AL2_TRANS_COUNT_MSB    _u(31)
730 #define DMA_CH1_AL2_TRANS_COUNT_LSB    _u(0)
731 #define DMA_CH1_AL2_TRANS_COUNT_ACCESS "RW"
732 // =============================================================================
733 // Register    : DMA_CH1_AL2_READ_ADDR
734 // Description : Alias for channel 1 READ_ADDR register
735 #define DMA_CH1_AL2_READ_ADDR_OFFSET _u(0x00000068)
736 #define DMA_CH1_AL2_READ_ADDR_BITS   _u(0xffffffff)
737 #define DMA_CH1_AL2_READ_ADDR_RESET  "-"
738 #define DMA_CH1_AL2_READ_ADDR_MSB    _u(31)
739 #define DMA_CH1_AL2_READ_ADDR_LSB    _u(0)
740 #define DMA_CH1_AL2_READ_ADDR_ACCESS "RW"
741 // =============================================================================
742 // Register    : DMA_CH1_AL2_WRITE_ADDR_TRIG
743 // Description : Alias for channel 1 WRITE_ADDR register
744 //               This is a trigger register (0xc). Writing a nonzero value will
745 //               reload the channel counter and start the channel.
746 #define DMA_CH1_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000006c)
747 #define DMA_CH1_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
748 #define DMA_CH1_AL2_WRITE_ADDR_TRIG_RESET  "-"
749 #define DMA_CH1_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
750 #define DMA_CH1_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
751 #define DMA_CH1_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
752 // =============================================================================
753 // Register    : DMA_CH1_AL3_CTRL
754 // Description : Alias for channel 1 CTRL register
755 #define DMA_CH1_AL3_CTRL_OFFSET _u(0x00000070)
756 #define DMA_CH1_AL3_CTRL_BITS   _u(0xffffffff)
757 #define DMA_CH1_AL3_CTRL_RESET  "-"
758 #define DMA_CH1_AL3_CTRL_MSB    _u(31)
759 #define DMA_CH1_AL3_CTRL_LSB    _u(0)
760 #define DMA_CH1_AL3_CTRL_ACCESS "RW"
761 // =============================================================================
762 // Register    : DMA_CH1_AL3_WRITE_ADDR
763 // Description : Alias for channel 1 WRITE_ADDR register
764 #define DMA_CH1_AL3_WRITE_ADDR_OFFSET _u(0x00000074)
765 #define DMA_CH1_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
766 #define DMA_CH1_AL3_WRITE_ADDR_RESET  "-"
767 #define DMA_CH1_AL3_WRITE_ADDR_MSB    _u(31)
768 #define DMA_CH1_AL3_WRITE_ADDR_LSB    _u(0)
769 #define DMA_CH1_AL3_WRITE_ADDR_ACCESS "RW"
770 // =============================================================================
771 // Register    : DMA_CH1_AL3_TRANS_COUNT
772 // Description : Alias for channel 1 TRANS_COUNT register
773 #define DMA_CH1_AL3_TRANS_COUNT_OFFSET _u(0x00000078)
774 #define DMA_CH1_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
775 #define DMA_CH1_AL3_TRANS_COUNT_RESET  "-"
776 #define DMA_CH1_AL3_TRANS_COUNT_MSB    _u(31)
777 #define DMA_CH1_AL3_TRANS_COUNT_LSB    _u(0)
778 #define DMA_CH1_AL3_TRANS_COUNT_ACCESS "RW"
779 // =============================================================================
780 // Register    : DMA_CH1_AL3_READ_ADDR_TRIG
781 // Description : Alias for channel 1 READ_ADDR register
782 //               This is a trigger register (0xc). Writing a nonzero value will
783 //               reload the channel counter and start the channel.
784 #define DMA_CH1_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000007c)
785 #define DMA_CH1_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
786 #define DMA_CH1_AL3_READ_ADDR_TRIG_RESET  "-"
787 #define DMA_CH1_AL3_READ_ADDR_TRIG_MSB    _u(31)
788 #define DMA_CH1_AL3_READ_ADDR_TRIG_LSB    _u(0)
789 #define DMA_CH1_AL3_READ_ADDR_TRIG_ACCESS "RW"
790 // =============================================================================
791 // Register    : DMA_CH2_READ_ADDR
792 // Description : DMA Channel 2 Read Address pointer
793 //               This register updates automatically each time a read completes.
794 //               The current value is the next address to be read by this
795 //               channel.
796 #define DMA_CH2_READ_ADDR_OFFSET _u(0x00000080)
797 #define DMA_CH2_READ_ADDR_BITS   _u(0xffffffff)
798 #define DMA_CH2_READ_ADDR_RESET  _u(0x00000000)
799 #define DMA_CH2_READ_ADDR_MSB    _u(31)
800 #define DMA_CH2_READ_ADDR_LSB    _u(0)
801 #define DMA_CH2_READ_ADDR_ACCESS "RW"
802 // =============================================================================
803 // Register    : DMA_CH2_WRITE_ADDR
804 // Description : DMA Channel 2 Write Address pointer
805 //               This register updates automatically each time a write
806 //               completes. The current value is the next address to be written
807 //               by this channel.
808 #define DMA_CH2_WRITE_ADDR_OFFSET _u(0x00000084)
809 #define DMA_CH2_WRITE_ADDR_BITS   _u(0xffffffff)
810 #define DMA_CH2_WRITE_ADDR_RESET  _u(0x00000000)
811 #define DMA_CH2_WRITE_ADDR_MSB    _u(31)
812 #define DMA_CH2_WRITE_ADDR_LSB    _u(0)
813 #define DMA_CH2_WRITE_ADDR_ACCESS "RW"
814 // =============================================================================
815 // Register    : DMA_CH2_TRANS_COUNT
816 // Description : DMA Channel 2 Transfer Count
817 //               Program the number of bus transfers a channel will perform
818 //               before halting. Note that, if transfers are larger than one
819 //               byte in size, this is not equal to the number of bytes
820 //               transferred (see CTRL_DATA_SIZE).
821 //
822 //               When the channel is active, reading this register shows the
823 //               number of transfers remaining, updating automatically each time
824 //               a write transfer completes.
825 //
826 //               Writing this register sets the RELOAD value for the transfer
827 //               counter. Each time this channel is triggered, the RELOAD value
828 //               is copied into the live transfer counter. The channel can be
829 //               started multiple times, and will perform the same number of
830 //               transfers each time, as programmed by most recent write.
831 //
832 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
833 //               is used as a trigger, the written value is used immediately as
834 //               the length of the new transfer sequence, as well as being
835 //               written to RELOAD.
836 #define DMA_CH2_TRANS_COUNT_OFFSET _u(0x00000088)
837 #define DMA_CH2_TRANS_COUNT_BITS   _u(0xffffffff)
838 #define DMA_CH2_TRANS_COUNT_RESET  _u(0x00000000)
839 #define DMA_CH2_TRANS_COUNT_MSB    _u(31)
840 #define DMA_CH2_TRANS_COUNT_LSB    _u(0)
841 #define DMA_CH2_TRANS_COUNT_ACCESS "RW"
842 // =============================================================================
843 // Register    : DMA_CH2_CTRL_TRIG
844 // Description : DMA Channel 2 Control and Status
845 #define DMA_CH2_CTRL_TRIG_OFFSET _u(0x0000008c)
846 #define DMA_CH2_CTRL_TRIG_BITS   _u(0xe1ffffff)
847 #define DMA_CH2_CTRL_TRIG_RESET  _u(0x00000000)
848 // -----------------------------------------------------------------------------
849 // Field       : DMA_CH2_CTRL_TRIG_AHB_ERROR
850 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
851 //               halts when it encounters any bus error, and always raises its
852 //               channel IRQ flag.
853 #define DMA_CH2_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
854 #define DMA_CH2_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
855 #define DMA_CH2_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
856 #define DMA_CH2_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
857 #define DMA_CH2_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
858 // -----------------------------------------------------------------------------
859 // Field       : DMA_CH2_CTRL_TRIG_READ_ERROR
860 // Description : If 1, the channel received a read bus error. Write one to
861 //               clear.
862 //               READ_ADDR shows the approximate address where the bus error was
863 //               encountered (will not be earlier, or more than 3 transfers
864 //               later)
865 #define DMA_CH2_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
866 #define DMA_CH2_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
867 #define DMA_CH2_CTRL_TRIG_READ_ERROR_MSB    _u(30)
868 #define DMA_CH2_CTRL_TRIG_READ_ERROR_LSB    _u(30)
869 #define DMA_CH2_CTRL_TRIG_READ_ERROR_ACCESS "WC"
870 // -----------------------------------------------------------------------------
871 // Field       : DMA_CH2_CTRL_TRIG_WRITE_ERROR
872 // Description : If 1, the channel received a write bus error. Write one to
873 //               clear.
874 //               WRITE_ADDR shows the approximate address where the bus error
875 //               was encountered (will not be earlier, or more than 5 transfers
876 //               later)
877 #define DMA_CH2_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
878 #define DMA_CH2_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
879 #define DMA_CH2_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
880 #define DMA_CH2_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
881 #define DMA_CH2_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
882 // -----------------------------------------------------------------------------
883 // Field       : DMA_CH2_CTRL_TRIG_BUSY
884 // Description : This flag goes high when the channel starts a new transfer
885 //               sequence, and low when the last transfer of that sequence
886 //               completes. Clearing EN while BUSY is high pauses the channel,
887 //               and BUSY will stay high while paused.
888 //
889 //               To terminate a sequence early (and clear the BUSY flag), see
890 //               CHAN_ABORT.
891 #define DMA_CH2_CTRL_TRIG_BUSY_RESET  _u(0x0)
892 #define DMA_CH2_CTRL_TRIG_BUSY_BITS   _u(0x01000000)
893 #define DMA_CH2_CTRL_TRIG_BUSY_MSB    _u(24)
894 #define DMA_CH2_CTRL_TRIG_BUSY_LSB    _u(24)
895 #define DMA_CH2_CTRL_TRIG_BUSY_ACCESS "RO"
896 // -----------------------------------------------------------------------------
897 // Field       : DMA_CH2_CTRL_TRIG_SNIFF_EN
898 // Description : If 1, this channel's data transfers are visible to the sniff
899 //               hardware, and each transfer will advance the state of the
900 //               checksum. This only applies if the sniff hardware is enabled,
901 //               and has this channel selected.
902 //
903 //               This allows checksum to be enabled or disabled on a
904 //               per-control- block basis.
905 #define DMA_CH2_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
906 #define DMA_CH2_CTRL_TRIG_SNIFF_EN_BITS   _u(0x00800000)
907 #define DMA_CH2_CTRL_TRIG_SNIFF_EN_MSB    _u(23)
908 #define DMA_CH2_CTRL_TRIG_SNIFF_EN_LSB    _u(23)
909 #define DMA_CH2_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
910 // -----------------------------------------------------------------------------
911 // Field       : DMA_CH2_CTRL_TRIG_BSWAP
912 // Description : Apply byte-swap transformation to DMA data.
913 //               For byte data, this has no effect. For halfword data, the two
914 //               bytes of each halfword are swapped. For word data, the four
915 //               bytes of each word are swapped to reverse order.
916 #define DMA_CH2_CTRL_TRIG_BSWAP_RESET  _u(0x0)
917 #define DMA_CH2_CTRL_TRIG_BSWAP_BITS   _u(0x00400000)
918 #define DMA_CH2_CTRL_TRIG_BSWAP_MSB    _u(22)
919 #define DMA_CH2_CTRL_TRIG_BSWAP_LSB    _u(22)
920 #define DMA_CH2_CTRL_TRIG_BSWAP_ACCESS "RW"
921 // -----------------------------------------------------------------------------
922 // Field       : DMA_CH2_CTRL_TRIG_IRQ_QUIET
923 // Description : In QUIET mode, the channel does not generate IRQs at the end of
924 //               every transfer block. Instead, an IRQ is raised when NULL is
925 //               written to a trigger register, indicating the end of a control
926 //               block chain.
927 //
928 //               This reduces the number of interrupts to be serviced by the CPU
929 //               when transferring a DMA chain of many small control blocks.
930 #define DMA_CH2_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
931 #define DMA_CH2_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00200000)
932 #define DMA_CH2_CTRL_TRIG_IRQ_QUIET_MSB    _u(21)
933 #define DMA_CH2_CTRL_TRIG_IRQ_QUIET_LSB    _u(21)
934 #define DMA_CH2_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
935 // -----------------------------------------------------------------------------
936 // Field       : DMA_CH2_CTRL_TRIG_TREQ_SEL
937 // Description : Select a Transfer Request signal.
938 //               The channel uses the transfer request signal to pace its data
939 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
940 //               or external (DREQ, a Data Request from the system).
941 //               0x0 to 0x3a -> select DREQ n as TREQ
942 //               0x3b -> Select Timer 0 as TREQ
943 //               0x3c -> Select Timer 1 as TREQ
944 //               0x3d -> Select Timer 2 as TREQ (Optional)
945 //               0x3e -> Select Timer 3 as TREQ (Optional)
946 //               0x3f -> Permanent request, for unpaced transfers.
947 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_RESET           _u(0x00)
948 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_BITS            _u(0x001f8000)
949 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_MSB             _u(20)
950 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_LSB             _u(15)
951 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_ACCESS          "RW"
952 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0    _u(0x3b)
953 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1    _u(0x3c)
954 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2    _u(0x3d)
955 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3    _u(0x3e)
956 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
957 // -----------------------------------------------------------------------------
958 // Field       : DMA_CH2_CTRL_TRIG_CHAIN_TO
959 // Description : When this channel completes, it will trigger the channel
960 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
961 //               channel)_.
962 #define DMA_CH2_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
963 #define DMA_CH2_CTRL_TRIG_CHAIN_TO_BITS   _u(0x00007800)
964 #define DMA_CH2_CTRL_TRIG_CHAIN_TO_MSB    _u(14)
965 #define DMA_CH2_CTRL_TRIG_CHAIN_TO_LSB    _u(11)
966 #define DMA_CH2_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
967 // -----------------------------------------------------------------------------
968 // Field       : DMA_CH2_CTRL_TRIG_RING_SEL
969 // Description : Select whether RING_SIZE applies to read or write addresses.
970 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
971 //               boundary. If 1, write addresses are wrapped.
972 #define DMA_CH2_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
973 #define DMA_CH2_CTRL_TRIG_RING_SEL_BITS   _u(0x00000400)
974 #define DMA_CH2_CTRL_TRIG_RING_SEL_MSB    _u(10)
975 #define DMA_CH2_CTRL_TRIG_RING_SEL_LSB    _u(10)
976 #define DMA_CH2_CTRL_TRIG_RING_SEL_ACCESS "RW"
977 // -----------------------------------------------------------------------------
978 // Field       : DMA_CH2_CTRL_TRIG_RING_SIZE
979 // Description : Size of address wrap region. If 0, don't wrap. For values n >
980 //               0, only the lower n bits of the address will change. This wraps
981 //               the address on a (1 << n) byte boundary, facilitating access to
982 //               naturally-aligned ring buffers.
983 //
984 //               Ring sizes between 2 and 32768 bytes are possible. This can
985 //               apply to either read or write addresses, based on value of
986 //               RING_SEL.
987 //               0x0 -> RING_NONE
988 #define DMA_CH2_CTRL_TRIG_RING_SIZE_RESET           _u(0x0)
989 #define DMA_CH2_CTRL_TRIG_RING_SIZE_BITS            _u(0x000003c0)
990 #define DMA_CH2_CTRL_TRIG_RING_SIZE_MSB             _u(9)
991 #define DMA_CH2_CTRL_TRIG_RING_SIZE_LSB             _u(6)
992 #define DMA_CH2_CTRL_TRIG_RING_SIZE_ACCESS          "RW"
993 #define DMA_CH2_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
994 // -----------------------------------------------------------------------------
995 // Field       : DMA_CH2_CTRL_TRIG_INCR_WRITE
996 // Description : If 1, the write address increments with each transfer. If 0,
997 //               each write is directed to the same, initial address.
998 //
999 //               Generally this should be disabled for memory-to-peripheral
1000 //               transfers.
1001 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
1002 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000020)
1003 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_MSB    _u(5)
1004 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_LSB    _u(5)
1005 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
1006 // -----------------------------------------------------------------------------
1007 // Field       : DMA_CH2_CTRL_TRIG_INCR_READ
1008 // Description : If 1, the read address increments with each transfer. If 0,
1009 //               each read is directed to the same, initial address.
1010 //
1011 //               Generally this should be disabled for peripheral-to-memory
1012 //               transfers.
1013 #define DMA_CH2_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
1014 #define DMA_CH2_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
1015 #define DMA_CH2_CTRL_TRIG_INCR_READ_MSB    _u(4)
1016 #define DMA_CH2_CTRL_TRIG_INCR_READ_LSB    _u(4)
1017 #define DMA_CH2_CTRL_TRIG_INCR_READ_ACCESS "RW"
1018 // -----------------------------------------------------------------------------
1019 // Field       : DMA_CH2_CTRL_TRIG_DATA_SIZE
1020 // Description : Set the size of each bus transfer (byte/halfword/word).
1021 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
1022 //               with each transfer.
1023 //               0x0 -> SIZE_BYTE
1024 //               0x1 -> SIZE_HALFWORD
1025 //               0x2 -> SIZE_WORD
1026 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_RESET               _u(0x0)
1027 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_BITS                _u(0x0000000c)
1028 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_MSB                 _u(3)
1029 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_LSB                 _u(2)
1030 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_ACCESS              "RW"
1031 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE     _u(0x0)
1032 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
1033 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD     _u(0x2)
1034 // -----------------------------------------------------------------------------
1035 // Field       : DMA_CH2_CTRL_TRIG_HIGH_PRIORITY
1036 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
1037 //               scheduling: in each scheduling round, all high priority
1038 //               channels are considered first, and then only a single low
1039 //               priority channel, before returning to the high priority
1040 //               channels.
1041 //
1042 //               This only affects the order in which the DMA schedules
1043 //               channels. The DMA's bus priority is not changed. If the DMA is
1044 //               not saturated then a low priority channel will see no loss of
1045 //               throughput.
1046 #define DMA_CH2_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
1047 #define DMA_CH2_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
1048 #define DMA_CH2_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
1049 #define DMA_CH2_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
1050 #define DMA_CH2_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
1051 // -----------------------------------------------------------------------------
1052 // Field       : DMA_CH2_CTRL_TRIG_EN
1053 // Description : DMA Channel Enable.
1054 //               When 1, the channel will respond to triggering events, which
1055 //               will cause it to become BUSY and start transferring data. When
1056 //               0, the channel will ignore triggers, stop issuing transfers,
1057 //               and pause the current transfer sequence (i.e. BUSY will remain
1058 //               high if already high)
1059 #define DMA_CH2_CTRL_TRIG_EN_RESET  _u(0x0)
1060 #define DMA_CH2_CTRL_TRIG_EN_BITS   _u(0x00000001)
1061 #define DMA_CH2_CTRL_TRIG_EN_MSB    _u(0)
1062 #define DMA_CH2_CTRL_TRIG_EN_LSB    _u(0)
1063 #define DMA_CH2_CTRL_TRIG_EN_ACCESS "RW"
1064 // =============================================================================
1065 // Register    : DMA_CH2_AL1_CTRL
1066 // Description : Alias for channel 2 CTRL register
1067 #define DMA_CH2_AL1_CTRL_OFFSET _u(0x00000090)
1068 #define DMA_CH2_AL1_CTRL_BITS   _u(0xffffffff)
1069 #define DMA_CH2_AL1_CTRL_RESET  "-"
1070 #define DMA_CH2_AL1_CTRL_MSB    _u(31)
1071 #define DMA_CH2_AL1_CTRL_LSB    _u(0)
1072 #define DMA_CH2_AL1_CTRL_ACCESS "RW"
1073 // =============================================================================
1074 // Register    : DMA_CH2_AL1_READ_ADDR
1075 // Description : Alias for channel 2 READ_ADDR register
1076 #define DMA_CH2_AL1_READ_ADDR_OFFSET _u(0x00000094)
1077 #define DMA_CH2_AL1_READ_ADDR_BITS   _u(0xffffffff)
1078 #define DMA_CH2_AL1_READ_ADDR_RESET  "-"
1079 #define DMA_CH2_AL1_READ_ADDR_MSB    _u(31)
1080 #define DMA_CH2_AL1_READ_ADDR_LSB    _u(0)
1081 #define DMA_CH2_AL1_READ_ADDR_ACCESS "RW"
1082 // =============================================================================
1083 // Register    : DMA_CH2_AL1_WRITE_ADDR
1084 // Description : Alias for channel 2 WRITE_ADDR register
1085 #define DMA_CH2_AL1_WRITE_ADDR_OFFSET _u(0x00000098)
1086 #define DMA_CH2_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
1087 #define DMA_CH2_AL1_WRITE_ADDR_RESET  "-"
1088 #define DMA_CH2_AL1_WRITE_ADDR_MSB    _u(31)
1089 #define DMA_CH2_AL1_WRITE_ADDR_LSB    _u(0)
1090 #define DMA_CH2_AL1_WRITE_ADDR_ACCESS "RW"
1091 // =============================================================================
1092 // Register    : DMA_CH2_AL1_TRANS_COUNT_TRIG
1093 // Description : Alias for channel 2 TRANS_COUNT register
1094 //               This is a trigger register (0xc). Writing a nonzero value will
1095 //               reload the channel counter and start the channel.
1096 #define DMA_CH2_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000009c)
1097 #define DMA_CH2_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
1098 #define DMA_CH2_AL1_TRANS_COUNT_TRIG_RESET  "-"
1099 #define DMA_CH2_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
1100 #define DMA_CH2_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
1101 #define DMA_CH2_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
1102 // =============================================================================
1103 // Register    : DMA_CH2_AL2_CTRL
1104 // Description : Alias for channel 2 CTRL register
1105 #define DMA_CH2_AL2_CTRL_OFFSET _u(0x000000a0)
1106 #define DMA_CH2_AL2_CTRL_BITS   _u(0xffffffff)
1107 #define DMA_CH2_AL2_CTRL_RESET  "-"
1108 #define DMA_CH2_AL2_CTRL_MSB    _u(31)
1109 #define DMA_CH2_AL2_CTRL_LSB    _u(0)
1110 #define DMA_CH2_AL2_CTRL_ACCESS "RW"
1111 // =============================================================================
1112 // Register    : DMA_CH2_AL2_TRANS_COUNT
1113 // Description : Alias for channel 2 TRANS_COUNT register
1114 #define DMA_CH2_AL2_TRANS_COUNT_OFFSET _u(0x000000a4)
1115 #define DMA_CH2_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
1116 #define DMA_CH2_AL2_TRANS_COUNT_RESET  "-"
1117 #define DMA_CH2_AL2_TRANS_COUNT_MSB    _u(31)
1118 #define DMA_CH2_AL2_TRANS_COUNT_LSB    _u(0)
1119 #define DMA_CH2_AL2_TRANS_COUNT_ACCESS "RW"
1120 // =============================================================================
1121 // Register    : DMA_CH2_AL2_READ_ADDR
1122 // Description : Alias for channel 2 READ_ADDR register
1123 #define DMA_CH2_AL2_READ_ADDR_OFFSET _u(0x000000a8)
1124 #define DMA_CH2_AL2_READ_ADDR_BITS   _u(0xffffffff)
1125 #define DMA_CH2_AL2_READ_ADDR_RESET  "-"
1126 #define DMA_CH2_AL2_READ_ADDR_MSB    _u(31)
1127 #define DMA_CH2_AL2_READ_ADDR_LSB    _u(0)
1128 #define DMA_CH2_AL2_READ_ADDR_ACCESS "RW"
1129 // =============================================================================
1130 // Register    : DMA_CH2_AL2_WRITE_ADDR_TRIG
1131 // Description : Alias for channel 2 WRITE_ADDR register
1132 //               This is a trigger register (0xc). Writing a nonzero value will
1133 //               reload the channel counter and start the channel.
1134 #define DMA_CH2_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000000ac)
1135 #define DMA_CH2_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
1136 #define DMA_CH2_AL2_WRITE_ADDR_TRIG_RESET  "-"
1137 #define DMA_CH2_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
1138 #define DMA_CH2_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
1139 #define DMA_CH2_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
1140 // =============================================================================
1141 // Register    : DMA_CH2_AL3_CTRL
1142 // Description : Alias for channel 2 CTRL register
1143 #define DMA_CH2_AL3_CTRL_OFFSET _u(0x000000b0)
1144 #define DMA_CH2_AL3_CTRL_BITS   _u(0xffffffff)
1145 #define DMA_CH2_AL3_CTRL_RESET  "-"
1146 #define DMA_CH2_AL3_CTRL_MSB    _u(31)
1147 #define DMA_CH2_AL3_CTRL_LSB    _u(0)
1148 #define DMA_CH2_AL3_CTRL_ACCESS "RW"
1149 // =============================================================================
1150 // Register    : DMA_CH2_AL3_WRITE_ADDR
1151 // Description : Alias for channel 2 WRITE_ADDR register
1152 #define DMA_CH2_AL3_WRITE_ADDR_OFFSET _u(0x000000b4)
1153 #define DMA_CH2_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
1154 #define DMA_CH2_AL3_WRITE_ADDR_RESET  "-"
1155 #define DMA_CH2_AL3_WRITE_ADDR_MSB    _u(31)
1156 #define DMA_CH2_AL3_WRITE_ADDR_LSB    _u(0)
1157 #define DMA_CH2_AL3_WRITE_ADDR_ACCESS "RW"
1158 // =============================================================================
1159 // Register    : DMA_CH2_AL3_TRANS_COUNT
1160 // Description : Alias for channel 2 TRANS_COUNT register
1161 #define DMA_CH2_AL3_TRANS_COUNT_OFFSET _u(0x000000b8)
1162 #define DMA_CH2_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
1163 #define DMA_CH2_AL3_TRANS_COUNT_RESET  "-"
1164 #define DMA_CH2_AL3_TRANS_COUNT_MSB    _u(31)
1165 #define DMA_CH2_AL3_TRANS_COUNT_LSB    _u(0)
1166 #define DMA_CH2_AL3_TRANS_COUNT_ACCESS "RW"
1167 // =============================================================================
1168 // Register    : DMA_CH2_AL3_READ_ADDR_TRIG
1169 // Description : Alias for channel 2 READ_ADDR register
1170 //               This is a trigger register (0xc). Writing a nonzero value will
1171 //               reload the channel counter and start the channel.
1172 #define DMA_CH2_AL3_READ_ADDR_TRIG_OFFSET _u(0x000000bc)
1173 #define DMA_CH2_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
1174 #define DMA_CH2_AL3_READ_ADDR_TRIG_RESET  "-"
1175 #define DMA_CH2_AL3_READ_ADDR_TRIG_MSB    _u(31)
1176 #define DMA_CH2_AL3_READ_ADDR_TRIG_LSB    _u(0)
1177 #define DMA_CH2_AL3_READ_ADDR_TRIG_ACCESS "RW"
1178 // =============================================================================
1179 // Register    : DMA_CH3_READ_ADDR
1180 // Description : DMA Channel 3 Read Address pointer
1181 //               This register updates automatically each time a read completes.
1182 //               The current value is the next address to be read by this
1183 //               channel.
1184 #define DMA_CH3_READ_ADDR_OFFSET _u(0x000000c0)
1185 #define DMA_CH3_READ_ADDR_BITS   _u(0xffffffff)
1186 #define DMA_CH3_READ_ADDR_RESET  _u(0x00000000)
1187 #define DMA_CH3_READ_ADDR_MSB    _u(31)
1188 #define DMA_CH3_READ_ADDR_LSB    _u(0)
1189 #define DMA_CH3_READ_ADDR_ACCESS "RW"
1190 // =============================================================================
1191 // Register    : DMA_CH3_WRITE_ADDR
1192 // Description : DMA Channel 3 Write Address pointer
1193 //               This register updates automatically each time a write
1194 //               completes. The current value is the next address to be written
1195 //               by this channel.
1196 #define DMA_CH3_WRITE_ADDR_OFFSET _u(0x000000c4)
1197 #define DMA_CH3_WRITE_ADDR_BITS   _u(0xffffffff)
1198 #define DMA_CH3_WRITE_ADDR_RESET  _u(0x00000000)
1199 #define DMA_CH3_WRITE_ADDR_MSB    _u(31)
1200 #define DMA_CH3_WRITE_ADDR_LSB    _u(0)
1201 #define DMA_CH3_WRITE_ADDR_ACCESS "RW"
1202 // =============================================================================
1203 // Register    : DMA_CH3_TRANS_COUNT
1204 // Description : DMA Channel 3 Transfer Count
1205 //               Program the number of bus transfers a channel will perform
1206 //               before halting. Note that, if transfers are larger than one
1207 //               byte in size, this is not equal to the number of bytes
1208 //               transferred (see CTRL_DATA_SIZE).
1209 //
1210 //               When the channel is active, reading this register shows the
1211 //               number of transfers remaining, updating automatically each time
1212 //               a write transfer completes.
1213 //
1214 //               Writing this register sets the RELOAD value for the transfer
1215 //               counter. Each time this channel is triggered, the RELOAD value
1216 //               is copied into the live transfer counter. The channel can be
1217 //               started multiple times, and will perform the same number of
1218 //               transfers each time, as programmed by most recent write.
1219 //
1220 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
1221 //               is used as a trigger, the written value is used immediately as
1222 //               the length of the new transfer sequence, as well as being
1223 //               written to RELOAD.
1224 #define DMA_CH3_TRANS_COUNT_OFFSET _u(0x000000c8)
1225 #define DMA_CH3_TRANS_COUNT_BITS   _u(0xffffffff)
1226 #define DMA_CH3_TRANS_COUNT_RESET  _u(0x00000000)
1227 #define DMA_CH3_TRANS_COUNT_MSB    _u(31)
1228 #define DMA_CH3_TRANS_COUNT_LSB    _u(0)
1229 #define DMA_CH3_TRANS_COUNT_ACCESS "RW"
1230 // =============================================================================
1231 // Register    : DMA_CH3_CTRL_TRIG
1232 // Description : DMA Channel 3 Control and Status
1233 #define DMA_CH3_CTRL_TRIG_OFFSET _u(0x000000cc)
1234 #define DMA_CH3_CTRL_TRIG_BITS   _u(0xe1ffffff)
1235 #define DMA_CH3_CTRL_TRIG_RESET  _u(0x00000000)
1236 // -----------------------------------------------------------------------------
1237 // Field       : DMA_CH3_CTRL_TRIG_AHB_ERROR
1238 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
1239 //               halts when it encounters any bus error, and always raises its
1240 //               channel IRQ flag.
1241 #define DMA_CH3_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
1242 #define DMA_CH3_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
1243 #define DMA_CH3_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
1244 #define DMA_CH3_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
1245 #define DMA_CH3_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
1246 // -----------------------------------------------------------------------------
1247 // Field       : DMA_CH3_CTRL_TRIG_READ_ERROR
1248 // Description : If 1, the channel received a read bus error. Write one to
1249 //               clear.
1250 //               READ_ADDR shows the approximate address where the bus error was
1251 //               encountered (will not be earlier, or more than 3 transfers
1252 //               later)
1253 #define DMA_CH3_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
1254 #define DMA_CH3_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
1255 #define DMA_CH3_CTRL_TRIG_READ_ERROR_MSB    _u(30)
1256 #define DMA_CH3_CTRL_TRIG_READ_ERROR_LSB    _u(30)
1257 #define DMA_CH3_CTRL_TRIG_READ_ERROR_ACCESS "WC"
1258 // -----------------------------------------------------------------------------
1259 // Field       : DMA_CH3_CTRL_TRIG_WRITE_ERROR
1260 // Description : If 1, the channel received a write bus error. Write one to
1261 //               clear.
1262 //               WRITE_ADDR shows the approximate address where the bus error
1263 //               was encountered (will not be earlier, or more than 5 transfers
1264 //               later)
1265 #define DMA_CH3_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
1266 #define DMA_CH3_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
1267 #define DMA_CH3_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
1268 #define DMA_CH3_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
1269 #define DMA_CH3_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
1270 // -----------------------------------------------------------------------------
1271 // Field       : DMA_CH3_CTRL_TRIG_BUSY
1272 // Description : This flag goes high when the channel starts a new transfer
1273 //               sequence, and low when the last transfer of that sequence
1274 //               completes. Clearing EN while BUSY is high pauses the channel,
1275 //               and BUSY will stay high while paused.
1276 //
1277 //               To terminate a sequence early (and clear the BUSY flag), see
1278 //               CHAN_ABORT.
1279 #define DMA_CH3_CTRL_TRIG_BUSY_RESET  _u(0x0)
1280 #define DMA_CH3_CTRL_TRIG_BUSY_BITS   _u(0x01000000)
1281 #define DMA_CH3_CTRL_TRIG_BUSY_MSB    _u(24)
1282 #define DMA_CH3_CTRL_TRIG_BUSY_LSB    _u(24)
1283 #define DMA_CH3_CTRL_TRIG_BUSY_ACCESS "RO"
1284 // -----------------------------------------------------------------------------
1285 // Field       : DMA_CH3_CTRL_TRIG_SNIFF_EN
1286 // Description : If 1, this channel's data transfers are visible to the sniff
1287 //               hardware, and each transfer will advance the state of the
1288 //               checksum. This only applies if the sniff hardware is enabled,
1289 //               and has this channel selected.
1290 //
1291 //               This allows checksum to be enabled or disabled on a
1292 //               per-control- block basis.
1293 #define DMA_CH3_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
1294 #define DMA_CH3_CTRL_TRIG_SNIFF_EN_BITS   _u(0x00800000)
1295 #define DMA_CH3_CTRL_TRIG_SNIFF_EN_MSB    _u(23)
1296 #define DMA_CH3_CTRL_TRIG_SNIFF_EN_LSB    _u(23)
1297 #define DMA_CH3_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
1298 // -----------------------------------------------------------------------------
1299 // Field       : DMA_CH3_CTRL_TRIG_BSWAP
1300 // Description : Apply byte-swap transformation to DMA data.
1301 //               For byte data, this has no effect. For halfword data, the two
1302 //               bytes of each halfword are swapped. For word data, the four
1303 //               bytes of each word are swapped to reverse order.
1304 #define DMA_CH3_CTRL_TRIG_BSWAP_RESET  _u(0x0)
1305 #define DMA_CH3_CTRL_TRIG_BSWAP_BITS   _u(0x00400000)
1306 #define DMA_CH3_CTRL_TRIG_BSWAP_MSB    _u(22)
1307 #define DMA_CH3_CTRL_TRIG_BSWAP_LSB    _u(22)
1308 #define DMA_CH3_CTRL_TRIG_BSWAP_ACCESS "RW"
1309 // -----------------------------------------------------------------------------
1310 // Field       : DMA_CH3_CTRL_TRIG_IRQ_QUIET
1311 // Description : In QUIET mode, the channel does not generate IRQs at the end of
1312 //               every transfer block. Instead, an IRQ is raised when NULL is
1313 //               written to a trigger register, indicating the end of a control
1314 //               block chain.
1315 //
1316 //               This reduces the number of interrupts to be serviced by the CPU
1317 //               when transferring a DMA chain of many small control blocks.
1318 #define DMA_CH3_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
1319 #define DMA_CH3_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00200000)
1320 #define DMA_CH3_CTRL_TRIG_IRQ_QUIET_MSB    _u(21)
1321 #define DMA_CH3_CTRL_TRIG_IRQ_QUIET_LSB    _u(21)
1322 #define DMA_CH3_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
1323 // -----------------------------------------------------------------------------
1324 // Field       : DMA_CH3_CTRL_TRIG_TREQ_SEL
1325 // Description : Select a Transfer Request signal.
1326 //               The channel uses the transfer request signal to pace its data
1327 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
1328 //               or external (DREQ, a Data Request from the system).
1329 //               0x0 to 0x3a -> select DREQ n as TREQ
1330 //               0x3b -> Select Timer 0 as TREQ
1331 //               0x3c -> Select Timer 1 as TREQ
1332 //               0x3d -> Select Timer 2 as TREQ (Optional)
1333 //               0x3e -> Select Timer 3 as TREQ (Optional)
1334 //               0x3f -> Permanent request, for unpaced transfers.
1335 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_RESET           _u(0x00)
1336 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_BITS            _u(0x001f8000)
1337 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_MSB             _u(20)
1338 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_LSB             _u(15)
1339 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_ACCESS          "RW"
1340 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0    _u(0x3b)
1341 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1    _u(0x3c)
1342 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2    _u(0x3d)
1343 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3    _u(0x3e)
1344 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
1345 // -----------------------------------------------------------------------------
1346 // Field       : DMA_CH3_CTRL_TRIG_CHAIN_TO
1347 // Description : When this channel completes, it will trigger the channel
1348 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
1349 //               channel)_.
1350 #define DMA_CH3_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
1351 #define DMA_CH3_CTRL_TRIG_CHAIN_TO_BITS   _u(0x00007800)
1352 #define DMA_CH3_CTRL_TRIG_CHAIN_TO_MSB    _u(14)
1353 #define DMA_CH3_CTRL_TRIG_CHAIN_TO_LSB    _u(11)
1354 #define DMA_CH3_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
1355 // -----------------------------------------------------------------------------
1356 // Field       : DMA_CH3_CTRL_TRIG_RING_SEL
1357 // Description : Select whether RING_SIZE applies to read or write addresses.
1358 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
1359 //               boundary. If 1, write addresses are wrapped.
1360 #define DMA_CH3_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
1361 #define DMA_CH3_CTRL_TRIG_RING_SEL_BITS   _u(0x00000400)
1362 #define DMA_CH3_CTRL_TRIG_RING_SEL_MSB    _u(10)
1363 #define DMA_CH3_CTRL_TRIG_RING_SEL_LSB    _u(10)
1364 #define DMA_CH3_CTRL_TRIG_RING_SEL_ACCESS "RW"
1365 // -----------------------------------------------------------------------------
1366 // Field       : DMA_CH3_CTRL_TRIG_RING_SIZE
1367 // Description : Size of address wrap region. If 0, don't wrap. For values n >
1368 //               0, only the lower n bits of the address will change. This wraps
1369 //               the address on a (1 << n) byte boundary, facilitating access to
1370 //               naturally-aligned ring buffers.
1371 //
1372 //               Ring sizes between 2 and 32768 bytes are possible. This can
1373 //               apply to either read or write addresses, based on value of
1374 //               RING_SEL.
1375 //               0x0 -> RING_NONE
1376 #define DMA_CH3_CTRL_TRIG_RING_SIZE_RESET           _u(0x0)
1377 #define DMA_CH3_CTRL_TRIG_RING_SIZE_BITS            _u(0x000003c0)
1378 #define DMA_CH3_CTRL_TRIG_RING_SIZE_MSB             _u(9)
1379 #define DMA_CH3_CTRL_TRIG_RING_SIZE_LSB             _u(6)
1380 #define DMA_CH3_CTRL_TRIG_RING_SIZE_ACCESS          "RW"
1381 #define DMA_CH3_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
1382 // -----------------------------------------------------------------------------
1383 // Field       : DMA_CH3_CTRL_TRIG_INCR_WRITE
1384 // Description : If 1, the write address increments with each transfer. If 0,
1385 //               each write is directed to the same, initial address.
1386 //
1387 //               Generally this should be disabled for memory-to-peripheral
1388 //               transfers.
1389 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
1390 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000020)
1391 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_MSB    _u(5)
1392 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_LSB    _u(5)
1393 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
1394 // -----------------------------------------------------------------------------
1395 // Field       : DMA_CH3_CTRL_TRIG_INCR_READ
1396 // Description : If 1, the read address increments with each transfer. If 0,
1397 //               each read is directed to the same, initial address.
1398 //
1399 //               Generally this should be disabled for peripheral-to-memory
1400 //               transfers.
1401 #define DMA_CH3_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
1402 #define DMA_CH3_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
1403 #define DMA_CH3_CTRL_TRIG_INCR_READ_MSB    _u(4)
1404 #define DMA_CH3_CTRL_TRIG_INCR_READ_LSB    _u(4)
1405 #define DMA_CH3_CTRL_TRIG_INCR_READ_ACCESS "RW"
1406 // -----------------------------------------------------------------------------
1407 // Field       : DMA_CH3_CTRL_TRIG_DATA_SIZE
1408 // Description : Set the size of each bus transfer (byte/halfword/word).
1409 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
1410 //               with each transfer.
1411 //               0x0 -> SIZE_BYTE
1412 //               0x1 -> SIZE_HALFWORD
1413 //               0x2 -> SIZE_WORD
1414 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_RESET               _u(0x0)
1415 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_BITS                _u(0x0000000c)
1416 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_MSB                 _u(3)
1417 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_LSB                 _u(2)
1418 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_ACCESS              "RW"
1419 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE     _u(0x0)
1420 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
1421 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD     _u(0x2)
1422 // -----------------------------------------------------------------------------
1423 // Field       : DMA_CH3_CTRL_TRIG_HIGH_PRIORITY
1424 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
1425 //               scheduling: in each scheduling round, all high priority
1426 //               channels are considered first, and then only a single low
1427 //               priority channel, before returning to the high priority
1428 //               channels.
1429 //
1430 //               This only affects the order in which the DMA schedules
1431 //               channels. The DMA's bus priority is not changed. If the DMA is
1432 //               not saturated then a low priority channel will see no loss of
1433 //               throughput.
1434 #define DMA_CH3_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
1435 #define DMA_CH3_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
1436 #define DMA_CH3_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
1437 #define DMA_CH3_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
1438 #define DMA_CH3_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
1439 // -----------------------------------------------------------------------------
1440 // Field       : DMA_CH3_CTRL_TRIG_EN
1441 // Description : DMA Channel Enable.
1442 //               When 1, the channel will respond to triggering events, which
1443 //               will cause it to become BUSY and start transferring data. When
1444 //               0, the channel will ignore triggers, stop issuing transfers,
1445 //               and pause the current transfer sequence (i.e. BUSY will remain
1446 //               high if already high)
1447 #define DMA_CH3_CTRL_TRIG_EN_RESET  _u(0x0)
1448 #define DMA_CH3_CTRL_TRIG_EN_BITS   _u(0x00000001)
1449 #define DMA_CH3_CTRL_TRIG_EN_MSB    _u(0)
1450 #define DMA_CH3_CTRL_TRIG_EN_LSB    _u(0)
1451 #define DMA_CH3_CTRL_TRIG_EN_ACCESS "RW"
1452 // =============================================================================
1453 // Register    : DMA_CH3_AL1_CTRL
1454 // Description : Alias for channel 3 CTRL register
1455 #define DMA_CH3_AL1_CTRL_OFFSET _u(0x000000d0)
1456 #define DMA_CH3_AL1_CTRL_BITS   _u(0xffffffff)
1457 #define DMA_CH3_AL1_CTRL_RESET  "-"
1458 #define DMA_CH3_AL1_CTRL_MSB    _u(31)
1459 #define DMA_CH3_AL1_CTRL_LSB    _u(0)
1460 #define DMA_CH3_AL1_CTRL_ACCESS "RW"
1461 // =============================================================================
1462 // Register    : DMA_CH3_AL1_READ_ADDR
1463 // Description : Alias for channel 3 READ_ADDR register
1464 #define DMA_CH3_AL1_READ_ADDR_OFFSET _u(0x000000d4)
1465 #define DMA_CH3_AL1_READ_ADDR_BITS   _u(0xffffffff)
1466 #define DMA_CH3_AL1_READ_ADDR_RESET  "-"
1467 #define DMA_CH3_AL1_READ_ADDR_MSB    _u(31)
1468 #define DMA_CH3_AL1_READ_ADDR_LSB    _u(0)
1469 #define DMA_CH3_AL1_READ_ADDR_ACCESS "RW"
1470 // =============================================================================
1471 // Register    : DMA_CH3_AL1_WRITE_ADDR
1472 // Description : Alias for channel 3 WRITE_ADDR register
1473 #define DMA_CH3_AL1_WRITE_ADDR_OFFSET _u(0x000000d8)
1474 #define DMA_CH3_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
1475 #define DMA_CH3_AL1_WRITE_ADDR_RESET  "-"
1476 #define DMA_CH3_AL1_WRITE_ADDR_MSB    _u(31)
1477 #define DMA_CH3_AL1_WRITE_ADDR_LSB    _u(0)
1478 #define DMA_CH3_AL1_WRITE_ADDR_ACCESS "RW"
1479 // =============================================================================
1480 // Register    : DMA_CH3_AL1_TRANS_COUNT_TRIG
1481 // Description : Alias for channel 3 TRANS_COUNT register
1482 //               This is a trigger register (0xc). Writing a nonzero value will
1483 //               reload the channel counter and start the channel.
1484 #define DMA_CH3_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x000000dc)
1485 #define DMA_CH3_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
1486 #define DMA_CH3_AL1_TRANS_COUNT_TRIG_RESET  "-"
1487 #define DMA_CH3_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
1488 #define DMA_CH3_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
1489 #define DMA_CH3_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
1490 // =============================================================================
1491 // Register    : DMA_CH3_AL2_CTRL
1492 // Description : Alias for channel 3 CTRL register
1493 #define DMA_CH3_AL2_CTRL_OFFSET _u(0x000000e0)
1494 #define DMA_CH3_AL2_CTRL_BITS   _u(0xffffffff)
1495 #define DMA_CH3_AL2_CTRL_RESET  "-"
1496 #define DMA_CH3_AL2_CTRL_MSB    _u(31)
1497 #define DMA_CH3_AL2_CTRL_LSB    _u(0)
1498 #define DMA_CH3_AL2_CTRL_ACCESS "RW"
1499 // =============================================================================
1500 // Register    : DMA_CH3_AL2_TRANS_COUNT
1501 // Description : Alias for channel 3 TRANS_COUNT register
1502 #define DMA_CH3_AL2_TRANS_COUNT_OFFSET _u(0x000000e4)
1503 #define DMA_CH3_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
1504 #define DMA_CH3_AL2_TRANS_COUNT_RESET  "-"
1505 #define DMA_CH3_AL2_TRANS_COUNT_MSB    _u(31)
1506 #define DMA_CH3_AL2_TRANS_COUNT_LSB    _u(0)
1507 #define DMA_CH3_AL2_TRANS_COUNT_ACCESS "RW"
1508 // =============================================================================
1509 // Register    : DMA_CH3_AL2_READ_ADDR
1510 // Description : Alias for channel 3 READ_ADDR register
1511 #define DMA_CH3_AL2_READ_ADDR_OFFSET _u(0x000000e8)
1512 #define DMA_CH3_AL2_READ_ADDR_BITS   _u(0xffffffff)
1513 #define DMA_CH3_AL2_READ_ADDR_RESET  "-"
1514 #define DMA_CH3_AL2_READ_ADDR_MSB    _u(31)
1515 #define DMA_CH3_AL2_READ_ADDR_LSB    _u(0)
1516 #define DMA_CH3_AL2_READ_ADDR_ACCESS "RW"
1517 // =============================================================================
1518 // Register    : DMA_CH3_AL2_WRITE_ADDR_TRIG
1519 // Description : Alias for channel 3 WRITE_ADDR register
1520 //               This is a trigger register (0xc). Writing a nonzero value will
1521 //               reload the channel counter and start the channel.
1522 #define DMA_CH3_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000000ec)
1523 #define DMA_CH3_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
1524 #define DMA_CH3_AL2_WRITE_ADDR_TRIG_RESET  "-"
1525 #define DMA_CH3_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
1526 #define DMA_CH3_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
1527 #define DMA_CH3_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
1528 // =============================================================================
1529 // Register    : DMA_CH3_AL3_CTRL
1530 // Description : Alias for channel 3 CTRL register
1531 #define DMA_CH3_AL3_CTRL_OFFSET _u(0x000000f0)
1532 #define DMA_CH3_AL3_CTRL_BITS   _u(0xffffffff)
1533 #define DMA_CH3_AL3_CTRL_RESET  "-"
1534 #define DMA_CH3_AL3_CTRL_MSB    _u(31)
1535 #define DMA_CH3_AL3_CTRL_LSB    _u(0)
1536 #define DMA_CH3_AL3_CTRL_ACCESS "RW"
1537 // =============================================================================
1538 // Register    : DMA_CH3_AL3_WRITE_ADDR
1539 // Description : Alias for channel 3 WRITE_ADDR register
1540 #define DMA_CH3_AL3_WRITE_ADDR_OFFSET _u(0x000000f4)
1541 #define DMA_CH3_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
1542 #define DMA_CH3_AL3_WRITE_ADDR_RESET  "-"
1543 #define DMA_CH3_AL3_WRITE_ADDR_MSB    _u(31)
1544 #define DMA_CH3_AL3_WRITE_ADDR_LSB    _u(0)
1545 #define DMA_CH3_AL3_WRITE_ADDR_ACCESS "RW"
1546 // =============================================================================
1547 // Register    : DMA_CH3_AL3_TRANS_COUNT
1548 // Description : Alias for channel 3 TRANS_COUNT register
1549 #define DMA_CH3_AL3_TRANS_COUNT_OFFSET _u(0x000000f8)
1550 #define DMA_CH3_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
1551 #define DMA_CH3_AL3_TRANS_COUNT_RESET  "-"
1552 #define DMA_CH3_AL3_TRANS_COUNT_MSB    _u(31)
1553 #define DMA_CH3_AL3_TRANS_COUNT_LSB    _u(0)
1554 #define DMA_CH3_AL3_TRANS_COUNT_ACCESS "RW"
1555 // =============================================================================
1556 // Register    : DMA_CH3_AL3_READ_ADDR_TRIG
1557 // Description : Alias for channel 3 READ_ADDR register
1558 //               This is a trigger register (0xc). Writing a nonzero value will
1559 //               reload the channel counter and start the channel.
1560 #define DMA_CH3_AL3_READ_ADDR_TRIG_OFFSET _u(0x000000fc)
1561 #define DMA_CH3_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
1562 #define DMA_CH3_AL3_READ_ADDR_TRIG_RESET  "-"
1563 #define DMA_CH3_AL3_READ_ADDR_TRIG_MSB    _u(31)
1564 #define DMA_CH3_AL3_READ_ADDR_TRIG_LSB    _u(0)
1565 #define DMA_CH3_AL3_READ_ADDR_TRIG_ACCESS "RW"
1566 // =============================================================================
1567 // Register    : DMA_CH4_READ_ADDR
1568 // Description : DMA Channel 4 Read Address pointer
1569 //               This register updates automatically each time a read completes.
1570 //               The current value is the next address to be read by this
1571 //               channel.
1572 #define DMA_CH4_READ_ADDR_OFFSET _u(0x00000100)
1573 #define DMA_CH4_READ_ADDR_BITS   _u(0xffffffff)
1574 #define DMA_CH4_READ_ADDR_RESET  _u(0x00000000)
1575 #define DMA_CH4_READ_ADDR_MSB    _u(31)
1576 #define DMA_CH4_READ_ADDR_LSB    _u(0)
1577 #define DMA_CH4_READ_ADDR_ACCESS "RW"
1578 // =============================================================================
1579 // Register    : DMA_CH4_WRITE_ADDR
1580 // Description : DMA Channel 4 Write Address pointer
1581 //               This register updates automatically each time a write
1582 //               completes. The current value is the next address to be written
1583 //               by this channel.
1584 #define DMA_CH4_WRITE_ADDR_OFFSET _u(0x00000104)
1585 #define DMA_CH4_WRITE_ADDR_BITS   _u(0xffffffff)
1586 #define DMA_CH4_WRITE_ADDR_RESET  _u(0x00000000)
1587 #define DMA_CH4_WRITE_ADDR_MSB    _u(31)
1588 #define DMA_CH4_WRITE_ADDR_LSB    _u(0)
1589 #define DMA_CH4_WRITE_ADDR_ACCESS "RW"
1590 // =============================================================================
1591 // Register    : DMA_CH4_TRANS_COUNT
1592 // Description : DMA Channel 4 Transfer Count
1593 //               Program the number of bus transfers a channel will perform
1594 //               before halting. Note that, if transfers are larger than one
1595 //               byte in size, this is not equal to the number of bytes
1596 //               transferred (see CTRL_DATA_SIZE).
1597 //
1598 //               When the channel is active, reading this register shows the
1599 //               number of transfers remaining, updating automatically each time
1600 //               a write transfer completes.
1601 //
1602 //               Writing this register sets the RELOAD value for the transfer
1603 //               counter. Each time this channel is triggered, the RELOAD value
1604 //               is copied into the live transfer counter. The channel can be
1605 //               started multiple times, and will perform the same number of
1606 //               transfers each time, as programmed by most recent write.
1607 //
1608 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
1609 //               is used as a trigger, the written value is used immediately as
1610 //               the length of the new transfer sequence, as well as being
1611 //               written to RELOAD.
1612 #define DMA_CH4_TRANS_COUNT_OFFSET _u(0x00000108)
1613 #define DMA_CH4_TRANS_COUNT_BITS   _u(0xffffffff)
1614 #define DMA_CH4_TRANS_COUNT_RESET  _u(0x00000000)
1615 #define DMA_CH4_TRANS_COUNT_MSB    _u(31)
1616 #define DMA_CH4_TRANS_COUNT_LSB    _u(0)
1617 #define DMA_CH4_TRANS_COUNT_ACCESS "RW"
1618 // =============================================================================
1619 // Register    : DMA_CH4_CTRL_TRIG
1620 // Description : DMA Channel 4 Control and Status
1621 #define DMA_CH4_CTRL_TRIG_OFFSET _u(0x0000010c)
1622 #define DMA_CH4_CTRL_TRIG_BITS   _u(0xe1ffffff)
1623 #define DMA_CH4_CTRL_TRIG_RESET  _u(0x00000000)
1624 // -----------------------------------------------------------------------------
1625 // Field       : DMA_CH4_CTRL_TRIG_AHB_ERROR
1626 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
1627 //               halts when it encounters any bus error, and always raises its
1628 //               channel IRQ flag.
1629 #define DMA_CH4_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
1630 #define DMA_CH4_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
1631 #define DMA_CH4_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
1632 #define DMA_CH4_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
1633 #define DMA_CH4_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
1634 // -----------------------------------------------------------------------------
1635 // Field       : DMA_CH4_CTRL_TRIG_READ_ERROR
1636 // Description : If 1, the channel received a read bus error. Write one to
1637 //               clear.
1638 //               READ_ADDR shows the approximate address where the bus error was
1639 //               encountered (will not be earlier, or more than 3 transfers
1640 //               later)
1641 #define DMA_CH4_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
1642 #define DMA_CH4_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
1643 #define DMA_CH4_CTRL_TRIG_READ_ERROR_MSB    _u(30)
1644 #define DMA_CH4_CTRL_TRIG_READ_ERROR_LSB    _u(30)
1645 #define DMA_CH4_CTRL_TRIG_READ_ERROR_ACCESS "WC"
1646 // -----------------------------------------------------------------------------
1647 // Field       : DMA_CH4_CTRL_TRIG_WRITE_ERROR
1648 // Description : If 1, the channel received a write bus error. Write one to
1649 //               clear.
1650 //               WRITE_ADDR shows the approximate address where the bus error
1651 //               was encountered (will not be earlier, or more than 5 transfers
1652 //               later)
1653 #define DMA_CH4_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
1654 #define DMA_CH4_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
1655 #define DMA_CH4_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
1656 #define DMA_CH4_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
1657 #define DMA_CH4_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
1658 // -----------------------------------------------------------------------------
1659 // Field       : DMA_CH4_CTRL_TRIG_BUSY
1660 // Description : This flag goes high when the channel starts a new transfer
1661 //               sequence, and low when the last transfer of that sequence
1662 //               completes. Clearing EN while BUSY is high pauses the channel,
1663 //               and BUSY will stay high while paused.
1664 //
1665 //               To terminate a sequence early (and clear the BUSY flag), see
1666 //               CHAN_ABORT.
1667 #define DMA_CH4_CTRL_TRIG_BUSY_RESET  _u(0x0)
1668 #define DMA_CH4_CTRL_TRIG_BUSY_BITS   _u(0x01000000)
1669 #define DMA_CH4_CTRL_TRIG_BUSY_MSB    _u(24)
1670 #define DMA_CH4_CTRL_TRIG_BUSY_LSB    _u(24)
1671 #define DMA_CH4_CTRL_TRIG_BUSY_ACCESS "RO"
1672 // -----------------------------------------------------------------------------
1673 // Field       : DMA_CH4_CTRL_TRIG_SNIFF_EN
1674 // Description : If 1, this channel's data transfers are visible to the sniff
1675 //               hardware, and each transfer will advance the state of the
1676 //               checksum. This only applies if the sniff hardware is enabled,
1677 //               and has this channel selected.
1678 //
1679 //               This allows checksum to be enabled or disabled on a
1680 //               per-control- block basis.
1681 #define DMA_CH4_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
1682 #define DMA_CH4_CTRL_TRIG_SNIFF_EN_BITS   _u(0x00800000)
1683 #define DMA_CH4_CTRL_TRIG_SNIFF_EN_MSB    _u(23)
1684 #define DMA_CH4_CTRL_TRIG_SNIFF_EN_LSB    _u(23)
1685 #define DMA_CH4_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
1686 // -----------------------------------------------------------------------------
1687 // Field       : DMA_CH4_CTRL_TRIG_BSWAP
1688 // Description : Apply byte-swap transformation to DMA data.
1689 //               For byte data, this has no effect. For halfword data, the two
1690 //               bytes of each halfword are swapped. For word data, the four
1691 //               bytes of each word are swapped to reverse order.
1692 #define DMA_CH4_CTRL_TRIG_BSWAP_RESET  _u(0x0)
1693 #define DMA_CH4_CTRL_TRIG_BSWAP_BITS   _u(0x00400000)
1694 #define DMA_CH4_CTRL_TRIG_BSWAP_MSB    _u(22)
1695 #define DMA_CH4_CTRL_TRIG_BSWAP_LSB    _u(22)
1696 #define DMA_CH4_CTRL_TRIG_BSWAP_ACCESS "RW"
1697 // -----------------------------------------------------------------------------
1698 // Field       : DMA_CH4_CTRL_TRIG_IRQ_QUIET
1699 // Description : In QUIET mode, the channel does not generate IRQs at the end of
1700 //               every transfer block. Instead, an IRQ is raised when NULL is
1701 //               written to a trigger register, indicating the end of a control
1702 //               block chain.
1703 //
1704 //               This reduces the number of interrupts to be serviced by the CPU
1705 //               when transferring a DMA chain of many small control blocks.
1706 #define DMA_CH4_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
1707 #define DMA_CH4_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00200000)
1708 #define DMA_CH4_CTRL_TRIG_IRQ_QUIET_MSB    _u(21)
1709 #define DMA_CH4_CTRL_TRIG_IRQ_QUIET_LSB    _u(21)
1710 #define DMA_CH4_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
1711 // -----------------------------------------------------------------------------
1712 // Field       : DMA_CH4_CTRL_TRIG_TREQ_SEL
1713 // Description : Select a Transfer Request signal.
1714 //               The channel uses the transfer request signal to pace its data
1715 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
1716 //               or external (DREQ, a Data Request from the system).
1717 //               0x0 to 0x3a -> select DREQ n as TREQ
1718 //               0x3b -> Select Timer 0 as TREQ
1719 //               0x3c -> Select Timer 1 as TREQ
1720 //               0x3d -> Select Timer 2 as TREQ (Optional)
1721 //               0x3e -> Select Timer 3 as TREQ (Optional)
1722 //               0x3f -> Permanent request, for unpaced transfers.
1723 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_RESET           _u(0x00)
1724 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_BITS            _u(0x001f8000)
1725 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_MSB             _u(20)
1726 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_LSB             _u(15)
1727 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_ACCESS          "RW"
1728 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0    _u(0x3b)
1729 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1    _u(0x3c)
1730 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2    _u(0x3d)
1731 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3    _u(0x3e)
1732 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
1733 // -----------------------------------------------------------------------------
1734 // Field       : DMA_CH4_CTRL_TRIG_CHAIN_TO
1735 // Description : When this channel completes, it will trigger the channel
1736 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
1737 //               channel)_.
1738 #define DMA_CH4_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
1739 #define DMA_CH4_CTRL_TRIG_CHAIN_TO_BITS   _u(0x00007800)
1740 #define DMA_CH4_CTRL_TRIG_CHAIN_TO_MSB    _u(14)
1741 #define DMA_CH4_CTRL_TRIG_CHAIN_TO_LSB    _u(11)
1742 #define DMA_CH4_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
1743 // -----------------------------------------------------------------------------
1744 // Field       : DMA_CH4_CTRL_TRIG_RING_SEL
1745 // Description : Select whether RING_SIZE applies to read or write addresses.
1746 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
1747 //               boundary. If 1, write addresses are wrapped.
1748 #define DMA_CH4_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
1749 #define DMA_CH4_CTRL_TRIG_RING_SEL_BITS   _u(0x00000400)
1750 #define DMA_CH4_CTRL_TRIG_RING_SEL_MSB    _u(10)
1751 #define DMA_CH4_CTRL_TRIG_RING_SEL_LSB    _u(10)
1752 #define DMA_CH4_CTRL_TRIG_RING_SEL_ACCESS "RW"
1753 // -----------------------------------------------------------------------------
1754 // Field       : DMA_CH4_CTRL_TRIG_RING_SIZE
1755 // Description : Size of address wrap region. If 0, don't wrap. For values n >
1756 //               0, only the lower n bits of the address will change. This wraps
1757 //               the address on a (1 << n) byte boundary, facilitating access to
1758 //               naturally-aligned ring buffers.
1759 //
1760 //               Ring sizes between 2 and 32768 bytes are possible. This can
1761 //               apply to either read or write addresses, based on value of
1762 //               RING_SEL.
1763 //               0x0 -> RING_NONE
1764 #define DMA_CH4_CTRL_TRIG_RING_SIZE_RESET           _u(0x0)
1765 #define DMA_CH4_CTRL_TRIG_RING_SIZE_BITS            _u(0x000003c0)
1766 #define DMA_CH4_CTRL_TRIG_RING_SIZE_MSB             _u(9)
1767 #define DMA_CH4_CTRL_TRIG_RING_SIZE_LSB             _u(6)
1768 #define DMA_CH4_CTRL_TRIG_RING_SIZE_ACCESS          "RW"
1769 #define DMA_CH4_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
1770 // -----------------------------------------------------------------------------
1771 // Field       : DMA_CH4_CTRL_TRIG_INCR_WRITE
1772 // Description : If 1, the write address increments with each transfer. If 0,
1773 //               each write is directed to the same, initial address.
1774 //
1775 //               Generally this should be disabled for memory-to-peripheral
1776 //               transfers.
1777 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
1778 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000020)
1779 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_MSB    _u(5)
1780 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_LSB    _u(5)
1781 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
1782 // -----------------------------------------------------------------------------
1783 // Field       : DMA_CH4_CTRL_TRIG_INCR_READ
1784 // Description : If 1, the read address increments with each transfer. If 0,
1785 //               each read is directed to the same, initial address.
1786 //
1787 //               Generally this should be disabled for peripheral-to-memory
1788 //               transfers.
1789 #define DMA_CH4_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
1790 #define DMA_CH4_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
1791 #define DMA_CH4_CTRL_TRIG_INCR_READ_MSB    _u(4)
1792 #define DMA_CH4_CTRL_TRIG_INCR_READ_LSB    _u(4)
1793 #define DMA_CH4_CTRL_TRIG_INCR_READ_ACCESS "RW"
1794 // -----------------------------------------------------------------------------
1795 // Field       : DMA_CH4_CTRL_TRIG_DATA_SIZE
1796 // Description : Set the size of each bus transfer (byte/halfword/word).
1797 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
1798 //               with each transfer.
1799 //               0x0 -> SIZE_BYTE
1800 //               0x1 -> SIZE_HALFWORD
1801 //               0x2 -> SIZE_WORD
1802 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_RESET               _u(0x0)
1803 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_BITS                _u(0x0000000c)
1804 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_MSB                 _u(3)
1805 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_LSB                 _u(2)
1806 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_ACCESS              "RW"
1807 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE     _u(0x0)
1808 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
1809 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD     _u(0x2)
1810 // -----------------------------------------------------------------------------
1811 // Field       : DMA_CH4_CTRL_TRIG_HIGH_PRIORITY
1812 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
1813 //               scheduling: in each scheduling round, all high priority
1814 //               channels are considered first, and then only a single low
1815 //               priority channel, before returning to the high priority
1816 //               channels.
1817 //
1818 //               This only affects the order in which the DMA schedules
1819 //               channels. The DMA's bus priority is not changed. If the DMA is
1820 //               not saturated then a low priority channel will see no loss of
1821 //               throughput.
1822 #define DMA_CH4_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
1823 #define DMA_CH4_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
1824 #define DMA_CH4_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
1825 #define DMA_CH4_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
1826 #define DMA_CH4_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
1827 // -----------------------------------------------------------------------------
1828 // Field       : DMA_CH4_CTRL_TRIG_EN
1829 // Description : DMA Channel Enable.
1830 //               When 1, the channel will respond to triggering events, which
1831 //               will cause it to become BUSY and start transferring data. When
1832 //               0, the channel will ignore triggers, stop issuing transfers,
1833 //               and pause the current transfer sequence (i.e. BUSY will remain
1834 //               high if already high)
1835 #define DMA_CH4_CTRL_TRIG_EN_RESET  _u(0x0)
1836 #define DMA_CH4_CTRL_TRIG_EN_BITS   _u(0x00000001)
1837 #define DMA_CH4_CTRL_TRIG_EN_MSB    _u(0)
1838 #define DMA_CH4_CTRL_TRIG_EN_LSB    _u(0)
1839 #define DMA_CH4_CTRL_TRIG_EN_ACCESS "RW"
1840 // =============================================================================
1841 // Register    : DMA_CH4_AL1_CTRL
1842 // Description : Alias for channel 4 CTRL register
1843 #define DMA_CH4_AL1_CTRL_OFFSET _u(0x00000110)
1844 #define DMA_CH4_AL1_CTRL_BITS   _u(0xffffffff)
1845 #define DMA_CH4_AL1_CTRL_RESET  "-"
1846 #define DMA_CH4_AL1_CTRL_MSB    _u(31)
1847 #define DMA_CH4_AL1_CTRL_LSB    _u(0)
1848 #define DMA_CH4_AL1_CTRL_ACCESS "RW"
1849 // =============================================================================
1850 // Register    : DMA_CH4_AL1_READ_ADDR
1851 // Description : Alias for channel 4 READ_ADDR register
1852 #define DMA_CH4_AL1_READ_ADDR_OFFSET _u(0x00000114)
1853 #define DMA_CH4_AL1_READ_ADDR_BITS   _u(0xffffffff)
1854 #define DMA_CH4_AL1_READ_ADDR_RESET  "-"
1855 #define DMA_CH4_AL1_READ_ADDR_MSB    _u(31)
1856 #define DMA_CH4_AL1_READ_ADDR_LSB    _u(0)
1857 #define DMA_CH4_AL1_READ_ADDR_ACCESS "RW"
1858 // =============================================================================
1859 // Register    : DMA_CH4_AL1_WRITE_ADDR
1860 // Description : Alias for channel 4 WRITE_ADDR register
1861 #define DMA_CH4_AL1_WRITE_ADDR_OFFSET _u(0x00000118)
1862 #define DMA_CH4_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
1863 #define DMA_CH4_AL1_WRITE_ADDR_RESET  "-"
1864 #define DMA_CH4_AL1_WRITE_ADDR_MSB    _u(31)
1865 #define DMA_CH4_AL1_WRITE_ADDR_LSB    _u(0)
1866 #define DMA_CH4_AL1_WRITE_ADDR_ACCESS "RW"
1867 // =============================================================================
1868 // Register    : DMA_CH4_AL1_TRANS_COUNT_TRIG
1869 // Description : Alias for channel 4 TRANS_COUNT register
1870 //               This is a trigger register (0xc). Writing a nonzero value will
1871 //               reload the channel counter and start the channel.
1872 #define DMA_CH4_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000011c)
1873 #define DMA_CH4_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
1874 #define DMA_CH4_AL1_TRANS_COUNT_TRIG_RESET  "-"
1875 #define DMA_CH4_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
1876 #define DMA_CH4_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
1877 #define DMA_CH4_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
1878 // =============================================================================
1879 // Register    : DMA_CH4_AL2_CTRL
1880 // Description : Alias for channel 4 CTRL register
1881 #define DMA_CH4_AL2_CTRL_OFFSET _u(0x00000120)
1882 #define DMA_CH4_AL2_CTRL_BITS   _u(0xffffffff)
1883 #define DMA_CH4_AL2_CTRL_RESET  "-"
1884 #define DMA_CH4_AL2_CTRL_MSB    _u(31)
1885 #define DMA_CH4_AL2_CTRL_LSB    _u(0)
1886 #define DMA_CH4_AL2_CTRL_ACCESS "RW"
1887 // =============================================================================
1888 // Register    : DMA_CH4_AL2_TRANS_COUNT
1889 // Description : Alias for channel 4 TRANS_COUNT register
1890 #define DMA_CH4_AL2_TRANS_COUNT_OFFSET _u(0x00000124)
1891 #define DMA_CH4_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
1892 #define DMA_CH4_AL2_TRANS_COUNT_RESET  "-"
1893 #define DMA_CH4_AL2_TRANS_COUNT_MSB    _u(31)
1894 #define DMA_CH4_AL2_TRANS_COUNT_LSB    _u(0)
1895 #define DMA_CH4_AL2_TRANS_COUNT_ACCESS "RW"
1896 // =============================================================================
1897 // Register    : DMA_CH4_AL2_READ_ADDR
1898 // Description : Alias for channel 4 READ_ADDR register
1899 #define DMA_CH4_AL2_READ_ADDR_OFFSET _u(0x00000128)
1900 #define DMA_CH4_AL2_READ_ADDR_BITS   _u(0xffffffff)
1901 #define DMA_CH4_AL2_READ_ADDR_RESET  "-"
1902 #define DMA_CH4_AL2_READ_ADDR_MSB    _u(31)
1903 #define DMA_CH4_AL2_READ_ADDR_LSB    _u(0)
1904 #define DMA_CH4_AL2_READ_ADDR_ACCESS "RW"
1905 // =============================================================================
1906 // Register    : DMA_CH4_AL2_WRITE_ADDR_TRIG
1907 // Description : Alias for channel 4 WRITE_ADDR register
1908 //               This is a trigger register (0xc). Writing a nonzero value will
1909 //               reload the channel counter and start the channel.
1910 #define DMA_CH4_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000012c)
1911 #define DMA_CH4_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
1912 #define DMA_CH4_AL2_WRITE_ADDR_TRIG_RESET  "-"
1913 #define DMA_CH4_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
1914 #define DMA_CH4_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
1915 #define DMA_CH4_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
1916 // =============================================================================
1917 // Register    : DMA_CH4_AL3_CTRL
1918 // Description : Alias for channel 4 CTRL register
1919 #define DMA_CH4_AL3_CTRL_OFFSET _u(0x00000130)
1920 #define DMA_CH4_AL3_CTRL_BITS   _u(0xffffffff)
1921 #define DMA_CH4_AL3_CTRL_RESET  "-"
1922 #define DMA_CH4_AL3_CTRL_MSB    _u(31)
1923 #define DMA_CH4_AL3_CTRL_LSB    _u(0)
1924 #define DMA_CH4_AL3_CTRL_ACCESS "RW"
1925 // =============================================================================
1926 // Register    : DMA_CH4_AL3_WRITE_ADDR
1927 // Description : Alias for channel 4 WRITE_ADDR register
1928 #define DMA_CH4_AL3_WRITE_ADDR_OFFSET _u(0x00000134)
1929 #define DMA_CH4_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
1930 #define DMA_CH4_AL3_WRITE_ADDR_RESET  "-"
1931 #define DMA_CH4_AL3_WRITE_ADDR_MSB    _u(31)
1932 #define DMA_CH4_AL3_WRITE_ADDR_LSB    _u(0)
1933 #define DMA_CH4_AL3_WRITE_ADDR_ACCESS "RW"
1934 // =============================================================================
1935 // Register    : DMA_CH4_AL3_TRANS_COUNT
1936 // Description : Alias for channel 4 TRANS_COUNT register
1937 #define DMA_CH4_AL3_TRANS_COUNT_OFFSET _u(0x00000138)
1938 #define DMA_CH4_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
1939 #define DMA_CH4_AL3_TRANS_COUNT_RESET  "-"
1940 #define DMA_CH4_AL3_TRANS_COUNT_MSB    _u(31)
1941 #define DMA_CH4_AL3_TRANS_COUNT_LSB    _u(0)
1942 #define DMA_CH4_AL3_TRANS_COUNT_ACCESS "RW"
1943 // =============================================================================
1944 // Register    : DMA_CH4_AL3_READ_ADDR_TRIG
1945 // Description : Alias for channel 4 READ_ADDR register
1946 //               This is a trigger register (0xc). Writing a nonzero value will
1947 //               reload the channel counter and start the channel.
1948 #define DMA_CH4_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000013c)
1949 #define DMA_CH4_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
1950 #define DMA_CH4_AL3_READ_ADDR_TRIG_RESET  "-"
1951 #define DMA_CH4_AL3_READ_ADDR_TRIG_MSB    _u(31)
1952 #define DMA_CH4_AL3_READ_ADDR_TRIG_LSB    _u(0)
1953 #define DMA_CH4_AL3_READ_ADDR_TRIG_ACCESS "RW"
1954 // =============================================================================
1955 // Register    : DMA_CH5_READ_ADDR
1956 // Description : DMA Channel 5 Read Address pointer
1957 //               This register updates automatically each time a read completes.
1958 //               The current value is the next address to be read by this
1959 //               channel.
1960 #define DMA_CH5_READ_ADDR_OFFSET _u(0x00000140)
1961 #define DMA_CH5_READ_ADDR_BITS   _u(0xffffffff)
1962 #define DMA_CH5_READ_ADDR_RESET  _u(0x00000000)
1963 #define DMA_CH5_READ_ADDR_MSB    _u(31)
1964 #define DMA_CH5_READ_ADDR_LSB    _u(0)
1965 #define DMA_CH5_READ_ADDR_ACCESS "RW"
1966 // =============================================================================
1967 // Register    : DMA_CH5_WRITE_ADDR
1968 // Description : DMA Channel 5 Write Address pointer
1969 //               This register updates automatically each time a write
1970 //               completes. The current value is the next address to be written
1971 //               by this channel.
1972 #define DMA_CH5_WRITE_ADDR_OFFSET _u(0x00000144)
1973 #define DMA_CH5_WRITE_ADDR_BITS   _u(0xffffffff)
1974 #define DMA_CH5_WRITE_ADDR_RESET  _u(0x00000000)
1975 #define DMA_CH5_WRITE_ADDR_MSB    _u(31)
1976 #define DMA_CH5_WRITE_ADDR_LSB    _u(0)
1977 #define DMA_CH5_WRITE_ADDR_ACCESS "RW"
1978 // =============================================================================
1979 // Register    : DMA_CH5_TRANS_COUNT
1980 // Description : DMA Channel 5 Transfer Count
1981 //               Program the number of bus transfers a channel will perform
1982 //               before halting. Note that, if transfers are larger than one
1983 //               byte in size, this is not equal to the number of bytes
1984 //               transferred (see CTRL_DATA_SIZE).
1985 //
1986 //               When the channel is active, reading this register shows the
1987 //               number of transfers remaining, updating automatically each time
1988 //               a write transfer completes.
1989 //
1990 //               Writing this register sets the RELOAD value for the transfer
1991 //               counter. Each time this channel is triggered, the RELOAD value
1992 //               is copied into the live transfer counter. The channel can be
1993 //               started multiple times, and will perform the same number of
1994 //               transfers each time, as programmed by most recent write.
1995 //
1996 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
1997 //               is used as a trigger, the written value is used immediately as
1998 //               the length of the new transfer sequence, as well as being
1999 //               written to RELOAD.
2000 #define DMA_CH5_TRANS_COUNT_OFFSET _u(0x00000148)
2001 #define DMA_CH5_TRANS_COUNT_BITS   _u(0xffffffff)
2002 #define DMA_CH5_TRANS_COUNT_RESET  _u(0x00000000)
2003 #define DMA_CH5_TRANS_COUNT_MSB    _u(31)
2004 #define DMA_CH5_TRANS_COUNT_LSB    _u(0)
2005 #define DMA_CH5_TRANS_COUNT_ACCESS "RW"
2006 // =============================================================================
2007 // Register    : DMA_CH5_CTRL_TRIG
2008 // Description : DMA Channel 5 Control and Status
2009 #define DMA_CH5_CTRL_TRIG_OFFSET _u(0x0000014c)
2010 #define DMA_CH5_CTRL_TRIG_BITS   _u(0xe1ffffff)
2011 #define DMA_CH5_CTRL_TRIG_RESET  _u(0x00000000)
2012 // -----------------------------------------------------------------------------
2013 // Field       : DMA_CH5_CTRL_TRIG_AHB_ERROR
2014 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
2015 //               halts when it encounters any bus error, and always raises its
2016 //               channel IRQ flag.
2017 #define DMA_CH5_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
2018 #define DMA_CH5_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
2019 #define DMA_CH5_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
2020 #define DMA_CH5_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
2021 #define DMA_CH5_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
2022 // -----------------------------------------------------------------------------
2023 // Field       : DMA_CH5_CTRL_TRIG_READ_ERROR
2024 // Description : If 1, the channel received a read bus error. Write one to
2025 //               clear.
2026 //               READ_ADDR shows the approximate address where the bus error was
2027 //               encountered (will not be earlier, or more than 3 transfers
2028 //               later)
2029 #define DMA_CH5_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
2030 #define DMA_CH5_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
2031 #define DMA_CH5_CTRL_TRIG_READ_ERROR_MSB    _u(30)
2032 #define DMA_CH5_CTRL_TRIG_READ_ERROR_LSB    _u(30)
2033 #define DMA_CH5_CTRL_TRIG_READ_ERROR_ACCESS "WC"
2034 // -----------------------------------------------------------------------------
2035 // Field       : DMA_CH5_CTRL_TRIG_WRITE_ERROR
2036 // Description : If 1, the channel received a write bus error. Write one to
2037 //               clear.
2038 //               WRITE_ADDR shows the approximate address where the bus error
2039 //               was encountered (will not be earlier, or more than 5 transfers
2040 //               later)
2041 #define DMA_CH5_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
2042 #define DMA_CH5_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
2043 #define DMA_CH5_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
2044 #define DMA_CH5_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
2045 #define DMA_CH5_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
2046 // -----------------------------------------------------------------------------
2047 // Field       : DMA_CH5_CTRL_TRIG_BUSY
2048 // Description : This flag goes high when the channel starts a new transfer
2049 //               sequence, and low when the last transfer of that sequence
2050 //               completes. Clearing EN while BUSY is high pauses the channel,
2051 //               and BUSY will stay high while paused.
2052 //
2053 //               To terminate a sequence early (and clear the BUSY flag), see
2054 //               CHAN_ABORT.
2055 #define DMA_CH5_CTRL_TRIG_BUSY_RESET  _u(0x0)
2056 #define DMA_CH5_CTRL_TRIG_BUSY_BITS   _u(0x01000000)
2057 #define DMA_CH5_CTRL_TRIG_BUSY_MSB    _u(24)
2058 #define DMA_CH5_CTRL_TRIG_BUSY_LSB    _u(24)
2059 #define DMA_CH5_CTRL_TRIG_BUSY_ACCESS "RO"
2060 // -----------------------------------------------------------------------------
2061 // Field       : DMA_CH5_CTRL_TRIG_SNIFF_EN
2062 // Description : If 1, this channel's data transfers are visible to the sniff
2063 //               hardware, and each transfer will advance the state of the
2064 //               checksum. This only applies if the sniff hardware is enabled,
2065 //               and has this channel selected.
2066 //
2067 //               This allows checksum to be enabled or disabled on a
2068 //               per-control- block basis.
2069 #define DMA_CH5_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
2070 #define DMA_CH5_CTRL_TRIG_SNIFF_EN_BITS   _u(0x00800000)
2071 #define DMA_CH5_CTRL_TRIG_SNIFF_EN_MSB    _u(23)
2072 #define DMA_CH5_CTRL_TRIG_SNIFF_EN_LSB    _u(23)
2073 #define DMA_CH5_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
2074 // -----------------------------------------------------------------------------
2075 // Field       : DMA_CH5_CTRL_TRIG_BSWAP
2076 // Description : Apply byte-swap transformation to DMA data.
2077 //               For byte data, this has no effect. For halfword data, the two
2078 //               bytes of each halfword are swapped. For word data, the four
2079 //               bytes of each word are swapped to reverse order.
2080 #define DMA_CH5_CTRL_TRIG_BSWAP_RESET  _u(0x0)
2081 #define DMA_CH5_CTRL_TRIG_BSWAP_BITS   _u(0x00400000)
2082 #define DMA_CH5_CTRL_TRIG_BSWAP_MSB    _u(22)
2083 #define DMA_CH5_CTRL_TRIG_BSWAP_LSB    _u(22)
2084 #define DMA_CH5_CTRL_TRIG_BSWAP_ACCESS "RW"
2085 // -----------------------------------------------------------------------------
2086 // Field       : DMA_CH5_CTRL_TRIG_IRQ_QUIET
2087 // Description : In QUIET mode, the channel does not generate IRQs at the end of
2088 //               every transfer block. Instead, an IRQ is raised when NULL is
2089 //               written to a trigger register, indicating the end of a control
2090 //               block chain.
2091 //
2092 //               This reduces the number of interrupts to be serviced by the CPU
2093 //               when transferring a DMA chain of many small control blocks.
2094 #define DMA_CH5_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
2095 #define DMA_CH5_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00200000)
2096 #define DMA_CH5_CTRL_TRIG_IRQ_QUIET_MSB    _u(21)
2097 #define DMA_CH5_CTRL_TRIG_IRQ_QUIET_LSB    _u(21)
2098 #define DMA_CH5_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
2099 // -----------------------------------------------------------------------------
2100 // Field       : DMA_CH5_CTRL_TRIG_TREQ_SEL
2101 // Description : Select a Transfer Request signal.
2102 //               The channel uses the transfer request signal to pace its data
2103 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
2104 //               or external (DREQ, a Data Request from the system).
2105 //               0x0 to 0x3a -> select DREQ n as TREQ
2106 //               0x3b -> Select Timer 0 as TREQ
2107 //               0x3c -> Select Timer 1 as TREQ
2108 //               0x3d -> Select Timer 2 as TREQ (Optional)
2109 //               0x3e -> Select Timer 3 as TREQ (Optional)
2110 //               0x3f -> Permanent request, for unpaced transfers.
2111 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_RESET           _u(0x00)
2112 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_BITS            _u(0x001f8000)
2113 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_MSB             _u(20)
2114 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_LSB             _u(15)
2115 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_ACCESS          "RW"
2116 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0    _u(0x3b)
2117 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1    _u(0x3c)
2118 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2    _u(0x3d)
2119 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3    _u(0x3e)
2120 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
2121 // -----------------------------------------------------------------------------
2122 // Field       : DMA_CH5_CTRL_TRIG_CHAIN_TO
2123 // Description : When this channel completes, it will trigger the channel
2124 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
2125 //               channel)_.
2126 #define DMA_CH5_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
2127 #define DMA_CH5_CTRL_TRIG_CHAIN_TO_BITS   _u(0x00007800)
2128 #define DMA_CH5_CTRL_TRIG_CHAIN_TO_MSB    _u(14)
2129 #define DMA_CH5_CTRL_TRIG_CHAIN_TO_LSB    _u(11)
2130 #define DMA_CH5_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
2131 // -----------------------------------------------------------------------------
2132 // Field       : DMA_CH5_CTRL_TRIG_RING_SEL
2133 // Description : Select whether RING_SIZE applies to read or write addresses.
2134 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
2135 //               boundary. If 1, write addresses are wrapped.
2136 #define DMA_CH5_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
2137 #define DMA_CH5_CTRL_TRIG_RING_SEL_BITS   _u(0x00000400)
2138 #define DMA_CH5_CTRL_TRIG_RING_SEL_MSB    _u(10)
2139 #define DMA_CH5_CTRL_TRIG_RING_SEL_LSB    _u(10)
2140 #define DMA_CH5_CTRL_TRIG_RING_SEL_ACCESS "RW"
2141 // -----------------------------------------------------------------------------
2142 // Field       : DMA_CH5_CTRL_TRIG_RING_SIZE
2143 // Description : Size of address wrap region. If 0, don't wrap. For values n >
2144 //               0, only the lower n bits of the address will change. This wraps
2145 //               the address on a (1 << n) byte boundary, facilitating access to
2146 //               naturally-aligned ring buffers.
2147 //
2148 //               Ring sizes between 2 and 32768 bytes are possible. This can
2149 //               apply to either read or write addresses, based on value of
2150 //               RING_SEL.
2151 //               0x0 -> RING_NONE
2152 #define DMA_CH5_CTRL_TRIG_RING_SIZE_RESET           _u(0x0)
2153 #define DMA_CH5_CTRL_TRIG_RING_SIZE_BITS            _u(0x000003c0)
2154 #define DMA_CH5_CTRL_TRIG_RING_SIZE_MSB             _u(9)
2155 #define DMA_CH5_CTRL_TRIG_RING_SIZE_LSB             _u(6)
2156 #define DMA_CH5_CTRL_TRIG_RING_SIZE_ACCESS          "RW"
2157 #define DMA_CH5_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
2158 // -----------------------------------------------------------------------------
2159 // Field       : DMA_CH5_CTRL_TRIG_INCR_WRITE
2160 // Description : If 1, the write address increments with each transfer. If 0,
2161 //               each write is directed to the same, initial address.
2162 //
2163 //               Generally this should be disabled for memory-to-peripheral
2164 //               transfers.
2165 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
2166 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000020)
2167 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_MSB    _u(5)
2168 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_LSB    _u(5)
2169 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
2170 // -----------------------------------------------------------------------------
2171 // Field       : DMA_CH5_CTRL_TRIG_INCR_READ
2172 // Description : If 1, the read address increments with each transfer. If 0,
2173 //               each read is directed to the same, initial address.
2174 //
2175 //               Generally this should be disabled for peripheral-to-memory
2176 //               transfers.
2177 #define DMA_CH5_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
2178 #define DMA_CH5_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
2179 #define DMA_CH5_CTRL_TRIG_INCR_READ_MSB    _u(4)
2180 #define DMA_CH5_CTRL_TRIG_INCR_READ_LSB    _u(4)
2181 #define DMA_CH5_CTRL_TRIG_INCR_READ_ACCESS "RW"
2182 // -----------------------------------------------------------------------------
2183 // Field       : DMA_CH5_CTRL_TRIG_DATA_SIZE
2184 // Description : Set the size of each bus transfer (byte/halfword/word).
2185 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
2186 //               with each transfer.
2187 //               0x0 -> SIZE_BYTE
2188 //               0x1 -> SIZE_HALFWORD
2189 //               0x2 -> SIZE_WORD
2190 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_RESET               _u(0x0)
2191 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_BITS                _u(0x0000000c)
2192 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_MSB                 _u(3)
2193 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_LSB                 _u(2)
2194 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_ACCESS              "RW"
2195 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE     _u(0x0)
2196 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
2197 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD     _u(0x2)
2198 // -----------------------------------------------------------------------------
2199 // Field       : DMA_CH5_CTRL_TRIG_HIGH_PRIORITY
2200 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
2201 //               scheduling: in each scheduling round, all high priority
2202 //               channels are considered first, and then only a single low
2203 //               priority channel, before returning to the high priority
2204 //               channels.
2205 //
2206 //               This only affects the order in which the DMA schedules
2207 //               channels. The DMA's bus priority is not changed. If the DMA is
2208 //               not saturated then a low priority channel will see no loss of
2209 //               throughput.
2210 #define DMA_CH5_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
2211 #define DMA_CH5_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
2212 #define DMA_CH5_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
2213 #define DMA_CH5_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
2214 #define DMA_CH5_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
2215 // -----------------------------------------------------------------------------
2216 // Field       : DMA_CH5_CTRL_TRIG_EN
2217 // Description : DMA Channel Enable.
2218 //               When 1, the channel will respond to triggering events, which
2219 //               will cause it to become BUSY and start transferring data. When
2220 //               0, the channel will ignore triggers, stop issuing transfers,
2221 //               and pause the current transfer sequence (i.e. BUSY will remain
2222 //               high if already high)
2223 #define DMA_CH5_CTRL_TRIG_EN_RESET  _u(0x0)
2224 #define DMA_CH5_CTRL_TRIG_EN_BITS   _u(0x00000001)
2225 #define DMA_CH5_CTRL_TRIG_EN_MSB    _u(0)
2226 #define DMA_CH5_CTRL_TRIG_EN_LSB    _u(0)
2227 #define DMA_CH5_CTRL_TRIG_EN_ACCESS "RW"
2228 // =============================================================================
2229 // Register    : DMA_CH5_AL1_CTRL
2230 // Description : Alias for channel 5 CTRL register
2231 #define DMA_CH5_AL1_CTRL_OFFSET _u(0x00000150)
2232 #define DMA_CH5_AL1_CTRL_BITS   _u(0xffffffff)
2233 #define DMA_CH5_AL1_CTRL_RESET  "-"
2234 #define DMA_CH5_AL1_CTRL_MSB    _u(31)
2235 #define DMA_CH5_AL1_CTRL_LSB    _u(0)
2236 #define DMA_CH5_AL1_CTRL_ACCESS "RW"
2237 // =============================================================================
2238 // Register    : DMA_CH5_AL1_READ_ADDR
2239 // Description : Alias for channel 5 READ_ADDR register
2240 #define DMA_CH5_AL1_READ_ADDR_OFFSET _u(0x00000154)
2241 #define DMA_CH5_AL1_READ_ADDR_BITS   _u(0xffffffff)
2242 #define DMA_CH5_AL1_READ_ADDR_RESET  "-"
2243 #define DMA_CH5_AL1_READ_ADDR_MSB    _u(31)
2244 #define DMA_CH5_AL1_READ_ADDR_LSB    _u(0)
2245 #define DMA_CH5_AL1_READ_ADDR_ACCESS "RW"
2246 // =============================================================================
2247 // Register    : DMA_CH5_AL1_WRITE_ADDR
2248 // Description : Alias for channel 5 WRITE_ADDR register
2249 #define DMA_CH5_AL1_WRITE_ADDR_OFFSET _u(0x00000158)
2250 #define DMA_CH5_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
2251 #define DMA_CH5_AL1_WRITE_ADDR_RESET  "-"
2252 #define DMA_CH5_AL1_WRITE_ADDR_MSB    _u(31)
2253 #define DMA_CH5_AL1_WRITE_ADDR_LSB    _u(0)
2254 #define DMA_CH5_AL1_WRITE_ADDR_ACCESS "RW"
2255 // =============================================================================
2256 // Register    : DMA_CH5_AL1_TRANS_COUNT_TRIG
2257 // Description : Alias for channel 5 TRANS_COUNT register
2258 //               This is a trigger register (0xc). Writing a nonzero value will
2259 //               reload the channel counter and start the channel.
2260 #define DMA_CH5_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000015c)
2261 #define DMA_CH5_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
2262 #define DMA_CH5_AL1_TRANS_COUNT_TRIG_RESET  "-"
2263 #define DMA_CH5_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
2264 #define DMA_CH5_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
2265 #define DMA_CH5_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
2266 // =============================================================================
2267 // Register    : DMA_CH5_AL2_CTRL
2268 // Description : Alias for channel 5 CTRL register
2269 #define DMA_CH5_AL2_CTRL_OFFSET _u(0x00000160)
2270 #define DMA_CH5_AL2_CTRL_BITS   _u(0xffffffff)
2271 #define DMA_CH5_AL2_CTRL_RESET  "-"
2272 #define DMA_CH5_AL2_CTRL_MSB    _u(31)
2273 #define DMA_CH5_AL2_CTRL_LSB    _u(0)
2274 #define DMA_CH5_AL2_CTRL_ACCESS "RW"
2275 // =============================================================================
2276 // Register    : DMA_CH5_AL2_TRANS_COUNT
2277 // Description : Alias for channel 5 TRANS_COUNT register
2278 #define DMA_CH5_AL2_TRANS_COUNT_OFFSET _u(0x00000164)
2279 #define DMA_CH5_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
2280 #define DMA_CH5_AL2_TRANS_COUNT_RESET  "-"
2281 #define DMA_CH5_AL2_TRANS_COUNT_MSB    _u(31)
2282 #define DMA_CH5_AL2_TRANS_COUNT_LSB    _u(0)
2283 #define DMA_CH5_AL2_TRANS_COUNT_ACCESS "RW"
2284 // =============================================================================
2285 // Register    : DMA_CH5_AL2_READ_ADDR
2286 // Description : Alias for channel 5 READ_ADDR register
2287 #define DMA_CH5_AL2_READ_ADDR_OFFSET _u(0x00000168)
2288 #define DMA_CH5_AL2_READ_ADDR_BITS   _u(0xffffffff)
2289 #define DMA_CH5_AL2_READ_ADDR_RESET  "-"
2290 #define DMA_CH5_AL2_READ_ADDR_MSB    _u(31)
2291 #define DMA_CH5_AL2_READ_ADDR_LSB    _u(0)
2292 #define DMA_CH5_AL2_READ_ADDR_ACCESS "RW"
2293 // =============================================================================
2294 // Register    : DMA_CH5_AL2_WRITE_ADDR_TRIG
2295 // Description : Alias for channel 5 WRITE_ADDR register
2296 //               This is a trigger register (0xc). Writing a nonzero value will
2297 //               reload the channel counter and start the channel.
2298 #define DMA_CH5_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000016c)
2299 #define DMA_CH5_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
2300 #define DMA_CH5_AL2_WRITE_ADDR_TRIG_RESET  "-"
2301 #define DMA_CH5_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
2302 #define DMA_CH5_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
2303 #define DMA_CH5_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
2304 // =============================================================================
2305 // Register    : DMA_CH5_AL3_CTRL
2306 // Description : Alias for channel 5 CTRL register
2307 #define DMA_CH5_AL3_CTRL_OFFSET _u(0x00000170)
2308 #define DMA_CH5_AL3_CTRL_BITS   _u(0xffffffff)
2309 #define DMA_CH5_AL3_CTRL_RESET  "-"
2310 #define DMA_CH5_AL3_CTRL_MSB    _u(31)
2311 #define DMA_CH5_AL3_CTRL_LSB    _u(0)
2312 #define DMA_CH5_AL3_CTRL_ACCESS "RW"
2313 // =============================================================================
2314 // Register    : DMA_CH5_AL3_WRITE_ADDR
2315 // Description : Alias for channel 5 WRITE_ADDR register
2316 #define DMA_CH5_AL3_WRITE_ADDR_OFFSET _u(0x00000174)
2317 #define DMA_CH5_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
2318 #define DMA_CH5_AL3_WRITE_ADDR_RESET  "-"
2319 #define DMA_CH5_AL3_WRITE_ADDR_MSB    _u(31)
2320 #define DMA_CH5_AL3_WRITE_ADDR_LSB    _u(0)
2321 #define DMA_CH5_AL3_WRITE_ADDR_ACCESS "RW"
2322 // =============================================================================
2323 // Register    : DMA_CH5_AL3_TRANS_COUNT
2324 // Description : Alias for channel 5 TRANS_COUNT register
2325 #define DMA_CH5_AL3_TRANS_COUNT_OFFSET _u(0x00000178)
2326 #define DMA_CH5_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
2327 #define DMA_CH5_AL3_TRANS_COUNT_RESET  "-"
2328 #define DMA_CH5_AL3_TRANS_COUNT_MSB    _u(31)
2329 #define DMA_CH5_AL3_TRANS_COUNT_LSB    _u(0)
2330 #define DMA_CH5_AL3_TRANS_COUNT_ACCESS "RW"
2331 // =============================================================================
2332 // Register    : DMA_CH5_AL3_READ_ADDR_TRIG
2333 // Description : Alias for channel 5 READ_ADDR register
2334 //               This is a trigger register (0xc). Writing a nonzero value will
2335 //               reload the channel counter and start the channel.
2336 #define DMA_CH5_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000017c)
2337 #define DMA_CH5_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
2338 #define DMA_CH5_AL3_READ_ADDR_TRIG_RESET  "-"
2339 #define DMA_CH5_AL3_READ_ADDR_TRIG_MSB    _u(31)
2340 #define DMA_CH5_AL3_READ_ADDR_TRIG_LSB    _u(0)
2341 #define DMA_CH5_AL3_READ_ADDR_TRIG_ACCESS "RW"
2342 // =============================================================================
2343 // Register    : DMA_CH6_READ_ADDR
2344 // Description : DMA Channel 6 Read Address pointer
2345 //               This register updates automatically each time a read completes.
2346 //               The current value is the next address to be read by this
2347 //               channel.
2348 #define DMA_CH6_READ_ADDR_OFFSET _u(0x00000180)
2349 #define DMA_CH6_READ_ADDR_BITS   _u(0xffffffff)
2350 #define DMA_CH6_READ_ADDR_RESET  _u(0x00000000)
2351 #define DMA_CH6_READ_ADDR_MSB    _u(31)
2352 #define DMA_CH6_READ_ADDR_LSB    _u(0)
2353 #define DMA_CH6_READ_ADDR_ACCESS "RW"
2354 // =============================================================================
2355 // Register    : DMA_CH6_WRITE_ADDR
2356 // Description : DMA Channel 6 Write Address pointer
2357 //               This register updates automatically each time a write
2358 //               completes. The current value is the next address to be written
2359 //               by this channel.
2360 #define DMA_CH6_WRITE_ADDR_OFFSET _u(0x00000184)
2361 #define DMA_CH6_WRITE_ADDR_BITS   _u(0xffffffff)
2362 #define DMA_CH6_WRITE_ADDR_RESET  _u(0x00000000)
2363 #define DMA_CH6_WRITE_ADDR_MSB    _u(31)
2364 #define DMA_CH6_WRITE_ADDR_LSB    _u(0)
2365 #define DMA_CH6_WRITE_ADDR_ACCESS "RW"
2366 // =============================================================================
2367 // Register    : DMA_CH6_TRANS_COUNT
2368 // Description : DMA Channel 6 Transfer Count
2369 //               Program the number of bus transfers a channel will perform
2370 //               before halting. Note that, if transfers are larger than one
2371 //               byte in size, this is not equal to the number of bytes
2372 //               transferred (see CTRL_DATA_SIZE).
2373 //
2374 //               When the channel is active, reading this register shows the
2375 //               number of transfers remaining, updating automatically each time
2376 //               a write transfer completes.
2377 //
2378 //               Writing this register sets the RELOAD value for the transfer
2379 //               counter. Each time this channel is triggered, the RELOAD value
2380 //               is copied into the live transfer counter. The channel can be
2381 //               started multiple times, and will perform the same number of
2382 //               transfers each time, as programmed by most recent write.
2383 //
2384 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
2385 //               is used as a trigger, the written value is used immediately as
2386 //               the length of the new transfer sequence, as well as being
2387 //               written to RELOAD.
2388 #define DMA_CH6_TRANS_COUNT_OFFSET _u(0x00000188)
2389 #define DMA_CH6_TRANS_COUNT_BITS   _u(0xffffffff)
2390 #define DMA_CH6_TRANS_COUNT_RESET  _u(0x00000000)
2391 #define DMA_CH6_TRANS_COUNT_MSB    _u(31)
2392 #define DMA_CH6_TRANS_COUNT_LSB    _u(0)
2393 #define DMA_CH6_TRANS_COUNT_ACCESS "RW"
2394 // =============================================================================
2395 // Register    : DMA_CH6_CTRL_TRIG
2396 // Description : DMA Channel 6 Control and Status
2397 #define DMA_CH6_CTRL_TRIG_OFFSET _u(0x0000018c)
2398 #define DMA_CH6_CTRL_TRIG_BITS   _u(0xe1ffffff)
2399 #define DMA_CH6_CTRL_TRIG_RESET  _u(0x00000000)
2400 // -----------------------------------------------------------------------------
2401 // Field       : DMA_CH6_CTRL_TRIG_AHB_ERROR
2402 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
2403 //               halts when it encounters any bus error, and always raises its
2404 //               channel IRQ flag.
2405 #define DMA_CH6_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
2406 #define DMA_CH6_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
2407 #define DMA_CH6_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
2408 #define DMA_CH6_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
2409 #define DMA_CH6_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
2410 // -----------------------------------------------------------------------------
2411 // Field       : DMA_CH6_CTRL_TRIG_READ_ERROR
2412 // Description : If 1, the channel received a read bus error. Write one to
2413 //               clear.
2414 //               READ_ADDR shows the approximate address where the bus error was
2415 //               encountered (will not be earlier, or more than 3 transfers
2416 //               later)
2417 #define DMA_CH6_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
2418 #define DMA_CH6_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
2419 #define DMA_CH6_CTRL_TRIG_READ_ERROR_MSB    _u(30)
2420 #define DMA_CH6_CTRL_TRIG_READ_ERROR_LSB    _u(30)
2421 #define DMA_CH6_CTRL_TRIG_READ_ERROR_ACCESS "WC"
2422 // -----------------------------------------------------------------------------
2423 // Field       : DMA_CH6_CTRL_TRIG_WRITE_ERROR
2424 // Description : If 1, the channel received a write bus error. Write one to
2425 //               clear.
2426 //               WRITE_ADDR shows the approximate address where the bus error
2427 //               was encountered (will not be earlier, or more than 5 transfers
2428 //               later)
2429 #define DMA_CH6_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
2430 #define DMA_CH6_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
2431 #define DMA_CH6_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
2432 #define DMA_CH6_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
2433 #define DMA_CH6_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
2434 // -----------------------------------------------------------------------------
2435 // Field       : DMA_CH6_CTRL_TRIG_BUSY
2436 // Description : This flag goes high when the channel starts a new transfer
2437 //               sequence, and low when the last transfer of that sequence
2438 //               completes. Clearing EN while BUSY is high pauses the channel,
2439 //               and BUSY will stay high while paused.
2440 //
2441 //               To terminate a sequence early (and clear the BUSY flag), see
2442 //               CHAN_ABORT.
2443 #define DMA_CH6_CTRL_TRIG_BUSY_RESET  _u(0x0)
2444 #define DMA_CH6_CTRL_TRIG_BUSY_BITS   _u(0x01000000)
2445 #define DMA_CH6_CTRL_TRIG_BUSY_MSB    _u(24)
2446 #define DMA_CH6_CTRL_TRIG_BUSY_LSB    _u(24)
2447 #define DMA_CH6_CTRL_TRIG_BUSY_ACCESS "RO"
2448 // -----------------------------------------------------------------------------
2449 // Field       : DMA_CH6_CTRL_TRIG_SNIFF_EN
2450 // Description : If 1, this channel's data transfers are visible to the sniff
2451 //               hardware, and each transfer will advance the state of the
2452 //               checksum. This only applies if the sniff hardware is enabled,
2453 //               and has this channel selected.
2454 //
2455 //               This allows checksum to be enabled or disabled on a
2456 //               per-control- block basis.
2457 #define DMA_CH6_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
2458 #define DMA_CH6_CTRL_TRIG_SNIFF_EN_BITS   _u(0x00800000)
2459 #define DMA_CH6_CTRL_TRIG_SNIFF_EN_MSB    _u(23)
2460 #define DMA_CH6_CTRL_TRIG_SNIFF_EN_LSB    _u(23)
2461 #define DMA_CH6_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
2462 // -----------------------------------------------------------------------------
2463 // Field       : DMA_CH6_CTRL_TRIG_BSWAP
2464 // Description : Apply byte-swap transformation to DMA data.
2465 //               For byte data, this has no effect. For halfword data, the two
2466 //               bytes of each halfword are swapped. For word data, the four
2467 //               bytes of each word are swapped to reverse order.
2468 #define DMA_CH6_CTRL_TRIG_BSWAP_RESET  _u(0x0)
2469 #define DMA_CH6_CTRL_TRIG_BSWAP_BITS   _u(0x00400000)
2470 #define DMA_CH6_CTRL_TRIG_BSWAP_MSB    _u(22)
2471 #define DMA_CH6_CTRL_TRIG_BSWAP_LSB    _u(22)
2472 #define DMA_CH6_CTRL_TRIG_BSWAP_ACCESS "RW"
2473 // -----------------------------------------------------------------------------
2474 // Field       : DMA_CH6_CTRL_TRIG_IRQ_QUIET
2475 // Description : In QUIET mode, the channel does not generate IRQs at the end of
2476 //               every transfer block. Instead, an IRQ is raised when NULL is
2477 //               written to a trigger register, indicating the end of a control
2478 //               block chain.
2479 //
2480 //               This reduces the number of interrupts to be serviced by the CPU
2481 //               when transferring a DMA chain of many small control blocks.
2482 #define DMA_CH6_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
2483 #define DMA_CH6_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00200000)
2484 #define DMA_CH6_CTRL_TRIG_IRQ_QUIET_MSB    _u(21)
2485 #define DMA_CH6_CTRL_TRIG_IRQ_QUIET_LSB    _u(21)
2486 #define DMA_CH6_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
2487 // -----------------------------------------------------------------------------
2488 // Field       : DMA_CH6_CTRL_TRIG_TREQ_SEL
2489 // Description : Select a Transfer Request signal.
2490 //               The channel uses the transfer request signal to pace its data
2491 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
2492 //               or external (DREQ, a Data Request from the system).
2493 //               0x0 to 0x3a -> select DREQ n as TREQ
2494 //               0x3b -> Select Timer 0 as TREQ
2495 //               0x3c -> Select Timer 1 as TREQ
2496 //               0x3d -> Select Timer 2 as TREQ (Optional)
2497 //               0x3e -> Select Timer 3 as TREQ (Optional)
2498 //               0x3f -> Permanent request, for unpaced transfers.
2499 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_RESET           _u(0x00)
2500 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_BITS            _u(0x001f8000)
2501 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_MSB             _u(20)
2502 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_LSB             _u(15)
2503 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_ACCESS          "RW"
2504 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0    _u(0x3b)
2505 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1    _u(0x3c)
2506 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2    _u(0x3d)
2507 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3    _u(0x3e)
2508 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
2509 // -----------------------------------------------------------------------------
2510 // Field       : DMA_CH6_CTRL_TRIG_CHAIN_TO
2511 // Description : When this channel completes, it will trigger the channel
2512 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
2513 //               channel)_.
2514 #define DMA_CH6_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
2515 #define DMA_CH6_CTRL_TRIG_CHAIN_TO_BITS   _u(0x00007800)
2516 #define DMA_CH6_CTRL_TRIG_CHAIN_TO_MSB    _u(14)
2517 #define DMA_CH6_CTRL_TRIG_CHAIN_TO_LSB    _u(11)
2518 #define DMA_CH6_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
2519 // -----------------------------------------------------------------------------
2520 // Field       : DMA_CH6_CTRL_TRIG_RING_SEL
2521 // Description : Select whether RING_SIZE applies to read or write addresses.
2522 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
2523 //               boundary. If 1, write addresses are wrapped.
2524 #define DMA_CH6_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
2525 #define DMA_CH6_CTRL_TRIG_RING_SEL_BITS   _u(0x00000400)
2526 #define DMA_CH6_CTRL_TRIG_RING_SEL_MSB    _u(10)
2527 #define DMA_CH6_CTRL_TRIG_RING_SEL_LSB    _u(10)
2528 #define DMA_CH6_CTRL_TRIG_RING_SEL_ACCESS "RW"
2529 // -----------------------------------------------------------------------------
2530 // Field       : DMA_CH6_CTRL_TRIG_RING_SIZE
2531 // Description : Size of address wrap region. If 0, don't wrap. For values n >
2532 //               0, only the lower n bits of the address will change. This wraps
2533 //               the address on a (1 << n) byte boundary, facilitating access to
2534 //               naturally-aligned ring buffers.
2535 //
2536 //               Ring sizes between 2 and 32768 bytes are possible. This can
2537 //               apply to either read or write addresses, based on value of
2538 //               RING_SEL.
2539 //               0x0 -> RING_NONE
2540 #define DMA_CH6_CTRL_TRIG_RING_SIZE_RESET           _u(0x0)
2541 #define DMA_CH6_CTRL_TRIG_RING_SIZE_BITS            _u(0x000003c0)
2542 #define DMA_CH6_CTRL_TRIG_RING_SIZE_MSB             _u(9)
2543 #define DMA_CH6_CTRL_TRIG_RING_SIZE_LSB             _u(6)
2544 #define DMA_CH6_CTRL_TRIG_RING_SIZE_ACCESS          "RW"
2545 #define DMA_CH6_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
2546 // -----------------------------------------------------------------------------
2547 // Field       : DMA_CH6_CTRL_TRIG_INCR_WRITE
2548 // Description : If 1, the write address increments with each transfer. If 0,
2549 //               each write is directed to the same, initial address.
2550 //
2551 //               Generally this should be disabled for memory-to-peripheral
2552 //               transfers.
2553 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
2554 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000020)
2555 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_MSB    _u(5)
2556 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_LSB    _u(5)
2557 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
2558 // -----------------------------------------------------------------------------
2559 // Field       : DMA_CH6_CTRL_TRIG_INCR_READ
2560 // Description : If 1, the read address increments with each transfer. If 0,
2561 //               each read is directed to the same, initial address.
2562 //
2563 //               Generally this should be disabled for peripheral-to-memory
2564 //               transfers.
2565 #define DMA_CH6_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
2566 #define DMA_CH6_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
2567 #define DMA_CH6_CTRL_TRIG_INCR_READ_MSB    _u(4)
2568 #define DMA_CH6_CTRL_TRIG_INCR_READ_LSB    _u(4)
2569 #define DMA_CH6_CTRL_TRIG_INCR_READ_ACCESS "RW"
2570 // -----------------------------------------------------------------------------
2571 // Field       : DMA_CH6_CTRL_TRIG_DATA_SIZE
2572 // Description : Set the size of each bus transfer (byte/halfword/word).
2573 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
2574 //               with each transfer.
2575 //               0x0 -> SIZE_BYTE
2576 //               0x1 -> SIZE_HALFWORD
2577 //               0x2 -> SIZE_WORD
2578 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_RESET               _u(0x0)
2579 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_BITS                _u(0x0000000c)
2580 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_MSB                 _u(3)
2581 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_LSB                 _u(2)
2582 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_ACCESS              "RW"
2583 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE     _u(0x0)
2584 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
2585 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD     _u(0x2)
2586 // -----------------------------------------------------------------------------
2587 // Field       : DMA_CH6_CTRL_TRIG_HIGH_PRIORITY
2588 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
2589 //               scheduling: in each scheduling round, all high priority
2590 //               channels are considered first, and then only a single low
2591 //               priority channel, before returning to the high priority
2592 //               channels.
2593 //
2594 //               This only affects the order in which the DMA schedules
2595 //               channels. The DMA's bus priority is not changed. If the DMA is
2596 //               not saturated then a low priority channel will see no loss of
2597 //               throughput.
2598 #define DMA_CH6_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
2599 #define DMA_CH6_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
2600 #define DMA_CH6_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
2601 #define DMA_CH6_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
2602 #define DMA_CH6_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
2603 // -----------------------------------------------------------------------------
2604 // Field       : DMA_CH6_CTRL_TRIG_EN
2605 // Description : DMA Channel Enable.
2606 //               When 1, the channel will respond to triggering events, which
2607 //               will cause it to become BUSY and start transferring data. When
2608 //               0, the channel will ignore triggers, stop issuing transfers,
2609 //               and pause the current transfer sequence (i.e. BUSY will remain
2610 //               high if already high)
2611 #define DMA_CH6_CTRL_TRIG_EN_RESET  _u(0x0)
2612 #define DMA_CH6_CTRL_TRIG_EN_BITS   _u(0x00000001)
2613 #define DMA_CH6_CTRL_TRIG_EN_MSB    _u(0)
2614 #define DMA_CH6_CTRL_TRIG_EN_LSB    _u(0)
2615 #define DMA_CH6_CTRL_TRIG_EN_ACCESS "RW"
2616 // =============================================================================
2617 // Register    : DMA_CH6_AL1_CTRL
2618 // Description : Alias for channel 6 CTRL register
2619 #define DMA_CH6_AL1_CTRL_OFFSET _u(0x00000190)
2620 #define DMA_CH6_AL1_CTRL_BITS   _u(0xffffffff)
2621 #define DMA_CH6_AL1_CTRL_RESET  "-"
2622 #define DMA_CH6_AL1_CTRL_MSB    _u(31)
2623 #define DMA_CH6_AL1_CTRL_LSB    _u(0)
2624 #define DMA_CH6_AL1_CTRL_ACCESS "RW"
2625 // =============================================================================
2626 // Register    : DMA_CH6_AL1_READ_ADDR
2627 // Description : Alias for channel 6 READ_ADDR register
2628 #define DMA_CH6_AL1_READ_ADDR_OFFSET _u(0x00000194)
2629 #define DMA_CH6_AL1_READ_ADDR_BITS   _u(0xffffffff)
2630 #define DMA_CH6_AL1_READ_ADDR_RESET  "-"
2631 #define DMA_CH6_AL1_READ_ADDR_MSB    _u(31)
2632 #define DMA_CH6_AL1_READ_ADDR_LSB    _u(0)
2633 #define DMA_CH6_AL1_READ_ADDR_ACCESS "RW"
2634 // =============================================================================
2635 // Register    : DMA_CH6_AL1_WRITE_ADDR
2636 // Description : Alias for channel 6 WRITE_ADDR register
2637 #define DMA_CH6_AL1_WRITE_ADDR_OFFSET _u(0x00000198)
2638 #define DMA_CH6_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
2639 #define DMA_CH6_AL1_WRITE_ADDR_RESET  "-"
2640 #define DMA_CH6_AL1_WRITE_ADDR_MSB    _u(31)
2641 #define DMA_CH6_AL1_WRITE_ADDR_LSB    _u(0)
2642 #define DMA_CH6_AL1_WRITE_ADDR_ACCESS "RW"
2643 // =============================================================================
2644 // Register    : DMA_CH6_AL1_TRANS_COUNT_TRIG
2645 // Description : Alias for channel 6 TRANS_COUNT register
2646 //               This is a trigger register (0xc). Writing a nonzero value will
2647 //               reload the channel counter and start the channel.
2648 #define DMA_CH6_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000019c)
2649 #define DMA_CH6_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
2650 #define DMA_CH6_AL1_TRANS_COUNT_TRIG_RESET  "-"
2651 #define DMA_CH6_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
2652 #define DMA_CH6_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
2653 #define DMA_CH6_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
2654 // =============================================================================
2655 // Register    : DMA_CH6_AL2_CTRL
2656 // Description : Alias for channel 6 CTRL register
2657 #define DMA_CH6_AL2_CTRL_OFFSET _u(0x000001a0)
2658 #define DMA_CH6_AL2_CTRL_BITS   _u(0xffffffff)
2659 #define DMA_CH6_AL2_CTRL_RESET  "-"
2660 #define DMA_CH6_AL2_CTRL_MSB    _u(31)
2661 #define DMA_CH6_AL2_CTRL_LSB    _u(0)
2662 #define DMA_CH6_AL2_CTRL_ACCESS "RW"
2663 // =============================================================================
2664 // Register    : DMA_CH6_AL2_TRANS_COUNT
2665 // Description : Alias for channel 6 TRANS_COUNT register
2666 #define DMA_CH6_AL2_TRANS_COUNT_OFFSET _u(0x000001a4)
2667 #define DMA_CH6_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
2668 #define DMA_CH6_AL2_TRANS_COUNT_RESET  "-"
2669 #define DMA_CH6_AL2_TRANS_COUNT_MSB    _u(31)
2670 #define DMA_CH6_AL2_TRANS_COUNT_LSB    _u(0)
2671 #define DMA_CH6_AL2_TRANS_COUNT_ACCESS "RW"
2672 // =============================================================================
2673 // Register    : DMA_CH6_AL2_READ_ADDR
2674 // Description : Alias for channel 6 READ_ADDR register
2675 #define DMA_CH6_AL2_READ_ADDR_OFFSET _u(0x000001a8)
2676 #define DMA_CH6_AL2_READ_ADDR_BITS   _u(0xffffffff)
2677 #define DMA_CH6_AL2_READ_ADDR_RESET  "-"
2678 #define DMA_CH6_AL2_READ_ADDR_MSB    _u(31)
2679 #define DMA_CH6_AL2_READ_ADDR_LSB    _u(0)
2680 #define DMA_CH6_AL2_READ_ADDR_ACCESS "RW"
2681 // =============================================================================
2682 // Register    : DMA_CH6_AL2_WRITE_ADDR_TRIG
2683 // Description : Alias for channel 6 WRITE_ADDR register
2684 //               This is a trigger register (0xc). Writing a nonzero value will
2685 //               reload the channel counter and start the channel.
2686 #define DMA_CH6_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000001ac)
2687 #define DMA_CH6_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
2688 #define DMA_CH6_AL2_WRITE_ADDR_TRIG_RESET  "-"
2689 #define DMA_CH6_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
2690 #define DMA_CH6_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
2691 #define DMA_CH6_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
2692 // =============================================================================
2693 // Register    : DMA_CH6_AL3_CTRL
2694 // Description : Alias for channel 6 CTRL register
2695 #define DMA_CH6_AL3_CTRL_OFFSET _u(0x000001b0)
2696 #define DMA_CH6_AL3_CTRL_BITS   _u(0xffffffff)
2697 #define DMA_CH6_AL3_CTRL_RESET  "-"
2698 #define DMA_CH6_AL3_CTRL_MSB    _u(31)
2699 #define DMA_CH6_AL3_CTRL_LSB    _u(0)
2700 #define DMA_CH6_AL3_CTRL_ACCESS "RW"
2701 // =============================================================================
2702 // Register    : DMA_CH6_AL3_WRITE_ADDR
2703 // Description : Alias for channel 6 WRITE_ADDR register
2704 #define DMA_CH6_AL3_WRITE_ADDR_OFFSET _u(0x000001b4)
2705 #define DMA_CH6_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
2706 #define DMA_CH6_AL3_WRITE_ADDR_RESET  "-"
2707 #define DMA_CH6_AL3_WRITE_ADDR_MSB    _u(31)
2708 #define DMA_CH6_AL3_WRITE_ADDR_LSB    _u(0)
2709 #define DMA_CH6_AL3_WRITE_ADDR_ACCESS "RW"
2710 // =============================================================================
2711 // Register    : DMA_CH6_AL3_TRANS_COUNT
2712 // Description : Alias for channel 6 TRANS_COUNT register
2713 #define DMA_CH6_AL3_TRANS_COUNT_OFFSET _u(0x000001b8)
2714 #define DMA_CH6_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
2715 #define DMA_CH6_AL3_TRANS_COUNT_RESET  "-"
2716 #define DMA_CH6_AL3_TRANS_COUNT_MSB    _u(31)
2717 #define DMA_CH6_AL3_TRANS_COUNT_LSB    _u(0)
2718 #define DMA_CH6_AL3_TRANS_COUNT_ACCESS "RW"
2719 // =============================================================================
2720 // Register    : DMA_CH6_AL3_READ_ADDR_TRIG
2721 // Description : Alias for channel 6 READ_ADDR register
2722 //               This is a trigger register (0xc). Writing a nonzero value will
2723 //               reload the channel counter and start the channel.
2724 #define DMA_CH6_AL3_READ_ADDR_TRIG_OFFSET _u(0x000001bc)
2725 #define DMA_CH6_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
2726 #define DMA_CH6_AL3_READ_ADDR_TRIG_RESET  "-"
2727 #define DMA_CH6_AL3_READ_ADDR_TRIG_MSB    _u(31)
2728 #define DMA_CH6_AL3_READ_ADDR_TRIG_LSB    _u(0)
2729 #define DMA_CH6_AL3_READ_ADDR_TRIG_ACCESS "RW"
2730 // =============================================================================
2731 // Register    : DMA_CH7_READ_ADDR
2732 // Description : DMA Channel 7 Read Address pointer
2733 //               This register updates automatically each time a read completes.
2734 //               The current value is the next address to be read by this
2735 //               channel.
2736 #define DMA_CH7_READ_ADDR_OFFSET _u(0x000001c0)
2737 #define DMA_CH7_READ_ADDR_BITS   _u(0xffffffff)
2738 #define DMA_CH7_READ_ADDR_RESET  _u(0x00000000)
2739 #define DMA_CH7_READ_ADDR_MSB    _u(31)
2740 #define DMA_CH7_READ_ADDR_LSB    _u(0)
2741 #define DMA_CH7_READ_ADDR_ACCESS "RW"
2742 // =============================================================================
2743 // Register    : DMA_CH7_WRITE_ADDR
2744 // Description : DMA Channel 7 Write Address pointer
2745 //               This register updates automatically each time a write
2746 //               completes. The current value is the next address to be written
2747 //               by this channel.
2748 #define DMA_CH7_WRITE_ADDR_OFFSET _u(0x000001c4)
2749 #define DMA_CH7_WRITE_ADDR_BITS   _u(0xffffffff)
2750 #define DMA_CH7_WRITE_ADDR_RESET  _u(0x00000000)
2751 #define DMA_CH7_WRITE_ADDR_MSB    _u(31)
2752 #define DMA_CH7_WRITE_ADDR_LSB    _u(0)
2753 #define DMA_CH7_WRITE_ADDR_ACCESS "RW"
2754 // =============================================================================
2755 // Register    : DMA_CH7_TRANS_COUNT
2756 // Description : DMA Channel 7 Transfer Count
2757 //               Program the number of bus transfers a channel will perform
2758 //               before halting. Note that, if transfers are larger than one
2759 //               byte in size, this is not equal to the number of bytes
2760 //               transferred (see CTRL_DATA_SIZE).
2761 //
2762 //               When the channel is active, reading this register shows the
2763 //               number of transfers remaining, updating automatically each time
2764 //               a write transfer completes.
2765 //
2766 //               Writing this register sets the RELOAD value for the transfer
2767 //               counter. Each time this channel is triggered, the RELOAD value
2768 //               is copied into the live transfer counter. The channel can be
2769 //               started multiple times, and will perform the same number of
2770 //               transfers each time, as programmed by most recent write.
2771 //
2772 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
2773 //               is used as a trigger, the written value is used immediately as
2774 //               the length of the new transfer sequence, as well as being
2775 //               written to RELOAD.
2776 #define DMA_CH7_TRANS_COUNT_OFFSET _u(0x000001c8)
2777 #define DMA_CH7_TRANS_COUNT_BITS   _u(0xffffffff)
2778 #define DMA_CH7_TRANS_COUNT_RESET  _u(0x00000000)
2779 #define DMA_CH7_TRANS_COUNT_MSB    _u(31)
2780 #define DMA_CH7_TRANS_COUNT_LSB    _u(0)
2781 #define DMA_CH7_TRANS_COUNT_ACCESS "RW"
2782 // =============================================================================
2783 // Register    : DMA_CH7_CTRL_TRIG
2784 // Description : DMA Channel 7 Control and Status
2785 #define DMA_CH7_CTRL_TRIG_OFFSET _u(0x000001cc)
2786 #define DMA_CH7_CTRL_TRIG_BITS   _u(0xe1ffffff)
2787 #define DMA_CH7_CTRL_TRIG_RESET  _u(0x00000000)
2788 // -----------------------------------------------------------------------------
2789 // Field       : DMA_CH7_CTRL_TRIG_AHB_ERROR
2790 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
2791 //               halts when it encounters any bus error, and always raises its
2792 //               channel IRQ flag.
2793 #define DMA_CH7_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
2794 #define DMA_CH7_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
2795 #define DMA_CH7_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
2796 #define DMA_CH7_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
2797 #define DMA_CH7_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
2798 // -----------------------------------------------------------------------------
2799 // Field       : DMA_CH7_CTRL_TRIG_READ_ERROR
2800 // Description : If 1, the channel received a read bus error. Write one to
2801 //               clear.
2802 //               READ_ADDR shows the approximate address where the bus error was
2803 //               encountered (will not be earlier, or more than 3 transfers
2804 //               later)
2805 #define DMA_CH7_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
2806 #define DMA_CH7_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
2807 #define DMA_CH7_CTRL_TRIG_READ_ERROR_MSB    _u(30)
2808 #define DMA_CH7_CTRL_TRIG_READ_ERROR_LSB    _u(30)
2809 #define DMA_CH7_CTRL_TRIG_READ_ERROR_ACCESS "WC"
2810 // -----------------------------------------------------------------------------
2811 // Field       : DMA_CH7_CTRL_TRIG_WRITE_ERROR
2812 // Description : If 1, the channel received a write bus error. Write one to
2813 //               clear.
2814 //               WRITE_ADDR shows the approximate address where the bus error
2815 //               was encountered (will not be earlier, or more than 5 transfers
2816 //               later)
2817 #define DMA_CH7_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
2818 #define DMA_CH7_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
2819 #define DMA_CH7_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
2820 #define DMA_CH7_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
2821 #define DMA_CH7_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
2822 // -----------------------------------------------------------------------------
2823 // Field       : DMA_CH7_CTRL_TRIG_BUSY
2824 // Description : This flag goes high when the channel starts a new transfer
2825 //               sequence, and low when the last transfer of that sequence
2826 //               completes. Clearing EN while BUSY is high pauses the channel,
2827 //               and BUSY will stay high while paused.
2828 //
2829 //               To terminate a sequence early (and clear the BUSY flag), see
2830 //               CHAN_ABORT.
2831 #define DMA_CH7_CTRL_TRIG_BUSY_RESET  _u(0x0)
2832 #define DMA_CH7_CTRL_TRIG_BUSY_BITS   _u(0x01000000)
2833 #define DMA_CH7_CTRL_TRIG_BUSY_MSB    _u(24)
2834 #define DMA_CH7_CTRL_TRIG_BUSY_LSB    _u(24)
2835 #define DMA_CH7_CTRL_TRIG_BUSY_ACCESS "RO"
2836 // -----------------------------------------------------------------------------
2837 // Field       : DMA_CH7_CTRL_TRIG_SNIFF_EN
2838 // Description : If 1, this channel's data transfers are visible to the sniff
2839 //               hardware, and each transfer will advance the state of the
2840 //               checksum. This only applies if the sniff hardware is enabled,
2841 //               and has this channel selected.
2842 //
2843 //               This allows checksum to be enabled or disabled on a
2844 //               per-control- block basis.
2845 #define DMA_CH7_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
2846 #define DMA_CH7_CTRL_TRIG_SNIFF_EN_BITS   _u(0x00800000)
2847 #define DMA_CH7_CTRL_TRIG_SNIFF_EN_MSB    _u(23)
2848 #define DMA_CH7_CTRL_TRIG_SNIFF_EN_LSB    _u(23)
2849 #define DMA_CH7_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
2850 // -----------------------------------------------------------------------------
2851 // Field       : DMA_CH7_CTRL_TRIG_BSWAP
2852 // Description : Apply byte-swap transformation to DMA data.
2853 //               For byte data, this has no effect. For halfword data, the two
2854 //               bytes of each halfword are swapped. For word data, the four
2855 //               bytes of each word are swapped to reverse order.
2856 #define DMA_CH7_CTRL_TRIG_BSWAP_RESET  _u(0x0)
2857 #define DMA_CH7_CTRL_TRIG_BSWAP_BITS   _u(0x00400000)
2858 #define DMA_CH7_CTRL_TRIG_BSWAP_MSB    _u(22)
2859 #define DMA_CH7_CTRL_TRIG_BSWAP_LSB    _u(22)
2860 #define DMA_CH7_CTRL_TRIG_BSWAP_ACCESS "RW"
2861 // -----------------------------------------------------------------------------
2862 // Field       : DMA_CH7_CTRL_TRIG_IRQ_QUIET
2863 // Description : In QUIET mode, the channel does not generate IRQs at the end of
2864 //               every transfer block. Instead, an IRQ is raised when NULL is
2865 //               written to a trigger register, indicating the end of a control
2866 //               block chain.
2867 //
2868 //               This reduces the number of interrupts to be serviced by the CPU
2869 //               when transferring a DMA chain of many small control blocks.
2870 #define DMA_CH7_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
2871 #define DMA_CH7_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00200000)
2872 #define DMA_CH7_CTRL_TRIG_IRQ_QUIET_MSB    _u(21)
2873 #define DMA_CH7_CTRL_TRIG_IRQ_QUIET_LSB    _u(21)
2874 #define DMA_CH7_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
2875 // -----------------------------------------------------------------------------
2876 // Field       : DMA_CH7_CTRL_TRIG_TREQ_SEL
2877 // Description : Select a Transfer Request signal.
2878 //               The channel uses the transfer request signal to pace its data
2879 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
2880 //               or external (DREQ, a Data Request from the system).
2881 //               0x0 to 0x3a -> select DREQ n as TREQ
2882 //               0x3b -> Select Timer 0 as TREQ
2883 //               0x3c -> Select Timer 1 as TREQ
2884 //               0x3d -> Select Timer 2 as TREQ (Optional)
2885 //               0x3e -> Select Timer 3 as TREQ (Optional)
2886 //               0x3f -> Permanent request, for unpaced transfers.
2887 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_RESET           _u(0x00)
2888 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_BITS            _u(0x001f8000)
2889 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_MSB             _u(20)
2890 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_LSB             _u(15)
2891 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_ACCESS          "RW"
2892 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0    _u(0x3b)
2893 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1    _u(0x3c)
2894 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2    _u(0x3d)
2895 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3    _u(0x3e)
2896 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
2897 // -----------------------------------------------------------------------------
2898 // Field       : DMA_CH7_CTRL_TRIG_CHAIN_TO
2899 // Description : When this channel completes, it will trigger the channel
2900 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
2901 //               channel)_.
2902 #define DMA_CH7_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
2903 #define DMA_CH7_CTRL_TRIG_CHAIN_TO_BITS   _u(0x00007800)
2904 #define DMA_CH7_CTRL_TRIG_CHAIN_TO_MSB    _u(14)
2905 #define DMA_CH7_CTRL_TRIG_CHAIN_TO_LSB    _u(11)
2906 #define DMA_CH7_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
2907 // -----------------------------------------------------------------------------
2908 // Field       : DMA_CH7_CTRL_TRIG_RING_SEL
2909 // Description : Select whether RING_SIZE applies to read or write addresses.
2910 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
2911 //               boundary. If 1, write addresses are wrapped.
2912 #define DMA_CH7_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
2913 #define DMA_CH7_CTRL_TRIG_RING_SEL_BITS   _u(0x00000400)
2914 #define DMA_CH7_CTRL_TRIG_RING_SEL_MSB    _u(10)
2915 #define DMA_CH7_CTRL_TRIG_RING_SEL_LSB    _u(10)
2916 #define DMA_CH7_CTRL_TRIG_RING_SEL_ACCESS "RW"
2917 // -----------------------------------------------------------------------------
2918 // Field       : DMA_CH7_CTRL_TRIG_RING_SIZE
2919 // Description : Size of address wrap region. If 0, don't wrap. For values n >
2920 //               0, only the lower n bits of the address will change. This wraps
2921 //               the address on a (1 << n) byte boundary, facilitating access to
2922 //               naturally-aligned ring buffers.
2923 //
2924 //               Ring sizes between 2 and 32768 bytes are possible. This can
2925 //               apply to either read or write addresses, based on value of
2926 //               RING_SEL.
2927 //               0x0 -> RING_NONE
2928 #define DMA_CH7_CTRL_TRIG_RING_SIZE_RESET           _u(0x0)
2929 #define DMA_CH7_CTRL_TRIG_RING_SIZE_BITS            _u(0x000003c0)
2930 #define DMA_CH7_CTRL_TRIG_RING_SIZE_MSB             _u(9)
2931 #define DMA_CH7_CTRL_TRIG_RING_SIZE_LSB             _u(6)
2932 #define DMA_CH7_CTRL_TRIG_RING_SIZE_ACCESS          "RW"
2933 #define DMA_CH7_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
2934 // -----------------------------------------------------------------------------
2935 // Field       : DMA_CH7_CTRL_TRIG_INCR_WRITE
2936 // Description : If 1, the write address increments with each transfer. If 0,
2937 //               each write is directed to the same, initial address.
2938 //
2939 //               Generally this should be disabled for memory-to-peripheral
2940 //               transfers.
2941 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
2942 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000020)
2943 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_MSB    _u(5)
2944 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_LSB    _u(5)
2945 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
2946 // -----------------------------------------------------------------------------
2947 // Field       : DMA_CH7_CTRL_TRIG_INCR_READ
2948 // Description : If 1, the read address increments with each transfer. If 0,
2949 //               each read is directed to the same, initial address.
2950 //
2951 //               Generally this should be disabled for peripheral-to-memory
2952 //               transfers.
2953 #define DMA_CH7_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
2954 #define DMA_CH7_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
2955 #define DMA_CH7_CTRL_TRIG_INCR_READ_MSB    _u(4)
2956 #define DMA_CH7_CTRL_TRIG_INCR_READ_LSB    _u(4)
2957 #define DMA_CH7_CTRL_TRIG_INCR_READ_ACCESS "RW"
2958 // -----------------------------------------------------------------------------
2959 // Field       : DMA_CH7_CTRL_TRIG_DATA_SIZE
2960 // Description : Set the size of each bus transfer (byte/halfword/word).
2961 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
2962 //               with each transfer.
2963 //               0x0 -> SIZE_BYTE
2964 //               0x1 -> SIZE_HALFWORD
2965 //               0x2 -> SIZE_WORD
2966 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_RESET               _u(0x0)
2967 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_BITS                _u(0x0000000c)
2968 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_MSB                 _u(3)
2969 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_LSB                 _u(2)
2970 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_ACCESS              "RW"
2971 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE     _u(0x0)
2972 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
2973 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD     _u(0x2)
2974 // -----------------------------------------------------------------------------
2975 // Field       : DMA_CH7_CTRL_TRIG_HIGH_PRIORITY
2976 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
2977 //               scheduling: in each scheduling round, all high priority
2978 //               channels are considered first, and then only a single low
2979 //               priority channel, before returning to the high priority
2980 //               channels.
2981 //
2982 //               This only affects the order in which the DMA schedules
2983 //               channels. The DMA's bus priority is not changed. If the DMA is
2984 //               not saturated then a low priority channel will see no loss of
2985 //               throughput.
2986 #define DMA_CH7_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
2987 #define DMA_CH7_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
2988 #define DMA_CH7_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
2989 #define DMA_CH7_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
2990 #define DMA_CH7_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
2991 // -----------------------------------------------------------------------------
2992 // Field       : DMA_CH7_CTRL_TRIG_EN
2993 // Description : DMA Channel Enable.
2994 //               When 1, the channel will respond to triggering events, which
2995 //               will cause it to become BUSY and start transferring data. When
2996 //               0, the channel will ignore triggers, stop issuing transfers,
2997 //               and pause the current transfer sequence (i.e. BUSY will remain
2998 //               high if already high)
2999 #define DMA_CH7_CTRL_TRIG_EN_RESET  _u(0x0)
3000 #define DMA_CH7_CTRL_TRIG_EN_BITS   _u(0x00000001)
3001 #define DMA_CH7_CTRL_TRIG_EN_MSB    _u(0)
3002 #define DMA_CH7_CTRL_TRIG_EN_LSB    _u(0)
3003 #define DMA_CH7_CTRL_TRIG_EN_ACCESS "RW"
3004 // =============================================================================
3005 // Register    : DMA_CH7_AL1_CTRL
3006 // Description : Alias for channel 7 CTRL register
3007 #define DMA_CH7_AL1_CTRL_OFFSET _u(0x000001d0)
3008 #define DMA_CH7_AL1_CTRL_BITS   _u(0xffffffff)
3009 #define DMA_CH7_AL1_CTRL_RESET  "-"
3010 #define DMA_CH7_AL1_CTRL_MSB    _u(31)
3011 #define DMA_CH7_AL1_CTRL_LSB    _u(0)
3012 #define DMA_CH7_AL1_CTRL_ACCESS "RW"
3013 // =============================================================================
3014 // Register    : DMA_CH7_AL1_READ_ADDR
3015 // Description : Alias for channel 7 READ_ADDR register
3016 #define DMA_CH7_AL1_READ_ADDR_OFFSET _u(0x000001d4)
3017 #define DMA_CH7_AL1_READ_ADDR_BITS   _u(0xffffffff)
3018 #define DMA_CH7_AL1_READ_ADDR_RESET  "-"
3019 #define DMA_CH7_AL1_READ_ADDR_MSB    _u(31)
3020 #define DMA_CH7_AL1_READ_ADDR_LSB    _u(0)
3021 #define DMA_CH7_AL1_READ_ADDR_ACCESS "RW"
3022 // =============================================================================
3023 // Register    : DMA_CH7_AL1_WRITE_ADDR
3024 // Description : Alias for channel 7 WRITE_ADDR register
3025 #define DMA_CH7_AL1_WRITE_ADDR_OFFSET _u(0x000001d8)
3026 #define DMA_CH7_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
3027 #define DMA_CH7_AL1_WRITE_ADDR_RESET  "-"
3028 #define DMA_CH7_AL1_WRITE_ADDR_MSB    _u(31)
3029 #define DMA_CH7_AL1_WRITE_ADDR_LSB    _u(0)
3030 #define DMA_CH7_AL1_WRITE_ADDR_ACCESS "RW"
3031 // =============================================================================
3032 // Register    : DMA_CH7_AL1_TRANS_COUNT_TRIG
3033 // Description : Alias for channel 7 TRANS_COUNT register
3034 //               This is a trigger register (0xc). Writing a nonzero value will
3035 //               reload the channel counter and start the channel.
3036 #define DMA_CH7_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x000001dc)
3037 #define DMA_CH7_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
3038 #define DMA_CH7_AL1_TRANS_COUNT_TRIG_RESET  "-"
3039 #define DMA_CH7_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
3040 #define DMA_CH7_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
3041 #define DMA_CH7_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
3042 // =============================================================================
3043 // Register    : DMA_CH7_AL2_CTRL
3044 // Description : Alias for channel 7 CTRL register
3045 #define DMA_CH7_AL2_CTRL_OFFSET _u(0x000001e0)
3046 #define DMA_CH7_AL2_CTRL_BITS   _u(0xffffffff)
3047 #define DMA_CH7_AL2_CTRL_RESET  "-"
3048 #define DMA_CH7_AL2_CTRL_MSB    _u(31)
3049 #define DMA_CH7_AL2_CTRL_LSB    _u(0)
3050 #define DMA_CH7_AL2_CTRL_ACCESS "RW"
3051 // =============================================================================
3052 // Register    : DMA_CH7_AL2_TRANS_COUNT
3053 // Description : Alias for channel 7 TRANS_COUNT register
3054 #define DMA_CH7_AL2_TRANS_COUNT_OFFSET _u(0x000001e4)
3055 #define DMA_CH7_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
3056 #define DMA_CH7_AL2_TRANS_COUNT_RESET  "-"
3057 #define DMA_CH7_AL2_TRANS_COUNT_MSB    _u(31)
3058 #define DMA_CH7_AL2_TRANS_COUNT_LSB    _u(0)
3059 #define DMA_CH7_AL2_TRANS_COUNT_ACCESS "RW"
3060 // =============================================================================
3061 // Register    : DMA_CH7_AL2_READ_ADDR
3062 // Description : Alias for channel 7 READ_ADDR register
3063 #define DMA_CH7_AL2_READ_ADDR_OFFSET _u(0x000001e8)
3064 #define DMA_CH7_AL2_READ_ADDR_BITS   _u(0xffffffff)
3065 #define DMA_CH7_AL2_READ_ADDR_RESET  "-"
3066 #define DMA_CH7_AL2_READ_ADDR_MSB    _u(31)
3067 #define DMA_CH7_AL2_READ_ADDR_LSB    _u(0)
3068 #define DMA_CH7_AL2_READ_ADDR_ACCESS "RW"
3069 // =============================================================================
3070 // Register    : DMA_CH7_AL2_WRITE_ADDR_TRIG
3071 // Description : Alias for channel 7 WRITE_ADDR register
3072 //               This is a trigger register (0xc). Writing a nonzero value will
3073 //               reload the channel counter and start the channel.
3074 #define DMA_CH7_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000001ec)
3075 #define DMA_CH7_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
3076 #define DMA_CH7_AL2_WRITE_ADDR_TRIG_RESET  "-"
3077 #define DMA_CH7_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
3078 #define DMA_CH7_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
3079 #define DMA_CH7_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
3080 // =============================================================================
3081 // Register    : DMA_CH7_AL3_CTRL
3082 // Description : Alias for channel 7 CTRL register
3083 #define DMA_CH7_AL3_CTRL_OFFSET _u(0x000001f0)
3084 #define DMA_CH7_AL3_CTRL_BITS   _u(0xffffffff)
3085 #define DMA_CH7_AL3_CTRL_RESET  "-"
3086 #define DMA_CH7_AL3_CTRL_MSB    _u(31)
3087 #define DMA_CH7_AL3_CTRL_LSB    _u(0)
3088 #define DMA_CH7_AL3_CTRL_ACCESS "RW"
3089 // =============================================================================
3090 // Register    : DMA_CH7_AL3_WRITE_ADDR
3091 // Description : Alias for channel 7 WRITE_ADDR register
3092 #define DMA_CH7_AL3_WRITE_ADDR_OFFSET _u(0x000001f4)
3093 #define DMA_CH7_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
3094 #define DMA_CH7_AL3_WRITE_ADDR_RESET  "-"
3095 #define DMA_CH7_AL3_WRITE_ADDR_MSB    _u(31)
3096 #define DMA_CH7_AL3_WRITE_ADDR_LSB    _u(0)
3097 #define DMA_CH7_AL3_WRITE_ADDR_ACCESS "RW"
3098 // =============================================================================
3099 // Register    : DMA_CH7_AL3_TRANS_COUNT
3100 // Description : Alias for channel 7 TRANS_COUNT register
3101 #define DMA_CH7_AL3_TRANS_COUNT_OFFSET _u(0x000001f8)
3102 #define DMA_CH7_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
3103 #define DMA_CH7_AL3_TRANS_COUNT_RESET  "-"
3104 #define DMA_CH7_AL3_TRANS_COUNT_MSB    _u(31)
3105 #define DMA_CH7_AL3_TRANS_COUNT_LSB    _u(0)
3106 #define DMA_CH7_AL3_TRANS_COUNT_ACCESS "RW"
3107 // =============================================================================
3108 // Register    : DMA_CH7_AL3_READ_ADDR_TRIG
3109 // Description : Alias for channel 7 READ_ADDR register
3110 //               This is a trigger register (0xc). Writing a nonzero value will
3111 //               reload the channel counter and start the channel.
3112 #define DMA_CH7_AL3_READ_ADDR_TRIG_OFFSET _u(0x000001fc)
3113 #define DMA_CH7_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
3114 #define DMA_CH7_AL3_READ_ADDR_TRIG_RESET  "-"
3115 #define DMA_CH7_AL3_READ_ADDR_TRIG_MSB    _u(31)
3116 #define DMA_CH7_AL3_READ_ADDR_TRIG_LSB    _u(0)
3117 #define DMA_CH7_AL3_READ_ADDR_TRIG_ACCESS "RW"
3118 // =============================================================================
3119 // Register    : DMA_CH8_READ_ADDR
3120 // Description : DMA Channel 8 Read Address pointer
3121 //               This register updates automatically each time a read completes.
3122 //               The current value is the next address to be read by this
3123 //               channel.
3124 #define DMA_CH8_READ_ADDR_OFFSET _u(0x00000200)
3125 #define DMA_CH8_READ_ADDR_BITS   _u(0xffffffff)
3126 #define DMA_CH8_READ_ADDR_RESET  _u(0x00000000)
3127 #define DMA_CH8_READ_ADDR_MSB    _u(31)
3128 #define DMA_CH8_READ_ADDR_LSB    _u(0)
3129 #define DMA_CH8_READ_ADDR_ACCESS "RW"
3130 // =============================================================================
3131 // Register    : DMA_CH8_WRITE_ADDR
3132 // Description : DMA Channel 8 Write Address pointer
3133 //               This register updates automatically each time a write
3134 //               completes. The current value is the next address to be written
3135 //               by this channel.
3136 #define DMA_CH8_WRITE_ADDR_OFFSET _u(0x00000204)
3137 #define DMA_CH8_WRITE_ADDR_BITS   _u(0xffffffff)
3138 #define DMA_CH8_WRITE_ADDR_RESET  _u(0x00000000)
3139 #define DMA_CH8_WRITE_ADDR_MSB    _u(31)
3140 #define DMA_CH8_WRITE_ADDR_LSB    _u(0)
3141 #define DMA_CH8_WRITE_ADDR_ACCESS "RW"
3142 // =============================================================================
3143 // Register    : DMA_CH8_TRANS_COUNT
3144 // Description : DMA Channel 8 Transfer Count
3145 //               Program the number of bus transfers a channel will perform
3146 //               before halting. Note that, if transfers are larger than one
3147 //               byte in size, this is not equal to the number of bytes
3148 //               transferred (see CTRL_DATA_SIZE).
3149 //
3150 //               When the channel is active, reading this register shows the
3151 //               number of transfers remaining, updating automatically each time
3152 //               a write transfer completes.
3153 //
3154 //               Writing this register sets the RELOAD value for the transfer
3155 //               counter. Each time this channel is triggered, the RELOAD value
3156 //               is copied into the live transfer counter. The channel can be
3157 //               started multiple times, and will perform the same number of
3158 //               transfers each time, as programmed by most recent write.
3159 //
3160 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
3161 //               is used as a trigger, the written value is used immediately as
3162 //               the length of the new transfer sequence, as well as being
3163 //               written to RELOAD.
3164 #define DMA_CH8_TRANS_COUNT_OFFSET _u(0x00000208)
3165 #define DMA_CH8_TRANS_COUNT_BITS   _u(0xffffffff)
3166 #define DMA_CH8_TRANS_COUNT_RESET  _u(0x00000000)
3167 #define DMA_CH8_TRANS_COUNT_MSB    _u(31)
3168 #define DMA_CH8_TRANS_COUNT_LSB    _u(0)
3169 #define DMA_CH8_TRANS_COUNT_ACCESS "RW"
3170 // =============================================================================
3171 // Register    : DMA_CH8_CTRL_TRIG
3172 // Description : DMA Channel 8 Control and Status
3173 #define DMA_CH8_CTRL_TRIG_OFFSET _u(0x0000020c)
3174 #define DMA_CH8_CTRL_TRIG_BITS   _u(0xe1ffffff)
3175 #define DMA_CH8_CTRL_TRIG_RESET  _u(0x00000000)
3176 // -----------------------------------------------------------------------------
3177 // Field       : DMA_CH8_CTRL_TRIG_AHB_ERROR
3178 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
3179 //               halts when it encounters any bus error, and always raises its
3180 //               channel IRQ flag.
3181 #define DMA_CH8_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
3182 #define DMA_CH8_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
3183 #define DMA_CH8_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
3184 #define DMA_CH8_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
3185 #define DMA_CH8_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
3186 // -----------------------------------------------------------------------------
3187 // Field       : DMA_CH8_CTRL_TRIG_READ_ERROR
3188 // Description : If 1, the channel received a read bus error. Write one to
3189 //               clear.
3190 //               READ_ADDR shows the approximate address where the bus error was
3191 //               encountered (will not be earlier, or more than 3 transfers
3192 //               later)
3193 #define DMA_CH8_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
3194 #define DMA_CH8_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
3195 #define DMA_CH8_CTRL_TRIG_READ_ERROR_MSB    _u(30)
3196 #define DMA_CH8_CTRL_TRIG_READ_ERROR_LSB    _u(30)
3197 #define DMA_CH8_CTRL_TRIG_READ_ERROR_ACCESS "WC"
3198 // -----------------------------------------------------------------------------
3199 // Field       : DMA_CH8_CTRL_TRIG_WRITE_ERROR
3200 // Description : If 1, the channel received a write bus error. Write one to
3201 //               clear.
3202 //               WRITE_ADDR shows the approximate address where the bus error
3203 //               was encountered (will not be earlier, or more than 5 transfers
3204 //               later)
3205 #define DMA_CH8_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
3206 #define DMA_CH8_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
3207 #define DMA_CH8_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
3208 #define DMA_CH8_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
3209 #define DMA_CH8_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
3210 // -----------------------------------------------------------------------------
3211 // Field       : DMA_CH8_CTRL_TRIG_BUSY
3212 // Description : This flag goes high when the channel starts a new transfer
3213 //               sequence, and low when the last transfer of that sequence
3214 //               completes. Clearing EN while BUSY is high pauses the channel,
3215 //               and BUSY will stay high while paused.
3216 //
3217 //               To terminate a sequence early (and clear the BUSY flag), see
3218 //               CHAN_ABORT.
3219 #define DMA_CH8_CTRL_TRIG_BUSY_RESET  _u(0x0)
3220 #define DMA_CH8_CTRL_TRIG_BUSY_BITS   _u(0x01000000)
3221 #define DMA_CH8_CTRL_TRIG_BUSY_MSB    _u(24)
3222 #define DMA_CH8_CTRL_TRIG_BUSY_LSB    _u(24)
3223 #define DMA_CH8_CTRL_TRIG_BUSY_ACCESS "RO"
3224 // -----------------------------------------------------------------------------
3225 // Field       : DMA_CH8_CTRL_TRIG_SNIFF_EN
3226 // Description : If 1, this channel's data transfers are visible to the sniff
3227 //               hardware, and each transfer will advance the state of the
3228 //               checksum. This only applies if the sniff hardware is enabled,
3229 //               and has this channel selected.
3230 //
3231 //               This allows checksum to be enabled or disabled on a
3232 //               per-control- block basis.
3233 #define DMA_CH8_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
3234 #define DMA_CH8_CTRL_TRIG_SNIFF_EN_BITS   _u(0x00800000)
3235 #define DMA_CH8_CTRL_TRIG_SNIFF_EN_MSB    _u(23)
3236 #define DMA_CH8_CTRL_TRIG_SNIFF_EN_LSB    _u(23)
3237 #define DMA_CH8_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
3238 // -----------------------------------------------------------------------------
3239 // Field       : DMA_CH8_CTRL_TRIG_BSWAP
3240 // Description : Apply byte-swap transformation to DMA data.
3241 //               For byte data, this has no effect. For halfword data, the two
3242 //               bytes of each halfword are swapped. For word data, the four
3243 //               bytes of each word are swapped to reverse order.
3244 #define DMA_CH8_CTRL_TRIG_BSWAP_RESET  _u(0x0)
3245 #define DMA_CH8_CTRL_TRIG_BSWAP_BITS   _u(0x00400000)
3246 #define DMA_CH8_CTRL_TRIG_BSWAP_MSB    _u(22)
3247 #define DMA_CH8_CTRL_TRIG_BSWAP_LSB    _u(22)
3248 #define DMA_CH8_CTRL_TRIG_BSWAP_ACCESS "RW"
3249 // -----------------------------------------------------------------------------
3250 // Field       : DMA_CH8_CTRL_TRIG_IRQ_QUIET
3251 // Description : In QUIET mode, the channel does not generate IRQs at the end of
3252 //               every transfer block. Instead, an IRQ is raised when NULL is
3253 //               written to a trigger register, indicating the end of a control
3254 //               block chain.
3255 //
3256 //               This reduces the number of interrupts to be serviced by the CPU
3257 //               when transferring a DMA chain of many small control blocks.
3258 #define DMA_CH8_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
3259 #define DMA_CH8_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00200000)
3260 #define DMA_CH8_CTRL_TRIG_IRQ_QUIET_MSB    _u(21)
3261 #define DMA_CH8_CTRL_TRIG_IRQ_QUIET_LSB    _u(21)
3262 #define DMA_CH8_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
3263 // -----------------------------------------------------------------------------
3264 // Field       : DMA_CH8_CTRL_TRIG_TREQ_SEL
3265 // Description : Select a Transfer Request signal.
3266 //               The channel uses the transfer request signal to pace its data
3267 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
3268 //               or external (DREQ, a Data Request from the system).
3269 //               0x0 to 0x3a -> select DREQ n as TREQ
3270 //               0x3b -> Select Timer 0 as TREQ
3271 //               0x3c -> Select Timer 1 as TREQ
3272 //               0x3d -> Select Timer 2 as TREQ (Optional)
3273 //               0x3e -> Select Timer 3 as TREQ (Optional)
3274 //               0x3f -> Permanent request, for unpaced transfers.
3275 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_RESET           _u(0x00)
3276 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_BITS            _u(0x001f8000)
3277 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_MSB             _u(20)
3278 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_LSB             _u(15)
3279 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_ACCESS          "RW"
3280 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0    _u(0x3b)
3281 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1    _u(0x3c)
3282 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2    _u(0x3d)
3283 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3    _u(0x3e)
3284 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
3285 // -----------------------------------------------------------------------------
3286 // Field       : DMA_CH8_CTRL_TRIG_CHAIN_TO
3287 // Description : When this channel completes, it will trigger the channel
3288 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
3289 //               channel)_.
3290 #define DMA_CH8_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
3291 #define DMA_CH8_CTRL_TRIG_CHAIN_TO_BITS   _u(0x00007800)
3292 #define DMA_CH8_CTRL_TRIG_CHAIN_TO_MSB    _u(14)
3293 #define DMA_CH8_CTRL_TRIG_CHAIN_TO_LSB    _u(11)
3294 #define DMA_CH8_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
3295 // -----------------------------------------------------------------------------
3296 // Field       : DMA_CH8_CTRL_TRIG_RING_SEL
3297 // Description : Select whether RING_SIZE applies to read or write addresses.
3298 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
3299 //               boundary. If 1, write addresses are wrapped.
3300 #define DMA_CH8_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
3301 #define DMA_CH8_CTRL_TRIG_RING_SEL_BITS   _u(0x00000400)
3302 #define DMA_CH8_CTRL_TRIG_RING_SEL_MSB    _u(10)
3303 #define DMA_CH8_CTRL_TRIG_RING_SEL_LSB    _u(10)
3304 #define DMA_CH8_CTRL_TRIG_RING_SEL_ACCESS "RW"
3305 // -----------------------------------------------------------------------------
3306 // Field       : DMA_CH8_CTRL_TRIG_RING_SIZE
3307 // Description : Size of address wrap region. If 0, don't wrap. For values n >
3308 //               0, only the lower n bits of the address will change. This wraps
3309 //               the address on a (1 << n) byte boundary, facilitating access to
3310 //               naturally-aligned ring buffers.
3311 //
3312 //               Ring sizes between 2 and 32768 bytes are possible. This can
3313 //               apply to either read or write addresses, based on value of
3314 //               RING_SEL.
3315 //               0x0 -> RING_NONE
3316 #define DMA_CH8_CTRL_TRIG_RING_SIZE_RESET           _u(0x0)
3317 #define DMA_CH8_CTRL_TRIG_RING_SIZE_BITS            _u(0x000003c0)
3318 #define DMA_CH8_CTRL_TRIG_RING_SIZE_MSB             _u(9)
3319 #define DMA_CH8_CTRL_TRIG_RING_SIZE_LSB             _u(6)
3320 #define DMA_CH8_CTRL_TRIG_RING_SIZE_ACCESS          "RW"
3321 #define DMA_CH8_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
3322 // -----------------------------------------------------------------------------
3323 // Field       : DMA_CH8_CTRL_TRIG_INCR_WRITE
3324 // Description : If 1, the write address increments with each transfer. If 0,
3325 //               each write is directed to the same, initial address.
3326 //
3327 //               Generally this should be disabled for memory-to-peripheral
3328 //               transfers.
3329 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
3330 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000020)
3331 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_MSB    _u(5)
3332 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_LSB    _u(5)
3333 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
3334 // -----------------------------------------------------------------------------
3335 // Field       : DMA_CH8_CTRL_TRIG_INCR_READ
3336 // Description : If 1, the read address increments with each transfer. If 0,
3337 //               each read is directed to the same, initial address.
3338 //
3339 //               Generally this should be disabled for peripheral-to-memory
3340 //               transfers.
3341 #define DMA_CH8_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
3342 #define DMA_CH8_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
3343 #define DMA_CH8_CTRL_TRIG_INCR_READ_MSB    _u(4)
3344 #define DMA_CH8_CTRL_TRIG_INCR_READ_LSB    _u(4)
3345 #define DMA_CH8_CTRL_TRIG_INCR_READ_ACCESS "RW"
3346 // -----------------------------------------------------------------------------
3347 // Field       : DMA_CH8_CTRL_TRIG_DATA_SIZE
3348 // Description : Set the size of each bus transfer (byte/halfword/word).
3349 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
3350 //               with each transfer.
3351 //               0x0 -> SIZE_BYTE
3352 //               0x1 -> SIZE_HALFWORD
3353 //               0x2 -> SIZE_WORD
3354 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_RESET               _u(0x0)
3355 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_BITS                _u(0x0000000c)
3356 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_MSB                 _u(3)
3357 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_LSB                 _u(2)
3358 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_ACCESS              "RW"
3359 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE     _u(0x0)
3360 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
3361 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD     _u(0x2)
3362 // -----------------------------------------------------------------------------
3363 // Field       : DMA_CH8_CTRL_TRIG_HIGH_PRIORITY
3364 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
3365 //               scheduling: in each scheduling round, all high priority
3366 //               channels are considered first, and then only a single low
3367 //               priority channel, before returning to the high priority
3368 //               channels.
3369 //
3370 //               This only affects the order in which the DMA schedules
3371 //               channels. The DMA's bus priority is not changed. If the DMA is
3372 //               not saturated then a low priority channel will see no loss of
3373 //               throughput.
3374 #define DMA_CH8_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
3375 #define DMA_CH8_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
3376 #define DMA_CH8_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
3377 #define DMA_CH8_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
3378 #define DMA_CH8_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
3379 // -----------------------------------------------------------------------------
3380 // Field       : DMA_CH8_CTRL_TRIG_EN
3381 // Description : DMA Channel Enable.
3382 //               When 1, the channel will respond to triggering events, which
3383 //               will cause it to become BUSY and start transferring data. When
3384 //               0, the channel will ignore triggers, stop issuing transfers,
3385 //               and pause the current transfer sequence (i.e. BUSY will remain
3386 //               high if already high)
3387 #define DMA_CH8_CTRL_TRIG_EN_RESET  _u(0x0)
3388 #define DMA_CH8_CTRL_TRIG_EN_BITS   _u(0x00000001)
3389 #define DMA_CH8_CTRL_TRIG_EN_MSB    _u(0)
3390 #define DMA_CH8_CTRL_TRIG_EN_LSB    _u(0)
3391 #define DMA_CH8_CTRL_TRIG_EN_ACCESS "RW"
3392 // =============================================================================
3393 // Register    : DMA_CH8_AL1_CTRL
3394 // Description : Alias for channel 8 CTRL register
3395 #define DMA_CH8_AL1_CTRL_OFFSET _u(0x00000210)
3396 #define DMA_CH8_AL1_CTRL_BITS   _u(0xffffffff)
3397 #define DMA_CH8_AL1_CTRL_RESET  "-"
3398 #define DMA_CH8_AL1_CTRL_MSB    _u(31)
3399 #define DMA_CH8_AL1_CTRL_LSB    _u(0)
3400 #define DMA_CH8_AL1_CTRL_ACCESS "RW"
3401 // =============================================================================
3402 // Register    : DMA_CH8_AL1_READ_ADDR
3403 // Description : Alias for channel 8 READ_ADDR register
3404 #define DMA_CH8_AL1_READ_ADDR_OFFSET _u(0x00000214)
3405 #define DMA_CH8_AL1_READ_ADDR_BITS   _u(0xffffffff)
3406 #define DMA_CH8_AL1_READ_ADDR_RESET  "-"
3407 #define DMA_CH8_AL1_READ_ADDR_MSB    _u(31)
3408 #define DMA_CH8_AL1_READ_ADDR_LSB    _u(0)
3409 #define DMA_CH8_AL1_READ_ADDR_ACCESS "RW"
3410 // =============================================================================
3411 // Register    : DMA_CH8_AL1_WRITE_ADDR
3412 // Description : Alias for channel 8 WRITE_ADDR register
3413 #define DMA_CH8_AL1_WRITE_ADDR_OFFSET _u(0x00000218)
3414 #define DMA_CH8_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
3415 #define DMA_CH8_AL1_WRITE_ADDR_RESET  "-"
3416 #define DMA_CH8_AL1_WRITE_ADDR_MSB    _u(31)
3417 #define DMA_CH8_AL1_WRITE_ADDR_LSB    _u(0)
3418 #define DMA_CH8_AL1_WRITE_ADDR_ACCESS "RW"
3419 // =============================================================================
3420 // Register    : DMA_CH8_AL1_TRANS_COUNT_TRIG
3421 // Description : Alias for channel 8 TRANS_COUNT register
3422 //               This is a trigger register (0xc). Writing a nonzero value will
3423 //               reload the channel counter and start the channel.
3424 #define DMA_CH8_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000021c)
3425 #define DMA_CH8_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
3426 #define DMA_CH8_AL1_TRANS_COUNT_TRIG_RESET  "-"
3427 #define DMA_CH8_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
3428 #define DMA_CH8_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
3429 #define DMA_CH8_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
3430 // =============================================================================
3431 // Register    : DMA_CH8_AL2_CTRL
3432 // Description : Alias for channel 8 CTRL register
3433 #define DMA_CH8_AL2_CTRL_OFFSET _u(0x00000220)
3434 #define DMA_CH8_AL2_CTRL_BITS   _u(0xffffffff)
3435 #define DMA_CH8_AL2_CTRL_RESET  "-"
3436 #define DMA_CH8_AL2_CTRL_MSB    _u(31)
3437 #define DMA_CH8_AL2_CTRL_LSB    _u(0)
3438 #define DMA_CH8_AL2_CTRL_ACCESS "RW"
3439 // =============================================================================
3440 // Register    : DMA_CH8_AL2_TRANS_COUNT
3441 // Description : Alias for channel 8 TRANS_COUNT register
3442 #define DMA_CH8_AL2_TRANS_COUNT_OFFSET _u(0x00000224)
3443 #define DMA_CH8_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
3444 #define DMA_CH8_AL2_TRANS_COUNT_RESET  "-"
3445 #define DMA_CH8_AL2_TRANS_COUNT_MSB    _u(31)
3446 #define DMA_CH8_AL2_TRANS_COUNT_LSB    _u(0)
3447 #define DMA_CH8_AL2_TRANS_COUNT_ACCESS "RW"
3448 // =============================================================================
3449 // Register    : DMA_CH8_AL2_READ_ADDR
3450 // Description : Alias for channel 8 READ_ADDR register
3451 #define DMA_CH8_AL2_READ_ADDR_OFFSET _u(0x00000228)
3452 #define DMA_CH8_AL2_READ_ADDR_BITS   _u(0xffffffff)
3453 #define DMA_CH8_AL2_READ_ADDR_RESET  "-"
3454 #define DMA_CH8_AL2_READ_ADDR_MSB    _u(31)
3455 #define DMA_CH8_AL2_READ_ADDR_LSB    _u(0)
3456 #define DMA_CH8_AL2_READ_ADDR_ACCESS "RW"
3457 // =============================================================================
3458 // Register    : DMA_CH8_AL2_WRITE_ADDR_TRIG
3459 // Description : Alias for channel 8 WRITE_ADDR register
3460 //               This is a trigger register (0xc). Writing a nonzero value will
3461 //               reload the channel counter and start the channel.
3462 #define DMA_CH8_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000022c)
3463 #define DMA_CH8_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
3464 #define DMA_CH8_AL2_WRITE_ADDR_TRIG_RESET  "-"
3465 #define DMA_CH8_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
3466 #define DMA_CH8_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
3467 #define DMA_CH8_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
3468 // =============================================================================
3469 // Register    : DMA_CH8_AL3_CTRL
3470 // Description : Alias for channel 8 CTRL register
3471 #define DMA_CH8_AL3_CTRL_OFFSET _u(0x00000230)
3472 #define DMA_CH8_AL3_CTRL_BITS   _u(0xffffffff)
3473 #define DMA_CH8_AL3_CTRL_RESET  "-"
3474 #define DMA_CH8_AL3_CTRL_MSB    _u(31)
3475 #define DMA_CH8_AL3_CTRL_LSB    _u(0)
3476 #define DMA_CH8_AL3_CTRL_ACCESS "RW"
3477 // =============================================================================
3478 // Register    : DMA_CH8_AL3_WRITE_ADDR
3479 // Description : Alias for channel 8 WRITE_ADDR register
3480 #define DMA_CH8_AL3_WRITE_ADDR_OFFSET _u(0x00000234)
3481 #define DMA_CH8_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
3482 #define DMA_CH8_AL3_WRITE_ADDR_RESET  "-"
3483 #define DMA_CH8_AL3_WRITE_ADDR_MSB    _u(31)
3484 #define DMA_CH8_AL3_WRITE_ADDR_LSB    _u(0)
3485 #define DMA_CH8_AL3_WRITE_ADDR_ACCESS "RW"
3486 // =============================================================================
3487 // Register    : DMA_CH8_AL3_TRANS_COUNT
3488 // Description : Alias for channel 8 TRANS_COUNT register
3489 #define DMA_CH8_AL3_TRANS_COUNT_OFFSET _u(0x00000238)
3490 #define DMA_CH8_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
3491 #define DMA_CH8_AL3_TRANS_COUNT_RESET  "-"
3492 #define DMA_CH8_AL3_TRANS_COUNT_MSB    _u(31)
3493 #define DMA_CH8_AL3_TRANS_COUNT_LSB    _u(0)
3494 #define DMA_CH8_AL3_TRANS_COUNT_ACCESS "RW"
3495 // =============================================================================
3496 // Register    : DMA_CH8_AL3_READ_ADDR_TRIG
3497 // Description : Alias for channel 8 READ_ADDR register
3498 //               This is a trigger register (0xc). Writing a nonzero value will
3499 //               reload the channel counter and start the channel.
3500 #define DMA_CH8_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000023c)
3501 #define DMA_CH8_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
3502 #define DMA_CH8_AL3_READ_ADDR_TRIG_RESET  "-"
3503 #define DMA_CH8_AL3_READ_ADDR_TRIG_MSB    _u(31)
3504 #define DMA_CH8_AL3_READ_ADDR_TRIG_LSB    _u(0)
3505 #define DMA_CH8_AL3_READ_ADDR_TRIG_ACCESS "RW"
3506 // =============================================================================
3507 // Register    : DMA_CH9_READ_ADDR
3508 // Description : DMA Channel 9 Read Address pointer
3509 //               This register updates automatically each time a read completes.
3510 //               The current value is the next address to be read by this
3511 //               channel.
3512 #define DMA_CH9_READ_ADDR_OFFSET _u(0x00000240)
3513 #define DMA_CH9_READ_ADDR_BITS   _u(0xffffffff)
3514 #define DMA_CH9_READ_ADDR_RESET  _u(0x00000000)
3515 #define DMA_CH9_READ_ADDR_MSB    _u(31)
3516 #define DMA_CH9_READ_ADDR_LSB    _u(0)
3517 #define DMA_CH9_READ_ADDR_ACCESS "RW"
3518 // =============================================================================
3519 // Register    : DMA_CH9_WRITE_ADDR
3520 // Description : DMA Channel 9 Write Address pointer
3521 //               This register updates automatically each time a write
3522 //               completes. The current value is the next address to be written
3523 //               by this channel.
3524 #define DMA_CH9_WRITE_ADDR_OFFSET _u(0x00000244)
3525 #define DMA_CH9_WRITE_ADDR_BITS   _u(0xffffffff)
3526 #define DMA_CH9_WRITE_ADDR_RESET  _u(0x00000000)
3527 #define DMA_CH9_WRITE_ADDR_MSB    _u(31)
3528 #define DMA_CH9_WRITE_ADDR_LSB    _u(0)
3529 #define DMA_CH9_WRITE_ADDR_ACCESS "RW"
3530 // =============================================================================
3531 // Register    : DMA_CH9_TRANS_COUNT
3532 // Description : DMA Channel 9 Transfer Count
3533 //               Program the number of bus transfers a channel will perform
3534 //               before halting. Note that, if transfers are larger than one
3535 //               byte in size, this is not equal to the number of bytes
3536 //               transferred (see CTRL_DATA_SIZE).
3537 //
3538 //               When the channel is active, reading this register shows the
3539 //               number of transfers remaining, updating automatically each time
3540 //               a write transfer completes.
3541 //
3542 //               Writing this register sets the RELOAD value for the transfer
3543 //               counter. Each time this channel is triggered, the RELOAD value
3544 //               is copied into the live transfer counter. The channel can be
3545 //               started multiple times, and will perform the same number of
3546 //               transfers each time, as programmed by most recent write.
3547 //
3548 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
3549 //               is used as a trigger, the written value is used immediately as
3550 //               the length of the new transfer sequence, as well as being
3551 //               written to RELOAD.
3552 #define DMA_CH9_TRANS_COUNT_OFFSET _u(0x00000248)
3553 #define DMA_CH9_TRANS_COUNT_BITS   _u(0xffffffff)
3554 #define DMA_CH9_TRANS_COUNT_RESET  _u(0x00000000)
3555 #define DMA_CH9_TRANS_COUNT_MSB    _u(31)
3556 #define DMA_CH9_TRANS_COUNT_LSB    _u(0)
3557 #define DMA_CH9_TRANS_COUNT_ACCESS "RW"
3558 // =============================================================================
3559 // Register    : DMA_CH9_CTRL_TRIG
3560 // Description : DMA Channel 9 Control and Status
3561 #define DMA_CH9_CTRL_TRIG_OFFSET _u(0x0000024c)
3562 #define DMA_CH9_CTRL_TRIG_BITS   _u(0xe1ffffff)
3563 #define DMA_CH9_CTRL_TRIG_RESET  _u(0x00000000)
3564 // -----------------------------------------------------------------------------
3565 // Field       : DMA_CH9_CTRL_TRIG_AHB_ERROR
3566 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
3567 //               halts when it encounters any bus error, and always raises its
3568 //               channel IRQ flag.
3569 #define DMA_CH9_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
3570 #define DMA_CH9_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
3571 #define DMA_CH9_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
3572 #define DMA_CH9_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
3573 #define DMA_CH9_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
3574 // -----------------------------------------------------------------------------
3575 // Field       : DMA_CH9_CTRL_TRIG_READ_ERROR
3576 // Description : If 1, the channel received a read bus error. Write one to
3577 //               clear.
3578 //               READ_ADDR shows the approximate address where the bus error was
3579 //               encountered (will not be earlier, or more than 3 transfers
3580 //               later)
3581 #define DMA_CH9_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
3582 #define DMA_CH9_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
3583 #define DMA_CH9_CTRL_TRIG_READ_ERROR_MSB    _u(30)
3584 #define DMA_CH9_CTRL_TRIG_READ_ERROR_LSB    _u(30)
3585 #define DMA_CH9_CTRL_TRIG_READ_ERROR_ACCESS "WC"
3586 // -----------------------------------------------------------------------------
3587 // Field       : DMA_CH9_CTRL_TRIG_WRITE_ERROR
3588 // Description : If 1, the channel received a write bus error. Write one to
3589 //               clear.
3590 //               WRITE_ADDR shows the approximate address where the bus error
3591 //               was encountered (will not be earlier, or more than 5 transfers
3592 //               later)
3593 #define DMA_CH9_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
3594 #define DMA_CH9_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
3595 #define DMA_CH9_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
3596 #define DMA_CH9_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
3597 #define DMA_CH9_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
3598 // -----------------------------------------------------------------------------
3599 // Field       : DMA_CH9_CTRL_TRIG_BUSY
3600 // Description : This flag goes high when the channel starts a new transfer
3601 //               sequence, and low when the last transfer of that sequence
3602 //               completes. Clearing EN while BUSY is high pauses the channel,
3603 //               and BUSY will stay high while paused.
3604 //
3605 //               To terminate a sequence early (and clear the BUSY flag), see
3606 //               CHAN_ABORT.
3607 #define DMA_CH9_CTRL_TRIG_BUSY_RESET  _u(0x0)
3608 #define DMA_CH9_CTRL_TRIG_BUSY_BITS   _u(0x01000000)
3609 #define DMA_CH9_CTRL_TRIG_BUSY_MSB    _u(24)
3610 #define DMA_CH9_CTRL_TRIG_BUSY_LSB    _u(24)
3611 #define DMA_CH9_CTRL_TRIG_BUSY_ACCESS "RO"
3612 // -----------------------------------------------------------------------------
3613 // Field       : DMA_CH9_CTRL_TRIG_SNIFF_EN
3614 // Description : If 1, this channel's data transfers are visible to the sniff
3615 //               hardware, and each transfer will advance the state of the
3616 //               checksum. This only applies if the sniff hardware is enabled,
3617 //               and has this channel selected.
3618 //
3619 //               This allows checksum to be enabled or disabled on a
3620 //               per-control- block basis.
3621 #define DMA_CH9_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
3622 #define DMA_CH9_CTRL_TRIG_SNIFF_EN_BITS   _u(0x00800000)
3623 #define DMA_CH9_CTRL_TRIG_SNIFF_EN_MSB    _u(23)
3624 #define DMA_CH9_CTRL_TRIG_SNIFF_EN_LSB    _u(23)
3625 #define DMA_CH9_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
3626 // -----------------------------------------------------------------------------
3627 // Field       : DMA_CH9_CTRL_TRIG_BSWAP
3628 // Description : Apply byte-swap transformation to DMA data.
3629 //               For byte data, this has no effect. For halfword data, the two
3630 //               bytes of each halfword are swapped. For word data, the four
3631 //               bytes of each word are swapped to reverse order.
3632 #define DMA_CH9_CTRL_TRIG_BSWAP_RESET  _u(0x0)
3633 #define DMA_CH9_CTRL_TRIG_BSWAP_BITS   _u(0x00400000)
3634 #define DMA_CH9_CTRL_TRIG_BSWAP_MSB    _u(22)
3635 #define DMA_CH9_CTRL_TRIG_BSWAP_LSB    _u(22)
3636 #define DMA_CH9_CTRL_TRIG_BSWAP_ACCESS "RW"
3637 // -----------------------------------------------------------------------------
3638 // Field       : DMA_CH9_CTRL_TRIG_IRQ_QUIET
3639 // Description : In QUIET mode, the channel does not generate IRQs at the end of
3640 //               every transfer block. Instead, an IRQ is raised when NULL is
3641 //               written to a trigger register, indicating the end of a control
3642 //               block chain.
3643 //
3644 //               This reduces the number of interrupts to be serviced by the CPU
3645 //               when transferring a DMA chain of many small control blocks.
3646 #define DMA_CH9_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
3647 #define DMA_CH9_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00200000)
3648 #define DMA_CH9_CTRL_TRIG_IRQ_QUIET_MSB    _u(21)
3649 #define DMA_CH9_CTRL_TRIG_IRQ_QUIET_LSB    _u(21)
3650 #define DMA_CH9_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
3651 // -----------------------------------------------------------------------------
3652 // Field       : DMA_CH9_CTRL_TRIG_TREQ_SEL
3653 // Description : Select a Transfer Request signal.
3654 //               The channel uses the transfer request signal to pace its data
3655 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
3656 //               or external (DREQ, a Data Request from the system).
3657 //               0x0 to 0x3a -> select DREQ n as TREQ
3658 //               0x3b -> Select Timer 0 as TREQ
3659 //               0x3c -> Select Timer 1 as TREQ
3660 //               0x3d -> Select Timer 2 as TREQ (Optional)
3661 //               0x3e -> Select Timer 3 as TREQ (Optional)
3662 //               0x3f -> Permanent request, for unpaced transfers.
3663 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_RESET           _u(0x00)
3664 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_BITS            _u(0x001f8000)
3665 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_MSB             _u(20)
3666 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_LSB             _u(15)
3667 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_ACCESS          "RW"
3668 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0    _u(0x3b)
3669 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1    _u(0x3c)
3670 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2    _u(0x3d)
3671 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3    _u(0x3e)
3672 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
3673 // -----------------------------------------------------------------------------
3674 // Field       : DMA_CH9_CTRL_TRIG_CHAIN_TO
3675 // Description : When this channel completes, it will trigger the channel
3676 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
3677 //               channel)_.
3678 #define DMA_CH9_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
3679 #define DMA_CH9_CTRL_TRIG_CHAIN_TO_BITS   _u(0x00007800)
3680 #define DMA_CH9_CTRL_TRIG_CHAIN_TO_MSB    _u(14)
3681 #define DMA_CH9_CTRL_TRIG_CHAIN_TO_LSB    _u(11)
3682 #define DMA_CH9_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
3683 // -----------------------------------------------------------------------------
3684 // Field       : DMA_CH9_CTRL_TRIG_RING_SEL
3685 // Description : Select whether RING_SIZE applies to read or write addresses.
3686 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
3687 //               boundary. If 1, write addresses are wrapped.
3688 #define DMA_CH9_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
3689 #define DMA_CH9_CTRL_TRIG_RING_SEL_BITS   _u(0x00000400)
3690 #define DMA_CH9_CTRL_TRIG_RING_SEL_MSB    _u(10)
3691 #define DMA_CH9_CTRL_TRIG_RING_SEL_LSB    _u(10)
3692 #define DMA_CH9_CTRL_TRIG_RING_SEL_ACCESS "RW"
3693 // -----------------------------------------------------------------------------
3694 // Field       : DMA_CH9_CTRL_TRIG_RING_SIZE
3695 // Description : Size of address wrap region. If 0, don't wrap. For values n >
3696 //               0, only the lower n bits of the address will change. This wraps
3697 //               the address on a (1 << n) byte boundary, facilitating access to
3698 //               naturally-aligned ring buffers.
3699 //
3700 //               Ring sizes between 2 and 32768 bytes are possible. This can
3701 //               apply to either read or write addresses, based on value of
3702 //               RING_SEL.
3703 //               0x0 -> RING_NONE
3704 #define DMA_CH9_CTRL_TRIG_RING_SIZE_RESET           _u(0x0)
3705 #define DMA_CH9_CTRL_TRIG_RING_SIZE_BITS            _u(0x000003c0)
3706 #define DMA_CH9_CTRL_TRIG_RING_SIZE_MSB             _u(9)
3707 #define DMA_CH9_CTRL_TRIG_RING_SIZE_LSB             _u(6)
3708 #define DMA_CH9_CTRL_TRIG_RING_SIZE_ACCESS          "RW"
3709 #define DMA_CH9_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
3710 // -----------------------------------------------------------------------------
3711 // Field       : DMA_CH9_CTRL_TRIG_INCR_WRITE
3712 // Description : If 1, the write address increments with each transfer. If 0,
3713 //               each write is directed to the same, initial address.
3714 //
3715 //               Generally this should be disabled for memory-to-peripheral
3716 //               transfers.
3717 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
3718 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000020)
3719 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_MSB    _u(5)
3720 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_LSB    _u(5)
3721 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
3722 // -----------------------------------------------------------------------------
3723 // Field       : DMA_CH9_CTRL_TRIG_INCR_READ
3724 // Description : If 1, the read address increments with each transfer. If 0,
3725 //               each read is directed to the same, initial address.
3726 //
3727 //               Generally this should be disabled for peripheral-to-memory
3728 //               transfers.
3729 #define DMA_CH9_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
3730 #define DMA_CH9_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
3731 #define DMA_CH9_CTRL_TRIG_INCR_READ_MSB    _u(4)
3732 #define DMA_CH9_CTRL_TRIG_INCR_READ_LSB    _u(4)
3733 #define DMA_CH9_CTRL_TRIG_INCR_READ_ACCESS "RW"
3734 // -----------------------------------------------------------------------------
3735 // Field       : DMA_CH9_CTRL_TRIG_DATA_SIZE
3736 // Description : Set the size of each bus transfer (byte/halfword/word).
3737 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
3738 //               with each transfer.
3739 //               0x0 -> SIZE_BYTE
3740 //               0x1 -> SIZE_HALFWORD
3741 //               0x2 -> SIZE_WORD
3742 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_RESET               _u(0x0)
3743 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_BITS                _u(0x0000000c)
3744 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_MSB                 _u(3)
3745 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_LSB                 _u(2)
3746 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_ACCESS              "RW"
3747 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE     _u(0x0)
3748 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
3749 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD     _u(0x2)
3750 // -----------------------------------------------------------------------------
3751 // Field       : DMA_CH9_CTRL_TRIG_HIGH_PRIORITY
3752 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
3753 //               scheduling: in each scheduling round, all high priority
3754 //               channels are considered first, and then only a single low
3755 //               priority channel, before returning to the high priority
3756 //               channels.
3757 //
3758 //               This only affects the order in which the DMA schedules
3759 //               channels. The DMA's bus priority is not changed. If the DMA is
3760 //               not saturated then a low priority channel will see no loss of
3761 //               throughput.
3762 #define DMA_CH9_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
3763 #define DMA_CH9_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
3764 #define DMA_CH9_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
3765 #define DMA_CH9_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
3766 #define DMA_CH9_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
3767 // -----------------------------------------------------------------------------
3768 // Field       : DMA_CH9_CTRL_TRIG_EN
3769 // Description : DMA Channel Enable.
3770 //               When 1, the channel will respond to triggering events, which
3771 //               will cause it to become BUSY and start transferring data. When
3772 //               0, the channel will ignore triggers, stop issuing transfers,
3773 //               and pause the current transfer sequence (i.e. BUSY will remain
3774 //               high if already high)
3775 #define DMA_CH9_CTRL_TRIG_EN_RESET  _u(0x0)
3776 #define DMA_CH9_CTRL_TRIG_EN_BITS   _u(0x00000001)
3777 #define DMA_CH9_CTRL_TRIG_EN_MSB    _u(0)
3778 #define DMA_CH9_CTRL_TRIG_EN_LSB    _u(0)
3779 #define DMA_CH9_CTRL_TRIG_EN_ACCESS "RW"
3780 // =============================================================================
3781 // Register    : DMA_CH9_AL1_CTRL
3782 // Description : Alias for channel 9 CTRL register
3783 #define DMA_CH9_AL1_CTRL_OFFSET _u(0x00000250)
3784 #define DMA_CH9_AL1_CTRL_BITS   _u(0xffffffff)
3785 #define DMA_CH9_AL1_CTRL_RESET  "-"
3786 #define DMA_CH9_AL1_CTRL_MSB    _u(31)
3787 #define DMA_CH9_AL1_CTRL_LSB    _u(0)
3788 #define DMA_CH9_AL1_CTRL_ACCESS "RW"
3789 // =============================================================================
3790 // Register    : DMA_CH9_AL1_READ_ADDR
3791 // Description : Alias for channel 9 READ_ADDR register
3792 #define DMA_CH9_AL1_READ_ADDR_OFFSET _u(0x00000254)
3793 #define DMA_CH9_AL1_READ_ADDR_BITS   _u(0xffffffff)
3794 #define DMA_CH9_AL1_READ_ADDR_RESET  "-"
3795 #define DMA_CH9_AL1_READ_ADDR_MSB    _u(31)
3796 #define DMA_CH9_AL1_READ_ADDR_LSB    _u(0)
3797 #define DMA_CH9_AL1_READ_ADDR_ACCESS "RW"
3798 // =============================================================================
3799 // Register    : DMA_CH9_AL1_WRITE_ADDR
3800 // Description : Alias for channel 9 WRITE_ADDR register
3801 #define DMA_CH9_AL1_WRITE_ADDR_OFFSET _u(0x00000258)
3802 #define DMA_CH9_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
3803 #define DMA_CH9_AL1_WRITE_ADDR_RESET  "-"
3804 #define DMA_CH9_AL1_WRITE_ADDR_MSB    _u(31)
3805 #define DMA_CH9_AL1_WRITE_ADDR_LSB    _u(0)
3806 #define DMA_CH9_AL1_WRITE_ADDR_ACCESS "RW"
3807 // =============================================================================
3808 // Register    : DMA_CH9_AL1_TRANS_COUNT_TRIG
3809 // Description : Alias for channel 9 TRANS_COUNT register
3810 //               This is a trigger register (0xc). Writing a nonzero value will
3811 //               reload the channel counter and start the channel.
3812 #define DMA_CH9_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000025c)
3813 #define DMA_CH9_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
3814 #define DMA_CH9_AL1_TRANS_COUNT_TRIG_RESET  "-"
3815 #define DMA_CH9_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
3816 #define DMA_CH9_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
3817 #define DMA_CH9_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
3818 // =============================================================================
3819 // Register    : DMA_CH9_AL2_CTRL
3820 // Description : Alias for channel 9 CTRL register
3821 #define DMA_CH9_AL2_CTRL_OFFSET _u(0x00000260)
3822 #define DMA_CH9_AL2_CTRL_BITS   _u(0xffffffff)
3823 #define DMA_CH9_AL2_CTRL_RESET  "-"
3824 #define DMA_CH9_AL2_CTRL_MSB    _u(31)
3825 #define DMA_CH9_AL2_CTRL_LSB    _u(0)
3826 #define DMA_CH9_AL2_CTRL_ACCESS "RW"
3827 // =============================================================================
3828 // Register    : DMA_CH9_AL2_TRANS_COUNT
3829 // Description : Alias for channel 9 TRANS_COUNT register
3830 #define DMA_CH9_AL2_TRANS_COUNT_OFFSET _u(0x00000264)
3831 #define DMA_CH9_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
3832 #define DMA_CH9_AL2_TRANS_COUNT_RESET  "-"
3833 #define DMA_CH9_AL2_TRANS_COUNT_MSB    _u(31)
3834 #define DMA_CH9_AL2_TRANS_COUNT_LSB    _u(0)
3835 #define DMA_CH9_AL2_TRANS_COUNT_ACCESS "RW"
3836 // =============================================================================
3837 // Register    : DMA_CH9_AL2_READ_ADDR
3838 // Description : Alias for channel 9 READ_ADDR register
3839 #define DMA_CH9_AL2_READ_ADDR_OFFSET _u(0x00000268)
3840 #define DMA_CH9_AL2_READ_ADDR_BITS   _u(0xffffffff)
3841 #define DMA_CH9_AL2_READ_ADDR_RESET  "-"
3842 #define DMA_CH9_AL2_READ_ADDR_MSB    _u(31)
3843 #define DMA_CH9_AL2_READ_ADDR_LSB    _u(0)
3844 #define DMA_CH9_AL2_READ_ADDR_ACCESS "RW"
3845 // =============================================================================
3846 // Register    : DMA_CH9_AL2_WRITE_ADDR_TRIG
3847 // Description : Alias for channel 9 WRITE_ADDR register
3848 //               This is a trigger register (0xc). Writing a nonzero value will
3849 //               reload the channel counter and start the channel.
3850 #define DMA_CH9_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000026c)
3851 #define DMA_CH9_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
3852 #define DMA_CH9_AL2_WRITE_ADDR_TRIG_RESET  "-"
3853 #define DMA_CH9_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
3854 #define DMA_CH9_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
3855 #define DMA_CH9_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
3856 // =============================================================================
3857 // Register    : DMA_CH9_AL3_CTRL
3858 // Description : Alias for channel 9 CTRL register
3859 #define DMA_CH9_AL3_CTRL_OFFSET _u(0x00000270)
3860 #define DMA_CH9_AL3_CTRL_BITS   _u(0xffffffff)
3861 #define DMA_CH9_AL3_CTRL_RESET  "-"
3862 #define DMA_CH9_AL3_CTRL_MSB    _u(31)
3863 #define DMA_CH9_AL3_CTRL_LSB    _u(0)
3864 #define DMA_CH9_AL3_CTRL_ACCESS "RW"
3865 // =============================================================================
3866 // Register    : DMA_CH9_AL3_WRITE_ADDR
3867 // Description : Alias for channel 9 WRITE_ADDR register
3868 #define DMA_CH9_AL3_WRITE_ADDR_OFFSET _u(0x00000274)
3869 #define DMA_CH9_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
3870 #define DMA_CH9_AL3_WRITE_ADDR_RESET  "-"
3871 #define DMA_CH9_AL3_WRITE_ADDR_MSB    _u(31)
3872 #define DMA_CH9_AL3_WRITE_ADDR_LSB    _u(0)
3873 #define DMA_CH9_AL3_WRITE_ADDR_ACCESS "RW"
3874 // =============================================================================
3875 // Register    : DMA_CH9_AL3_TRANS_COUNT
3876 // Description : Alias for channel 9 TRANS_COUNT register
3877 #define DMA_CH9_AL3_TRANS_COUNT_OFFSET _u(0x00000278)
3878 #define DMA_CH9_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
3879 #define DMA_CH9_AL3_TRANS_COUNT_RESET  "-"
3880 #define DMA_CH9_AL3_TRANS_COUNT_MSB    _u(31)
3881 #define DMA_CH9_AL3_TRANS_COUNT_LSB    _u(0)
3882 #define DMA_CH9_AL3_TRANS_COUNT_ACCESS "RW"
3883 // =============================================================================
3884 // Register    : DMA_CH9_AL3_READ_ADDR_TRIG
3885 // Description : Alias for channel 9 READ_ADDR register
3886 //               This is a trigger register (0xc). Writing a nonzero value will
3887 //               reload the channel counter and start the channel.
3888 #define DMA_CH9_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000027c)
3889 #define DMA_CH9_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
3890 #define DMA_CH9_AL3_READ_ADDR_TRIG_RESET  "-"
3891 #define DMA_CH9_AL3_READ_ADDR_TRIG_MSB    _u(31)
3892 #define DMA_CH9_AL3_READ_ADDR_TRIG_LSB    _u(0)
3893 #define DMA_CH9_AL3_READ_ADDR_TRIG_ACCESS "RW"
3894 // =============================================================================
3895 // Register    : DMA_CH10_READ_ADDR
3896 // Description : DMA Channel 10 Read Address pointer
3897 //               This register updates automatically each time a read completes.
3898 //               The current value is the next address to be read by this
3899 //               channel.
3900 #define DMA_CH10_READ_ADDR_OFFSET _u(0x00000280)
3901 #define DMA_CH10_READ_ADDR_BITS   _u(0xffffffff)
3902 #define DMA_CH10_READ_ADDR_RESET  _u(0x00000000)
3903 #define DMA_CH10_READ_ADDR_MSB    _u(31)
3904 #define DMA_CH10_READ_ADDR_LSB    _u(0)
3905 #define DMA_CH10_READ_ADDR_ACCESS "RW"
3906 // =============================================================================
3907 // Register    : DMA_CH10_WRITE_ADDR
3908 // Description : DMA Channel 10 Write Address pointer
3909 //               This register updates automatically each time a write
3910 //               completes. The current value is the next address to be written
3911 //               by this channel.
3912 #define DMA_CH10_WRITE_ADDR_OFFSET _u(0x00000284)
3913 #define DMA_CH10_WRITE_ADDR_BITS   _u(0xffffffff)
3914 #define DMA_CH10_WRITE_ADDR_RESET  _u(0x00000000)
3915 #define DMA_CH10_WRITE_ADDR_MSB    _u(31)
3916 #define DMA_CH10_WRITE_ADDR_LSB    _u(0)
3917 #define DMA_CH10_WRITE_ADDR_ACCESS "RW"
3918 // =============================================================================
3919 // Register    : DMA_CH10_TRANS_COUNT
3920 // Description : DMA Channel 10 Transfer Count
3921 //               Program the number of bus transfers a channel will perform
3922 //               before halting. Note that, if transfers are larger than one
3923 //               byte in size, this is not equal to the number of bytes
3924 //               transferred (see CTRL_DATA_SIZE).
3925 //
3926 //               When the channel is active, reading this register shows the
3927 //               number of transfers remaining, updating automatically each time
3928 //               a write transfer completes.
3929 //
3930 //               Writing this register sets the RELOAD value for the transfer
3931 //               counter. Each time this channel is triggered, the RELOAD value
3932 //               is copied into the live transfer counter. The channel can be
3933 //               started multiple times, and will perform the same number of
3934 //               transfers each time, as programmed by most recent write.
3935 //
3936 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
3937 //               is used as a trigger, the written value is used immediately as
3938 //               the length of the new transfer sequence, as well as being
3939 //               written to RELOAD.
3940 #define DMA_CH10_TRANS_COUNT_OFFSET _u(0x00000288)
3941 #define DMA_CH10_TRANS_COUNT_BITS   _u(0xffffffff)
3942 #define DMA_CH10_TRANS_COUNT_RESET  _u(0x00000000)
3943 #define DMA_CH10_TRANS_COUNT_MSB    _u(31)
3944 #define DMA_CH10_TRANS_COUNT_LSB    _u(0)
3945 #define DMA_CH10_TRANS_COUNT_ACCESS "RW"
3946 // =============================================================================
3947 // Register    : DMA_CH10_CTRL_TRIG
3948 // Description : DMA Channel 10 Control and Status
3949 #define DMA_CH10_CTRL_TRIG_OFFSET _u(0x0000028c)
3950 #define DMA_CH10_CTRL_TRIG_BITS   _u(0xe1ffffff)
3951 #define DMA_CH10_CTRL_TRIG_RESET  _u(0x00000000)
3952 // -----------------------------------------------------------------------------
3953 // Field       : DMA_CH10_CTRL_TRIG_AHB_ERROR
3954 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
3955 //               halts when it encounters any bus error, and always raises its
3956 //               channel IRQ flag.
3957 #define DMA_CH10_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
3958 #define DMA_CH10_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
3959 #define DMA_CH10_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
3960 #define DMA_CH10_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
3961 #define DMA_CH10_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
3962 // -----------------------------------------------------------------------------
3963 // Field       : DMA_CH10_CTRL_TRIG_READ_ERROR
3964 // Description : If 1, the channel received a read bus error. Write one to
3965 //               clear.
3966 //               READ_ADDR shows the approximate address where the bus error was
3967 //               encountered (will not be earlier, or more than 3 transfers
3968 //               later)
3969 #define DMA_CH10_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
3970 #define DMA_CH10_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
3971 #define DMA_CH10_CTRL_TRIG_READ_ERROR_MSB    _u(30)
3972 #define DMA_CH10_CTRL_TRIG_READ_ERROR_LSB    _u(30)
3973 #define DMA_CH10_CTRL_TRIG_READ_ERROR_ACCESS "WC"
3974 // -----------------------------------------------------------------------------
3975 // Field       : DMA_CH10_CTRL_TRIG_WRITE_ERROR
3976 // Description : If 1, the channel received a write bus error. Write one to
3977 //               clear.
3978 //               WRITE_ADDR shows the approximate address where the bus error
3979 //               was encountered (will not be earlier, or more than 5 transfers
3980 //               later)
3981 #define DMA_CH10_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
3982 #define DMA_CH10_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
3983 #define DMA_CH10_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
3984 #define DMA_CH10_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
3985 #define DMA_CH10_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
3986 // -----------------------------------------------------------------------------
3987 // Field       : DMA_CH10_CTRL_TRIG_BUSY
3988 // Description : This flag goes high when the channel starts a new transfer
3989 //               sequence, and low when the last transfer of that sequence
3990 //               completes. Clearing EN while BUSY is high pauses the channel,
3991 //               and BUSY will stay high while paused.
3992 //
3993 //               To terminate a sequence early (and clear the BUSY flag), see
3994 //               CHAN_ABORT.
3995 #define DMA_CH10_CTRL_TRIG_BUSY_RESET  _u(0x0)
3996 #define DMA_CH10_CTRL_TRIG_BUSY_BITS   _u(0x01000000)
3997 #define DMA_CH10_CTRL_TRIG_BUSY_MSB    _u(24)
3998 #define DMA_CH10_CTRL_TRIG_BUSY_LSB    _u(24)
3999 #define DMA_CH10_CTRL_TRIG_BUSY_ACCESS "RO"
4000 // -----------------------------------------------------------------------------
4001 // Field       : DMA_CH10_CTRL_TRIG_SNIFF_EN
4002 // Description : If 1, this channel's data transfers are visible to the sniff
4003 //               hardware, and each transfer will advance the state of the
4004 //               checksum. This only applies if the sniff hardware is enabled,
4005 //               and has this channel selected.
4006 //
4007 //               This allows checksum to be enabled or disabled on a
4008 //               per-control- block basis.
4009 #define DMA_CH10_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
4010 #define DMA_CH10_CTRL_TRIG_SNIFF_EN_BITS   _u(0x00800000)
4011 #define DMA_CH10_CTRL_TRIG_SNIFF_EN_MSB    _u(23)
4012 #define DMA_CH10_CTRL_TRIG_SNIFF_EN_LSB    _u(23)
4013 #define DMA_CH10_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
4014 // -----------------------------------------------------------------------------
4015 // Field       : DMA_CH10_CTRL_TRIG_BSWAP
4016 // Description : Apply byte-swap transformation to DMA data.
4017 //               For byte data, this has no effect. For halfword data, the two
4018 //               bytes of each halfword are swapped. For word data, the four
4019 //               bytes of each word are swapped to reverse order.
4020 #define DMA_CH10_CTRL_TRIG_BSWAP_RESET  _u(0x0)
4021 #define DMA_CH10_CTRL_TRIG_BSWAP_BITS   _u(0x00400000)
4022 #define DMA_CH10_CTRL_TRIG_BSWAP_MSB    _u(22)
4023 #define DMA_CH10_CTRL_TRIG_BSWAP_LSB    _u(22)
4024 #define DMA_CH10_CTRL_TRIG_BSWAP_ACCESS "RW"
4025 // -----------------------------------------------------------------------------
4026 // Field       : DMA_CH10_CTRL_TRIG_IRQ_QUIET
4027 // Description : In QUIET mode, the channel does not generate IRQs at the end of
4028 //               every transfer block. Instead, an IRQ is raised when NULL is
4029 //               written to a trigger register, indicating the end of a control
4030 //               block chain.
4031 //
4032 //               This reduces the number of interrupts to be serviced by the CPU
4033 //               when transferring a DMA chain of many small control blocks.
4034 #define DMA_CH10_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
4035 #define DMA_CH10_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00200000)
4036 #define DMA_CH10_CTRL_TRIG_IRQ_QUIET_MSB    _u(21)
4037 #define DMA_CH10_CTRL_TRIG_IRQ_QUIET_LSB    _u(21)
4038 #define DMA_CH10_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
4039 // -----------------------------------------------------------------------------
4040 // Field       : DMA_CH10_CTRL_TRIG_TREQ_SEL
4041 // Description : Select a Transfer Request signal.
4042 //               The channel uses the transfer request signal to pace its data
4043 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
4044 //               or external (DREQ, a Data Request from the system).
4045 //               0x0 to 0x3a -> select DREQ n as TREQ
4046 //               0x3b -> Select Timer 0 as TREQ
4047 //               0x3c -> Select Timer 1 as TREQ
4048 //               0x3d -> Select Timer 2 as TREQ (Optional)
4049 //               0x3e -> Select Timer 3 as TREQ (Optional)
4050 //               0x3f -> Permanent request, for unpaced transfers.
4051 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_RESET           _u(0x00)
4052 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_BITS            _u(0x001f8000)
4053 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_MSB             _u(20)
4054 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_LSB             _u(15)
4055 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_ACCESS          "RW"
4056 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0    _u(0x3b)
4057 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1    _u(0x3c)
4058 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2    _u(0x3d)
4059 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3    _u(0x3e)
4060 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
4061 // -----------------------------------------------------------------------------
4062 // Field       : DMA_CH10_CTRL_TRIG_CHAIN_TO
4063 // Description : When this channel completes, it will trigger the channel
4064 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
4065 //               channel)_.
4066 #define DMA_CH10_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
4067 #define DMA_CH10_CTRL_TRIG_CHAIN_TO_BITS   _u(0x00007800)
4068 #define DMA_CH10_CTRL_TRIG_CHAIN_TO_MSB    _u(14)
4069 #define DMA_CH10_CTRL_TRIG_CHAIN_TO_LSB    _u(11)
4070 #define DMA_CH10_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
4071 // -----------------------------------------------------------------------------
4072 // Field       : DMA_CH10_CTRL_TRIG_RING_SEL
4073 // Description : Select whether RING_SIZE applies to read or write addresses.
4074 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
4075 //               boundary. If 1, write addresses are wrapped.
4076 #define DMA_CH10_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
4077 #define DMA_CH10_CTRL_TRIG_RING_SEL_BITS   _u(0x00000400)
4078 #define DMA_CH10_CTRL_TRIG_RING_SEL_MSB    _u(10)
4079 #define DMA_CH10_CTRL_TRIG_RING_SEL_LSB    _u(10)
4080 #define DMA_CH10_CTRL_TRIG_RING_SEL_ACCESS "RW"
4081 // -----------------------------------------------------------------------------
4082 // Field       : DMA_CH10_CTRL_TRIG_RING_SIZE
4083 // Description : Size of address wrap region. If 0, don't wrap. For values n >
4084 //               0, only the lower n bits of the address will change. This wraps
4085 //               the address on a (1 << n) byte boundary, facilitating access to
4086 //               naturally-aligned ring buffers.
4087 //
4088 //               Ring sizes between 2 and 32768 bytes are possible. This can
4089 //               apply to either read or write addresses, based on value of
4090 //               RING_SEL.
4091 //               0x0 -> RING_NONE
4092 #define DMA_CH10_CTRL_TRIG_RING_SIZE_RESET           _u(0x0)
4093 #define DMA_CH10_CTRL_TRIG_RING_SIZE_BITS            _u(0x000003c0)
4094 #define DMA_CH10_CTRL_TRIG_RING_SIZE_MSB             _u(9)
4095 #define DMA_CH10_CTRL_TRIG_RING_SIZE_LSB             _u(6)
4096 #define DMA_CH10_CTRL_TRIG_RING_SIZE_ACCESS          "RW"
4097 #define DMA_CH10_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
4098 // -----------------------------------------------------------------------------
4099 // Field       : DMA_CH10_CTRL_TRIG_INCR_WRITE
4100 // Description : If 1, the write address increments with each transfer. If 0,
4101 //               each write is directed to the same, initial address.
4102 //
4103 //               Generally this should be disabled for memory-to-peripheral
4104 //               transfers.
4105 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
4106 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000020)
4107 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_MSB    _u(5)
4108 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_LSB    _u(5)
4109 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
4110 // -----------------------------------------------------------------------------
4111 // Field       : DMA_CH10_CTRL_TRIG_INCR_READ
4112 // Description : If 1, the read address increments with each transfer. If 0,
4113 //               each read is directed to the same, initial address.
4114 //
4115 //               Generally this should be disabled for peripheral-to-memory
4116 //               transfers.
4117 #define DMA_CH10_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
4118 #define DMA_CH10_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
4119 #define DMA_CH10_CTRL_TRIG_INCR_READ_MSB    _u(4)
4120 #define DMA_CH10_CTRL_TRIG_INCR_READ_LSB    _u(4)
4121 #define DMA_CH10_CTRL_TRIG_INCR_READ_ACCESS "RW"
4122 // -----------------------------------------------------------------------------
4123 // Field       : DMA_CH10_CTRL_TRIG_DATA_SIZE
4124 // Description : Set the size of each bus transfer (byte/halfword/word).
4125 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
4126 //               with each transfer.
4127 //               0x0 -> SIZE_BYTE
4128 //               0x1 -> SIZE_HALFWORD
4129 //               0x2 -> SIZE_WORD
4130 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_RESET               _u(0x0)
4131 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_BITS                _u(0x0000000c)
4132 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_MSB                 _u(3)
4133 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_LSB                 _u(2)
4134 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_ACCESS              "RW"
4135 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE     _u(0x0)
4136 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
4137 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD     _u(0x2)
4138 // -----------------------------------------------------------------------------
4139 // Field       : DMA_CH10_CTRL_TRIG_HIGH_PRIORITY
4140 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
4141 //               scheduling: in each scheduling round, all high priority
4142 //               channels are considered first, and then only a single low
4143 //               priority channel, before returning to the high priority
4144 //               channels.
4145 //
4146 //               This only affects the order in which the DMA schedules
4147 //               channels. The DMA's bus priority is not changed. If the DMA is
4148 //               not saturated then a low priority channel will see no loss of
4149 //               throughput.
4150 #define DMA_CH10_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
4151 #define DMA_CH10_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
4152 #define DMA_CH10_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
4153 #define DMA_CH10_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
4154 #define DMA_CH10_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
4155 // -----------------------------------------------------------------------------
4156 // Field       : DMA_CH10_CTRL_TRIG_EN
4157 // Description : DMA Channel Enable.
4158 //               When 1, the channel will respond to triggering events, which
4159 //               will cause it to become BUSY and start transferring data. When
4160 //               0, the channel will ignore triggers, stop issuing transfers,
4161 //               and pause the current transfer sequence (i.e. BUSY will remain
4162 //               high if already high)
4163 #define DMA_CH10_CTRL_TRIG_EN_RESET  _u(0x0)
4164 #define DMA_CH10_CTRL_TRIG_EN_BITS   _u(0x00000001)
4165 #define DMA_CH10_CTRL_TRIG_EN_MSB    _u(0)
4166 #define DMA_CH10_CTRL_TRIG_EN_LSB    _u(0)
4167 #define DMA_CH10_CTRL_TRIG_EN_ACCESS "RW"
4168 // =============================================================================
4169 // Register    : DMA_CH10_AL1_CTRL
4170 // Description : Alias for channel 10 CTRL register
4171 #define DMA_CH10_AL1_CTRL_OFFSET _u(0x00000290)
4172 #define DMA_CH10_AL1_CTRL_BITS   _u(0xffffffff)
4173 #define DMA_CH10_AL1_CTRL_RESET  "-"
4174 #define DMA_CH10_AL1_CTRL_MSB    _u(31)
4175 #define DMA_CH10_AL1_CTRL_LSB    _u(0)
4176 #define DMA_CH10_AL1_CTRL_ACCESS "RW"
4177 // =============================================================================
4178 // Register    : DMA_CH10_AL1_READ_ADDR
4179 // Description : Alias for channel 10 READ_ADDR register
4180 #define DMA_CH10_AL1_READ_ADDR_OFFSET _u(0x00000294)
4181 #define DMA_CH10_AL1_READ_ADDR_BITS   _u(0xffffffff)
4182 #define DMA_CH10_AL1_READ_ADDR_RESET  "-"
4183 #define DMA_CH10_AL1_READ_ADDR_MSB    _u(31)
4184 #define DMA_CH10_AL1_READ_ADDR_LSB    _u(0)
4185 #define DMA_CH10_AL1_READ_ADDR_ACCESS "RW"
4186 // =============================================================================
4187 // Register    : DMA_CH10_AL1_WRITE_ADDR
4188 // Description : Alias for channel 10 WRITE_ADDR register
4189 #define DMA_CH10_AL1_WRITE_ADDR_OFFSET _u(0x00000298)
4190 #define DMA_CH10_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
4191 #define DMA_CH10_AL1_WRITE_ADDR_RESET  "-"
4192 #define DMA_CH10_AL1_WRITE_ADDR_MSB    _u(31)
4193 #define DMA_CH10_AL1_WRITE_ADDR_LSB    _u(0)
4194 #define DMA_CH10_AL1_WRITE_ADDR_ACCESS "RW"
4195 // =============================================================================
4196 // Register    : DMA_CH10_AL1_TRANS_COUNT_TRIG
4197 // Description : Alias for channel 10 TRANS_COUNT register
4198 //               This is a trigger register (0xc). Writing a nonzero value will
4199 //               reload the channel counter and start the channel.
4200 #define DMA_CH10_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000029c)
4201 #define DMA_CH10_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
4202 #define DMA_CH10_AL1_TRANS_COUNT_TRIG_RESET  "-"
4203 #define DMA_CH10_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
4204 #define DMA_CH10_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
4205 #define DMA_CH10_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
4206 // =============================================================================
4207 // Register    : DMA_CH10_AL2_CTRL
4208 // Description : Alias for channel 10 CTRL register
4209 #define DMA_CH10_AL2_CTRL_OFFSET _u(0x000002a0)
4210 #define DMA_CH10_AL2_CTRL_BITS   _u(0xffffffff)
4211 #define DMA_CH10_AL2_CTRL_RESET  "-"
4212 #define DMA_CH10_AL2_CTRL_MSB    _u(31)
4213 #define DMA_CH10_AL2_CTRL_LSB    _u(0)
4214 #define DMA_CH10_AL2_CTRL_ACCESS "RW"
4215 // =============================================================================
4216 // Register    : DMA_CH10_AL2_TRANS_COUNT
4217 // Description : Alias for channel 10 TRANS_COUNT register
4218 #define DMA_CH10_AL2_TRANS_COUNT_OFFSET _u(0x000002a4)
4219 #define DMA_CH10_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
4220 #define DMA_CH10_AL2_TRANS_COUNT_RESET  "-"
4221 #define DMA_CH10_AL2_TRANS_COUNT_MSB    _u(31)
4222 #define DMA_CH10_AL2_TRANS_COUNT_LSB    _u(0)
4223 #define DMA_CH10_AL2_TRANS_COUNT_ACCESS "RW"
4224 // =============================================================================
4225 // Register    : DMA_CH10_AL2_READ_ADDR
4226 // Description : Alias for channel 10 READ_ADDR register
4227 #define DMA_CH10_AL2_READ_ADDR_OFFSET _u(0x000002a8)
4228 #define DMA_CH10_AL2_READ_ADDR_BITS   _u(0xffffffff)
4229 #define DMA_CH10_AL2_READ_ADDR_RESET  "-"
4230 #define DMA_CH10_AL2_READ_ADDR_MSB    _u(31)
4231 #define DMA_CH10_AL2_READ_ADDR_LSB    _u(0)
4232 #define DMA_CH10_AL2_READ_ADDR_ACCESS "RW"
4233 // =============================================================================
4234 // Register    : DMA_CH10_AL2_WRITE_ADDR_TRIG
4235 // Description : Alias for channel 10 WRITE_ADDR register
4236 //               This is a trigger register (0xc). Writing a nonzero value will
4237 //               reload the channel counter and start the channel.
4238 #define DMA_CH10_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000002ac)
4239 #define DMA_CH10_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
4240 #define DMA_CH10_AL2_WRITE_ADDR_TRIG_RESET  "-"
4241 #define DMA_CH10_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
4242 #define DMA_CH10_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
4243 #define DMA_CH10_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
4244 // =============================================================================
4245 // Register    : DMA_CH10_AL3_CTRL
4246 // Description : Alias for channel 10 CTRL register
4247 #define DMA_CH10_AL3_CTRL_OFFSET _u(0x000002b0)
4248 #define DMA_CH10_AL3_CTRL_BITS   _u(0xffffffff)
4249 #define DMA_CH10_AL3_CTRL_RESET  "-"
4250 #define DMA_CH10_AL3_CTRL_MSB    _u(31)
4251 #define DMA_CH10_AL3_CTRL_LSB    _u(0)
4252 #define DMA_CH10_AL3_CTRL_ACCESS "RW"
4253 // =============================================================================
4254 // Register    : DMA_CH10_AL3_WRITE_ADDR
4255 // Description : Alias for channel 10 WRITE_ADDR register
4256 #define DMA_CH10_AL3_WRITE_ADDR_OFFSET _u(0x000002b4)
4257 #define DMA_CH10_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
4258 #define DMA_CH10_AL3_WRITE_ADDR_RESET  "-"
4259 #define DMA_CH10_AL3_WRITE_ADDR_MSB    _u(31)
4260 #define DMA_CH10_AL3_WRITE_ADDR_LSB    _u(0)
4261 #define DMA_CH10_AL3_WRITE_ADDR_ACCESS "RW"
4262 // =============================================================================
4263 // Register    : DMA_CH10_AL3_TRANS_COUNT
4264 // Description : Alias for channel 10 TRANS_COUNT register
4265 #define DMA_CH10_AL3_TRANS_COUNT_OFFSET _u(0x000002b8)
4266 #define DMA_CH10_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
4267 #define DMA_CH10_AL3_TRANS_COUNT_RESET  "-"
4268 #define DMA_CH10_AL3_TRANS_COUNT_MSB    _u(31)
4269 #define DMA_CH10_AL3_TRANS_COUNT_LSB    _u(0)
4270 #define DMA_CH10_AL3_TRANS_COUNT_ACCESS "RW"
4271 // =============================================================================
4272 // Register    : DMA_CH10_AL3_READ_ADDR_TRIG
4273 // Description : Alias for channel 10 READ_ADDR register
4274 //               This is a trigger register (0xc). Writing a nonzero value will
4275 //               reload the channel counter and start the channel.
4276 #define DMA_CH10_AL3_READ_ADDR_TRIG_OFFSET _u(0x000002bc)
4277 #define DMA_CH10_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
4278 #define DMA_CH10_AL3_READ_ADDR_TRIG_RESET  "-"
4279 #define DMA_CH10_AL3_READ_ADDR_TRIG_MSB    _u(31)
4280 #define DMA_CH10_AL3_READ_ADDR_TRIG_LSB    _u(0)
4281 #define DMA_CH10_AL3_READ_ADDR_TRIG_ACCESS "RW"
4282 // =============================================================================
4283 // Register    : DMA_CH11_READ_ADDR
4284 // Description : DMA Channel 11 Read Address pointer
4285 //               This register updates automatically each time a read completes.
4286 //               The current value is the next address to be read by this
4287 //               channel.
4288 #define DMA_CH11_READ_ADDR_OFFSET _u(0x000002c0)
4289 #define DMA_CH11_READ_ADDR_BITS   _u(0xffffffff)
4290 #define DMA_CH11_READ_ADDR_RESET  _u(0x00000000)
4291 #define DMA_CH11_READ_ADDR_MSB    _u(31)
4292 #define DMA_CH11_READ_ADDR_LSB    _u(0)
4293 #define DMA_CH11_READ_ADDR_ACCESS "RW"
4294 // =============================================================================
4295 // Register    : DMA_CH11_WRITE_ADDR
4296 // Description : DMA Channel 11 Write Address pointer
4297 //               This register updates automatically each time a write
4298 //               completes. The current value is the next address to be written
4299 //               by this channel.
4300 #define DMA_CH11_WRITE_ADDR_OFFSET _u(0x000002c4)
4301 #define DMA_CH11_WRITE_ADDR_BITS   _u(0xffffffff)
4302 #define DMA_CH11_WRITE_ADDR_RESET  _u(0x00000000)
4303 #define DMA_CH11_WRITE_ADDR_MSB    _u(31)
4304 #define DMA_CH11_WRITE_ADDR_LSB    _u(0)
4305 #define DMA_CH11_WRITE_ADDR_ACCESS "RW"
4306 // =============================================================================
4307 // Register    : DMA_CH11_TRANS_COUNT
4308 // Description : DMA Channel 11 Transfer Count
4309 //               Program the number of bus transfers a channel will perform
4310 //               before halting. Note that, if transfers are larger than one
4311 //               byte in size, this is not equal to the number of bytes
4312 //               transferred (see CTRL_DATA_SIZE).
4313 //
4314 //               When the channel is active, reading this register shows the
4315 //               number of transfers remaining, updating automatically each time
4316 //               a write transfer completes.
4317 //
4318 //               Writing this register sets the RELOAD value for the transfer
4319 //               counter. Each time this channel is triggered, the RELOAD value
4320 //               is copied into the live transfer counter. The channel can be
4321 //               started multiple times, and will perform the same number of
4322 //               transfers each time, as programmed by most recent write.
4323 //
4324 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
4325 //               is used as a trigger, the written value is used immediately as
4326 //               the length of the new transfer sequence, as well as being
4327 //               written to RELOAD.
4328 #define DMA_CH11_TRANS_COUNT_OFFSET _u(0x000002c8)
4329 #define DMA_CH11_TRANS_COUNT_BITS   _u(0xffffffff)
4330 #define DMA_CH11_TRANS_COUNT_RESET  _u(0x00000000)
4331 #define DMA_CH11_TRANS_COUNT_MSB    _u(31)
4332 #define DMA_CH11_TRANS_COUNT_LSB    _u(0)
4333 #define DMA_CH11_TRANS_COUNT_ACCESS "RW"
4334 // =============================================================================
4335 // Register    : DMA_CH11_CTRL_TRIG
4336 // Description : DMA Channel 11 Control and Status
4337 #define DMA_CH11_CTRL_TRIG_OFFSET _u(0x000002cc)
4338 #define DMA_CH11_CTRL_TRIG_BITS   _u(0xe1ffffff)
4339 #define DMA_CH11_CTRL_TRIG_RESET  _u(0x00000000)
4340 // -----------------------------------------------------------------------------
4341 // Field       : DMA_CH11_CTRL_TRIG_AHB_ERROR
4342 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
4343 //               halts when it encounters any bus error, and always raises its
4344 //               channel IRQ flag.
4345 #define DMA_CH11_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
4346 #define DMA_CH11_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
4347 #define DMA_CH11_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
4348 #define DMA_CH11_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
4349 #define DMA_CH11_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
4350 // -----------------------------------------------------------------------------
4351 // Field       : DMA_CH11_CTRL_TRIG_READ_ERROR
4352 // Description : If 1, the channel received a read bus error. Write one to
4353 //               clear.
4354 //               READ_ADDR shows the approximate address where the bus error was
4355 //               encountered (will not be earlier, or more than 3 transfers
4356 //               later)
4357 #define DMA_CH11_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
4358 #define DMA_CH11_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
4359 #define DMA_CH11_CTRL_TRIG_READ_ERROR_MSB    _u(30)
4360 #define DMA_CH11_CTRL_TRIG_READ_ERROR_LSB    _u(30)
4361 #define DMA_CH11_CTRL_TRIG_READ_ERROR_ACCESS "WC"
4362 // -----------------------------------------------------------------------------
4363 // Field       : DMA_CH11_CTRL_TRIG_WRITE_ERROR
4364 // Description : If 1, the channel received a write bus error. Write one to
4365 //               clear.
4366 //               WRITE_ADDR shows the approximate address where the bus error
4367 //               was encountered (will not be earlier, or more than 5 transfers
4368 //               later)
4369 #define DMA_CH11_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
4370 #define DMA_CH11_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
4371 #define DMA_CH11_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
4372 #define DMA_CH11_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
4373 #define DMA_CH11_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
4374 // -----------------------------------------------------------------------------
4375 // Field       : DMA_CH11_CTRL_TRIG_BUSY
4376 // Description : This flag goes high when the channel starts a new transfer
4377 //               sequence, and low when the last transfer of that sequence
4378 //               completes. Clearing EN while BUSY is high pauses the channel,
4379 //               and BUSY will stay high while paused.
4380 //
4381 //               To terminate a sequence early (and clear the BUSY flag), see
4382 //               CHAN_ABORT.
4383 #define DMA_CH11_CTRL_TRIG_BUSY_RESET  _u(0x0)
4384 #define DMA_CH11_CTRL_TRIG_BUSY_BITS   _u(0x01000000)
4385 #define DMA_CH11_CTRL_TRIG_BUSY_MSB    _u(24)
4386 #define DMA_CH11_CTRL_TRIG_BUSY_LSB    _u(24)
4387 #define DMA_CH11_CTRL_TRIG_BUSY_ACCESS "RO"
4388 // -----------------------------------------------------------------------------
4389 // Field       : DMA_CH11_CTRL_TRIG_SNIFF_EN
4390 // Description : If 1, this channel's data transfers are visible to the sniff
4391 //               hardware, and each transfer will advance the state of the
4392 //               checksum. This only applies if the sniff hardware is enabled,
4393 //               and has this channel selected.
4394 //
4395 //               This allows checksum to be enabled or disabled on a
4396 //               per-control- block basis.
4397 #define DMA_CH11_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
4398 #define DMA_CH11_CTRL_TRIG_SNIFF_EN_BITS   _u(0x00800000)
4399 #define DMA_CH11_CTRL_TRIG_SNIFF_EN_MSB    _u(23)
4400 #define DMA_CH11_CTRL_TRIG_SNIFF_EN_LSB    _u(23)
4401 #define DMA_CH11_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
4402 // -----------------------------------------------------------------------------
4403 // Field       : DMA_CH11_CTRL_TRIG_BSWAP
4404 // Description : Apply byte-swap transformation to DMA data.
4405 //               For byte data, this has no effect. For halfword data, the two
4406 //               bytes of each halfword are swapped. For word data, the four
4407 //               bytes of each word are swapped to reverse order.
4408 #define DMA_CH11_CTRL_TRIG_BSWAP_RESET  _u(0x0)
4409 #define DMA_CH11_CTRL_TRIG_BSWAP_BITS   _u(0x00400000)
4410 #define DMA_CH11_CTRL_TRIG_BSWAP_MSB    _u(22)
4411 #define DMA_CH11_CTRL_TRIG_BSWAP_LSB    _u(22)
4412 #define DMA_CH11_CTRL_TRIG_BSWAP_ACCESS "RW"
4413 // -----------------------------------------------------------------------------
4414 // Field       : DMA_CH11_CTRL_TRIG_IRQ_QUIET
4415 // Description : In QUIET mode, the channel does not generate IRQs at the end of
4416 //               every transfer block. Instead, an IRQ is raised when NULL is
4417 //               written to a trigger register, indicating the end of a control
4418 //               block chain.
4419 //
4420 //               This reduces the number of interrupts to be serviced by the CPU
4421 //               when transferring a DMA chain of many small control blocks.
4422 #define DMA_CH11_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
4423 #define DMA_CH11_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00200000)
4424 #define DMA_CH11_CTRL_TRIG_IRQ_QUIET_MSB    _u(21)
4425 #define DMA_CH11_CTRL_TRIG_IRQ_QUIET_LSB    _u(21)
4426 #define DMA_CH11_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
4427 // -----------------------------------------------------------------------------
4428 // Field       : DMA_CH11_CTRL_TRIG_TREQ_SEL
4429 // Description : Select a Transfer Request signal.
4430 //               The channel uses the transfer request signal to pace its data
4431 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
4432 //               or external (DREQ, a Data Request from the system).
4433 //               0x0 to 0x3a -> select DREQ n as TREQ
4434 //               0x3b -> Select Timer 0 as TREQ
4435 //               0x3c -> Select Timer 1 as TREQ
4436 //               0x3d -> Select Timer 2 as TREQ (Optional)
4437 //               0x3e -> Select Timer 3 as TREQ (Optional)
4438 //               0x3f -> Permanent request, for unpaced transfers.
4439 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_RESET           _u(0x00)
4440 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_BITS            _u(0x001f8000)
4441 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_MSB             _u(20)
4442 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_LSB             _u(15)
4443 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_ACCESS          "RW"
4444 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0    _u(0x3b)
4445 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1    _u(0x3c)
4446 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2    _u(0x3d)
4447 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3    _u(0x3e)
4448 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
4449 // -----------------------------------------------------------------------------
4450 // Field       : DMA_CH11_CTRL_TRIG_CHAIN_TO
4451 // Description : When this channel completes, it will trigger the channel
4452 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
4453 //               channel)_.
4454 #define DMA_CH11_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
4455 #define DMA_CH11_CTRL_TRIG_CHAIN_TO_BITS   _u(0x00007800)
4456 #define DMA_CH11_CTRL_TRIG_CHAIN_TO_MSB    _u(14)
4457 #define DMA_CH11_CTRL_TRIG_CHAIN_TO_LSB    _u(11)
4458 #define DMA_CH11_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
4459 // -----------------------------------------------------------------------------
4460 // Field       : DMA_CH11_CTRL_TRIG_RING_SEL
4461 // Description : Select whether RING_SIZE applies to read or write addresses.
4462 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
4463 //               boundary. If 1, write addresses are wrapped.
4464 #define DMA_CH11_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
4465 #define DMA_CH11_CTRL_TRIG_RING_SEL_BITS   _u(0x00000400)
4466 #define DMA_CH11_CTRL_TRIG_RING_SEL_MSB    _u(10)
4467 #define DMA_CH11_CTRL_TRIG_RING_SEL_LSB    _u(10)
4468 #define DMA_CH11_CTRL_TRIG_RING_SEL_ACCESS "RW"
4469 // -----------------------------------------------------------------------------
4470 // Field       : DMA_CH11_CTRL_TRIG_RING_SIZE
4471 // Description : Size of address wrap region. If 0, don't wrap. For values n >
4472 //               0, only the lower n bits of the address will change. This wraps
4473 //               the address on a (1 << n) byte boundary, facilitating access to
4474 //               naturally-aligned ring buffers.
4475 //
4476 //               Ring sizes between 2 and 32768 bytes are possible. This can
4477 //               apply to either read or write addresses, based on value of
4478 //               RING_SEL.
4479 //               0x0 -> RING_NONE
4480 #define DMA_CH11_CTRL_TRIG_RING_SIZE_RESET           _u(0x0)
4481 #define DMA_CH11_CTRL_TRIG_RING_SIZE_BITS            _u(0x000003c0)
4482 #define DMA_CH11_CTRL_TRIG_RING_SIZE_MSB             _u(9)
4483 #define DMA_CH11_CTRL_TRIG_RING_SIZE_LSB             _u(6)
4484 #define DMA_CH11_CTRL_TRIG_RING_SIZE_ACCESS          "RW"
4485 #define DMA_CH11_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
4486 // -----------------------------------------------------------------------------
4487 // Field       : DMA_CH11_CTRL_TRIG_INCR_WRITE
4488 // Description : If 1, the write address increments with each transfer. If 0,
4489 //               each write is directed to the same, initial address.
4490 //
4491 //               Generally this should be disabled for memory-to-peripheral
4492 //               transfers.
4493 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
4494 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000020)
4495 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_MSB    _u(5)
4496 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_LSB    _u(5)
4497 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
4498 // -----------------------------------------------------------------------------
4499 // Field       : DMA_CH11_CTRL_TRIG_INCR_READ
4500 // Description : If 1, the read address increments with each transfer. If 0,
4501 //               each read is directed to the same, initial address.
4502 //
4503 //               Generally this should be disabled for peripheral-to-memory
4504 //               transfers.
4505 #define DMA_CH11_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
4506 #define DMA_CH11_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
4507 #define DMA_CH11_CTRL_TRIG_INCR_READ_MSB    _u(4)
4508 #define DMA_CH11_CTRL_TRIG_INCR_READ_LSB    _u(4)
4509 #define DMA_CH11_CTRL_TRIG_INCR_READ_ACCESS "RW"
4510 // -----------------------------------------------------------------------------
4511 // Field       : DMA_CH11_CTRL_TRIG_DATA_SIZE
4512 // Description : Set the size of each bus transfer (byte/halfword/word).
4513 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
4514 //               with each transfer.
4515 //               0x0 -> SIZE_BYTE
4516 //               0x1 -> SIZE_HALFWORD
4517 //               0x2 -> SIZE_WORD
4518 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_RESET               _u(0x0)
4519 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_BITS                _u(0x0000000c)
4520 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_MSB                 _u(3)
4521 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_LSB                 _u(2)
4522 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_ACCESS              "RW"
4523 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE     _u(0x0)
4524 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
4525 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD     _u(0x2)
4526 // -----------------------------------------------------------------------------
4527 // Field       : DMA_CH11_CTRL_TRIG_HIGH_PRIORITY
4528 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
4529 //               scheduling: in each scheduling round, all high priority
4530 //               channels are considered first, and then only a single low
4531 //               priority channel, before returning to the high priority
4532 //               channels.
4533 //
4534 //               This only affects the order in which the DMA schedules
4535 //               channels. The DMA's bus priority is not changed. If the DMA is
4536 //               not saturated then a low priority channel will see no loss of
4537 //               throughput.
4538 #define DMA_CH11_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
4539 #define DMA_CH11_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
4540 #define DMA_CH11_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
4541 #define DMA_CH11_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
4542 #define DMA_CH11_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
4543 // -----------------------------------------------------------------------------
4544 // Field       : DMA_CH11_CTRL_TRIG_EN
4545 // Description : DMA Channel Enable.
4546 //               When 1, the channel will respond to triggering events, which
4547 //               will cause it to become BUSY and start transferring data. When
4548 //               0, the channel will ignore triggers, stop issuing transfers,
4549 //               and pause the current transfer sequence (i.e. BUSY will remain
4550 //               high if already high)
4551 #define DMA_CH11_CTRL_TRIG_EN_RESET  _u(0x0)
4552 #define DMA_CH11_CTRL_TRIG_EN_BITS   _u(0x00000001)
4553 #define DMA_CH11_CTRL_TRIG_EN_MSB    _u(0)
4554 #define DMA_CH11_CTRL_TRIG_EN_LSB    _u(0)
4555 #define DMA_CH11_CTRL_TRIG_EN_ACCESS "RW"
4556 // =============================================================================
4557 // Register    : DMA_CH11_AL1_CTRL
4558 // Description : Alias for channel 11 CTRL register
4559 #define DMA_CH11_AL1_CTRL_OFFSET _u(0x000002d0)
4560 #define DMA_CH11_AL1_CTRL_BITS   _u(0xffffffff)
4561 #define DMA_CH11_AL1_CTRL_RESET  "-"
4562 #define DMA_CH11_AL1_CTRL_MSB    _u(31)
4563 #define DMA_CH11_AL1_CTRL_LSB    _u(0)
4564 #define DMA_CH11_AL1_CTRL_ACCESS "RW"
4565 // =============================================================================
4566 // Register    : DMA_CH11_AL1_READ_ADDR
4567 // Description : Alias for channel 11 READ_ADDR register
4568 #define DMA_CH11_AL1_READ_ADDR_OFFSET _u(0x000002d4)
4569 #define DMA_CH11_AL1_READ_ADDR_BITS   _u(0xffffffff)
4570 #define DMA_CH11_AL1_READ_ADDR_RESET  "-"
4571 #define DMA_CH11_AL1_READ_ADDR_MSB    _u(31)
4572 #define DMA_CH11_AL1_READ_ADDR_LSB    _u(0)
4573 #define DMA_CH11_AL1_READ_ADDR_ACCESS "RW"
4574 // =============================================================================
4575 // Register    : DMA_CH11_AL1_WRITE_ADDR
4576 // Description : Alias for channel 11 WRITE_ADDR register
4577 #define DMA_CH11_AL1_WRITE_ADDR_OFFSET _u(0x000002d8)
4578 #define DMA_CH11_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
4579 #define DMA_CH11_AL1_WRITE_ADDR_RESET  "-"
4580 #define DMA_CH11_AL1_WRITE_ADDR_MSB    _u(31)
4581 #define DMA_CH11_AL1_WRITE_ADDR_LSB    _u(0)
4582 #define DMA_CH11_AL1_WRITE_ADDR_ACCESS "RW"
4583 // =============================================================================
4584 // Register    : DMA_CH11_AL1_TRANS_COUNT_TRIG
4585 // Description : Alias for channel 11 TRANS_COUNT register
4586 //               This is a trigger register (0xc). Writing a nonzero value will
4587 //               reload the channel counter and start the channel.
4588 #define DMA_CH11_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x000002dc)
4589 #define DMA_CH11_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
4590 #define DMA_CH11_AL1_TRANS_COUNT_TRIG_RESET  "-"
4591 #define DMA_CH11_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
4592 #define DMA_CH11_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
4593 #define DMA_CH11_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
4594 // =============================================================================
4595 // Register    : DMA_CH11_AL2_CTRL
4596 // Description : Alias for channel 11 CTRL register
4597 #define DMA_CH11_AL2_CTRL_OFFSET _u(0x000002e0)
4598 #define DMA_CH11_AL2_CTRL_BITS   _u(0xffffffff)
4599 #define DMA_CH11_AL2_CTRL_RESET  "-"
4600 #define DMA_CH11_AL2_CTRL_MSB    _u(31)
4601 #define DMA_CH11_AL2_CTRL_LSB    _u(0)
4602 #define DMA_CH11_AL2_CTRL_ACCESS "RW"
4603 // =============================================================================
4604 // Register    : DMA_CH11_AL2_TRANS_COUNT
4605 // Description : Alias for channel 11 TRANS_COUNT register
4606 #define DMA_CH11_AL2_TRANS_COUNT_OFFSET _u(0x000002e4)
4607 #define DMA_CH11_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
4608 #define DMA_CH11_AL2_TRANS_COUNT_RESET  "-"
4609 #define DMA_CH11_AL2_TRANS_COUNT_MSB    _u(31)
4610 #define DMA_CH11_AL2_TRANS_COUNT_LSB    _u(0)
4611 #define DMA_CH11_AL2_TRANS_COUNT_ACCESS "RW"
4612 // =============================================================================
4613 // Register    : DMA_CH11_AL2_READ_ADDR
4614 // Description : Alias for channel 11 READ_ADDR register
4615 #define DMA_CH11_AL2_READ_ADDR_OFFSET _u(0x000002e8)
4616 #define DMA_CH11_AL2_READ_ADDR_BITS   _u(0xffffffff)
4617 #define DMA_CH11_AL2_READ_ADDR_RESET  "-"
4618 #define DMA_CH11_AL2_READ_ADDR_MSB    _u(31)
4619 #define DMA_CH11_AL2_READ_ADDR_LSB    _u(0)
4620 #define DMA_CH11_AL2_READ_ADDR_ACCESS "RW"
4621 // =============================================================================
4622 // Register    : DMA_CH11_AL2_WRITE_ADDR_TRIG
4623 // Description : Alias for channel 11 WRITE_ADDR register
4624 //               This is a trigger register (0xc). Writing a nonzero value will
4625 //               reload the channel counter and start the channel.
4626 #define DMA_CH11_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000002ec)
4627 #define DMA_CH11_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
4628 #define DMA_CH11_AL2_WRITE_ADDR_TRIG_RESET  "-"
4629 #define DMA_CH11_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
4630 #define DMA_CH11_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
4631 #define DMA_CH11_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
4632 // =============================================================================
4633 // Register    : DMA_CH11_AL3_CTRL
4634 // Description : Alias for channel 11 CTRL register
4635 #define DMA_CH11_AL3_CTRL_OFFSET _u(0x000002f0)
4636 #define DMA_CH11_AL3_CTRL_BITS   _u(0xffffffff)
4637 #define DMA_CH11_AL3_CTRL_RESET  "-"
4638 #define DMA_CH11_AL3_CTRL_MSB    _u(31)
4639 #define DMA_CH11_AL3_CTRL_LSB    _u(0)
4640 #define DMA_CH11_AL3_CTRL_ACCESS "RW"
4641 // =============================================================================
4642 // Register    : DMA_CH11_AL3_WRITE_ADDR
4643 // Description : Alias for channel 11 WRITE_ADDR register
4644 #define DMA_CH11_AL3_WRITE_ADDR_OFFSET _u(0x000002f4)
4645 #define DMA_CH11_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
4646 #define DMA_CH11_AL3_WRITE_ADDR_RESET  "-"
4647 #define DMA_CH11_AL3_WRITE_ADDR_MSB    _u(31)
4648 #define DMA_CH11_AL3_WRITE_ADDR_LSB    _u(0)
4649 #define DMA_CH11_AL3_WRITE_ADDR_ACCESS "RW"
4650 // =============================================================================
4651 // Register    : DMA_CH11_AL3_TRANS_COUNT
4652 // Description : Alias for channel 11 TRANS_COUNT register
4653 #define DMA_CH11_AL3_TRANS_COUNT_OFFSET _u(0x000002f8)
4654 #define DMA_CH11_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
4655 #define DMA_CH11_AL3_TRANS_COUNT_RESET  "-"
4656 #define DMA_CH11_AL3_TRANS_COUNT_MSB    _u(31)
4657 #define DMA_CH11_AL3_TRANS_COUNT_LSB    _u(0)
4658 #define DMA_CH11_AL3_TRANS_COUNT_ACCESS "RW"
4659 // =============================================================================
4660 // Register    : DMA_CH11_AL3_READ_ADDR_TRIG
4661 // Description : Alias for channel 11 READ_ADDR register
4662 //               This is a trigger register (0xc). Writing a nonzero value will
4663 //               reload the channel counter and start the channel.
4664 #define DMA_CH11_AL3_READ_ADDR_TRIG_OFFSET _u(0x000002fc)
4665 #define DMA_CH11_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
4666 #define DMA_CH11_AL3_READ_ADDR_TRIG_RESET  "-"
4667 #define DMA_CH11_AL3_READ_ADDR_TRIG_MSB    _u(31)
4668 #define DMA_CH11_AL3_READ_ADDR_TRIG_LSB    _u(0)
4669 #define DMA_CH11_AL3_READ_ADDR_TRIG_ACCESS "RW"
4670 // =============================================================================
4671 // Register    : DMA_INTR
4672 // Description : Interrupt Status (raw)
4673 //               Raw interrupt status for DMA Channels 0..15. Bit n corresponds
4674 //               to channel n. Ignores any masking or forcing. Channel
4675 //               interrupts can be cleared by writing a bit mask to INTR, INTS0
4676 //               or INTS1.
4677 //
4678 //               Channel interrupts can be routed to either of two system-level
4679 //               IRQs based on INTE0 and INTE1.
4680 //
4681 //               This can be used vector different channel interrupts to
4682 //               different ISRs: this might be done to allow NVIC IRQ preemption
4683 //               for more time-critical channels, or to spread IRQ load across
4684 //               different cores.
4685 //
4686 //               It is also valid to ignore this behaviour and just use
4687 //               INTE0/INTS0/IRQ 0.
4688 #define DMA_INTR_OFFSET _u(0x00000400)
4689 #define DMA_INTR_BITS   _u(0x0000ffff)
4690 #define DMA_INTR_RESET  _u(0x00000000)
4691 #define DMA_INTR_MSB    _u(15)
4692 #define DMA_INTR_LSB    _u(0)
4693 #define DMA_INTR_ACCESS "WC"
4694 // =============================================================================
4695 // Register    : DMA_INTE0
4696 // Description : Interrupt Enables for IRQ 0
4697 //               Set bit n to pass interrupts from channel n to DMA IRQ 0.
4698 #define DMA_INTE0_OFFSET _u(0x00000404)
4699 #define DMA_INTE0_BITS   _u(0x0000ffff)
4700 #define DMA_INTE0_RESET  _u(0x00000000)
4701 #define DMA_INTE0_MSB    _u(15)
4702 #define DMA_INTE0_LSB    _u(0)
4703 #define DMA_INTE0_ACCESS "RW"
4704 // =============================================================================
4705 // Register    : DMA_INTF0
4706 // Description : Force Interrupts
4707 //               Write 1s to force the corresponding bits in INTE0. The
4708 //               interrupt remains asserted until INTF0 is cleared.
4709 #define DMA_INTF0_OFFSET _u(0x00000408)
4710 #define DMA_INTF0_BITS   _u(0x0000ffff)
4711 #define DMA_INTF0_RESET  _u(0x00000000)
4712 #define DMA_INTF0_MSB    _u(15)
4713 #define DMA_INTF0_LSB    _u(0)
4714 #define DMA_INTF0_ACCESS "RW"
4715 // =============================================================================
4716 // Register    : DMA_INTS0
4717 // Description : Interrupt Status for IRQ 0
4718 //               Indicates active channel interrupt requests which are currently
4719 //               causing IRQ 0 to be asserted.
4720 //               Channel interrupts can be cleared by writing a bit mask here.
4721 #define DMA_INTS0_OFFSET _u(0x0000040c)
4722 #define DMA_INTS0_BITS   _u(0x0000ffff)
4723 #define DMA_INTS0_RESET  _u(0x00000000)
4724 #define DMA_INTS0_MSB    _u(15)
4725 #define DMA_INTS0_LSB    _u(0)
4726 #define DMA_INTS0_ACCESS "WC"
4727 // =============================================================================
4728 // Register    : DMA_INTE1
4729 // Description : Interrupt Enables for IRQ 1
4730 //               Set bit n to pass interrupts from channel n to DMA IRQ 1.
4731 #define DMA_INTE1_OFFSET _u(0x00000414)
4732 #define DMA_INTE1_BITS   _u(0x0000ffff)
4733 #define DMA_INTE1_RESET  _u(0x00000000)
4734 #define DMA_INTE1_MSB    _u(15)
4735 #define DMA_INTE1_LSB    _u(0)
4736 #define DMA_INTE1_ACCESS "RW"
4737 // =============================================================================
4738 // Register    : DMA_INTF1
4739 // Description : Force Interrupts for IRQ 1
4740 //               Write 1s to force the corresponding bits in INTE0. The
4741 //               interrupt remains asserted until INTF0 is cleared.
4742 #define DMA_INTF1_OFFSET _u(0x00000418)
4743 #define DMA_INTF1_BITS   _u(0x0000ffff)
4744 #define DMA_INTF1_RESET  _u(0x00000000)
4745 #define DMA_INTF1_MSB    _u(15)
4746 #define DMA_INTF1_LSB    _u(0)
4747 #define DMA_INTF1_ACCESS "RW"
4748 // =============================================================================
4749 // Register    : DMA_INTS1
4750 // Description : Interrupt Status (masked) for IRQ 1
4751 //               Indicates active channel interrupt requests which are currently
4752 //               causing IRQ 1 to be asserted.
4753 //               Channel interrupts can be cleared by writing a bit mask here.
4754 #define DMA_INTS1_OFFSET _u(0x0000041c)
4755 #define DMA_INTS1_BITS   _u(0x0000ffff)
4756 #define DMA_INTS1_RESET  _u(0x00000000)
4757 #define DMA_INTS1_MSB    _u(15)
4758 #define DMA_INTS1_LSB    _u(0)
4759 #define DMA_INTS1_ACCESS "WC"
4760 // =============================================================================
4761 // Register    : DMA_TIMER0
4762 // Description : Pacing (X/Y) Fractional Timer
4763 //               The pacing timer produces TREQ assertions at a rate set by
4764 //               ((X/Y) * sys_clk). This equation is evaluated every sys_clk
4765 //               cycles and therefore can only generate TREQs at a rate of 1 per
4766 //               sys_clk (i.e. permanent TREQ) or less.
4767 #define DMA_TIMER0_OFFSET _u(0x00000420)
4768 #define DMA_TIMER0_BITS   _u(0xffffffff)
4769 #define DMA_TIMER0_RESET  _u(0x00000000)
4770 // -----------------------------------------------------------------------------
4771 // Field       : DMA_TIMER0_X
4772 // Description : Pacing Timer Dividend. Specifies the X value for the (X/Y)
4773 //               fractional timer.
4774 #define DMA_TIMER0_X_RESET  _u(0x0000)
4775 #define DMA_TIMER0_X_BITS   _u(0xffff0000)
4776 #define DMA_TIMER0_X_MSB    _u(31)
4777 #define DMA_TIMER0_X_LSB    _u(16)
4778 #define DMA_TIMER0_X_ACCESS "RW"
4779 // -----------------------------------------------------------------------------
4780 // Field       : DMA_TIMER0_Y
4781 // Description : Pacing Timer Divisor. Specifies the Y value for the (X/Y)
4782 //               fractional timer.
4783 #define DMA_TIMER0_Y_RESET  _u(0x0000)
4784 #define DMA_TIMER0_Y_BITS   _u(0x0000ffff)
4785 #define DMA_TIMER0_Y_MSB    _u(15)
4786 #define DMA_TIMER0_Y_LSB    _u(0)
4787 #define DMA_TIMER0_Y_ACCESS "RW"
4788 // =============================================================================
4789 // Register    : DMA_TIMER1
4790 // Description : Pacing (X/Y) Fractional Timer
4791 //               The pacing timer produces TREQ assertions at a rate set by
4792 //               ((X/Y) * sys_clk). This equation is evaluated every sys_clk
4793 //               cycles and therefore can only generate TREQs at a rate of 1 per
4794 //               sys_clk (i.e. permanent TREQ) or less.
4795 #define DMA_TIMER1_OFFSET _u(0x00000424)
4796 #define DMA_TIMER1_BITS   _u(0xffffffff)
4797 #define DMA_TIMER1_RESET  _u(0x00000000)
4798 // -----------------------------------------------------------------------------
4799 // Field       : DMA_TIMER1_X
4800 // Description : Pacing Timer Dividend. Specifies the X value for the (X/Y)
4801 //               fractional timer.
4802 #define DMA_TIMER1_X_RESET  _u(0x0000)
4803 #define DMA_TIMER1_X_BITS   _u(0xffff0000)
4804 #define DMA_TIMER1_X_MSB    _u(31)
4805 #define DMA_TIMER1_X_LSB    _u(16)
4806 #define DMA_TIMER1_X_ACCESS "RW"
4807 // -----------------------------------------------------------------------------
4808 // Field       : DMA_TIMER1_Y
4809 // Description : Pacing Timer Divisor. Specifies the Y value for the (X/Y)
4810 //               fractional timer.
4811 #define DMA_TIMER1_Y_RESET  _u(0x0000)
4812 #define DMA_TIMER1_Y_BITS   _u(0x0000ffff)
4813 #define DMA_TIMER1_Y_MSB    _u(15)
4814 #define DMA_TIMER1_Y_LSB    _u(0)
4815 #define DMA_TIMER1_Y_ACCESS "RW"
4816 // =============================================================================
4817 // Register    : DMA_TIMER2
4818 // Description : Pacing (X/Y) Fractional Timer
4819 //               The pacing timer produces TREQ assertions at a rate set by
4820 //               ((X/Y) * sys_clk). This equation is evaluated every sys_clk
4821 //               cycles and therefore can only generate TREQs at a rate of 1 per
4822 //               sys_clk (i.e. permanent TREQ) or less.
4823 #define DMA_TIMER2_OFFSET _u(0x00000428)
4824 #define DMA_TIMER2_BITS   _u(0xffffffff)
4825 #define DMA_TIMER2_RESET  _u(0x00000000)
4826 // -----------------------------------------------------------------------------
4827 // Field       : DMA_TIMER2_X
4828 // Description : Pacing Timer Dividend. Specifies the X value for the (X/Y)
4829 //               fractional timer.
4830 #define DMA_TIMER2_X_RESET  _u(0x0000)
4831 #define DMA_TIMER2_X_BITS   _u(0xffff0000)
4832 #define DMA_TIMER2_X_MSB    _u(31)
4833 #define DMA_TIMER2_X_LSB    _u(16)
4834 #define DMA_TIMER2_X_ACCESS "RW"
4835 // -----------------------------------------------------------------------------
4836 // Field       : DMA_TIMER2_Y
4837 // Description : Pacing Timer Divisor. Specifies the Y value for the (X/Y)
4838 //               fractional timer.
4839 #define DMA_TIMER2_Y_RESET  _u(0x0000)
4840 #define DMA_TIMER2_Y_BITS   _u(0x0000ffff)
4841 #define DMA_TIMER2_Y_MSB    _u(15)
4842 #define DMA_TIMER2_Y_LSB    _u(0)
4843 #define DMA_TIMER2_Y_ACCESS "RW"
4844 // =============================================================================
4845 // Register    : DMA_TIMER3
4846 // Description : Pacing (X/Y) Fractional Timer
4847 //               The pacing timer produces TREQ assertions at a rate set by
4848 //               ((X/Y) * sys_clk). This equation is evaluated every sys_clk
4849 //               cycles and therefore can only generate TREQs at a rate of 1 per
4850 //               sys_clk (i.e. permanent TREQ) or less.
4851 #define DMA_TIMER3_OFFSET _u(0x0000042c)
4852 #define DMA_TIMER3_BITS   _u(0xffffffff)
4853 #define DMA_TIMER3_RESET  _u(0x00000000)
4854 // -----------------------------------------------------------------------------
4855 // Field       : DMA_TIMER3_X
4856 // Description : Pacing Timer Dividend. Specifies the X value for the (X/Y)
4857 //               fractional timer.
4858 #define DMA_TIMER3_X_RESET  _u(0x0000)
4859 #define DMA_TIMER3_X_BITS   _u(0xffff0000)
4860 #define DMA_TIMER3_X_MSB    _u(31)
4861 #define DMA_TIMER3_X_LSB    _u(16)
4862 #define DMA_TIMER3_X_ACCESS "RW"
4863 // -----------------------------------------------------------------------------
4864 // Field       : DMA_TIMER3_Y
4865 // Description : Pacing Timer Divisor. Specifies the Y value for the (X/Y)
4866 //               fractional timer.
4867 #define DMA_TIMER3_Y_RESET  _u(0x0000)
4868 #define DMA_TIMER3_Y_BITS   _u(0x0000ffff)
4869 #define DMA_TIMER3_Y_MSB    _u(15)
4870 #define DMA_TIMER3_Y_LSB    _u(0)
4871 #define DMA_TIMER3_Y_ACCESS "RW"
4872 // =============================================================================
4873 // Register    : DMA_MULTI_CHAN_TRIGGER
4874 // Description : Trigger one or more channels simultaneously
4875 //               Each bit in this register corresponds to a DMA channel. Writing
4876 //               a 1 to the relevant bit is the same as writing to that
4877 //               channel's trigger register; the channel will start if it is
4878 //               currently enabled and not already busy.
4879 #define DMA_MULTI_CHAN_TRIGGER_OFFSET _u(0x00000430)
4880 #define DMA_MULTI_CHAN_TRIGGER_BITS   _u(0x0000ffff)
4881 #define DMA_MULTI_CHAN_TRIGGER_RESET  _u(0x00000000)
4882 #define DMA_MULTI_CHAN_TRIGGER_MSB    _u(15)
4883 #define DMA_MULTI_CHAN_TRIGGER_LSB    _u(0)
4884 #define DMA_MULTI_CHAN_TRIGGER_ACCESS "SC"
4885 // =============================================================================
4886 // Register    : DMA_SNIFF_CTRL
4887 // Description : Sniffer Control
4888 #define DMA_SNIFF_CTRL_OFFSET _u(0x00000434)
4889 #define DMA_SNIFF_CTRL_BITS   _u(0x00000fff)
4890 #define DMA_SNIFF_CTRL_RESET  _u(0x00000000)
4891 // -----------------------------------------------------------------------------
4892 // Field       : DMA_SNIFF_CTRL_OUT_INV
4893 // Description : If set, the result appears inverted (bitwise complement) when
4894 //               read. This does not affect the way the checksum is calculated;
4895 //               the result is transformed on-the-fly between the result
4896 //               register and the bus.
4897 #define DMA_SNIFF_CTRL_OUT_INV_RESET  _u(0x0)
4898 #define DMA_SNIFF_CTRL_OUT_INV_BITS   _u(0x00000800)
4899 #define DMA_SNIFF_CTRL_OUT_INV_MSB    _u(11)
4900 #define DMA_SNIFF_CTRL_OUT_INV_LSB    _u(11)
4901 #define DMA_SNIFF_CTRL_OUT_INV_ACCESS "RW"
4902 // -----------------------------------------------------------------------------
4903 // Field       : DMA_SNIFF_CTRL_OUT_REV
4904 // Description : If set, the result appears bit-reversed when read. This does
4905 //               not affect the way the checksum is calculated; the result is
4906 //               transformed on-the-fly between the result register and the bus.
4907 #define DMA_SNIFF_CTRL_OUT_REV_RESET  _u(0x0)
4908 #define DMA_SNIFF_CTRL_OUT_REV_BITS   _u(0x00000400)
4909 #define DMA_SNIFF_CTRL_OUT_REV_MSB    _u(10)
4910 #define DMA_SNIFF_CTRL_OUT_REV_LSB    _u(10)
4911 #define DMA_SNIFF_CTRL_OUT_REV_ACCESS "RW"
4912 // -----------------------------------------------------------------------------
4913 // Field       : DMA_SNIFF_CTRL_BSWAP
4914 // Description : Locally perform a byte reverse on the sniffed data, before
4915 //               feeding into checksum.
4916 //
4917 //               Note that the sniff hardware is downstream of the DMA channel
4918 //               byteswap performed in the read master: if channel CTRL_BSWAP
4919 //               and SNIFF_CTRL_BSWAP are both enabled, their effects cancel
4920 //               from the sniffer's point of view.
4921 #define DMA_SNIFF_CTRL_BSWAP_RESET  _u(0x0)
4922 #define DMA_SNIFF_CTRL_BSWAP_BITS   _u(0x00000200)
4923 #define DMA_SNIFF_CTRL_BSWAP_MSB    _u(9)
4924 #define DMA_SNIFF_CTRL_BSWAP_LSB    _u(9)
4925 #define DMA_SNIFF_CTRL_BSWAP_ACCESS "RW"
4926 // -----------------------------------------------------------------------------
4927 // Field       : DMA_SNIFF_CTRL_CALC
4928 // Description : 0x0 -> Calculate a CRC-32 (IEEE802.3 polynomial)
4929 //               0x1 -> Calculate a CRC-32 (IEEE802.3 polynomial) with bit
4930 //               reversed data
4931 //               0x2 -> Calculate a CRC-16-CCITT
4932 //               0x3 -> Calculate a CRC-16-CCITT with bit reversed data
4933 //               0xe -> XOR reduction over all data. == 1 if the total 1
4934 //               population count is odd.
4935 //               0xf -> Calculate a simple 32-bit checksum (addition with a 32
4936 //               bit accumulator)
4937 #define DMA_SNIFF_CTRL_CALC_RESET        _u(0x0)
4938 #define DMA_SNIFF_CTRL_CALC_BITS         _u(0x000001e0)
4939 #define DMA_SNIFF_CTRL_CALC_MSB          _u(8)
4940 #define DMA_SNIFF_CTRL_CALC_LSB          _u(5)
4941 #define DMA_SNIFF_CTRL_CALC_ACCESS       "RW"
4942 #define DMA_SNIFF_CTRL_CALC_VALUE_CRC32  _u(0x0)
4943 #define DMA_SNIFF_CTRL_CALC_VALUE_CRC32R _u(0x1)
4944 #define DMA_SNIFF_CTRL_CALC_VALUE_CRC16  _u(0x2)
4945 #define DMA_SNIFF_CTRL_CALC_VALUE_CRC16R _u(0x3)
4946 #define DMA_SNIFF_CTRL_CALC_VALUE_EVEN   _u(0xe)
4947 #define DMA_SNIFF_CTRL_CALC_VALUE_SUM    _u(0xf)
4948 // -----------------------------------------------------------------------------
4949 // Field       : DMA_SNIFF_CTRL_DMACH
4950 // Description : DMA channel for Sniffer to observe
4951 #define DMA_SNIFF_CTRL_DMACH_RESET  _u(0x0)
4952 #define DMA_SNIFF_CTRL_DMACH_BITS   _u(0x0000001e)
4953 #define DMA_SNIFF_CTRL_DMACH_MSB    _u(4)
4954 #define DMA_SNIFF_CTRL_DMACH_LSB    _u(1)
4955 #define DMA_SNIFF_CTRL_DMACH_ACCESS "RW"
4956 // -----------------------------------------------------------------------------
4957 // Field       : DMA_SNIFF_CTRL_EN
4958 // Description : Enable sniffer
4959 #define DMA_SNIFF_CTRL_EN_RESET  _u(0x0)
4960 #define DMA_SNIFF_CTRL_EN_BITS   _u(0x00000001)
4961 #define DMA_SNIFF_CTRL_EN_MSB    _u(0)
4962 #define DMA_SNIFF_CTRL_EN_LSB    _u(0)
4963 #define DMA_SNIFF_CTRL_EN_ACCESS "RW"
4964 // =============================================================================
4965 // Register    : DMA_SNIFF_DATA
4966 // Description : Data accumulator for sniff hardware
4967 //               Write an initial seed value here before starting a DMA transfer
4968 //               on the channel indicated by SNIFF_CTRL_DMACH. The hardware will
4969 //               update this register each time it observes a read from the
4970 //               indicated channel. Once the channel completes, the final result
4971 //               can be read from this register.
4972 #define DMA_SNIFF_DATA_OFFSET _u(0x00000438)
4973 #define DMA_SNIFF_DATA_BITS   _u(0xffffffff)
4974 #define DMA_SNIFF_DATA_RESET  _u(0x00000000)
4975 #define DMA_SNIFF_DATA_MSB    _u(31)
4976 #define DMA_SNIFF_DATA_LSB    _u(0)
4977 #define DMA_SNIFF_DATA_ACCESS "RW"
4978 // =============================================================================
4979 // Register    : DMA_FIFO_LEVELS
4980 // Description : Debug RAF, WAF, TDF levels
4981 #define DMA_FIFO_LEVELS_OFFSET _u(0x00000440)
4982 #define DMA_FIFO_LEVELS_BITS   _u(0x00ffffff)
4983 #define DMA_FIFO_LEVELS_RESET  _u(0x00000000)
4984 // -----------------------------------------------------------------------------
4985 // Field       : DMA_FIFO_LEVELS_RAF_LVL
4986 // Description : Current Read-Address-FIFO fill level
4987 #define DMA_FIFO_LEVELS_RAF_LVL_RESET  _u(0x00)
4988 #define DMA_FIFO_LEVELS_RAF_LVL_BITS   _u(0x00ff0000)
4989 #define DMA_FIFO_LEVELS_RAF_LVL_MSB    _u(23)
4990 #define DMA_FIFO_LEVELS_RAF_LVL_LSB    _u(16)
4991 #define DMA_FIFO_LEVELS_RAF_LVL_ACCESS "RO"
4992 // -----------------------------------------------------------------------------
4993 // Field       : DMA_FIFO_LEVELS_WAF_LVL
4994 // Description : Current Write-Address-FIFO fill level
4995 #define DMA_FIFO_LEVELS_WAF_LVL_RESET  _u(0x00)
4996 #define DMA_FIFO_LEVELS_WAF_LVL_BITS   _u(0x0000ff00)
4997 #define DMA_FIFO_LEVELS_WAF_LVL_MSB    _u(15)
4998 #define DMA_FIFO_LEVELS_WAF_LVL_LSB    _u(8)
4999 #define DMA_FIFO_LEVELS_WAF_LVL_ACCESS "RO"
5000 // -----------------------------------------------------------------------------
5001 // Field       : DMA_FIFO_LEVELS_TDF_LVL
5002 // Description : Current Transfer-Data-FIFO fill level
5003 #define DMA_FIFO_LEVELS_TDF_LVL_RESET  _u(0x00)
5004 #define DMA_FIFO_LEVELS_TDF_LVL_BITS   _u(0x000000ff)
5005 #define DMA_FIFO_LEVELS_TDF_LVL_MSB    _u(7)
5006 #define DMA_FIFO_LEVELS_TDF_LVL_LSB    _u(0)
5007 #define DMA_FIFO_LEVELS_TDF_LVL_ACCESS "RO"
5008 // =============================================================================
5009 // Register    : DMA_CHAN_ABORT
5010 // Description : Abort an in-progress transfer sequence on one or more channels
5011 //               Each bit corresponds to a channel. Writing a 1 aborts whatever
5012 //               transfer sequence is in progress on that channel. The bit will
5013 //               remain high until any in-flight transfers have been flushed
5014 //               through the address and data FIFOs.
5015 //
5016 //               After writing, this register must be polled until it returns
5017 //               all-zero. Until this point, it is unsafe to restart the
5018 //               channel.
5019 #define DMA_CHAN_ABORT_OFFSET _u(0x00000444)
5020 #define DMA_CHAN_ABORT_BITS   _u(0x0000ffff)
5021 #define DMA_CHAN_ABORT_RESET  _u(0x00000000)
5022 #define DMA_CHAN_ABORT_MSB    _u(15)
5023 #define DMA_CHAN_ABORT_LSB    _u(0)
5024 #define DMA_CHAN_ABORT_ACCESS "SC"
5025 // =============================================================================
5026 // Register    : DMA_N_CHANNELS
5027 // Description : The number of channels this DMA instance is equipped with. This
5028 //               DMA supports up to 16 hardware channels, but can be configured
5029 //               with as few as one, to minimise silicon area.
5030 #define DMA_N_CHANNELS_OFFSET _u(0x00000448)
5031 #define DMA_N_CHANNELS_BITS   _u(0x0000001f)
5032 #define DMA_N_CHANNELS_RESET  "-"
5033 #define DMA_N_CHANNELS_MSB    _u(4)
5034 #define DMA_N_CHANNELS_LSB    _u(0)
5035 #define DMA_N_CHANNELS_ACCESS "RO"
5036 // =============================================================================
5037 // Register    : DMA_CH0_DBG_CTDREQ
5038 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
5039 //               expects it can perform on the peripheral without
5040 //               overflow/underflow. Write any value: clears the counter, and
5041 //               cause channel to re-initiate DREQ handshake.
5042 #define DMA_CH0_DBG_CTDREQ_OFFSET _u(0x00000800)
5043 #define DMA_CH0_DBG_CTDREQ_BITS   _u(0x0000003f)
5044 #define DMA_CH0_DBG_CTDREQ_RESET  _u(0x00000000)
5045 #define DMA_CH0_DBG_CTDREQ_MSB    _u(5)
5046 #define DMA_CH0_DBG_CTDREQ_LSB    _u(0)
5047 #define DMA_CH0_DBG_CTDREQ_ACCESS "WC"
5048 // =============================================================================
5049 // Register    : DMA_CH0_DBG_TCR
5050 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
5051 //               of the next transfer
5052 #define DMA_CH0_DBG_TCR_OFFSET _u(0x00000804)
5053 #define DMA_CH0_DBG_TCR_BITS   _u(0xffffffff)
5054 #define DMA_CH0_DBG_TCR_RESET  _u(0x00000000)
5055 #define DMA_CH0_DBG_TCR_MSB    _u(31)
5056 #define DMA_CH0_DBG_TCR_LSB    _u(0)
5057 #define DMA_CH0_DBG_TCR_ACCESS "RO"
5058 // =============================================================================
5059 // Register    : DMA_CH1_DBG_CTDREQ
5060 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
5061 //               expects it can perform on the peripheral without
5062 //               overflow/underflow. Write any value: clears the counter, and
5063 //               cause channel to re-initiate DREQ handshake.
5064 #define DMA_CH1_DBG_CTDREQ_OFFSET _u(0x00000840)
5065 #define DMA_CH1_DBG_CTDREQ_BITS   _u(0x0000003f)
5066 #define DMA_CH1_DBG_CTDREQ_RESET  _u(0x00000000)
5067 #define DMA_CH1_DBG_CTDREQ_MSB    _u(5)
5068 #define DMA_CH1_DBG_CTDREQ_LSB    _u(0)
5069 #define DMA_CH1_DBG_CTDREQ_ACCESS "WC"
5070 // =============================================================================
5071 // Register    : DMA_CH1_DBG_TCR
5072 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
5073 //               of the next transfer
5074 #define DMA_CH1_DBG_TCR_OFFSET _u(0x00000844)
5075 #define DMA_CH1_DBG_TCR_BITS   _u(0xffffffff)
5076 #define DMA_CH1_DBG_TCR_RESET  _u(0x00000000)
5077 #define DMA_CH1_DBG_TCR_MSB    _u(31)
5078 #define DMA_CH1_DBG_TCR_LSB    _u(0)
5079 #define DMA_CH1_DBG_TCR_ACCESS "RO"
5080 // =============================================================================
5081 // Register    : DMA_CH2_DBG_CTDREQ
5082 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
5083 //               expects it can perform on the peripheral without
5084 //               overflow/underflow. Write any value: clears the counter, and
5085 //               cause channel to re-initiate DREQ handshake.
5086 #define DMA_CH2_DBG_CTDREQ_OFFSET _u(0x00000880)
5087 #define DMA_CH2_DBG_CTDREQ_BITS   _u(0x0000003f)
5088 #define DMA_CH2_DBG_CTDREQ_RESET  _u(0x00000000)
5089 #define DMA_CH2_DBG_CTDREQ_MSB    _u(5)
5090 #define DMA_CH2_DBG_CTDREQ_LSB    _u(0)
5091 #define DMA_CH2_DBG_CTDREQ_ACCESS "WC"
5092 // =============================================================================
5093 // Register    : DMA_CH2_DBG_TCR
5094 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
5095 //               of the next transfer
5096 #define DMA_CH2_DBG_TCR_OFFSET _u(0x00000884)
5097 #define DMA_CH2_DBG_TCR_BITS   _u(0xffffffff)
5098 #define DMA_CH2_DBG_TCR_RESET  _u(0x00000000)
5099 #define DMA_CH2_DBG_TCR_MSB    _u(31)
5100 #define DMA_CH2_DBG_TCR_LSB    _u(0)
5101 #define DMA_CH2_DBG_TCR_ACCESS "RO"
5102 // =============================================================================
5103 // Register    : DMA_CH3_DBG_CTDREQ
5104 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
5105 //               expects it can perform on the peripheral without
5106 //               overflow/underflow. Write any value: clears the counter, and
5107 //               cause channel to re-initiate DREQ handshake.
5108 #define DMA_CH3_DBG_CTDREQ_OFFSET _u(0x000008c0)
5109 #define DMA_CH3_DBG_CTDREQ_BITS   _u(0x0000003f)
5110 #define DMA_CH3_DBG_CTDREQ_RESET  _u(0x00000000)
5111 #define DMA_CH3_DBG_CTDREQ_MSB    _u(5)
5112 #define DMA_CH3_DBG_CTDREQ_LSB    _u(0)
5113 #define DMA_CH3_DBG_CTDREQ_ACCESS "WC"
5114 // =============================================================================
5115 // Register    : DMA_CH3_DBG_TCR
5116 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
5117 //               of the next transfer
5118 #define DMA_CH3_DBG_TCR_OFFSET _u(0x000008c4)
5119 #define DMA_CH3_DBG_TCR_BITS   _u(0xffffffff)
5120 #define DMA_CH3_DBG_TCR_RESET  _u(0x00000000)
5121 #define DMA_CH3_DBG_TCR_MSB    _u(31)
5122 #define DMA_CH3_DBG_TCR_LSB    _u(0)
5123 #define DMA_CH3_DBG_TCR_ACCESS "RO"
5124 // =============================================================================
5125 // Register    : DMA_CH4_DBG_CTDREQ
5126 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
5127 //               expects it can perform on the peripheral without
5128 //               overflow/underflow. Write any value: clears the counter, and
5129 //               cause channel to re-initiate DREQ handshake.
5130 #define DMA_CH4_DBG_CTDREQ_OFFSET _u(0x00000900)
5131 #define DMA_CH4_DBG_CTDREQ_BITS   _u(0x0000003f)
5132 #define DMA_CH4_DBG_CTDREQ_RESET  _u(0x00000000)
5133 #define DMA_CH4_DBG_CTDREQ_MSB    _u(5)
5134 #define DMA_CH4_DBG_CTDREQ_LSB    _u(0)
5135 #define DMA_CH4_DBG_CTDREQ_ACCESS "WC"
5136 // =============================================================================
5137 // Register    : DMA_CH4_DBG_TCR
5138 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
5139 //               of the next transfer
5140 #define DMA_CH4_DBG_TCR_OFFSET _u(0x00000904)
5141 #define DMA_CH4_DBG_TCR_BITS   _u(0xffffffff)
5142 #define DMA_CH4_DBG_TCR_RESET  _u(0x00000000)
5143 #define DMA_CH4_DBG_TCR_MSB    _u(31)
5144 #define DMA_CH4_DBG_TCR_LSB    _u(0)
5145 #define DMA_CH4_DBG_TCR_ACCESS "RO"
5146 // =============================================================================
5147 // Register    : DMA_CH5_DBG_CTDREQ
5148 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
5149 //               expects it can perform on the peripheral without
5150 //               overflow/underflow. Write any value: clears the counter, and
5151 //               cause channel to re-initiate DREQ handshake.
5152 #define DMA_CH5_DBG_CTDREQ_OFFSET _u(0x00000940)
5153 #define DMA_CH5_DBG_CTDREQ_BITS   _u(0x0000003f)
5154 #define DMA_CH5_DBG_CTDREQ_RESET  _u(0x00000000)
5155 #define DMA_CH5_DBG_CTDREQ_MSB    _u(5)
5156 #define DMA_CH5_DBG_CTDREQ_LSB    _u(0)
5157 #define DMA_CH5_DBG_CTDREQ_ACCESS "WC"
5158 // =============================================================================
5159 // Register    : DMA_CH5_DBG_TCR
5160 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
5161 //               of the next transfer
5162 #define DMA_CH5_DBG_TCR_OFFSET _u(0x00000944)
5163 #define DMA_CH5_DBG_TCR_BITS   _u(0xffffffff)
5164 #define DMA_CH5_DBG_TCR_RESET  _u(0x00000000)
5165 #define DMA_CH5_DBG_TCR_MSB    _u(31)
5166 #define DMA_CH5_DBG_TCR_LSB    _u(0)
5167 #define DMA_CH5_DBG_TCR_ACCESS "RO"
5168 // =============================================================================
5169 // Register    : DMA_CH6_DBG_CTDREQ
5170 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
5171 //               expects it can perform on the peripheral without
5172 //               overflow/underflow. Write any value: clears the counter, and
5173 //               cause channel to re-initiate DREQ handshake.
5174 #define DMA_CH6_DBG_CTDREQ_OFFSET _u(0x00000980)
5175 #define DMA_CH6_DBG_CTDREQ_BITS   _u(0x0000003f)
5176 #define DMA_CH6_DBG_CTDREQ_RESET  _u(0x00000000)
5177 #define DMA_CH6_DBG_CTDREQ_MSB    _u(5)
5178 #define DMA_CH6_DBG_CTDREQ_LSB    _u(0)
5179 #define DMA_CH6_DBG_CTDREQ_ACCESS "WC"
5180 // =============================================================================
5181 // Register    : DMA_CH6_DBG_TCR
5182 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
5183 //               of the next transfer
5184 #define DMA_CH6_DBG_TCR_OFFSET _u(0x00000984)
5185 #define DMA_CH6_DBG_TCR_BITS   _u(0xffffffff)
5186 #define DMA_CH6_DBG_TCR_RESET  _u(0x00000000)
5187 #define DMA_CH6_DBG_TCR_MSB    _u(31)
5188 #define DMA_CH6_DBG_TCR_LSB    _u(0)
5189 #define DMA_CH6_DBG_TCR_ACCESS "RO"
5190 // =============================================================================
5191 // Register    : DMA_CH7_DBG_CTDREQ
5192 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
5193 //               expects it can perform on the peripheral without
5194 //               overflow/underflow. Write any value: clears the counter, and
5195 //               cause channel to re-initiate DREQ handshake.
5196 #define DMA_CH7_DBG_CTDREQ_OFFSET _u(0x000009c0)
5197 #define DMA_CH7_DBG_CTDREQ_BITS   _u(0x0000003f)
5198 #define DMA_CH7_DBG_CTDREQ_RESET  _u(0x00000000)
5199 #define DMA_CH7_DBG_CTDREQ_MSB    _u(5)
5200 #define DMA_CH7_DBG_CTDREQ_LSB    _u(0)
5201 #define DMA_CH7_DBG_CTDREQ_ACCESS "WC"
5202 // =============================================================================
5203 // Register    : DMA_CH7_DBG_TCR
5204 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
5205 //               of the next transfer
5206 #define DMA_CH7_DBG_TCR_OFFSET _u(0x000009c4)
5207 #define DMA_CH7_DBG_TCR_BITS   _u(0xffffffff)
5208 #define DMA_CH7_DBG_TCR_RESET  _u(0x00000000)
5209 #define DMA_CH7_DBG_TCR_MSB    _u(31)
5210 #define DMA_CH7_DBG_TCR_LSB    _u(0)
5211 #define DMA_CH7_DBG_TCR_ACCESS "RO"
5212 // =============================================================================
5213 // Register    : DMA_CH8_DBG_CTDREQ
5214 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
5215 //               expects it can perform on the peripheral without
5216 //               overflow/underflow. Write any value: clears the counter, and
5217 //               cause channel to re-initiate DREQ handshake.
5218 #define DMA_CH8_DBG_CTDREQ_OFFSET _u(0x00000a00)
5219 #define DMA_CH8_DBG_CTDREQ_BITS   _u(0x0000003f)
5220 #define DMA_CH8_DBG_CTDREQ_RESET  _u(0x00000000)
5221 #define DMA_CH8_DBG_CTDREQ_MSB    _u(5)
5222 #define DMA_CH8_DBG_CTDREQ_LSB    _u(0)
5223 #define DMA_CH8_DBG_CTDREQ_ACCESS "WC"
5224 // =============================================================================
5225 // Register    : DMA_CH8_DBG_TCR
5226 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
5227 //               of the next transfer
5228 #define DMA_CH8_DBG_TCR_OFFSET _u(0x00000a04)
5229 #define DMA_CH8_DBG_TCR_BITS   _u(0xffffffff)
5230 #define DMA_CH8_DBG_TCR_RESET  _u(0x00000000)
5231 #define DMA_CH8_DBG_TCR_MSB    _u(31)
5232 #define DMA_CH8_DBG_TCR_LSB    _u(0)
5233 #define DMA_CH8_DBG_TCR_ACCESS "RO"
5234 // =============================================================================
5235 // Register    : DMA_CH9_DBG_CTDREQ
5236 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
5237 //               expects it can perform on the peripheral without
5238 //               overflow/underflow. Write any value: clears the counter, and
5239 //               cause channel to re-initiate DREQ handshake.
5240 #define DMA_CH9_DBG_CTDREQ_OFFSET _u(0x00000a40)
5241 #define DMA_CH9_DBG_CTDREQ_BITS   _u(0x0000003f)
5242 #define DMA_CH9_DBG_CTDREQ_RESET  _u(0x00000000)
5243 #define DMA_CH9_DBG_CTDREQ_MSB    _u(5)
5244 #define DMA_CH9_DBG_CTDREQ_LSB    _u(0)
5245 #define DMA_CH9_DBG_CTDREQ_ACCESS "WC"
5246 // =============================================================================
5247 // Register    : DMA_CH9_DBG_TCR
5248 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
5249 //               of the next transfer
5250 #define DMA_CH9_DBG_TCR_OFFSET _u(0x00000a44)
5251 #define DMA_CH9_DBG_TCR_BITS   _u(0xffffffff)
5252 #define DMA_CH9_DBG_TCR_RESET  _u(0x00000000)
5253 #define DMA_CH9_DBG_TCR_MSB    _u(31)
5254 #define DMA_CH9_DBG_TCR_LSB    _u(0)
5255 #define DMA_CH9_DBG_TCR_ACCESS "RO"
5256 // =============================================================================
5257 // Register    : DMA_CH10_DBG_CTDREQ
5258 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
5259 //               expects it can perform on the peripheral without
5260 //               overflow/underflow. Write any value: clears the counter, and
5261 //               cause channel to re-initiate DREQ handshake.
5262 #define DMA_CH10_DBG_CTDREQ_OFFSET _u(0x00000a80)
5263 #define DMA_CH10_DBG_CTDREQ_BITS   _u(0x0000003f)
5264 #define DMA_CH10_DBG_CTDREQ_RESET  _u(0x00000000)
5265 #define DMA_CH10_DBG_CTDREQ_MSB    _u(5)
5266 #define DMA_CH10_DBG_CTDREQ_LSB    _u(0)
5267 #define DMA_CH10_DBG_CTDREQ_ACCESS "WC"
5268 // =============================================================================
5269 // Register    : DMA_CH10_DBG_TCR
5270 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
5271 //               of the next transfer
5272 #define DMA_CH10_DBG_TCR_OFFSET _u(0x00000a84)
5273 #define DMA_CH10_DBG_TCR_BITS   _u(0xffffffff)
5274 #define DMA_CH10_DBG_TCR_RESET  _u(0x00000000)
5275 #define DMA_CH10_DBG_TCR_MSB    _u(31)
5276 #define DMA_CH10_DBG_TCR_LSB    _u(0)
5277 #define DMA_CH10_DBG_TCR_ACCESS "RO"
5278 // =============================================================================
5279 // Register    : DMA_CH11_DBG_CTDREQ
5280 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
5281 //               expects it can perform on the peripheral without
5282 //               overflow/underflow. Write any value: clears the counter, and
5283 //               cause channel to re-initiate DREQ handshake.
5284 #define DMA_CH11_DBG_CTDREQ_OFFSET _u(0x00000ac0)
5285 #define DMA_CH11_DBG_CTDREQ_BITS   _u(0x0000003f)
5286 #define DMA_CH11_DBG_CTDREQ_RESET  _u(0x00000000)
5287 #define DMA_CH11_DBG_CTDREQ_MSB    _u(5)
5288 #define DMA_CH11_DBG_CTDREQ_LSB    _u(0)
5289 #define DMA_CH11_DBG_CTDREQ_ACCESS "WC"
5290 // =============================================================================
5291 // Register    : DMA_CH11_DBG_TCR
5292 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
5293 //               of the next transfer
5294 #define DMA_CH11_DBG_TCR_OFFSET _u(0x00000ac4)
5295 #define DMA_CH11_DBG_TCR_BITS   _u(0xffffffff)
5296 #define DMA_CH11_DBG_TCR_RESET  _u(0x00000000)
5297 #define DMA_CH11_DBG_TCR_MSB    _u(31)
5298 #define DMA_CH11_DBG_TCR_LSB    _u(0)
5299 #define DMA_CH11_DBG_TCR_ACCESS "RO"
5300 // =============================================================================
5301 #endif // HARDWARE_REGS_DMA_DEFINED
5302