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