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 #define DMA_CH0_TRANS_COUNT_OFFSET _u(0x00000008)
44 #define DMA_CH0_TRANS_COUNT_BITS   _u(0xffffffff)
45 #define DMA_CH0_TRANS_COUNT_RESET  _u(0x00000000)
46 // -----------------------------------------------------------------------------
47 // Field       : DMA_CH0_TRANS_COUNT_MODE
48 // Description : When MODE is 0x0, the transfer count decrements with each
49 //               transfer until 0, and then the channel triggers the next
50 //               channel indicated by CTRL_CHAIN_TO.
51 //
52 //               When MODE is 0x1, the transfer count decrements with each
53 //               transfer until 0, and then the channel re-triggers itself, in
54 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
55 //               useful for e.g. an endless ring-buffer DMA with periodic
56 //               interrupts.
57 //
58 //               When MODE is 0xf, the transfer count does not decrement. The
59 //               DMA channel performs an endless sequence of transfers, never
60 //               triggering other channels or raising interrupts, until an ABORT
61 //               is raised.
62 //
63 //               All other values are reserved.
64 //               0x0 -> NORMAL
65 //               0x1 -> TRIGGER_SELF
66 //               0xf -> ENDLESS
67 #define DMA_CH0_TRANS_COUNT_MODE_RESET  _u(0x0)
68 #define DMA_CH0_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
69 #define DMA_CH0_TRANS_COUNT_MODE_MSB    _u(31)
70 #define DMA_CH0_TRANS_COUNT_MODE_LSB    _u(28)
71 #define DMA_CH0_TRANS_COUNT_MODE_ACCESS "RW"
72 #define DMA_CH0_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
73 #define DMA_CH0_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
74 #define DMA_CH0_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
75 // -----------------------------------------------------------------------------
76 // Field       : DMA_CH0_TRANS_COUNT_COUNT
77 // Description : 28-bit transfer count (256 million transfers maximum).
78 //
79 //               Program the number of bus transfers a channel will perform
80 //               before halting. Note that, if transfers are larger than one
81 //               byte in size, this is not equal to the number of bytes
82 //               transferred (see CTRL_DATA_SIZE).
83 //
84 //               When the channel is active, reading this register shows the
85 //               number of transfers remaining, updating automatically each time
86 //               a write transfer completes.
87 //
88 //               Writing this register sets the RELOAD value for the transfer
89 //               counter. Each time this channel is triggered, the RELOAD value
90 //               is copied into the live transfer counter. The channel can be
91 //               started multiple times, and will perform the same number of
92 //               transfers each time, as programmed by most recent write.
93 //
94 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
95 //               is used as a trigger, the written value is used immediately as
96 //               the length of the new transfer sequence, as well as being
97 //               written to RELOAD.
98 #define DMA_CH0_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
99 #define DMA_CH0_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
100 #define DMA_CH0_TRANS_COUNT_COUNT_MSB    _u(27)
101 #define DMA_CH0_TRANS_COUNT_COUNT_LSB    _u(0)
102 #define DMA_CH0_TRANS_COUNT_COUNT_ACCESS "RW"
103 // =============================================================================
104 // Register    : DMA_CH0_CTRL_TRIG
105 // Description : DMA Channel 0 Control and Status
106 #define DMA_CH0_CTRL_TRIG_OFFSET _u(0x0000000c)
107 #define DMA_CH0_CTRL_TRIG_BITS   _u(0xe7ffffff)
108 #define DMA_CH0_CTRL_TRIG_RESET  _u(0x00000000)
109 // -----------------------------------------------------------------------------
110 // Field       : DMA_CH0_CTRL_TRIG_AHB_ERROR
111 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
112 //               halts when it encounters any bus error, and always raises its
113 //               channel IRQ flag.
114 #define DMA_CH0_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
115 #define DMA_CH0_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
116 #define DMA_CH0_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
117 #define DMA_CH0_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
118 #define DMA_CH0_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
119 // -----------------------------------------------------------------------------
120 // Field       : DMA_CH0_CTRL_TRIG_READ_ERROR
121 // Description : If 1, the channel received a read bus error. Write one to
122 //               clear.
123 //               READ_ADDR shows the approximate address where the bus error was
124 //               encountered (will not be earlier, or more than 3 transfers
125 //               later)
126 #define DMA_CH0_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
127 #define DMA_CH0_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
128 #define DMA_CH0_CTRL_TRIG_READ_ERROR_MSB    _u(30)
129 #define DMA_CH0_CTRL_TRIG_READ_ERROR_LSB    _u(30)
130 #define DMA_CH0_CTRL_TRIG_READ_ERROR_ACCESS "WC"
131 // -----------------------------------------------------------------------------
132 // Field       : DMA_CH0_CTRL_TRIG_WRITE_ERROR
133 // Description : If 1, the channel received a write bus error. Write one to
134 //               clear.
135 //               WRITE_ADDR shows the approximate address where the bus error
136 //               was encountered (will not be earlier, or more than 5 transfers
137 //               later)
138 #define DMA_CH0_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
139 #define DMA_CH0_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
140 #define DMA_CH0_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
141 #define DMA_CH0_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
142 #define DMA_CH0_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
143 // -----------------------------------------------------------------------------
144 // Field       : DMA_CH0_CTRL_TRIG_BUSY
145 // Description : This flag goes high when the channel starts a new transfer
146 //               sequence, and low when the last transfer of that sequence
147 //               completes. Clearing EN while BUSY is high pauses the channel,
148 //               and BUSY will stay high while paused.
149 //
150 //               To terminate a sequence early (and clear the BUSY flag), see
151 //               CHAN_ABORT.
152 #define DMA_CH0_CTRL_TRIG_BUSY_RESET  _u(0x0)
153 #define DMA_CH0_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
154 #define DMA_CH0_CTRL_TRIG_BUSY_MSB    _u(26)
155 #define DMA_CH0_CTRL_TRIG_BUSY_LSB    _u(26)
156 #define DMA_CH0_CTRL_TRIG_BUSY_ACCESS "RO"
157 // -----------------------------------------------------------------------------
158 // Field       : DMA_CH0_CTRL_TRIG_SNIFF_EN
159 // Description : If 1, this channel's data transfers are visible to the sniff
160 //               hardware, and each transfer will advance the state of the
161 //               checksum. This only applies if the sniff hardware is enabled,
162 //               and has this channel selected.
163 //
164 //               This allows checksum to be enabled or disabled on a per-
165 //               control- block basis.
166 #define DMA_CH0_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
167 #define DMA_CH0_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
168 #define DMA_CH0_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
169 #define DMA_CH0_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
170 #define DMA_CH0_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
171 // -----------------------------------------------------------------------------
172 // Field       : DMA_CH0_CTRL_TRIG_BSWAP
173 // Description : Apply byte-swap transformation to DMA data.
174 //               For byte data, this has no effect. For halfword data, the two
175 //               bytes of each halfword are swapped. For word data, the four
176 //               bytes of each word are swapped to reverse order.
177 #define DMA_CH0_CTRL_TRIG_BSWAP_RESET  _u(0x0)
178 #define DMA_CH0_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
179 #define DMA_CH0_CTRL_TRIG_BSWAP_MSB    _u(24)
180 #define DMA_CH0_CTRL_TRIG_BSWAP_LSB    _u(24)
181 #define DMA_CH0_CTRL_TRIG_BSWAP_ACCESS "RW"
182 // -----------------------------------------------------------------------------
183 // Field       : DMA_CH0_CTRL_TRIG_IRQ_QUIET
184 // Description : In QUIET mode, the channel does not generate IRQs at the end of
185 //               every transfer block. Instead, an IRQ is raised when NULL is
186 //               written to a trigger register, indicating the end of a control
187 //               block chain.
188 //
189 //               This reduces the number of interrupts to be serviced by the CPU
190 //               when transferring a DMA chain of many small control blocks.
191 #define DMA_CH0_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
192 #define DMA_CH0_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
193 #define DMA_CH0_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
194 #define DMA_CH0_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
195 #define DMA_CH0_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
196 // -----------------------------------------------------------------------------
197 // Field       : DMA_CH0_CTRL_TRIG_TREQ_SEL
198 // Description : Select a Transfer Request signal.
199 //               The channel uses the transfer request signal to pace its data
200 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
201 //               or external (DREQ, a Data Request from the system).
202 //               0x0 to 0x3a -> select DREQ n as TREQ
203 //               0x3b -> Select Timer 0 as TREQ
204 //               0x3c -> Select Timer 1 as TREQ
205 //               0x3d -> Select Timer 2 as TREQ (Optional)
206 //               0x3e -> Select Timer 3 as TREQ (Optional)
207 //               0x3f -> Permanent request, for unpaced transfers.
208 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
209 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
210 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
211 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
212 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
213 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
214 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
215 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
216 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
217 #define DMA_CH0_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
218 // -----------------------------------------------------------------------------
219 // Field       : DMA_CH0_CTRL_TRIG_CHAIN_TO
220 // Description : When this channel completes, it will trigger the channel
221 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
222 //               channel)_.
223 //
224 //               Note this field resets to 0, so channels 1 and above will chain
225 //               to channel 0 by default. Set this field to avoid this
226 //               behaviour.
227 #define DMA_CH0_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
228 #define DMA_CH0_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
229 #define DMA_CH0_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
230 #define DMA_CH0_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
231 #define DMA_CH0_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
232 // -----------------------------------------------------------------------------
233 // Field       : DMA_CH0_CTRL_TRIG_RING_SEL
234 // Description : Select whether RING_SIZE applies to read or write addresses.
235 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
236 //               boundary. If 1, write addresses are wrapped.
237 #define DMA_CH0_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
238 #define DMA_CH0_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
239 #define DMA_CH0_CTRL_TRIG_RING_SEL_MSB    _u(12)
240 #define DMA_CH0_CTRL_TRIG_RING_SEL_LSB    _u(12)
241 #define DMA_CH0_CTRL_TRIG_RING_SEL_ACCESS "RW"
242 // -----------------------------------------------------------------------------
243 // Field       : DMA_CH0_CTRL_TRIG_RING_SIZE
244 // Description : Size of address wrap region. If 0, don't wrap. For values n >
245 //               0, only the lower n bits of the address will change. This wraps
246 //               the address on a (1 << n) byte boundary, facilitating access to
247 //               naturally-aligned ring buffers.
248 //
249 //               Ring sizes between 2 and 32768 bytes are possible. This can
250 //               apply to either read or write addresses, based on value of
251 //               RING_SEL.
252 //               0x0 -> RING_NONE
253 #define DMA_CH0_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
254 #define DMA_CH0_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
255 #define DMA_CH0_CTRL_TRIG_RING_SIZE_MSB    _u(11)
256 #define DMA_CH0_CTRL_TRIG_RING_SIZE_LSB    _u(8)
257 #define DMA_CH0_CTRL_TRIG_RING_SIZE_ACCESS "RW"
258 #define DMA_CH0_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
259 // -----------------------------------------------------------------------------
260 // Field       : DMA_CH0_CTRL_TRIG_INCR_WRITE_REV
261 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
262 //               rather than incremented with each transfer.
263 //
264 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
265 //               causes the write address to be incremented by twice the
266 //               transfer size, i.e. skipping over alternate addresses.
267 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
268 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
269 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
270 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
271 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
272 // -----------------------------------------------------------------------------
273 // Field       : DMA_CH0_CTRL_TRIG_INCR_WRITE
274 // Description : If 1, the write address increments with each transfer. If 0,
275 //               each write is directed to the same, initial address.
276 //
277 //               Generally this should be disabled for memory-to-peripheral
278 //               transfers.
279 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
280 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
281 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
282 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
283 #define DMA_CH0_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
284 // -----------------------------------------------------------------------------
285 // Field       : DMA_CH0_CTRL_TRIG_INCR_READ_REV
286 // Description : If 1, and INCR_READ is 1, the read address is decremented
287 //               rather than incremented with each transfer.
288 //
289 //               If 1, and INCR_READ is 0, this otherwise-unused combination
290 //               causes the read address to be incremented by twice the transfer
291 //               size, i.e. skipping over alternate addresses.
292 #define DMA_CH0_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
293 #define DMA_CH0_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
294 #define DMA_CH0_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
295 #define DMA_CH0_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
296 #define DMA_CH0_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
297 // -----------------------------------------------------------------------------
298 // Field       : DMA_CH0_CTRL_TRIG_INCR_READ
299 // Description : If 1, the read address increments with each transfer. If 0,
300 //               each read is directed to the same, initial address.
301 //
302 //               Generally this should be disabled for peripheral-to-memory
303 //               transfers.
304 #define DMA_CH0_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
305 #define DMA_CH0_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
306 #define DMA_CH0_CTRL_TRIG_INCR_READ_MSB    _u(4)
307 #define DMA_CH0_CTRL_TRIG_INCR_READ_LSB    _u(4)
308 #define DMA_CH0_CTRL_TRIG_INCR_READ_ACCESS "RW"
309 // -----------------------------------------------------------------------------
310 // Field       : DMA_CH0_CTRL_TRIG_DATA_SIZE
311 // Description : Set the size of each bus transfer (byte/halfword/word).
312 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
313 //               with each transfer.
314 //               0x0 -> SIZE_BYTE
315 //               0x1 -> SIZE_HALFWORD
316 //               0x2 -> SIZE_WORD
317 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
318 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
319 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
320 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
321 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
322 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
323 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
324 #define DMA_CH0_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
325 // -----------------------------------------------------------------------------
326 // Field       : DMA_CH0_CTRL_TRIG_HIGH_PRIORITY
327 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
328 //               scheduling: in each scheduling round, all high priority
329 //               channels are considered first, and then only a single low
330 //               priority channel, before returning to the high priority
331 //               channels.
332 //
333 //               This only affects the order in which the DMA schedules
334 //               channels. The DMA's bus priority is not changed. If the DMA is
335 //               not saturated then a low priority channel will see no loss of
336 //               throughput.
337 #define DMA_CH0_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
338 #define DMA_CH0_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
339 #define DMA_CH0_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
340 #define DMA_CH0_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
341 #define DMA_CH0_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
342 // -----------------------------------------------------------------------------
343 // Field       : DMA_CH0_CTRL_TRIG_EN
344 // Description : DMA Channel Enable.
345 //               When 1, the channel will respond to triggering events, which
346 //               will cause it to become BUSY and start transferring data. When
347 //               0, the channel will ignore triggers, stop issuing transfers,
348 //               and pause the current transfer sequence (i.e. BUSY will remain
349 //               high if already high)
350 #define DMA_CH0_CTRL_TRIG_EN_RESET  _u(0x0)
351 #define DMA_CH0_CTRL_TRIG_EN_BITS   _u(0x00000001)
352 #define DMA_CH0_CTRL_TRIG_EN_MSB    _u(0)
353 #define DMA_CH0_CTRL_TRIG_EN_LSB    _u(0)
354 #define DMA_CH0_CTRL_TRIG_EN_ACCESS "RW"
355 // =============================================================================
356 // Register    : DMA_CH0_AL1_CTRL
357 // Description : Alias for channel 0 CTRL register
358 #define DMA_CH0_AL1_CTRL_OFFSET _u(0x00000010)
359 #define DMA_CH0_AL1_CTRL_BITS   _u(0xffffffff)
360 #define DMA_CH0_AL1_CTRL_RESET  "-"
361 #define DMA_CH0_AL1_CTRL_MSB    _u(31)
362 #define DMA_CH0_AL1_CTRL_LSB    _u(0)
363 #define DMA_CH0_AL1_CTRL_ACCESS "RW"
364 // =============================================================================
365 // Register    : DMA_CH0_AL1_READ_ADDR
366 // Description : Alias for channel 0 READ_ADDR register
367 #define DMA_CH0_AL1_READ_ADDR_OFFSET _u(0x00000014)
368 #define DMA_CH0_AL1_READ_ADDR_BITS   _u(0xffffffff)
369 #define DMA_CH0_AL1_READ_ADDR_RESET  "-"
370 #define DMA_CH0_AL1_READ_ADDR_MSB    _u(31)
371 #define DMA_CH0_AL1_READ_ADDR_LSB    _u(0)
372 #define DMA_CH0_AL1_READ_ADDR_ACCESS "RW"
373 // =============================================================================
374 // Register    : DMA_CH0_AL1_WRITE_ADDR
375 // Description : Alias for channel 0 WRITE_ADDR register
376 #define DMA_CH0_AL1_WRITE_ADDR_OFFSET _u(0x00000018)
377 #define DMA_CH0_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
378 #define DMA_CH0_AL1_WRITE_ADDR_RESET  "-"
379 #define DMA_CH0_AL1_WRITE_ADDR_MSB    _u(31)
380 #define DMA_CH0_AL1_WRITE_ADDR_LSB    _u(0)
381 #define DMA_CH0_AL1_WRITE_ADDR_ACCESS "RW"
382 // =============================================================================
383 // Register    : DMA_CH0_AL1_TRANS_COUNT_TRIG
384 // Description : Alias for channel 0 TRANS_COUNT register
385 //               This is a trigger register (0xc). Writing a nonzero value will
386 //               reload the channel counter and start the channel.
387 #define DMA_CH0_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000001c)
388 #define DMA_CH0_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
389 #define DMA_CH0_AL1_TRANS_COUNT_TRIG_RESET  "-"
390 #define DMA_CH0_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
391 #define DMA_CH0_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
392 #define DMA_CH0_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
393 // =============================================================================
394 // Register    : DMA_CH0_AL2_CTRL
395 // Description : Alias for channel 0 CTRL register
396 #define DMA_CH0_AL2_CTRL_OFFSET _u(0x00000020)
397 #define DMA_CH0_AL2_CTRL_BITS   _u(0xffffffff)
398 #define DMA_CH0_AL2_CTRL_RESET  "-"
399 #define DMA_CH0_AL2_CTRL_MSB    _u(31)
400 #define DMA_CH0_AL2_CTRL_LSB    _u(0)
401 #define DMA_CH0_AL2_CTRL_ACCESS "RW"
402 // =============================================================================
403 // Register    : DMA_CH0_AL2_TRANS_COUNT
404 // Description : Alias for channel 0 TRANS_COUNT register
405 #define DMA_CH0_AL2_TRANS_COUNT_OFFSET _u(0x00000024)
406 #define DMA_CH0_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
407 #define DMA_CH0_AL2_TRANS_COUNT_RESET  "-"
408 #define DMA_CH0_AL2_TRANS_COUNT_MSB    _u(31)
409 #define DMA_CH0_AL2_TRANS_COUNT_LSB    _u(0)
410 #define DMA_CH0_AL2_TRANS_COUNT_ACCESS "RW"
411 // =============================================================================
412 // Register    : DMA_CH0_AL2_READ_ADDR
413 // Description : Alias for channel 0 READ_ADDR register
414 #define DMA_CH0_AL2_READ_ADDR_OFFSET _u(0x00000028)
415 #define DMA_CH0_AL2_READ_ADDR_BITS   _u(0xffffffff)
416 #define DMA_CH0_AL2_READ_ADDR_RESET  "-"
417 #define DMA_CH0_AL2_READ_ADDR_MSB    _u(31)
418 #define DMA_CH0_AL2_READ_ADDR_LSB    _u(0)
419 #define DMA_CH0_AL2_READ_ADDR_ACCESS "RW"
420 // =============================================================================
421 // Register    : DMA_CH0_AL2_WRITE_ADDR_TRIG
422 // Description : Alias for channel 0 WRITE_ADDR register
423 //               This is a trigger register (0xc). Writing a nonzero value will
424 //               reload the channel counter and start the channel.
425 #define DMA_CH0_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000002c)
426 #define DMA_CH0_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
427 #define DMA_CH0_AL2_WRITE_ADDR_TRIG_RESET  "-"
428 #define DMA_CH0_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
429 #define DMA_CH0_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
430 #define DMA_CH0_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
431 // =============================================================================
432 // Register    : DMA_CH0_AL3_CTRL
433 // Description : Alias for channel 0 CTRL register
434 #define DMA_CH0_AL3_CTRL_OFFSET _u(0x00000030)
435 #define DMA_CH0_AL3_CTRL_BITS   _u(0xffffffff)
436 #define DMA_CH0_AL3_CTRL_RESET  "-"
437 #define DMA_CH0_AL3_CTRL_MSB    _u(31)
438 #define DMA_CH0_AL3_CTRL_LSB    _u(0)
439 #define DMA_CH0_AL3_CTRL_ACCESS "RW"
440 // =============================================================================
441 // Register    : DMA_CH0_AL3_WRITE_ADDR
442 // Description : Alias for channel 0 WRITE_ADDR register
443 #define DMA_CH0_AL3_WRITE_ADDR_OFFSET _u(0x00000034)
444 #define DMA_CH0_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
445 #define DMA_CH0_AL3_WRITE_ADDR_RESET  "-"
446 #define DMA_CH0_AL3_WRITE_ADDR_MSB    _u(31)
447 #define DMA_CH0_AL3_WRITE_ADDR_LSB    _u(0)
448 #define DMA_CH0_AL3_WRITE_ADDR_ACCESS "RW"
449 // =============================================================================
450 // Register    : DMA_CH0_AL3_TRANS_COUNT
451 // Description : Alias for channel 0 TRANS_COUNT register
452 #define DMA_CH0_AL3_TRANS_COUNT_OFFSET _u(0x00000038)
453 #define DMA_CH0_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
454 #define DMA_CH0_AL3_TRANS_COUNT_RESET  "-"
455 #define DMA_CH0_AL3_TRANS_COUNT_MSB    _u(31)
456 #define DMA_CH0_AL3_TRANS_COUNT_LSB    _u(0)
457 #define DMA_CH0_AL3_TRANS_COUNT_ACCESS "RW"
458 // =============================================================================
459 // Register    : DMA_CH0_AL3_READ_ADDR_TRIG
460 // Description : Alias for channel 0 READ_ADDR register
461 //               This is a trigger register (0xc). Writing a nonzero value will
462 //               reload the channel counter and start the channel.
463 #define DMA_CH0_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000003c)
464 #define DMA_CH0_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
465 #define DMA_CH0_AL3_READ_ADDR_TRIG_RESET  "-"
466 #define DMA_CH0_AL3_READ_ADDR_TRIG_MSB    _u(31)
467 #define DMA_CH0_AL3_READ_ADDR_TRIG_LSB    _u(0)
468 #define DMA_CH0_AL3_READ_ADDR_TRIG_ACCESS "RW"
469 // =============================================================================
470 // Register    : DMA_CH1_READ_ADDR
471 // Description : DMA Channel 1 Read Address pointer
472 //               This register updates automatically each time a read completes.
473 //               The current value is the next address to be read by this
474 //               channel.
475 #define DMA_CH1_READ_ADDR_OFFSET _u(0x00000040)
476 #define DMA_CH1_READ_ADDR_BITS   _u(0xffffffff)
477 #define DMA_CH1_READ_ADDR_RESET  _u(0x00000000)
478 #define DMA_CH1_READ_ADDR_MSB    _u(31)
479 #define DMA_CH1_READ_ADDR_LSB    _u(0)
480 #define DMA_CH1_READ_ADDR_ACCESS "RW"
481 // =============================================================================
482 // Register    : DMA_CH1_WRITE_ADDR
483 // Description : DMA Channel 1 Write Address pointer
484 //               This register updates automatically each time a write
485 //               completes. The current value is the next address to be written
486 //               by this channel.
487 #define DMA_CH1_WRITE_ADDR_OFFSET _u(0x00000044)
488 #define DMA_CH1_WRITE_ADDR_BITS   _u(0xffffffff)
489 #define DMA_CH1_WRITE_ADDR_RESET  _u(0x00000000)
490 #define DMA_CH1_WRITE_ADDR_MSB    _u(31)
491 #define DMA_CH1_WRITE_ADDR_LSB    _u(0)
492 #define DMA_CH1_WRITE_ADDR_ACCESS "RW"
493 // =============================================================================
494 // Register    : DMA_CH1_TRANS_COUNT
495 // Description : DMA Channel 1 Transfer Count
496 #define DMA_CH1_TRANS_COUNT_OFFSET _u(0x00000048)
497 #define DMA_CH1_TRANS_COUNT_BITS   _u(0xffffffff)
498 #define DMA_CH1_TRANS_COUNT_RESET  _u(0x00000000)
499 // -----------------------------------------------------------------------------
500 // Field       : DMA_CH1_TRANS_COUNT_MODE
501 // Description : When MODE is 0x0, the transfer count decrements with each
502 //               transfer until 0, and then the channel triggers the next
503 //               channel indicated by CTRL_CHAIN_TO.
504 //
505 //               When MODE is 0x1, the transfer count decrements with each
506 //               transfer until 0, and then the channel re-triggers itself, in
507 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
508 //               useful for e.g. an endless ring-buffer DMA with periodic
509 //               interrupts.
510 //
511 //               When MODE is 0xf, the transfer count does not decrement. The
512 //               DMA channel performs an endless sequence of transfers, never
513 //               triggering other channels or raising interrupts, until an ABORT
514 //               is raised.
515 //
516 //               All other values are reserved.
517 //               0x0 -> NORMAL
518 //               0x1 -> TRIGGER_SELF
519 //               0xf -> ENDLESS
520 #define DMA_CH1_TRANS_COUNT_MODE_RESET  _u(0x0)
521 #define DMA_CH1_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
522 #define DMA_CH1_TRANS_COUNT_MODE_MSB    _u(31)
523 #define DMA_CH1_TRANS_COUNT_MODE_LSB    _u(28)
524 #define DMA_CH1_TRANS_COUNT_MODE_ACCESS "RW"
525 #define DMA_CH1_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
526 #define DMA_CH1_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
527 #define DMA_CH1_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
528 // -----------------------------------------------------------------------------
529 // Field       : DMA_CH1_TRANS_COUNT_COUNT
530 // Description : 28-bit transfer count (256 million transfers maximum).
531 //
532 //               Program the number of bus transfers a channel will perform
533 //               before halting. Note that, if transfers are larger than one
534 //               byte in size, this is not equal to the number of bytes
535 //               transferred (see CTRL_DATA_SIZE).
536 //
537 //               When the channel is active, reading this register shows the
538 //               number of transfers remaining, updating automatically each time
539 //               a write transfer completes.
540 //
541 //               Writing this register sets the RELOAD value for the transfer
542 //               counter. Each time this channel is triggered, the RELOAD value
543 //               is copied into the live transfer counter. The channel can be
544 //               started multiple times, and will perform the same number of
545 //               transfers each time, as programmed by most recent write.
546 //
547 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
548 //               is used as a trigger, the written value is used immediately as
549 //               the length of the new transfer sequence, as well as being
550 //               written to RELOAD.
551 #define DMA_CH1_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
552 #define DMA_CH1_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
553 #define DMA_CH1_TRANS_COUNT_COUNT_MSB    _u(27)
554 #define DMA_CH1_TRANS_COUNT_COUNT_LSB    _u(0)
555 #define DMA_CH1_TRANS_COUNT_COUNT_ACCESS "RW"
556 // =============================================================================
557 // Register    : DMA_CH1_CTRL_TRIG
558 // Description : DMA Channel 1 Control and Status
559 #define DMA_CH1_CTRL_TRIG_OFFSET _u(0x0000004c)
560 #define DMA_CH1_CTRL_TRIG_BITS   _u(0xe7ffffff)
561 #define DMA_CH1_CTRL_TRIG_RESET  _u(0x00000000)
562 // -----------------------------------------------------------------------------
563 // Field       : DMA_CH1_CTRL_TRIG_AHB_ERROR
564 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
565 //               halts when it encounters any bus error, and always raises its
566 //               channel IRQ flag.
567 #define DMA_CH1_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
568 #define DMA_CH1_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
569 #define DMA_CH1_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
570 #define DMA_CH1_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
571 #define DMA_CH1_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
572 // -----------------------------------------------------------------------------
573 // Field       : DMA_CH1_CTRL_TRIG_READ_ERROR
574 // Description : If 1, the channel received a read bus error. Write one to
575 //               clear.
576 //               READ_ADDR shows the approximate address where the bus error was
577 //               encountered (will not be earlier, or more than 3 transfers
578 //               later)
579 #define DMA_CH1_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
580 #define DMA_CH1_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
581 #define DMA_CH1_CTRL_TRIG_READ_ERROR_MSB    _u(30)
582 #define DMA_CH1_CTRL_TRIG_READ_ERROR_LSB    _u(30)
583 #define DMA_CH1_CTRL_TRIG_READ_ERROR_ACCESS "WC"
584 // -----------------------------------------------------------------------------
585 // Field       : DMA_CH1_CTRL_TRIG_WRITE_ERROR
586 // Description : If 1, the channel received a write bus error. Write one to
587 //               clear.
588 //               WRITE_ADDR shows the approximate address where the bus error
589 //               was encountered (will not be earlier, or more than 5 transfers
590 //               later)
591 #define DMA_CH1_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
592 #define DMA_CH1_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
593 #define DMA_CH1_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
594 #define DMA_CH1_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
595 #define DMA_CH1_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
596 // -----------------------------------------------------------------------------
597 // Field       : DMA_CH1_CTRL_TRIG_BUSY
598 // Description : This flag goes high when the channel starts a new transfer
599 //               sequence, and low when the last transfer of that sequence
600 //               completes. Clearing EN while BUSY is high pauses the channel,
601 //               and BUSY will stay high while paused.
602 //
603 //               To terminate a sequence early (and clear the BUSY flag), see
604 //               CHAN_ABORT.
605 #define DMA_CH1_CTRL_TRIG_BUSY_RESET  _u(0x0)
606 #define DMA_CH1_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
607 #define DMA_CH1_CTRL_TRIG_BUSY_MSB    _u(26)
608 #define DMA_CH1_CTRL_TRIG_BUSY_LSB    _u(26)
609 #define DMA_CH1_CTRL_TRIG_BUSY_ACCESS "RO"
610 // -----------------------------------------------------------------------------
611 // Field       : DMA_CH1_CTRL_TRIG_SNIFF_EN
612 // Description : If 1, this channel's data transfers are visible to the sniff
613 //               hardware, and each transfer will advance the state of the
614 //               checksum. This only applies if the sniff hardware is enabled,
615 //               and has this channel selected.
616 //
617 //               This allows checksum to be enabled or disabled on a per-
618 //               control- block basis.
619 #define DMA_CH1_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
620 #define DMA_CH1_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
621 #define DMA_CH1_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
622 #define DMA_CH1_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
623 #define DMA_CH1_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
624 // -----------------------------------------------------------------------------
625 // Field       : DMA_CH1_CTRL_TRIG_BSWAP
626 // Description : Apply byte-swap transformation to DMA data.
627 //               For byte data, this has no effect. For halfword data, the two
628 //               bytes of each halfword are swapped. For word data, the four
629 //               bytes of each word are swapped to reverse order.
630 #define DMA_CH1_CTRL_TRIG_BSWAP_RESET  _u(0x0)
631 #define DMA_CH1_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
632 #define DMA_CH1_CTRL_TRIG_BSWAP_MSB    _u(24)
633 #define DMA_CH1_CTRL_TRIG_BSWAP_LSB    _u(24)
634 #define DMA_CH1_CTRL_TRIG_BSWAP_ACCESS "RW"
635 // -----------------------------------------------------------------------------
636 // Field       : DMA_CH1_CTRL_TRIG_IRQ_QUIET
637 // Description : In QUIET mode, the channel does not generate IRQs at the end of
638 //               every transfer block. Instead, an IRQ is raised when NULL is
639 //               written to a trigger register, indicating the end of a control
640 //               block chain.
641 //
642 //               This reduces the number of interrupts to be serviced by the CPU
643 //               when transferring a DMA chain of many small control blocks.
644 #define DMA_CH1_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
645 #define DMA_CH1_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
646 #define DMA_CH1_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
647 #define DMA_CH1_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
648 #define DMA_CH1_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
649 // -----------------------------------------------------------------------------
650 // Field       : DMA_CH1_CTRL_TRIG_TREQ_SEL
651 // Description : Select a Transfer Request signal.
652 //               The channel uses the transfer request signal to pace its data
653 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
654 //               or external (DREQ, a Data Request from the system).
655 //               0x0 to 0x3a -> select DREQ n as TREQ
656 //               0x3b -> Select Timer 0 as TREQ
657 //               0x3c -> Select Timer 1 as TREQ
658 //               0x3d -> Select Timer 2 as TREQ (Optional)
659 //               0x3e -> Select Timer 3 as TREQ (Optional)
660 //               0x3f -> Permanent request, for unpaced transfers.
661 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
662 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
663 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
664 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
665 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
666 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
667 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
668 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
669 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
670 #define DMA_CH1_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
671 // -----------------------------------------------------------------------------
672 // Field       : DMA_CH1_CTRL_TRIG_CHAIN_TO
673 // Description : When this channel completes, it will trigger the channel
674 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
675 //               channel)_.
676 //
677 //               Note this field resets to 0, so channels 1 and above will chain
678 //               to channel 0 by default. Set this field to avoid this
679 //               behaviour.
680 #define DMA_CH1_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
681 #define DMA_CH1_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
682 #define DMA_CH1_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
683 #define DMA_CH1_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
684 #define DMA_CH1_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
685 // -----------------------------------------------------------------------------
686 // Field       : DMA_CH1_CTRL_TRIG_RING_SEL
687 // Description : Select whether RING_SIZE applies to read or write addresses.
688 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
689 //               boundary. If 1, write addresses are wrapped.
690 #define DMA_CH1_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
691 #define DMA_CH1_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
692 #define DMA_CH1_CTRL_TRIG_RING_SEL_MSB    _u(12)
693 #define DMA_CH1_CTRL_TRIG_RING_SEL_LSB    _u(12)
694 #define DMA_CH1_CTRL_TRIG_RING_SEL_ACCESS "RW"
695 // -----------------------------------------------------------------------------
696 // Field       : DMA_CH1_CTRL_TRIG_RING_SIZE
697 // Description : Size of address wrap region. If 0, don't wrap. For values n >
698 //               0, only the lower n bits of the address will change. This wraps
699 //               the address on a (1 << n) byte boundary, facilitating access to
700 //               naturally-aligned ring buffers.
701 //
702 //               Ring sizes between 2 and 32768 bytes are possible. This can
703 //               apply to either read or write addresses, based on value of
704 //               RING_SEL.
705 //               0x0 -> RING_NONE
706 #define DMA_CH1_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
707 #define DMA_CH1_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
708 #define DMA_CH1_CTRL_TRIG_RING_SIZE_MSB    _u(11)
709 #define DMA_CH1_CTRL_TRIG_RING_SIZE_LSB    _u(8)
710 #define DMA_CH1_CTRL_TRIG_RING_SIZE_ACCESS "RW"
711 #define DMA_CH1_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
712 // -----------------------------------------------------------------------------
713 // Field       : DMA_CH1_CTRL_TRIG_INCR_WRITE_REV
714 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
715 //               rather than incremented with each transfer.
716 //
717 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
718 //               causes the write address to be incremented by twice the
719 //               transfer size, i.e. skipping over alternate addresses.
720 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
721 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
722 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
723 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
724 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
725 // -----------------------------------------------------------------------------
726 // Field       : DMA_CH1_CTRL_TRIG_INCR_WRITE
727 // Description : If 1, the write address increments with each transfer. If 0,
728 //               each write is directed to the same, initial address.
729 //
730 //               Generally this should be disabled for memory-to-peripheral
731 //               transfers.
732 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
733 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
734 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
735 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
736 #define DMA_CH1_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
737 // -----------------------------------------------------------------------------
738 // Field       : DMA_CH1_CTRL_TRIG_INCR_READ_REV
739 // Description : If 1, and INCR_READ is 1, the read address is decremented
740 //               rather than incremented with each transfer.
741 //
742 //               If 1, and INCR_READ is 0, this otherwise-unused combination
743 //               causes the read address to be incremented by twice the transfer
744 //               size, i.e. skipping over alternate addresses.
745 #define DMA_CH1_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
746 #define DMA_CH1_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
747 #define DMA_CH1_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
748 #define DMA_CH1_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
749 #define DMA_CH1_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
750 // -----------------------------------------------------------------------------
751 // Field       : DMA_CH1_CTRL_TRIG_INCR_READ
752 // Description : If 1, the read address increments with each transfer. If 0,
753 //               each read is directed to the same, initial address.
754 //
755 //               Generally this should be disabled for peripheral-to-memory
756 //               transfers.
757 #define DMA_CH1_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
758 #define DMA_CH1_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
759 #define DMA_CH1_CTRL_TRIG_INCR_READ_MSB    _u(4)
760 #define DMA_CH1_CTRL_TRIG_INCR_READ_LSB    _u(4)
761 #define DMA_CH1_CTRL_TRIG_INCR_READ_ACCESS "RW"
762 // -----------------------------------------------------------------------------
763 // Field       : DMA_CH1_CTRL_TRIG_DATA_SIZE
764 // Description : Set the size of each bus transfer (byte/halfword/word).
765 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
766 //               with each transfer.
767 //               0x0 -> SIZE_BYTE
768 //               0x1 -> SIZE_HALFWORD
769 //               0x2 -> SIZE_WORD
770 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
771 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
772 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
773 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
774 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
775 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
776 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
777 #define DMA_CH1_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
778 // -----------------------------------------------------------------------------
779 // Field       : DMA_CH1_CTRL_TRIG_HIGH_PRIORITY
780 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
781 //               scheduling: in each scheduling round, all high priority
782 //               channels are considered first, and then only a single low
783 //               priority channel, before returning to the high priority
784 //               channels.
785 //
786 //               This only affects the order in which the DMA schedules
787 //               channels. The DMA's bus priority is not changed. If the DMA is
788 //               not saturated then a low priority channel will see no loss of
789 //               throughput.
790 #define DMA_CH1_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
791 #define DMA_CH1_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
792 #define DMA_CH1_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
793 #define DMA_CH1_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
794 #define DMA_CH1_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
795 // -----------------------------------------------------------------------------
796 // Field       : DMA_CH1_CTRL_TRIG_EN
797 // Description : DMA Channel Enable.
798 //               When 1, the channel will respond to triggering events, which
799 //               will cause it to become BUSY and start transferring data. When
800 //               0, the channel will ignore triggers, stop issuing transfers,
801 //               and pause the current transfer sequence (i.e. BUSY will remain
802 //               high if already high)
803 #define DMA_CH1_CTRL_TRIG_EN_RESET  _u(0x0)
804 #define DMA_CH1_CTRL_TRIG_EN_BITS   _u(0x00000001)
805 #define DMA_CH1_CTRL_TRIG_EN_MSB    _u(0)
806 #define DMA_CH1_CTRL_TRIG_EN_LSB    _u(0)
807 #define DMA_CH1_CTRL_TRIG_EN_ACCESS "RW"
808 // =============================================================================
809 // Register    : DMA_CH1_AL1_CTRL
810 // Description : Alias for channel 1 CTRL register
811 #define DMA_CH1_AL1_CTRL_OFFSET _u(0x00000050)
812 #define DMA_CH1_AL1_CTRL_BITS   _u(0xffffffff)
813 #define DMA_CH1_AL1_CTRL_RESET  "-"
814 #define DMA_CH1_AL1_CTRL_MSB    _u(31)
815 #define DMA_CH1_AL1_CTRL_LSB    _u(0)
816 #define DMA_CH1_AL1_CTRL_ACCESS "RW"
817 // =============================================================================
818 // Register    : DMA_CH1_AL1_READ_ADDR
819 // Description : Alias for channel 1 READ_ADDR register
820 #define DMA_CH1_AL1_READ_ADDR_OFFSET _u(0x00000054)
821 #define DMA_CH1_AL1_READ_ADDR_BITS   _u(0xffffffff)
822 #define DMA_CH1_AL1_READ_ADDR_RESET  "-"
823 #define DMA_CH1_AL1_READ_ADDR_MSB    _u(31)
824 #define DMA_CH1_AL1_READ_ADDR_LSB    _u(0)
825 #define DMA_CH1_AL1_READ_ADDR_ACCESS "RW"
826 // =============================================================================
827 // Register    : DMA_CH1_AL1_WRITE_ADDR
828 // Description : Alias for channel 1 WRITE_ADDR register
829 #define DMA_CH1_AL1_WRITE_ADDR_OFFSET _u(0x00000058)
830 #define DMA_CH1_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
831 #define DMA_CH1_AL1_WRITE_ADDR_RESET  "-"
832 #define DMA_CH1_AL1_WRITE_ADDR_MSB    _u(31)
833 #define DMA_CH1_AL1_WRITE_ADDR_LSB    _u(0)
834 #define DMA_CH1_AL1_WRITE_ADDR_ACCESS "RW"
835 // =============================================================================
836 // Register    : DMA_CH1_AL1_TRANS_COUNT_TRIG
837 // Description : Alias for channel 1 TRANS_COUNT register
838 //               This is a trigger register (0xc). Writing a nonzero value will
839 //               reload the channel counter and start the channel.
840 #define DMA_CH1_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000005c)
841 #define DMA_CH1_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
842 #define DMA_CH1_AL1_TRANS_COUNT_TRIG_RESET  "-"
843 #define DMA_CH1_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
844 #define DMA_CH1_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
845 #define DMA_CH1_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
846 // =============================================================================
847 // Register    : DMA_CH1_AL2_CTRL
848 // Description : Alias for channel 1 CTRL register
849 #define DMA_CH1_AL2_CTRL_OFFSET _u(0x00000060)
850 #define DMA_CH1_AL2_CTRL_BITS   _u(0xffffffff)
851 #define DMA_CH1_AL2_CTRL_RESET  "-"
852 #define DMA_CH1_AL2_CTRL_MSB    _u(31)
853 #define DMA_CH1_AL2_CTRL_LSB    _u(0)
854 #define DMA_CH1_AL2_CTRL_ACCESS "RW"
855 // =============================================================================
856 // Register    : DMA_CH1_AL2_TRANS_COUNT
857 // Description : Alias for channel 1 TRANS_COUNT register
858 #define DMA_CH1_AL2_TRANS_COUNT_OFFSET _u(0x00000064)
859 #define DMA_CH1_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
860 #define DMA_CH1_AL2_TRANS_COUNT_RESET  "-"
861 #define DMA_CH1_AL2_TRANS_COUNT_MSB    _u(31)
862 #define DMA_CH1_AL2_TRANS_COUNT_LSB    _u(0)
863 #define DMA_CH1_AL2_TRANS_COUNT_ACCESS "RW"
864 // =============================================================================
865 // Register    : DMA_CH1_AL2_READ_ADDR
866 // Description : Alias for channel 1 READ_ADDR register
867 #define DMA_CH1_AL2_READ_ADDR_OFFSET _u(0x00000068)
868 #define DMA_CH1_AL2_READ_ADDR_BITS   _u(0xffffffff)
869 #define DMA_CH1_AL2_READ_ADDR_RESET  "-"
870 #define DMA_CH1_AL2_READ_ADDR_MSB    _u(31)
871 #define DMA_CH1_AL2_READ_ADDR_LSB    _u(0)
872 #define DMA_CH1_AL2_READ_ADDR_ACCESS "RW"
873 // =============================================================================
874 // Register    : DMA_CH1_AL2_WRITE_ADDR_TRIG
875 // Description : Alias for channel 1 WRITE_ADDR register
876 //               This is a trigger register (0xc). Writing a nonzero value will
877 //               reload the channel counter and start the channel.
878 #define DMA_CH1_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000006c)
879 #define DMA_CH1_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
880 #define DMA_CH1_AL2_WRITE_ADDR_TRIG_RESET  "-"
881 #define DMA_CH1_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
882 #define DMA_CH1_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
883 #define DMA_CH1_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
884 // =============================================================================
885 // Register    : DMA_CH1_AL3_CTRL
886 // Description : Alias for channel 1 CTRL register
887 #define DMA_CH1_AL3_CTRL_OFFSET _u(0x00000070)
888 #define DMA_CH1_AL3_CTRL_BITS   _u(0xffffffff)
889 #define DMA_CH1_AL3_CTRL_RESET  "-"
890 #define DMA_CH1_AL3_CTRL_MSB    _u(31)
891 #define DMA_CH1_AL3_CTRL_LSB    _u(0)
892 #define DMA_CH1_AL3_CTRL_ACCESS "RW"
893 // =============================================================================
894 // Register    : DMA_CH1_AL3_WRITE_ADDR
895 // Description : Alias for channel 1 WRITE_ADDR register
896 #define DMA_CH1_AL3_WRITE_ADDR_OFFSET _u(0x00000074)
897 #define DMA_CH1_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
898 #define DMA_CH1_AL3_WRITE_ADDR_RESET  "-"
899 #define DMA_CH1_AL3_WRITE_ADDR_MSB    _u(31)
900 #define DMA_CH1_AL3_WRITE_ADDR_LSB    _u(0)
901 #define DMA_CH1_AL3_WRITE_ADDR_ACCESS "RW"
902 // =============================================================================
903 // Register    : DMA_CH1_AL3_TRANS_COUNT
904 // Description : Alias for channel 1 TRANS_COUNT register
905 #define DMA_CH1_AL3_TRANS_COUNT_OFFSET _u(0x00000078)
906 #define DMA_CH1_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
907 #define DMA_CH1_AL3_TRANS_COUNT_RESET  "-"
908 #define DMA_CH1_AL3_TRANS_COUNT_MSB    _u(31)
909 #define DMA_CH1_AL3_TRANS_COUNT_LSB    _u(0)
910 #define DMA_CH1_AL3_TRANS_COUNT_ACCESS "RW"
911 // =============================================================================
912 // Register    : DMA_CH1_AL3_READ_ADDR_TRIG
913 // Description : Alias for channel 1 READ_ADDR register
914 //               This is a trigger register (0xc). Writing a nonzero value will
915 //               reload the channel counter and start the channel.
916 #define DMA_CH1_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000007c)
917 #define DMA_CH1_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
918 #define DMA_CH1_AL3_READ_ADDR_TRIG_RESET  "-"
919 #define DMA_CH1_AL3_READ_ADDR_TRIG_MSB    _u(31)
920 #define DMA_CH1_AL3_READ_ADDR_TRIG_LSB    _u(0)
921 #define DMA_CH1_AL3_READ_ADDR_TRIG_ACCESS "RW"
922 // =============================================================================
923 // Register    : DMA_CH2_READ_ADDR
924 // Description : DMA Channel 2 Read Address pointer
925 //               This register updates automatically each time a read completes.
926 //               The current value is the next address to be read by this
927 //               channel.
928 #define DMA_CH2_READ_ADDR_OFFSET _u(0x00000080)
929 #define DMA_CH2_READ_ADDR_BITS   _u(0xffffffff)
930 #define DMA_CH2_READ_ADDR_RESET  _u(0x00000000)
931 #define DMA_CH2_READ_ADDR_MSB    _u(31)
932 #define DMA_CH2_READ_ADDR_LSB    _u(0)
933 #define DMA_CH2_READ_ADDR_ACCESS "RW"
934 // =============================================================================
935 // Register    : DMA_CH2_WRITE_ADDR
936 // Description : DMA Channel 2 Write Address pointer
937 //               This register updates automatically each time a write
938 //               completes. The current value is the next address to be written
939 //               by this channel.
940 #define DMA_CH2_WRITE_ADDR_OFFSET _u(0x00000084)
941 #define DMA_CH2_WRITE_ADDR_BITS   _u(0xffffffff)
942 #define DMA_CH2_WRITE_ADDR_RESET  _u(0x00000000)
943 #define DMA_CH2_WRITE_ADDR_MSB    _u(31)
944 #define DMA_CH2_WRITE_ADDR_LSB    _u(0)
945 #define DMA_CH2_WRITE_ADDR_ACCESS "RW"
946 // =============================================================================
947 // Register    : DMA_CH2_TRANS_COUNT
948 // Description : DMA Channel 2 Transfer Count
949 #define DMA_CH2_TRANS_COUNT_OFFSET _u(0x00000088)
950 #define DMA_CH2_TRANS_COUNT_BITS   _u(0xffffffff)
951 #define DMA_CH2_TRANS_COUNT_RESET  _u(0x00000000)
952 // -----------------------------------------------------------------------------
953 // Field       : DMA_CH2_TRANS_COUNT_MODE
954 // Description : When MODE is 0x0, the transfer count decrements with each
955 //               transfer until 0, and then the channel triggers the next
956 //               channel indicated by CTRL_CHAIN_TO.
957 //
958 //               When MODE is 0x1, the transfer count decrements with each
959 //               transfer until 0, and then the channel re-triggers itself, in
960 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
961 //               useful for e.g. an endless ring-buffer DMA with periodic
962 //               interrupts.
963 //
964 //               When MODE is 0xf, the transfer count does not decrement. The
965 //               DMA channel performs an endless sequence of transfers, never
966 //               triggering other channels or raising interrupts, until an ABORT
967 //               is raised.
968 //
969 //               All other values are reserved.
970 //               0x0 -> NORMAL
971 //               0x1 -> TRIGGER_SELF
972 //               0xf -> ENDLESS
973 #define DMA_CH2_TRANS_COUNT_MODE_RESET  _u(0x0)
974 #define DMA_CH2_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
975 #define DMA_CH2_TRANS_COUNT_MODE_MSB    _u(31)
976 #define DMA_CH2_TRANS_COUNT_MODE_LSB    _u(28)
977 #define DMA_CH2_TRANS_COUNT_MODE_ACCESS "RW"
978 #define DMA_CH2_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
979 #define DMA_CH2_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
980 #define DMA_CH2_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
981 // -----------------------------------------------------------------------------
982 // Field       : DMA_CH2_TRANS_COUNT_COUNT
983 // Description : 28-bit transfer count (256 million transfers maximum).
984 //
985 //               Program the number of bus transfers a channel will perform
986 //               before halting. Note that, if transfers are larger than one
987 //               byte in size, this is not equal to the number of bytes
988 //               transferred (see CTRL_DATA_SIZE).
989 //
990 //               When the channel is active, reading this register shows the
991 //               number of transfers remaining, updating automatically each time
992 //               a write transfer completes.
993 //
994 //               Writing this register sets the RELOAD value for the transfer
995 //               counter. Each time this channel is triggered, the RELOAD value
996 //               is copied into the live transfer counter. The channel can be
997 //               started multiple times, and will perform the same number of
998 //               transfers each time, as programmed by most recent write.
999 //
1000 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
1001 //               is used as a trigger, the written value is used immediately as
1002 //               the length of the new transfer sequence, as well as being
1003 //               written to RELOAD.
1004 #define DMA_CH2_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
1005 #define DMA_CH2_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
1006 #define DMA_CH2_TRANS_COUNT_COUNT_MSB    _u(27)
1007 #define DMA_CH2_TRANS_COUNT_COUNT_LSB    _u(0)
1008 #define DMA_CH2_TRANS_COUNT_COUNT_ACCESS "RW"
1009 // =============================================================================
1010 // Register    : DMA_CH2_CTRL_TRIG
1011 // Description : DMA Channel 2 Control and Status
1012 #define DMA_CH2_CTRL_TRIG_OFFSET _u(0x0000008c)
1013 #define DMA_CH2_CTRL_TRIG_BITS   _u(0xe7ffffff)
1014 #define DMA_CH2_CTRL_TRIG_RESET  _u(0x00000000)
1015 // -----------------------------------------------------------------------------
1016 // Field       : DMA_CH2_CTRL_TRIG_AHB_ERROR
1017 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
1018 //               halts when it encounters any bus error, and always raises its
1019 //               channel IRQ flag.
1020 #define DMA_CH2_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
1021 #define DMA_CH2_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
1022 #define DMA_CH2_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
1023 #define DMA_CH2_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
1024 #define DMA_CH2_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
1025 // -----------------------------------------------------------------------------
1026 // Field       : DMA_CH2_CTRL_TRIG_READ_ERROR
1027 // Description : If 1, the channel received a read bus error. Write one to
1028 //               clear.
1029 //               READ_ADDR shows the approximate address where the bus error was
1030 //               encountered (will not be earlier, or more than 3 transfers
1031 //               later)
1032 #define DMA_CH2_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
1033 #define DMA_CH2_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
1034 #define DMA_CH2_CTRL_TRIG_READ_ERROR_MSB    _u(30)
1035 #define DMA_CH2_CTRL_TRIG_READ_ERROR_LSB    _u(30)
1036 #define DMA_CH2_CTRL_TRIG_READ_ERROR_ACCESS "WC"
1037 // -----------------------------------------------------------------------------
1038 // Field       : DMA_CH2_CTRL_TRIG_WRITE_ERROR
1039 // Description : If 1, the channel received a write bus error. Write one to
1040 //               clear.
1041 //               WRITE_ADDR shows the approximate address where the bus error
1042 //               was encountered (will not be earlier, or more than 5 transfers
1043 //               later)
1044 #define DMA_CH2_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
1045 #define DMA_CH2_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
1046 #define DMA_CH2_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
1047 #define DMA_CH2_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
1048 #define DMA_CH2_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
1049 // -----------------------------------------------------------------------------
1050 // Field       : DMA_CH2_CTRL_TRIG_BUSY
1051 // Description : This flag goes high when the channel starts a new transfer
1052 //               sequence, and low when the last transfer of that sequence
1053 //               completes. Clearing EN while BUSY is high pauses the channel,
1054 //               and BUSY will stay high while paused.
1055 //
1056 //               To terminate a sequence early (and clear the BUSY flag), see
1057 //               CHAN_ABORT.
1058 #define DMA_CH2_CTRL_TRIG_BUSY_RESET  _u(0x0)
1059 #define DMA_CH2_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
1060 #define DMA_CH2_CTRL_TRIG_BUSY_MSB    _u(26)
1061 #define DMA_CH2_CTRL_TRIG_BUSY_LSB    _u(26)
1062 #define DMA_CH2_CTRL_TRIG_BUSY_ACCESS "RO"
1063 // -----------------------------------------------------------------------------
1064 // Field       : DMA_CH2_CTRL_TRIG_SNIFF_EN
1065 // Description : If 1, this channel's data transfers are visible to the sniff
1066 //               hardware, and each transfer will advance the state of the
1067 //               checksum. This only applies if the sniff hardware is enabled,
1068 //               and has this channel selected.
1069 //
1070 //               This allows checksum to be enabled or disabled on a per-
1071 //               control- block basis.
1072 #define DMA_CH2_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
1073 #define DMA_CH2_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
1074 #define DMA_CH2_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
1075 #define DMA_CH2_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
1076 #define DMA_CH2_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
1077 // -----------------------------------------------------------------------------
1078 // Field       : DMA_CH2_CTRL_TRIG_BSWAP
1079 // Description : Apply byte-swap transformation to DMA data.
1080 //               For byte data, this has no effect. For halfword data, the two
1081 //               bytes of each halfword are swapped. For word data, the four
1082 //               bytes of each word are swapped to reverse order.
1083 #define DMA_CH2_CTRL_TRIG_BSWAP_RESET  _u(0x0)
1084 #define DMA_CH2_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
1085 #define DMA_CH2_CTRL_TRIG_BSWAP_MSB    _u(24)
1086 #define DMA_CH2_CTRL_TRIG_BSWAP_LSB    _u(24)
1087 #define DMA_CH2_CTRL_TRIG_BSWAP_ACCESS "RW"
1088 // -----------------------------------------------------------------------------
1089 // Field       : DMA_CH2_CTRL_TRIG_IRQ_QUIET
1090 // Description : In QUIET mode, the channel does not generate IRQs at the end of
1091 //               every transfer block. Instead, an IRQ is raised when NULL is
1092 //               written to a trigger register, indicating the end of a control
1093 //               block chain.
1094 //
1095 //               This reduces the number of interrupts to be serviced by the CPU
1096 //               when transferring a DMA chain of many small control blocks.
1097 #define DMA_CH2_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
1098 #define DMA_CH2_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
1099 #define DMA_CH2_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
1100 #define DMA_CH2_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
1101 #define DMA_CH2_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
1102 // -----------------------------------------------------------------------------
1103 // Field       : DMA_CH2_CTRL_TRIG_TREQ_SEL
1104 // Description : Select a Transfer Request signal.
1105 //               The channel uses the transfer request signal to pace its data
1106 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
1107 //               or external (DREQ, a Data Request from the system).
1108 //               0x0 to 0x3a -> select DREQ n as TREQ
1109 //               0x3b -> Select Timer 0 as TREQ
1110 //               0x3c -> Select Timer 1 as TREQ
1111 //               0x3d -> Select Timer 2 as TREQ (Optional)
1112 //               0x3e -> Select Timer 3 as TREQ (Optional)
1113 //               0x3f -> Permanent request, for unpaced transfers.
1114 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
1115 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
1116 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
1117 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
1118 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
1119 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
1120 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
1121 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
1122 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
1123 #define DMA_CH2_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
1124 // -----------------------------------------------------------------------------
1125 // Field       : DMA_CH2_CTRL_TRIG_CHAIN_TO
1126 // Description : When this channel completes, it will trigger the channel
1127 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
1128 //               channel)_.
1129 //
1130 //               Note this field resets to 0, so channels 1 and above will chain
1131 //               to channel 0 by default. Set this field to avoid this
1132 //               behaviour.
1133 #define DMA_CH2_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
1134 #define DMA_CH2_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
1135 #define DMA_CH2_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
1136 #define DMA_CH2_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
1137 #define DMA_CH2_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
1138 // -----------------------------------------------------------------------------
1139 // Field       : DMA_CH2_CTRL_TRIG_RING_SEL
1140 // Description : Select whether RING_SIZE applies to read or write addresses.
1141 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
1142 //               boundary. If 1, write addresses are wrapped.
1143 #define DMA_CH2_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
1144 #define DMA_CH2_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
1145 #define DMA_CH2_CTRL_TRIG_RING_SEL_MSB    _u(12)
1146 #define DMA_CH2_CTRL_TRIG_RING_SEL_LSB    _u(12)
1147 #define DMA_CH2_CTRL_TRIG_RING_SEL_ACCESS "RW"
1148 // -----------------------------------------------------------------------------
1149 // Field       : DMA_CH2_CTRL_TRIG_RING_SIZE
1150 // Description : Size of address wrap region. If 0, don't wrap. For values n >
1151 //               0, only the lower n bits of the address will change. This wraps
1152 //               the address on a (1 << n) byte boundary, facilitating access to
1153 //               naturally-aligned ring buffers.
1154 //
1155 //               Ring sizes between 2 and 32768 bytes are possible. This can
1156 //               apply to either read or write addresses, based on value of
1157 //               RING_SEL.
1158 //               0x0 -> RING_NONE
1159 #define DMA_CH2_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
1160 #define DMA_CH2_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
1161 #define DMA_CH2_CTRL_TRIG_RING_SIZE_MSB    _u(11)
1162 #define DMA_CH2_CTRL_TRIG_RING_SIZE_LSB    _u(8)
1163 #define DMA_CH2_CTRL_TRIG_RING_SIZE_ACCESS "RW"
1164 #define DMA_CH2_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
1165 // -----------------------------------------------------------------------------
1166 // Field       : DMA_CH2_CTRL_TRIG_INCR_WRITE_REV
1167 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
1168 //               rather than incremented with each transfer.
1169 //
1170 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
1171 //               causes the write address to be incremented by twice the
1172 //               transfer size, i.e. skipping over alternate addresses.
1173 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
1174 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
1175 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
1176 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
1177 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
1178 // -----------------------------------------------------------------------------
1179 // Field       : DMA_CH2_CTRL_TRIG_INCR_WRITE
1180 // Description : If 1, the write address increments with each transfer. If 0,
1181 //               each write is directed to the same, initial address.
1182 //
1183 //               Generally this should be disabled for memory-to-peripheral
1184 //               transfers.
1185 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
1186 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
1187 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
1188 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
1189 #define DMA_CH2_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
1190 // -----------------------------------------------------------------------------
1191 // Field       : DMA_CH2_CTRL_TRIG_INCR_READ_REV
1192 // Description : If 1, and INCR_READ is 1, the read address is decremented
1193 //               rather than incremented with each transfer.
1194 //
1195 //               If 1, and INCR_READ is 0, this otherwise-unused combination
1196 //               causes the read address to be incremented by twice the transfer
1197 //               size, i.e. skipping over alternate addresses.
1198 #define DMA_CH2_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
1199 #define DMA_CH2_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
1200 #define DMA_CH2_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
1201 #define DMA_CH2_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
1202 #define DMA_CH2_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
1203 // -----------------------------------------------------------------------------
1204 // Field       : DMA_CH2_CTRL_TRIG_INCR_READ
1205 // Description : If 1, the read address increments with each transfer. If 0,
1206 //               each read is directed to the same, initial address.
1207 //
1208 //               Generally this should be disabled for peripheral-to-memory
1209 //               transfers.
1210 #define DMA_CH2_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
1211 #define DMA_CH2_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
1212 #define DMA_CH2_CTRL_TRIG_INCR_READ_MSB    _u(4)
1213 #define DMA_CH2_CTRL_TRIG_INCR_READ_LSB    _u(4)
1214 #define DMA_CH2_CTRL_TRIG_INCR_READ_ACCESS "RW"
1215 // -----------------------------------------------------------------------------
1216 // Field       : DMA_CH2_CTRL_TRIG_DATA_SIZE
1217 // Description : Set the size of each bus transfer (byte/halfword/word).
1218 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
1219 //               with each transfer.
1220 //               0x0 -> SIZE_BYTE
1221 //               0x1 -> SIZE_HALFWORD
1222 //               0x2 -> SIZE_WORD
1223 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
1224 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
1225 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
1226 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
1227 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
1228 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
1229 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
1230 #define DMA_CH2_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
1231 // -----------------------------------------------------------------------------
1232 // Field       : DMA_CH2_CTRL_TRIG_HIGH_PRIORITY
1233 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
1234 //               scheduling: in each scheduling round, all high priority
1235 //               channels are considered first, and then only a single low
1236 //               priority channel, before returning to the high priority
1237 //               channels.
1238 //
1239 //               This only affects the order in which the DMA schedules
1240 //               channels. The DMA's bus priority is not changed. If the DMA is
1241 //               not saturated then a low priority channel will see no loss of
1242 //               throughput.
1243 #define DMA_CH2_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
1244 #define DMA_CH2_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
1245 #define DMA_CH2_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
1246 #define DMA_CH2_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
1247 #define DMA_CH2_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
1248 // -----------------------------------------------------------------------------
1249 // Field       : DMA_CH2_CTRL_TRIG_EN
1250 // Description : DMA Channel Enable.
1251 //               When 1, the channel will respond to triggering events, which
1252 //               will cause it to become BUSY and start transferring data. When
1253 //               0, the channel will ignore triggers, stop issuing transfers,
1254 //               and pause the current transfer sequence (i.e. BUSY will remain
1255 //               high if already high)
1256 #define DMA_CH2_CTRL_TRIG_EN_RESET  _u(0x0)
1257 #define DMA_CH2_CTRL_TRIG_EN_BITS   _u(0x00000001)
1258 #define DMA_CH2_CTRL_TRIG_EN_MSB    _u(0)
1259 #define DMA_CH2_CTRL_TRIG_EN_LSB    _u(0)
1260 #define DMA_CH2_CTRL_TRIG_EN_ACCESS "RW"
1261 // =============================================================================
1262 // Register    : DMA_CH2_AL1_CTRL
1263 // Description : Alias for channel 2 CTRL register
1264 #define DMA_CH2_AL1_CTRL_OFFSET _u(0x00000090)
1265 #define DMA_CH2_AL1_CTRL_BITS   _u(0xffffffff)
1266 #define DMA_CH2_AL1_CTRL_RESET  "-"
1267 #define DMA_CH2_AL1_CTRL_MSB    _u(31)
1268 #define DMA_CH2_AL1_CTRL_LSB    _u(0)
1269 #define DMA_CH2_AL1_CTRL_ACCESS "RW"
1270 // =============================================================================
1271 // Register    : DMA_CH2_AL1_READ_ADDR
1272 // Description : Alias for channel 2 READ_ADDR register
1273 #define DMA_CH2_AL1_READ_ADDR_OFFSET _u(0x00000094)
1274 #define DMA_CH2_AL1_READ_ADDR_BITS   _u(0xffffffff)
1275 #define DMA_CH2_AL1_READ_ADDR_RESET  "-"
1276 #define DMA_CH2_AL1_READ_ADDR_MSB    _u(31)
1277 #define DMA_CH2_AL1_READ_ADDR_LSB    _u(0)
1278 #define DMA_CH2_AL1_READ_ADDR_ACCESS "RW"
1279 // =============================================================================
1280 // Register    : DMA_CH2_AL1_WRITE_ADDR
1281 // Description : Alias for channel 2 WRITE_ADDR register
1282 #define DMA_CH2_AL1_WRITE_ADDR_OFFSET _u(0x00000098)
1283 #define DMA_CH2_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
1284 #define DMA_CH2_AL1_WRITE_ADDR_RESET  "-"
1285 #define DMA_CH2_AL1_WRITE_ADDR_MSB    _u(31)
1286 #define DMA_CH2_AL1_WRITE_ADDR_LSB    _u(0)
1287 #define DMA_CH2_AL1_WRITE_ADDR_ACCESS "RW"
1288 // =============================================================================
1289 // Register    : DMA_CH2_AL1_TRANS_COUNT_TRIG
1290 // Description : Alias for channel 2 TRANS_COUNT register
1291 //               This is a trigger register (0xc). Writing a nonzero value will
1292 //               reload the channel counter and start the channel.
1293 #define DMA_CH2_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000009c)
1294 #define DMA_CH2_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
1295 #define DMA_CH2_AL1_TRANS_COUNT_TRIG_RESET  "-"
1296 #define DMA_CH2_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
1297 #define DMA_CH2_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
1298 #define DMA_CH2_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
1299 // =============================================================================
1300 // Register    : DMA_CH2_AL2_CTRL
1301 // Description : Alias for channel 2 CTRL register
1302 #define DMA_CH2_AL2_CTRL_OFFSET _u(0x000000a0)
1303 #define DMA_CH2_AL2_CTRL_BITS   _u(0xffffffff)
1304 #define DMA_CH2_AL2_CTRL_RESET  "-"
1305 #define DMA_CH2_AL2_CTRL_MSB    _u(31)
1306 #define DMA_CH2_AL2_CTRL_LSB    _u(0)
1307 #define DMA_CH2_AL2_CTRL_ACCESS "RW"
1308 // =============================================================================
1309 // Register    : DMA_CH2_AL2_TRANS_COUNT
1310 // Description : Alias for channel 2 TRANS_COUNT register
1311 #define DMA_CH2_AL2_TRANS_COUNT_OFFSET _u(0x000000a4)
1312 #define DMA_CH2_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
1313 #define DMA_CH2_AL2_TRANS_COUNT_RESET  "-"
1314 #define DMA_CH2_AL2_TRANS_COUNT_MSB    _u(31)
1315 #define DMA_CH2_AL2_TRANS_COUNT_LSB    _u(0)
1316 #define DMA_CH2_AL2_TRANS_COUNT_ACCESS "RW"
1317 // =============================================================================
1318 // Register    : DMA_CH2_AL2_READ_ADDR
1319 // Description : Alias for channel 2 READ_ADDR register
1320 #define DMA_CH2_AL2_READ_ADDR_OFFSET _u(0x000000a8)
1321 #define DMA_CH2_AL2_READ_ADDR_BITS   _u(0xffffffff)
1322 #define DMA_CH2_AL2_READ_ADDR_RESET  "-"
1323 #define DMA_CH2_AL2_READ_ADDR_MSB    _u(31)
1324 #define DMA_CH2_AL2_READ_ADDR_LSB    _u(0)
1325 #define DMA_CH2_AL2_READ_ADDR_ACCESS "RW"
1326 // =============================================================================
1327 // Register    : DMA_CH2_AL2_WRITE_ADDR_TRIG
1328 // Description : Alias for channel 2 WRITE_ADDR register
1329 //               This is a trigger register (0xc). Writing a nonzero value will
1330 //               reload the channel counter and start the channel.
1331 #define DMA_CH2_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000000ac)
1332 #define DMA_CH2_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
1333 #define DMA_CH2_AL2_WRITE_ADDR_TRIG_RESET  "-"
1334 #define DMA_CH2_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
1335 #define DMA_CH2_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
1336 #define DMA_CH2_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
1337 // =============================================================================
1338 // Register    : DMA_CH2_AL3_CTRL
1339 // Description : Alias for channel 2 CTRL register
1340 #define DMA_CH2_AL3_CTRL_OFFSET _u(0x000000b0)
1341 #define DMA_CH2_AL3_CTRL_BITS   _u(0xffffffff)
1342 #define DMA_CH2_AL3_CTRL_RESET  "-"
1343 #define DMA_CH2_AL3_CTRL_MSB    _u(31)
1344 #define DMA_CH2_AL3_CTRL_LSB    _u(0)
1345 #define DMA_CH2_AL3_CTRL_ACCESS "RW"
1346 // =============================================================================
1347 // Register    : DMA_CH2_AL3_WRITE_ADDR
1348 // Description : Alias for channel 2 WRITE_ADDR register
1349 #define DMA_CH2_AL3_WRITE_ADDR_OFFSET _u(0x000000b4)
1350 #define DMA_CH2_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
1351 #define DMA_CH2_AL3_WRITE_ADDR_RESET  "-"
1352 #define DMA_CH2_AL3_WRITE_ADDR_MSB    _u(31)
1353 #define DMA_CH2_AL3_WRITE_ADDR_LSB    _u(0)
1354 #define DMA_CH2_AL3_WRITE_ADDR_ACCESS "RW"
1355 // =============================================================================
1356 // Register    : DMA_CH2_AL3_TRANS_COUNT
1357 // Description : Alias for channel 2 TRANS_COUNT register
1358 #define DMA_CH2_AL3_TRANS_COUNT_OFFSET _u(0x000000b8)
1359 #define DMA_CH2_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
1360 #define DMA_CH2_AL3_TRANS_COUNT_RESET  "-"
1361 #define DMA_CH2_AL3_TRANS_COUNT_MSB    _u(31)
1362 #define DMA_CH2_AL3_TRANS_COUNT_LSB    _u(0)
1363 #define DMA_CH2_AL3_TRANS_COUNT_ACCESS "RW"
1364 // =============================================================================
1365 // Register    : DMA_CH2_AL3_READ_ADDR_TRIG
1366 // Description : Alias for channel 2 READ_ADDR register
1367 //               This is a trigger register (0xc). Writing a nonzero value will
1368 //               reload the channel counter and start the channel.
1369 #define DMA_CH2_AL3_READ_ADDR_TRIG_OFFSET _u(0x000000bc)
1370 #define DMA_CH2_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
1371 #define DMA_CH2_AL3_READ_ADDR_TRIG_RESET  "-"
1372 #define DMA_CH2_AL3_READ_ADDR_TRIG_MSB    _u(31)
1373 #define DMA_CH2_AL3_READ_ADDR_TRIG_LSB    _u(0)
1374 #define DMA_CH2_AL3_READ_ADDR_TRIG_ACCESS "RW"
1375 // =============================================================================
1376 // Register    : DMA_CH3_READ_ADDR
1377 // Description : DMA Channel 3 Read Address pointer
1378 //               This register updates automatically each time a read completes.
1379 //               The current value is the next address to be read by this
1380 //               channel.
1381 #define DMA_CH3_READ_ADDR_OFFSET _u(0x000000c0)
1382 #define DMA_CH3_READ_ADDR_BITS   _u(0xffffffff)
1383 #define DMA_CH3_READ_ADDR_RESET  _u(0x00000000)
1384 #define DMA_CH3_READ_ADDR_MSB    _u(31)
1385 #define DMA_CH3_READ_ADDR_LSB    _u(0)
1386 #define DMA_CH3_READ_ADDR_ACCESS "RW"
1387 // =============================================================================
1388 // Register    : DMA_CH3_WRITE_ADDR
1389 // Description : DMA Channel 3 Write Address pointer
1390 //               This register updates automatically each time a write
1391 //               completes. The current value is the next address to be written
1392 //               by this channel.
1393 #define DMA_CH3_WRITE_ADDR_OFFSET _u(0x000000c4)
1394 #define DMA_CH3_WRITE_ADDR_BITS   _u(0xffffffff)
1395 #define DMA_CH3_WRITE_ADDR_RESET  _u(0x00000000)
1396 #define DMA_CH3_WRITE_ADDR_MSB    _u(31)
1397 #define DMA_CH3_WRITE_ADDR_LSB    _u(0)
1398 #define DMA_CH3_WRITE_ADDR_ACCESS "RW"
1399 // =============================================================================
1400 // Register    : DMA_CH3_TRANS_COUNT
1401 // Description : DMA Channel 3 Transfer Count
1402 #define DMA_CH3_TRANS_COUNT_OFFSET _u(0x000000c8)
1403 #define DMA_CH3_TRANS_COUNT_BITS   _u(0xffffffff)
1404 #define DMA_CH3_TRANS_COUNT_RESET  _u(0x00000000)
1405 // -----------------------------------------------------------------------------
1406 // Field       : DMA_CH3_TRANS_COUNT_MODE
1407 // Description : When MODE is 0x0, the transfer count decrements with each
1408 //               transfer until 0, and then the channel triggers the next
1409 //               channel indicated by CTRL_CHAIN_TO.
1410 //
1411 //               When MODE is 0x1, the transfer count decrements with each
1412 //               transfer until 0, and then the channel re-triggers itself, in
1413 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
1414 //               useful for e.g. an endless ring-buffer DMA with periodic
1415 //               interrupts.
1416 //
1417 //               When MODE is 0xf, the transfer count does not decrement. The
1418 //               DMA channel performs an endless sequence of transfers, never
1419 //               triggering other channels or raising interrupts, until an ABORT
1420 //               is raised.
1421 //
1422 //               All other values are reserved.
1423 //               0x0 -> NORMAL
1424 //               0x1 -> TRIGGER_SELF
1425 //               0xf -> ENDLESS
1426 #define DMA_CH3_TRANS_COUNT_MODE_RESET  _u(0x0)
1427 #define DMA_CH3_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
1428 #define DMA_CH3_TRANS_COUNT_MODE_MSB    _u(31)
1429 #define DMA_CH3_TRANS_COUNT_MODE_LSB    _u(28)
1430 #define DMA_CH3_TRANS_COUNT_MODE_ACCESS "RW"
1431 #define DMA_CH3_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
1432 #define DMA_CH3_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
1433 #define DMA_CH3_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
1434 // -----------------------------------------------------------------------------
1435 // Field       : DMA_CH3_TRANS_COUNT_COUNT
1436 // Description : 28-bit transfer count (256 million transfers maximum).
1437 //
1438 //               Program the number of bus transfers a channel will perform
1439 //               before halting. Note that, if transfers are larger than one
1440 //               byte in size, this is not equal to the number of bytes
1441 //               transferred (see CTRL_DATA_SIZE).
1442 //
1443 //               When the channel is active, reading this register shows the
1444 //               number of transfers remaining, updating automatically each time
1445 //               a write transfer completes.
1446 //
1447 //               Writing this register sets the RELOAD value for the transfer
1448 //               counter. Each time this channel is triggered, the RELOAD value
1449 //               is copied into the live transfer counter. The channel can be
1450 //               started multiple times, and will perform the same number of
1451 //               transfers each time, as programmed by most recent write.
1452 //
1453 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
1454 //               is used as a trigger, the written value is used immediately as
1455 //               the length of the new transfer sequence, as well as being
1456 //               written to RELOAD.
1457 #define DMA_CH3_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
1458 #define DMA_CH3_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
1459 #define DMA_CH3_TRANS_COUNT_COUNT_MSB    _u(27)
1460 #define DMA_CH3_TRANS_COUNT_COUNT_LSB    _u(0)
1461 #define DMA_CH3_TRANS_COUNT_COUNT_ACCESS "RW"
1462 // =============================================================================
1463 // Register    : DMA_CH3_CTRL_TRIG
1464 // Description : DMA Channel 3 Control and Status
1465 #define DMA_CH3_CTRL_TRIG_OFFSET _u(0x000000cc)
1466 #define DMA_CH3_CTRL_TRIG_BITS   _u(0xe7ffffff)
1467 #define DMA_CH3_CTRL_TRIG_RESET  _u(0x00000000)
1468 // -----------------------------------------------------------------------------
1469 // Field       : DMA_CH3_CTRL_TRIG_AHB_ERROR
1470 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
1471 //               halts when it encounters any bus error, and always raises its
1472 //               channel IRQ flag.
1473 #define DMA_CH3_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
1474 #define DMA_CH3_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
1475 #define DMA_CH3_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
1476 #define DMA_CH3_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
1477 #define DMA_CH3_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
1478 // -----------------------------------------------------------------------------
1479 // Field       : DMA_CH3_CTRL_TRIG_READ_ERROR
1480 // Description : If 1, the channel received a read bus error. Write one to
1481 //               clear.
1482 //               READ_ADDR shows the approximate address where the bus error was
1483 //               encountered (will not be earlier, or more than 3 transfers
1484 //               later)
1485 #define DMA_CH3_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
1486 #define DMA_CH3_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
1487 #define DMA_CH3_CTRL_TRIG_READ_ERROR_MSB    _u(30)
1488 #define DMA_CH3_CTRL_TRIG_READ_ERROR_LSB    _u(30)
1489 #define DMA_CH3_CTRL_TRIG_READ_ERROR_ACCESS "WC"
1490 // -----------------------------------------------------------------------------
1491 // Field       : DMA_CH3_CTRL_TRIG_WRITE_ERROR
1492 // Description : If 1, the channel received a write bus error. Write one to
1493 //               clear.
1494 //               WRITE_ADDR shows the approximate address where the bus error
1495 //               was encountered (will not be earlier, or more than 5 transfers
1496 //               later)
1497 #define DMA_CH3_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
1498 #define DMA_CH3_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
1499 #define DMA_CH3_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
1500 #define DMA_CH3_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
1501 #define DMA_CH3_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
1502 // -----------------------------------------------------------------------------
1503 // Field       : DMA_CH3_CTRL_TRIG_BUSY
1504 // Description : This flag goes high when the channel starts a new transfer
1505 //               sequence, and low when the last transfer of that sequence
1506 //               completes. Clearing EN while BUSY is high pauses the channel,
1507 //               and BUSY will stay high while paused.
1508 //
1509 //               To terminate a sequence early (and clear the BUSY flag), see
1510 //               CHAN_ABORT.
1511 #define DMA_CH3_CTRL_TRIG_BUSY_RESET  _u(0x0)
1512 #define DMA_CH3_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
1513 #define DMA_CH3_CTRL_TRIG_BUSY_MSB    _u(26)
1514 #define DMA_CH3_CTRL_TRIG_BUSY_LSB    _u(26)
1515 #define DMA_CH3_CTRL_TRIG_BUSY_ACCESS "RO"
1516 // -----------------------------------------------------------------------------
1517 // Field       : DMA_CH3_CTRL_TRIG_SNIFF_EN
1518 // Description : If 1, this channel's data transfers are visible to the sniff
1519 //               hardware, and each transfer will advance the state of the
1520 //               checksum. This only applies if the sniff hardware is enabled,
1521 //               and has this channel selected.
1522 //
1523 //               This allows checksum to be enabled or disabled on a per-
1524 //               control- block basis.
1525 #define DMA_CH3_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
1526 #define DMA_CH3_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
1527 #define DMA_CH3_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
1528 #define DMA_CH3_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
1529 #define DMA_CH3_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
1530 // -----------------------------------------------------------------------------
1531 // Field       : DMA_CH3_CTRL_TRIG_BSWAP
1532 // Description : Apply byte-swap transformation to DMA data.
1533 //               For byte data, this has no effect. For halfword data, the two
1534 //               bytes of each halfword are swapped. For word data, the four
1535 //               bytes of each word are swapped to reverse order.
1536 #define DMA_CH3_CTRL_TRIG_BSWAP_RESET  _u(0x0)
1537 #define DMA_CH3_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
1538 #define DMA_CH3_CTRL_TRIG_BSWAP_MSB    _u(24)
1539 #define DMA_CH3_CTRL_TRIG_BSWAP_LSB    _u(24)
1540 #define DMA_CH3_CTRL_TRIG_BSWAP_ACCESS "RW"
1541 // -----------------------------------------------------------------------------
1542 // Field       : DMA_CH3_CTRL_TRIG_IRQ_QUIET
1543 // Description : In QUIET mode, the channel does not generate IRQs at the end of
1544 //               every transfer block. Instead, an IRQ is raised when NULL is
1545 //               written to a trigger register, indicating the end of a control
1546 //               block chain.
1547 //
1548 //               This reduces the number of interrupts to be serviced by the CPU
1549 //               when transferring a DMA chain of many small control blocks.
1550 #define DMA_CH3_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
1551 #define DMA_CH3_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
1552 #define DMA_CH3_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
1553 #define DMA_CH3_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
1554 #define DMA_CH3_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
1555 // -----------------------------------------------------------------------------
1556 // Field       : DMA_CH3_CTRL_TRIG_TREQ_SEL
1557 // Description : Select a Transfer Request signal.
1558 //               The channel uses the transfer request signal to pace its data
1559 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
1560 //               or external (DREQ, a Data Request from the system).
1561 //               0x0 to 0x3a -> select DREQ n as TREQ
1562 //               0x3b -> Select Timer 0 as TREQ
1563 //               0x3c -> Select Timer 1 as TREQ
1564 //               0x3d -> Select Timer 2 as TREQ (Optional)
1565 //               0x3e -> Select Timer 3 as TREQ (Optional)
1566 //               0x3f -> Permanent request, for unpaced transfers.
1567 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
1568 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
1569 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
1570 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
1571 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
1572 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
1573 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
1574 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
1575 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
1576 #define DMA_CH3_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
1577 // -----------------------------------------------------------------------------
1578 // Field       : DMA_CH3_CTRL_TRIG_CHAIN_TO
1579 // Description : When this channel completes, it will trigger the channel
1580 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
1581 //               channel)_.
1582 //
1583 //               Note this field resets to 0, so channels 1 and above will chain
1584 //               to channel 0 by default. Set this field to avoid this
1585 //               behaviour.
1586 #define DMA_CH3_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
1587 #define DMA_CH3_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
1588 #define DMA_CH3_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
1589 #define DMA_CH3_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
1590 #define DMA_CH3_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
1591 // -----------------------------------------------------------------------------
1592 // Field       : DMA_CH3_CTRL_TRIG_RING_SEL
1593 // Description : Select whether RING_SIZE applies to read or write addresses.
1594 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
1595 //               boundary. If 1, write addresses are wrapped.
1596 #define DMA_CH3_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
1597 #define DMA_CH3_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
1598 #define DMA_CH3_CTRL_TRIG_RING_SEL_MSB    _u(12)
1599 #define DMA_CH3_CTRL_TRIG_RING_SEL_LSB    _u(12)
1600 #define DMA_CH3_CTRL_TRIG_RING_SEL_ACCESS "RW"
1601 // -----------------------------------------------------------------------------
1602 // Field       : DMA_CH3_CTRL_TRIG_RING_SIZE
1603 // Description : Size of address wrap region. If 0, don't wrap. For values n >
1604 //               0, only the lower n bits of the address will change. This wraps
1605 //               the address on a (1 << n) byte boundary, facilitating access to
1606 //               naturally-aligned ring buffers.
1607 //
1608 //               Ring sizes between 2 and 32768 bytes are possible. This can
1609 //               apply to either read or write addresses, based on value of
1610 //               RING_SEL.
1611 //               0x0 -> RING_NONE
1612 #define DMA_CH3_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
1613 #define DMA_CH3_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
1614 #define DMA_CH3_CTRL_TRIG_RING_SIZE_MSB    _u(11)
1615 #define DMA_CH3_CTRL_TRIG_RING_SIZE_LSB    _u(8)
1616 #define DMA_CH3_CTRL_TRIG_RING_SIZE_ACCESS "RW"
1617 #define DMA_CH3_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
1618 // -----------------------------------------------------------------------------
1619 // Field       : DMA_CH3_CTRL_TRIG_INCR_WRITE_REV
1620 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
1621 //               rather than incremented with each transfer.
1622 //
1623 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
1624 //               causes the write address to be incremented by twice the
1625 //               transfer size, i.e. skipping over alternate addresses.
1626 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
1627 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
1628 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
1629 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
1630 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
1631 // -----------------------------------------------------------------------------
1632 // Field       : DMA_CH3_CTRL_TRIG_INCR_WRITE
1633 // Description : If 1, the write address increments with each transfer. If 0,
1634 //               each write is directed to the same, initial address.
1635 //
1636 //               Generally this should be disabled for memory-to-peripheral
1637 //               transfers.
1638 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
1639 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
1640 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
1641 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
1642 #define DMA_CH3_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
1643 // -----------------------------------------------------------------------------
1644 // Field       : DMA_CH3_CTRL_TRIG_INCR_READ_REV
1645 // Description : If 1, and INCR_READ is 1, the read address is decremented
1646 //               rather than incremented with each transfer.
1647 //
1648 //               If 1, and INCR_READ is 0, this otherwise-unused combination
1649 //               causes the read address to be incremented by twice the transfer
1650 //               size, i.e. skipping over alternate addresses.
1651 #define DMA_CH3_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
1652 #define DMA_CH3_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
1653 #define DMA_CH3_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
1654 #define DMA_CH3_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
1655 #define DMA_CH3_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
1656 // -----------------------------------------------------------------------------
1657 // Field       : DMA_CH3_CTRL_TRIG_INCR_READ
1658 // Description : If 1, the read address increments with each transfer. If 0,
1659 //               each read is directed to the same, initial address.
1660 //
1661 //               Generally this should be disabled for peripheral-to-memory
1662 //               transfers.
1663 #define DMA_CH3_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
1664 #define DMA_CH3_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
1665 #define DMA_CH3_CTRL_TRIG_INCR_READ_MSB    _u(4)
1666 #define DMA_CH3_CTRL_TRIG_INCR_READ_LSB    _u(4)
1667 #define DMA_CH3_CTRL_TRIG_INCR_READ_ACCESS "RW"
1668 // -----------------------------------------------------------------------------
1669 // Field       : DMA_CH3_CTRL_TRIG_DATA_SIZE
1670 // Description : Set the size of each bus transfer (byte/halfword/word).
1671 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
1672 //               with each transfer.
1673 //               0x0 -> SIZE_BYTE
1674 //               0x1 -> SIZE_HALFWORD
1675 //               0x2 -> SIZE_WORD
1676 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
1677 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
1678 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
1679 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
1680 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
1681 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
1682 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
1683 #define DMA_CH3_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
1684 // -----------------------------------------------------------------------------
1685 // Field       : DMA_CH3_CTRL_TRIG_HIGH_PRIORITY
1686 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
1687 //               scheduling: in each scheduling round, all high priority
1688 //               channels are considered first, and then only a single low
1689 //               priority channel, before returning to the high priority
1690 //               channels.
1691 //
1692 //               This only affects the order in which the DMA schedules
1693 //               channels. The DMA's bus priority is not changed. If the DMA is
1694 //               not saturated then a low priority channel will see no loss of
1695 //               throughput.
1696 #define DMA_CH3_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
1697 #define DMA_CH3_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
1698 #define DMA_CH3_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
1699 #define DMA_CH3_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
1700 #define DMA_CH3_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
1701 // -----------------------------------------------------------------------------
1702 // Field       : DMA_CH3_CTRL_TRIG_EN
1703 // Description : DMA Channel Enable.
1704 //               When 1, the channel will respond to triggering events, which
1705 //               will cause it to become BUSY and start transferring data. When
1706 //               0, the channel will ignore triggers, stop issuing transfers,
1707 //               and pause the current transfer sequence (i.e. BUSY will remain
1708 //               high if already high)
1709 #define DMA_CH3_CTRL_TRIG_EN_RESET  _u(0x0)
1710 #define DMA_CH3_CTRL_TRIG_EN_BITS   _u(0x00000001)
1711 #define DMA_CH3_CTRL_TRIG_EN_MSB    _u(0)
1712 #define DMA_CH3_CTRL_TRIG_EN_LSB    _u(0)
1713 #define DMA_CH3_CTRL_TRIG_EN_ACCESS "RW"
1714 // =============================================================================
1715 // Register    : DMA_CH3_AL1_CTRL
1716 // Description : Alias for channel 3 CTRL register
1717 #define DMA_CH3_AL1_CTRL_OFFSET _u(0x000000d0)
1718 #define DMA_CH3_AL1_CTRL_BITS   _u(0xffffffff)
1719 #define DMA_CH3_AL1_CTRL_RESET  "-"
1720 #define DMA_CH3_AL1_CTRL_MSB    _u(31)
1721 #define DMA_CH3_AL1_CTRL_LSB    _u(0)
1722 #define DMA_CH3_AL1_CTRL_ACCESS "RW"
1723 // =============================================================================
1724 // Register    : DMA_CH3_AL1_READ_ADDR
1725 // Description : Alias for channel 3 READ_ADDR register
1726 #define DMA_CH3_AL1_READ_ADDR_OFFSET _u(0x000000d4)
1727 #define DMA_CH3_AL1_READ_ADDR_BITS   _u(0xffffffff)
1728 #define DMA_CH3_AL1_READ_ADDR_RESET  "-"
1729 #define DMA_CH3_AL1_READ_ADDR_MSB    _u(31)
1730 #define DMA_CH3_AL1_READ_ADDR_LSB    _u(0)
1731 #define DMA_CH3_AL1_READ_ADDR_ACCESS "RW"
1732 // =============================================================================
1733 // Register    : DMA_CH3_AL1_WRITE_ADDR
1734 // Description : Alias for channel 3 WRITE_ADDR register
1735 #define DMA_CH3_AL1_WRITE_ADDR_OFFSET _u(0x000000d8)
1736 #define DMA_CH3_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
1737 #define DMA_CH3_AL1_WRITE_ADDR_RESET  "-"
1738 #define DMA_CH3_AL1_WRITE_ADDR_MSB    _u(31)
1739 #define DMA_CH3_AL1_WRITE_ADDR_LSB    _u(0)
1740 #define DMA_CH3_AL1_WRITE_ADDR_ACCESS "RW"
1741 // =============================================================================
1742 // Register    : DMA_CH3_AL1_TRANS_COUNT_TRIG
1743 // Description : Alias for channel 3 TRANS_COUNT register
1744 //               This is a trigger register (0xc). Writing a nonzero value will
1745 //               reload the channel counter and start the channel.
1746 #define DMA_CH3_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x000000dc)
1747 #define DMA_CH3_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
1748 #define DMA_CH3_AL1_TRANS_COUNT_TRIG_RESET  "-"
1749 #define DMA_CH3_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
1750 #define DMA_CH3_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
1751 #define DMA_CH3_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
1752 // =============================================================================
1753 // Register    : DMA_CH3_AL2_CTRL
1754 // Description : Alias for channel 3 CTRL register
1755 #define DMA_CH3_AL2_CTRL_OFFSET _u(0x000000e0)
1756 #define DMA_CH3_AL2_CTRL_BITS   _u(0xffffffff)
1757 #define DMA_CH3_AL2_CTRL_RESET  "-"
1758 #define DMA_CH3_AL2_CTRL_MSB    _u(31)
1759 #define DMA_CH3_AL2_CTRL_LSB    _u(0)
1760 #define DMA_CH3_AL2_CTRL_ACCESS "RW"
1761 // =============================================================================
1762 // Register    : DMA_CH3_AL2_TRANS_COUNT
1763 // Description : Alias for channel 3 TRANS_COUNT register
1764 #define DMA_CH3_AL2_TRANS_COUNT_OFFSET _u(0x000000e4)
1765 #define DMA_CH3_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
1766 #define DMA_CH3_AL2_TRANS_COUNT_RESET  "-"
1767 #define DMA_CH3_AL2_TRANS_COUNT_MSB    _u(31)
1768 #define DMA_CH3_AL2_TRANS_COUNT_LSB    _u(0)
1769 #define DMA_CH3_AL2_TRANS_COUNT_ACCESS "RW"
1770 // =============================================================================
1771 // Register    : DMA_CH3_AL2_READ_ADDR
1772 // Description : Alias for channel 3 READ_ADDR register
1773 #define DMA_CH3_AL2_READ_ADDR_OFFSET _u(0x000000e8)
1774 #define DMA_CH3_AL2_READ_ADDR_BITS   _u(0xffffffff)
1775 #define DMA_CH3_AL2_READ_ADDR_RESET  "-"
1776 #define DMA_CH3_AL2_READ_ADDR_MSB    _u(31)
1777 #define DMA_CH3_AL2_READ_ADDR_LSB    _u(0)
1778 #define DMA_CH3_AL2_READ_ADDR_ACCESS "RW"
1779 // =============================================================================
1780 // Register    : DMA_CH3_AL2_WRITE_ADDR_TRIG
1781 // Description : Alias for channel 3 WRITE_ADDR register
1782 //               This is a trigger register (0xc). Writing a nonzero value will
1783 //               reload the channel counter and start the channel.
1784 #define DMA_CH3_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000000ec)
1785 #define DMA_CH3_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
1786 #define DMA_CH3_AL2_WRITE_ADDR_TRIG_RESET  "-"
1787 #define DMA_CH3_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
1788 #define DMA_CH3_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
1789 #define DMA_CH3_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
1790 // =============================================================================
1791 // Register    : DMA_CH3_AL3_CTRL
1792 // Description : Alias for channel 3 CTRL register
1793 #define DMA_CH3_AL3_CTRL_OFFSET _u(0x000000f0)
1794 #define DMA_CH3_AL3_CTRL_BITS   _u(0xffffffff)
1795 #define DMA_CH3_AL3_CTRL_RESET  "-"
1796 #define DMA_CH3_AL3_CTRL_MSB    _u(31)
1797 #define DMA_CH3_AL3_CTRL_LSB    _u(0)
1798 #define DMA_CH3_AL3_CTRL_ACCESS "RW"
1799 // =============================================================================
1800 // Register    : DMA_CH3_AL3_WRITE_ADDR
1801 // Description : Alias for channel 3 WRITE_ADDR register
1802 #define DMA_CH3_AL3_WRITE_ADDR_OFFSET _u(0x000000f4)
1803 #define DMA_CH3_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
1804 #define DMA_CH3_AL3_WRITE_ADDR_RESET  "-"
1805 #define DMA_CH3_AL3_WRITE_ADDR_MSB    _u(31)
1806 #define DMA_CH3_AL3_WRITE_ADDR_LSB    _u(0)
1807 #define DMA_CH3_AL3_WRITE_ADDR_ACCESS "RW"
1808 // =============================================================================
1809 // Register    : DMA_CH3_AL3_TRANS_COUNT
1810 // Description : Alias for channel 3 TRANS_COUNT register
1811 #define DMA_CH3_AL3_TRANS_COUNT_OFFSET _u(0x000000f8)
1812 #define DMA_CH3_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
1813 #define DMA_CH3_AL3_TRANS_COUNT_RESET  "-"
1814 #define DMA_CH3_AL3_TRANS_COUNT_MSB    _u(31)
1815 #define DMA_CH3_AL3_TRANS_COUNT_LSB    _u(0)
1816 #define DMA_CH3_AL3_TRANS_COUNT_ACCESS "RW"
1817 // =============================================================================
1818 // Register    : DMA_CH3_AL3_READ_ADDR_TRIG
1819 // Description : Alias for channel 3 READ_ADDR register
1820 //               This is a trigger register (0xc). Writing a nonzero value will
1821 //               reload the channel counter and start the channel.
1822 #define DMA_CH3_AL3_READ_ADDR_TRIG_OFFSET _u(0x000000fc)
1823 #define DMA_CH3_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
1824 #define DMA_CH3_AL3_READ_ADDR_TRIG_RESET  "-"
1825 #define DMA_CH3_AL3_READ_ADDR_TRIG_MSB    _u(31)
1826 #define DMA_CH3_AL3_READ_ADDR_TRIG_LSB    _u(0)
1827 #define DMA_CH3_AL3_READ_ADDR_TRIG_ACCESS "RW"
1828 // =============================================================================
1829 // Register    : DMA_CH4_READ_ADDR
1830 // Description : DMA Channel 4 Read Address pointer
1831 //               This register updates automatically each time a read completes.
1832 //               The current value is the next address to be read by this
1833 //               channel.
1834 #define DMA_CH4_READ_ADDR_OFFSET _u(0x00000100)
1835 #define DMA_CH4_READ_ADDR_BITS   _u(0xffffffff)
1836 #define DMA_CH4_READ_ADDR_RESET  _u(0x00000000)
1837 #define DMA_CH4_READ_ADDR_MSB    _u(31)
1838 #define DMA_CH4_READ_ADDR_LSB    _u(0)
1839 #define DMA_CH4_READ_ADDR_ACCESS "RW"
1840 // =============================================================================
1841 // Register    : DMA_CH4_WRITE_ADDR
1842 // Description : DMA Channel 4 Write Address pointer
1843 //               This register updates automatically each time a write
1844 //               completes. The current value is the next address to be written
1845 //               by this channel.
1846 #define DMA_CH4_WRITE_ADDR_OFFSET _u(0x00000104)
1847 #define DMA_CH4_WRITE_ADDR_BITS   _u(0xffffffff)
1848 #define DMA_CH4_WRITE_ADDR_RESET  _u(0x00000000)
1849 #define DMA_CH4_WRITE_ADDR_MSB    _u(31)
1850 #define DMA_CH4_WRITE_ADDR_LSB    _u(0)
1851 #define DMA_CH4_WRITE_ADDR_ACCESS "RW"
1852 // =============================================================================
1853 // Register    : DMA_CH4_TRANS_COUNT
1854 // Description : DMA Channel 4 Transfer Count
1855 #define DMA_CH4_TRANS_COUNT_OFFSET _u(0x00000108)
1856 #define DMA_CH4_TRANS_COUNT_BITS   _u(0xffffffff)
1857 #define DMA_CH4_TRANS_COUNT_RESET  _u(0x00000000)
1858 // -----------------------------------------------------------------------------
1859 // Field       : DMA_CH4_TRANS_COUNT_MODE
1860 // Description : When MODE is 0x0, the transfer count decrements with each
1861 //               transfer until 0, and then the channel triggers the next
1862 //               channel indicated by CTRL_CHAIN_TO.
1863 //
1864 //               When MODE is 0x1, the transfer count decrements with each
1865 //               transfer until 0, and then the channel re-triggers itself, in
1866 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
1867 //               useful for e.g. an endless ring-buffer DMA with periodic
1868 //               interrupts.
1869 //
1870 //               When MODE is 0xf, the transfer count does not decrement. The
1871 //               DMA channel performs an endless sequence of transfers, never
1872 //               triggering other channels or raising interrupts, until an ABORT
1873 //               is raised.
1874 //
1875 //               All other values are reserved.
1876 //               0x0 -> NORMAL
1877 //               0x1 -> TRIGGER_SELF
1878 //               0xf -> ENDLESS
1879 #define DMA_CH4_TRANS_COUNT_MODE_RESET  _u(0x0)
1880 #define DMA_CH4_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
1881 #define DMA_CH4_TRANS_COUNT_MODE_MSB    _u(31)
1882 #define DMA_CH4_TRANS_COUNT_MODE_LSB    _u(28)
1883 #define DMA_CH4_TRANS_COUNT_MODE_ACCESS "RW"
1884 #define DMA_CH4_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
1885 #define DMA_CH4_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
1886 #define DMA_CH4_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
1887 // -----------------------------------------------------------------------------
1888 // Field       : DMA_CH4_TRANS_COUNT_COUNT
1889 // Description : 28-bit transfer count (256 million transfers maximum).
1890 //
1891 //               Program the number of bus transfers a channel will perform
1892 //               before halting. Note that, if transfers are larger than one
1893 //               byte in size, this is not equal to the number of bytes
1894 //               transferred (see CTRL_DATA_SIZE).
1895 //
1896 //               When the channel is active, reading this register shows the
1897 //               number of transfers remaining, updating automatically each time
1898 //               a write transfer completes.
1899 //
1900 //               Writing this register sets the RELOAD value for the transfer
1901 //               counter. Each time this channel is triggered, the RELOAD value
1902 //               is copied into the live transfer counter. The channel can be
1903 //               started multiple times, and will perform the same number of
1904 //               transfers each time, as programmed by most recent write.
1905 //
1906 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
1907 //               is used as a trigger, the written value is used immediately as
1908 //               the length of the new transfer sequence, as well as being
1909 //               written to RELOAD.
1910 #define DMA_CH4_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
1911 #define DMA_CH4_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
1912 #define DMA_CH4_TRANS_COUNT_COUNT_MSB    _u(27)
1913 #define DMA_CH4_TRANS_COUNT_COUNT_LSB    _u(0)
1914 #define DMA_CH4_TRANS_COUNT_COUNT_ACCESS "RW"
1915 // =============================================================================
1916 // Register    : DMA_CH4_CTRL_TRIG
1917 // Description : DMA Channel 4 Control and Status
1918 #define DMA_CH4_CTRL_TRIG_OFFSET _u(0x0000010c)
1919 #define DMA_CH4_CTRL_TRIG_BITS   _u(0xe7ffffff)
1920 #define DMA_CH4_CTRL_TRIG_RESET  _u(0x00000000)
1921 // -----------------------------------------------------------------------------
1922 // Field       : DMA_CH4_CTRL_TRIG_AHB_ERROR
1923 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
1924 //               halts when it encounters any bus error, and always raises its
1925 //               channel IRQ flag.
1926 #define DMA_CH4_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
1927 #define DMA_CH4_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
1928 #define DMA_CH4_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
1929 #define DMA_CH4_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
1930 #define DMA_CH4_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
1931 // -----------------------------------------------------------------------------
1932 // Field       : DMA_CH4_CTRL_TRIG_READ_ERROR
1933 // Description : If 1, the channel received a read bus error. Write one to
1934 //               clear.
1935 //               READ_ADDR shows the approximate address where the bus error was
1936 //               encountered (will not be earlier, or more than 3 transfers
1937 //               later)
1938 #define DMA_CH4_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
1939 #define DMA_CH4_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
1940 #define DMA_CH4_CTRL_TRIG_READ_ERROR_MSB    _u(30)
1941 #define DMA_CH4_CTRL_TRIG_READ_ERROR_LSB    _u(30)
1942 #define DMA_CH4_CTRL_TRIG_READ_ERROR_ACCESS "WC"
1943 // -----------------------------------------------------------------------------
1944 // Field       : DMA_CH4_CTRL_TRIG_WRITE_ERROR
1945 // Description : If 1, the channel received a write bus error. Write one to
1946 //               clear.
1947 //               WRITE_ADDR shows the approximate address where the bus error
1948 //               was encountered (will not be earlier, or more than 5 transfers
1949 //               later)
1950 #define DMA_CH4_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
1951 #define DMA_CH4_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
1952 #define DMA_CH4_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
1953 #define DMA_CH4_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
1954 #define DMA_CH4_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
1955 // -----------------------------------------------------------------------------
1956 // Field       : DMA_CH4_CTRL_TRIG_BUSY
1957 // Description : This flag goes high when the channel starts a new transfer
1958 //               sequence, and low when the last transfer of that sequence
1959 //               completes. Clearing EN while BUSY is high pauses the channel,
1960 //               and BUSY will stay high while paused.
1961 //
1962 //               To terminate a sequence early (and clear the BUSY flag), see
1963 //               CHAN_ABORT.
1964 #define DMA_CH4_CTRL_TRIG_BUSY_RESET  _u(0x0)
1965 #define DMA_CH4_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
1966 #define DMA_CH4_CTRL_TRIG_BUSY_MSB    _u(26)
1967 #define DMA_CH4_CTRL_TRIG_BUSY_LSB    _u(26)
1968 #define DMA_CH4_CTRL_TRIG_BUSY_ACCESS "RO"
1969 // -----------------------------------------------------------------------------
1970 // Field       : DMA_CH4_CTRL_TRIG_SNIFF_EN
1971 // Description : If 1, this channel's data transfers are visible to the sniff
1972 //               hardware, and each transfer will advance the state of the
1973 //               checksum. This only applies if the sniff hardware is enabled,
1974 //               and has this channel selected.
1975 //
1976 //               This allows checksum to be enabled or disabled on a per-
1977 //               control- block basis.
1978 #define DMA_CH4_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
1979 #define DMA_CH4_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
1980 #define DMA_CH4_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
1981 #define DMA_CH4_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
1982 #define DMA_CH4_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
1983 // -----------------------------------------------------------------------------
1984 // Field       : DMA_CH4_CTRL_TRIG_BSWAP
1985 // Description : Apply byte-swap transformation to DMA data.
1986 //               For byte data, this has no effect. For halfword data, the two
1987 //               bytes of each halfword are swapped. For word data, the four
1988 //               bytes of each word are swapped to reverse order.
1989 #define DMA_CH4_CTRL_TRIG_BSWAP_RESET  _u(0x0)
1990 #define DMA_CH4_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
1991 #define DMA_CH4_CTRL_TRIG_BSWAP_MSB    _u(24)
1992 #define DMA_CH4_CTRL_TRIG_BSWAP_LSB    _u(24)
1993 #define DMA_CH4_CTRL_TRIG_BSWAP_ACCESS "RW"
1994 // -----------------------------------------------------------------------------
1995 // Field       : DMA_CH4_CTRL_TRIG_IRQ_QUIET
1996 // Description : In QUIET mode, the channel does not generate IRQs at the end of
1997 //               every transfer block. Instead, an IRQ is raised when NULL is
1998 //               written to a trigger register, indicating the end of a control
1999 //               block chain.
2000 //
2001 //               This reduces the number of interrupts to be serviced by the CPU
2002 //               when transferring a DMA chain of many small control blocks.
2003 #define DMA_CH4_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
2004 #define DMA_CH4_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
2005 #define DMA_CH4_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
2006 #define DMA_CH4_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
2007 #define DMA_CH4_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
2008 // -----------------------------------------------------------------------------
2009 // Field       : DMA_CH4_CTRL_TRIG_TREQ_SEL
2010 // Description : Select a Transfer Request signal.
2011 //               The channel uses the transfer request signal to pace its data
2012 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
2013 //               or external (DREQ, a Data Request from the system).
2014 //               0x0 to 0x3a -> select DREQ n as TREQ
2015 //               0x3b -> Select Timer 0 as TREQ
2016 //               0x3c -> Select Timer 1 as TREQ
2017 //               0x3d -> Select Timer 2 as TREQ (Optional)
2018 //               0x3e -> Select Timer 3 as TREQ (Optional)
2019 //               0x3f -> Permanent request, for unpaced transfers.
2020 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
2021 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
2022 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
2023 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
2024 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
2025 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
2026 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
2027 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
2028 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
2029 #define DMA_CH4_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
2030 // -----------------------------------------------------------------------------
2031 // Field       : DMA_CH4_CTRL_TRIG_CHAIN_TO
2032 // Description : When this channel completes, it will trigger the channel
2033 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
2034 //               channel)_.
2035 //
2036 //               Note this field resets to 0, so channels 1 and above will chain
2037 //               to channel 0 by default. Set this field to avoid this
2038 //               behaviour.
2039 #define DMA_CH4_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
2040 #define DMA_CH4_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
2041 #define DMA_CH4_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
2042 #define DMA_CH4_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
2043 #define DMA_CH4_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
2044 // -----------------------------------------------------------------------------
2045 // Field       : DMA_CH4_CTRL_TRIG_RING_SEL
2046 // Description : Select whether RING_SIZE applies to read or write addresses.
2047 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
2048 //               boundary. If 1, write addresses are wrapped.
2049 #define DMA_CH4_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
2050 #define DMA_CH4_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
2051 #define DMA_CH4_CTRL_TRIG_RING_SEL_MSB    _u(12)
2052 #define DMA_CH4_CTRL_TRIG_RING_SEL_LSB    _u(12)
2053 #define DMA_CH4_CTRL_TRIG_RING_SEL_ACCESS "RW"
2054 // -----------------------------------------------------------------------------
2055 // Field       : DMA_CH4_CTRL_TRIG_RING_SIZE
2056 // Description : Size of address wrap region. If 0, don't wrap. For values n >
2057 //               0, only the lower n bits of the address will change. This wraps
2058 //               the address on a (1 << n) byte boundary, facilitating access to
2059 //               naturally-aligned ring buffers.
2060 //
2061 //               Ring sizes between 2 and 32768 bytes are possible. This can
2062 //               apply to either read or write addresses, based on value of
2063 //               RING_SEL.
2064 //               0x0 -> RING_NONE
2065 #define DMA_CH4_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
2066 #define DMA_CH4_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
2067 #define DMA_CH4_CTRL_TRIG_RING_SIZE_MSB    _u(11)
2068 #define DMA_CH4_CTRL_TRIG_RING_SIZE_LSB    _u(8)
2069 #define DMA_CH4_CTRL_TRIG_RING_SIZE_ACCESS "RW"
2070 #define DMA_CH4_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
2071 // -----------------------------------------------------------------------------
2072 // Field       : DMA_CH4_CTRL_TRIG_INCR_WRITE_REV
2073 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
2074 //               rather than incremented with each transfer.
2075 //
2076 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
2077 //               causes the write address to be incremented by twice the
2078 //               transfer size, i.e. skipping over alternate addresses.
2079 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
2080 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
2081 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
2082 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
2083 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
2084 // -----------------------------------------------------------------------------
2085 // Field       : DMA_CH4_CTRL_TRIG_INCR_WRITE
2086 // Description : If 1, the write address increments with each transfer. If 0,
2087 //               each write is directed to the same, initial address.
2088 //
2089 //               Generally this should be disabled for memory-to-peripheral
2090 //               transfers.
2091 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
2092 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
2093 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
2094 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
2095 #define DMA_CH4_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
2096 // -----------------------------------------------------------------------------
2097 // Field       : DMA_CH4_CTRL_TRIG_INCR_READ_REV
2098 // Description : If 1, and INCR_READ is 1, the read address is decremented
2099 //               rather than incremented with each transfer.
2100 //
2101 //               If 1, and INCR_READ is 0, this otherwise-unused combination
2102 //               causes the read address to be incremented by twice the transfer
2103 //               size, i.e. skipping over alternate addresses.
2104 #define DMA_CH4_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
2105 #define DMA_CH4_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
2106 #define DMA_CH4_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
2107 #define DMA_CH4_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
2108 #define DMA_CH4_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
2109 // -----------------------------------------------------------------------------
2110 // Field       : DMA_CH4_CTRL_TRIG_INCR_READ
2111 // Description : If 1, the read address increments with each transfer. If 0,
2112 //               each read is directed to the same, initial address.
2113 //
2114 //               Generally this should be disabled for peripheral-to-memory
2115 //               transfers.
2116 #define DMA_CH4_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
2117 #define DMA_CH4_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
2118 #define DMA_CH4_CTRL_TRIG_INCR_READ_MSB    _u(4)
2119 #define DMA_CH4_CTRL_TRIG_INCR_READ_LSB    _u(4)
2120 #define DMA_CH4_CTRL_TRIG_INCR_READ_ACCESS "RW"
2121 // -----------------------------------------------------------------------------
2122 // Field       : DMA_CH4_CTRL_TRIG_DATA_SIZE
2123 // Description : Set the size of each bus transfer (byte/halfword/word).
2124 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
2125 //               with each transfer.
2126 //               0x0 -> SIZE_BYTE
2127 //               0x1 -> SIZE_HALFWORD
2128 //               0x2 -> SIZE_WORD
2129 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
2130 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
2131 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
2132 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
2133 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
2134 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
2135 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
2136 #define DMA_CH4_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
2137 // -----------------------------------------------------------------------------
2138 // Field       : DMA_CH4_CTRL_TRIG_HIGH_PRIORITY
2139 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
2140 //               scheduling: in each scheduling round, all high priority
2141 //               channels are considered first, and then only a single low
2142 //               priority channel, before returning to the high priority
2143 //               channels.
2144 //
2145 //               This only affects the order in which the DMA schedules
2146 //               channels. The DMA's bus priority is not changed. If the DMA is
2147 //               not saturated then a low priority channel will see no loss of
2148 //               throughput.
2149 #define DMA_CH4_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
2150 #define DMA_CH4_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
2151 #define DMA_CH4_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
2152 #define DMA_CH4_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
2153 #define DMA_CH4_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
2154 // -----------------------------------------------------------------------------
2155 // Field       : DMA_CH4_CTRL_TRIG_EN
2156 // Description : DMA Channel Enable.
2157 //               When 1, the channel will respond to triggering events, which
2158 //               will cause it to become BUSY and start transferring data. When
2159 //               0, the channel will ignore triggers, stop issuing transfers,
2160 //               and pause the current transfer sequence (i.e. BUSY will remain
2161 //               high if already high)
2162 #define DMA_CH4_CTRL_TRIG_EN_RESET  _u(0x0)
2163 #define DMA_CH4_CTRL_TRIG_EN_BITS   _u(0x00000001)
2164 #define DMA_CH4_CTRL_TRIG_EN_MSB    _u(0)
2165 #define DMA_CH4_CTRL_TRIG_EN_LSB    _u(0)
2166 #define DMA_CH4_CTRL_TRIG_EN_ACCESS "RW"
2167 // =============================================================================
2168 // Register    : DMA_CH4_AL1_CTRL
2169 // Description : Alias for channel 4 CTRL register
2170 #define DMA_CH4_AL1_CTRL_OFFSET _u(0x00000110)
2171 #define DMA_CH4_AL1_CTRL_BITS   _u(0xffffffff)
2172 #define DMA_CH4_AL1_CTRL_RESET  "-"
2173 #define DMA_CH4_AL1_CTRL_MSB    _u(31)
2174 #define DMA_CH4_AL1_CTRL_LSB    _u(0)
2175 #define DMA_CH4_AL1_CTRL_ACCESS "RW"
2176 // =============================================================================
2177 // Register    : DMA_CH4_AL1_READ_ADDR
2178 // Description : Alias for channel 4 READ_ADDR register
2179 #define DMA_CH4_AL1_READ_ADDR_OFFSET _u(0x00000114)
2180 #define DMA_CH4_AL1_READ_ADDR_BITS   _u(0xffffffff)
2181 #define DMA_CH4_AL1_READ_ADDR_RESET  "-"
2182 #define DMA_CH4_AL1_READ_ADDR_MSB    _u(31)
2183 #define DMA_CH4_AL1_READ_ADDR_LSB    _u(0)
2184 #define DMA_CH4_AL1_READ_ADDR_ACCESS "RW"
2185 // =============================================================================
2186 // Register    : DMA_CH4_AL1_WRITE_ADDR
2187 // Description : Alias for channel 4 WRITE_ADDR register
2188 #define DMA_CH4_AL1_WRITE_ADDR_OFFSET _u(0x00000118)
2189 #define DMA_CH4_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
2190 #define DMA_CH4_AL1_WRITE_ADDR_RESET  "-"
2191 #define DMA_CH4_AL1_WRITE_ADDR_MSB    _u(31)
2192 #define DMA_CH4_AL1_WRITE_ADDR_LSB    _u(0)
2193 #define DMA_CH4_AL1_WRITE_ADDR_ACCESS "RW"
2194 // =============================================================================
2195 // Register    : DMA_CH4_AL1_TRANS_COUNT_TRIG
2196 // Description : Alias for channel 4 TRANS_COUNT register
2197 //               This is a trigger register (0xc). Writing a nonzero value will
2198 //               reload the channel counter and start the channel.
2199 #define DMA_CH4_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000011c)
2200 #define DMA_CH4_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
2201 #define DMA_CH4_AL1_TRANS_COUNT_TRIG_RESET  "-"
2202 #define DMA_CH4_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
2203 #define DMA_CH4_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
2204 #define DMA_CH4_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
2205 // =============================================================================
2206 // Register    : DMA_CH4_AL2_CTRL
2207 // Description : Alias for channel 4 CTRL register
2208 #define DMA_CH4_AL2_CTRL_OFFSET _u(0x00000120)
2209 #define DMA_CH4_AL2_CTRL_BITS   _u(0xffffffff)
2210 #define DMA_CH4_AL2_CTRL_RESET  "-"
2211 #define DMA_CH4_AL2_CTRL_MSB    _u(31)
2212 #define DMA_CH4_AL2_CTRL_LSB    _u(0)
2213 #define DMA_CH4_AL2_CTRL_ACCESS "RW"
2214 // =============================================================================
2215 // Register    : DMA_CH4_AL2_TRANS_COUNT
2216 // Description : Alias for channel 4 TRANS_COUNT register
2217 #define DMA_CH4_AL2_TRANS_COUNT_OFFSET _u(0x00000124)
2218 #define DMA_CH4_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
2219 #define DMA_CH4_AL2_TRANS_COUNT_RESET  "-"
2220 #define DMA_CH4_AL2_TRANS_COUNT_MSB    _u(31)
2221 #define DMA_CH4_AL2_TRANS_COUNT_LSB    _u(0)
2222 #define DMA_CH4_AL2_TRANS_COUNT_ACCESS "RW"
2223 // =============================================================================
2224 // Register    : DMA_CH4_AL2_READ_ADDR
2225 // Description : Alias for channel 4 READ_ADDR register
2226 #define DMA_CH4_AL2_READ_ADDR_OFFSET _u(0x00000128)
2227 #define DMA_CH4_AL2_READ_ADDR_BITS   _u(0xffffffff)
2228 #define DMA_CH4_AL2_READ_ADDR_RESET  "-"
2229 #define DMA_CH4_AL2_READ_ADDR_MSB    _u(31)
2230 #define DMA_CH4_AL2_READ_ADDR_LSB    _u(0)
2231 #define DMA_CH4_AL2_READ_ADDR_ACCESS "RW"
2232 // =============================================================================
2233 // Register    : DMA_CH4_AL2_WRITE_ADDR_TRIG
2234 // Description : Alias for channel 4 WRITE_ADDR register
2235 //               This is a trigger register (0xc). Writing a nonzero value will
2236 //               reload the channel counter and start the channel.
2237 #define DMA_CH4_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000012c)
2238 #define DMA_CH4_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
2239 #define DMA_CH4_AL2_WRITE_ADDR_TRIG_RESET  "-"
2240 #define DMA_CH4_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
2241 #define DMA_CH4_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
2242 #define DMA_CH4_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
2243 // =============================================================================
2244 // Register    : DMA_CH4_AL3_CTRL
2245 // Description : Alias for channel 4 CTRL register
2246 #define DMA_CH4_AL3_CTRL_OFFSET _u(0x00000130)
2247 #define DMA_CH4_AL3_CTRL_BITS   _u(0xffffffff)
2248 #define DMA_CH4_AL3_CTRL_RESET  "-"
2249 #define DMA_CH4_AL3_CTRL_MSB    _u(31)
2250 #define DMA_CH4_AL3_CTRL_LSB    _u(0)
2251 #define DMA_CH4_AL3_CTRL_ACCESS "RW"
2252 // =============================================================================
2253 // Register    : DMA_CH4_AL3_WRITE_ADDR
2254 // Description : Alias for channel 4 WRITE_ADDR register
2255 #define DMA_CH4_AL3_WRITE_ADDR_OFFSET _u(0x00000134)
2256 #define DMA_CH4_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
2257 #define DMA_CH4_AL3_WRITE_ADDR_RESET  "-"
2258 #define DMA_CH4_AL3_WRITE_ADDR_MSB    _u(31)
2259 #define DMA_CH4_AL3_WRITE_ADDR_LSB    _u(0)
2260 #define DMA_CH4_AL3_WRITE_ADDR_ACCESS "RW"
2261 // =============================================================================
2262 // Register    : DMA_CH4_AL3_TRANS_COUNT
2263 // Description : Alias for channel 4 TRANS_COUNT register
2264 #define DMA_CH4_AL3_TRANS_COUNT_OFFSET _u(0x00000138)
2265 #define DMA_CH4_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
2266 #define DMA_CH4_AL3_TRANS_COUNT_RESET  "-"
2267 #define DMA_CH4_AL3_TRANS_COUNT_MSB    _u(31)
2268 #define DMA_CH4_AL3_TRANS_COUNT_LSB    _u(0)
2269 #define DMA_CH4_AL3_TRANS_COUNT_ACCESS "RW"
2270 // =============================================================================
2271 // Register    : DMA_CH4_AL3_READ_ADDR_TRIG
2272 // Description : Alias for channel 4 READ_ADDR register
2273 //               This is a trigger register (0xc). Writing a nonzero value will
2274 //               reload the channel counter and start the channel.
2275 #define DMA_CH4_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000013c)
2276 #define DMA_CH4_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
2277 #define DMA_CH4_AL3_READ_ADDR_TRIG_RESET  "-"
2278 #define DMA_CH4_AL3_READ_ADDR_TRIG_MSB    _u(31)
2279 #define DMA_CH4_AL3_READ_ADDR_TRIG_LSB    _u(0)
2280 #define DMA_CH4_AL3_READ_ADDR_TRIG_ACCESS "RW"
2281 // =============================================================================
2282 // Register    : DMA_CH5_READ_ADDR
2283 // Description : DMA Channel 5 Read Address pointer
2284 //               This register updates automatically each time a read completes.
2285 //               The current value is the next address to be read by this
2286 //               channel.
2287 #define DMA_CH5_READ_ADDR_OFFSET _u(0x00000140)
2288 #define DMA_CH5_READ_ADDR_BITS   _u(0xffffffff)
2289 #define DMA_CH5_READ_ADDR_RESET  _u(0x00000000)
2290 #define DMA_CH5_READ_ADDR_MSB    _u(31)
2291 #define DMA_CH5_READ_ADDR_LSB    _u(0)
2292 #define DMA_CH5_READ_ADDR_ACCESS "RW"
2293 // =============================================================================
2294 // Register    : DMA_CH5_WRITE_ADDR
2295 // Description : DMA Channel 5 Write Address pointer
2296 //               This register updates automatically each time a write
2297 //               completes. The current value is the next address to be written
2298 //               by this channel.
2299 #define DMA_CH5_WRITE_ADDR_OFFSET _u(0x00000144)
2300 #define DMA_CH5_WRITE_ADDR_BITS   _u(0xffffffff)
2301 #define DMA_CH5_WRITE_ADDR_RESET  _u(0x00000000)
2302 #define DMA_CH5_WRITE_ADDR_MSB    _u(31)
2303 #define DMA_CH5_WRITE_ADDR_LSB    _u(0)
2304 #define DMA_CH5_WRITE_ADDR_ACCESS "RW"
2305 // =============================================================================
2306 // Register    : DMA_CH5_TRANS_COUNT
2307 // Description : DMA Channel 5 Transfer Count
2308 #define DMA_CH5_TRANS_COUNT_OFFSET _u(0x00000148)
2309 #define DMA_CH5_TRANS_COUNT_BITS   _u(0xffffffff)
2310 #define DMA_CH5_TRANS_COUNT_RESET  _u(0x00000000)
2311 // -----------------------------------------------------------------------------
2312 // Field       : DMA_CH5_TRANS_COUNT_MODE
2313 // Description : When MODE is 0x0, the transfer count decrements with each
2314 //               transfer until 0, and then the channel triggers the next
2315 //               channel indicated by CTRL_CHAIN_TO.
2316 //
2317 //               When MODE is 0x1, the transfer count decrements with each
2318 //               transfer until 0, and then the channel re-triggers itself, in
2319 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
2320 //               useful for e.g. an endless ring-buffer DMA with periodic
2321 //               interrupts.
2322 //
2323 //               When MODE is 0xf, the transfer count does not decrement. The
2324 //               DMA channel performs an endless sequence of transfers, never
2325 //               triggering other channels or raising interrupts, until an ABORT
2326 //               is raised.
2327 //
2328 //               All other values are reserved.
2329 //               0x0 -> NORMAL
2330 //               0x1 -> TRIGGER_SELF
2331 //               0xf -> ENDLESS
2332 #define DMA_CH5_TRANS_COUNT_MODE_RESET  _u(0x0)
2333 #define DMA_CH5_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
2334 #define DMA_CH5_TRANS_COUNT_MODE_MSB    _u(31)
2335 #define DMA_CH5_TRANS_COUNT_MODE_LSB    _u(28)
2336 #define DMA_CH5_TRANS_COUNT_MODE_ACCESS "RW"
2337 #define DMA_CH5_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
2338 #define DMA_CH5_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
2339 #define DMA_CH5_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
2340 // -----------------------------------------------------------------------------
2341 // Field       : DMA_CH5_TRANS_COUNT_COUNT
2342 // Description : 28-bit transfer count (256 million transfers maximum).
2343 //
2344 //               Program the number of bus transfers a channel will perform
2345 //               before halting. Note that, if transfers are larger than one
2346 //               byte in size, this is not equal to the number of bytes
2347 //               transferred (see CTRL_DATA_SIZE).
2348 //
2349 //               When the channel is active, reading this register shows the
2350 //               number of transfers remaining, updating automatically each time
2351 //               a write transfer completes.
2352 //
2353 //               Writing this register sets the RELOAD value for the transfer
2354 //               counter. Each time this channel is triggered, the RELOAD value
2355 //               is copied into the live transfer counter. The channel can be
2356 //               started multiple times, and will perform the same number of
2357 //               transfers each time, as programmed by most recent write.
2358 //
2359 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
2360 //               is used as a trigger, the written value is used immediately as
2361 //               the length of the new transfer sequence, as well as being
2362 //               written to RELOAD.
2363 #define DMA_CH5_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
2364 #define DMA_CH5_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
2365 #define DMA_CH5_TRANS_COUNT_COUNT_MSB    _u(27)
2366 #define DMA_CH5_TRANS_COUNT_COUNT_LSB    _u(0)
2367 #define DMA_CH5_TRANS_COUNT_COUNT_ACCESS "RW"
2368 // =============================================================================
2369 // Register    : DMA_CH5_CTRL_TRIG
2370 // Description : DMA Channel 5 Control and Status
2371 #define DMA_CH5_CTRL_TRIG_OFFSET _u(0x0000014c)
2372 #define DMA_CH5_CTRL_TRIG_BITS   _u(0xe7ffffff)
2373 #define DMA_CH5_CTRL_TRIG_RESET  _u(0x00000000)
2374 // -----------------------------------------------------------------------------
2375 // Field       : DMA_CH5_CTRL_TRIG_AHB_ERROR
2376 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
2377 //               halts when it encounters any bus error, and always raises its
2378 //               channel IRQ flag.
2379 #define DMA_CH5_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
2380 #define DMA_CH5_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
2381 #define DMA_CH5_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
2382 #define DMA_CH5_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
2383 #define DMA_CH5_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
2384 // -----------------------------------------------------------------------------
2385 // Field       : DMA_CH5_CTRL_TRIG_READ_ERROR
2386 // Description : If 1, the channel received a read bus error. Write one to
2387 //               clear.
2388 //               READ_ADDR shows the approximate address where the bus error was
2389 //               encountered (will not be earlier, or more than 3 transfers
2390 //               later)
2391 #define DMA_CH5_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
2392 #define DMA_CH5_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
2393 #define DMA_CH5_CTRL_TRIG_READ_ERROR_MSB    _u(30)
2394 #define DMA_CH5_CTRL_TRIG_READ_ERROR_LSB    _u(30)
2395 #define DMA_CH5_CTRL_TRIG_READ_ERROR_ACCESS "WC"
2396 // -----------------------------------------------------------------------------
2397 // Field       : DMA_CH5_CTRL_TRIG_WRITE_ERROR
2398 // Description : If 1, the channel received a write bus error. Write one to
2399 //               clear.
2400 //               WRITE_ADDR shows the approximate address where the bus error
2401 //               was encountered (will not be earlier, or more than 5 transfers
2402 //               later)
2403 #define DMA_CH5_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
2404 #define DMA_CH5_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
2405 #define DMA_CH5_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
2406 #define DMA_CH5_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
2407 #define DMA_CH5_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
2408 // -----------------------------------------------------------------------------
2409 // Field       : DMA_CH5_CTRL_TRIG_BUSY
2410 // Description : This flag goes high when the channel starts a new transfer
2411 //               sequence, and low when the last transfer of that sequence
2412 //               completes. Clearing EN while BUSY is high pauses the channel,
2413 //               and BUSY will stay high while paused.
2414 //
2415 //               To terminate a sequence early (and clear the BUSY flag), see
2416 //               CHAN_ABORT.
2417 #define DMA_CH5_CTRL_TRIG_BUSY_RESET  _u(0x0)
2418 #define DMA_CH5_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
2419 #define DMA_CH5_CTRL_TRIG_BUSY_MSB    _u(26)
2420 #define DMA_CH5_CTRL_TRIG_BUSY_LSB    _u(26)
2421 #define DMA_CH5_CTRL_TRIG_BUSY_ACCESS "RO"
2422 // -----------------------------------------------------------------------------
2423 // Field       : DMA_CH5_CTRL_TRIG_SNIFF_EN
2424 // Description : If 1, this channel's data transfers are visible to the sniff
2425 //               hardware, and each transfer will advance the state of the
2426 //               checksum. This only applies if the sniff hardware is enabled,
2427 //               and has this channel selected.
2428 //
2429 //               This allows checksum to be enabled or disabled on a per-
2430 //               control- block basis.
2431 #define DMA_CH5_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
2432 #define DMA_CH5_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
2433 #define DMA_CH5_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
2434 #define DMA_CH5_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
2435 #define DMA_CH5_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
2436 // -----------------------------------------------------------------------------
2437 // Field       : DMA_CH5_CTRL_TRIG_BSWAP
2438 // Description : Apply byte-swap transformation to DMA data.
2439 //               For byte data, this has no effect. For halfword data, the two
2440 //               bytes of each halfword are swapped. For word data, the four
2441 //               bytes of each word are swapped to reverse order.
2442 #define DMA_CH5_CTRL_TRIG_BSWAP_RESET  _u(0x0)
2443 #define DMA_CH5_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
2444 #define DMA_CH5_CTRL_TRIG_BSWAP_MSB    _u(24)
2445 #define DMA_CH5_CTRL_TRIG_BSWAP_LSB    _u(24)
2446 #define DMA_CH5_CTRL_TRIG_BSWAP_ACCESS "RW"
2447 // -----------------------------------------------------------------------------
2448 // Field       : DMA_CH5_CTRL_TRIG_IRQ_QUIET
2449 // Description : In QUIET mode, the channel does not generate IRQs at the end of
2450 //               every transfer block. Instead, an IRQ is raised when NULL is
2451 //               written to a trigger register, indicating the end of a control
2452 //               block chain.
2453 //
2454 //               This reduces the number of interrupts to be serviced by the CPU
2455 //               when transferring a DMA chain of many small control blocks.
2456 #define DMA_CH5_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
2457 #define DMA_CH5_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
2458 #define DMA_CH5_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
2459 #define DMA_CH5_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
2460 #define DMA_CH5_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
2461 // -----------------------------------------------------------------------------
2462 // Field       : DMA_CH5_CTRL_TRIG_TREQ_SEL
2463 // Description : Select a Transfer Request signal.
2464 //               The channel uses the transfer request signal to pace its data
2465 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
2466 //               or external (DREQ, a Data Request from the system).
2467 //               0x0 to 0x3a -> select DREQ n as TREQ
2468 //               0x3b -> Select Timer 0 as TREQ
2469 //               0x3c -> Select Timer 1 as TREQ
2470 //               0x3d -> Select Timer 2 as TREQ (Optional)
2471 //               0x3e -> Select Timer 3 as TREQ (Optional)
2472 //               0x3f -> Permanent request, for unpaced transfers.
2473 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
2474 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
2475 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
2476 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
2477 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
2478 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
2479 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
2480 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
2481 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
2482 #define DMA_CH5_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
2483 // -----------------------------------------------------------------------------
2484 // Field       : DMA_CH5_CTRL_TRIG_CHAIN_TO
2485 // Description : When this channel completes, it will trigger the channel
2486 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
2487 //               channel)_.
2488 //
2489 //               Note this field resets to 0, so channels 1 and above will chain
2490 //               to channel 0 by default. Set this field to avoid this
2491 //               behaviour.
2492 #define DMA_CH5_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
2493 #define DMA_CH5_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
2494 #define DMA_CH5_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
2495 #define DMA_CH5_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
2496 #define DMA_CH5_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
2497 // -----------------------------------------------------------------------------
2498 // Field       : DMA_CH5_CTRL_TRIG_RING_SEL
2499 // Description : Select whether RING_SIZE applies to read or write addresses.
2500 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
2501 //               boundary. If 1, write addresses are wrapped.
2502 #define DMA_CH5_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
2503 #define DMA_CH5_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
2504 #define DMA_CH5_CTRL_TRIG_RING_SEL_MSB    _u(12)
2505 #define DMA_CH5_CTRL_TRIG_RING_SEL_LSB    _u(12)
2506 #define DMA_CH5_CTRL_TRIG_RING_SEL_ACCESS "RW"
2507 // -----------------------------------------------------------------------------
2508 // Field       : DMA_CH5_CTRL_TRIG_RING_SIZE
2509 // Description : Size of address wrap region. If 0, don't wrap. For values n >
2510 //               0, only the lower n bits of the address will change. This wraps
2511 //               the address on a (1 << n) byte boundary, facilitating access to
2512 //               naturally-aligned ring buffers.
2513 //
2514 //               Ring sizes between 2 and 32768 bytes are possible. This can
2515 //               apply to either read or write addresses, based on value of
2516 //               RING_SEL.
2517 //               0x0 -> RING_NONE
2518 #define DMA_CH5_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
2519 #define DMA_CH5_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
2520 #define DMA_CH5_CTRL_TRIG_RING_SIZE_MSB    _u(11)
2521 #define DMA_CH5_CTRL_TRIG_RING_SIZE_LSB    _u(8)
2522 #define DMA_CH5_CTRL_TRIG_RING_SIZE_ACCESS "RW"
2523 #define DMA_CH5_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
2524 // -----------------------------------------------------------------------------
2525 // Field       : DMA_CH5_CTRL_TRIG_INCR_WRITE_REV
2526 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
2527 //               rather than incremented with each transfer.
2528 //
2529 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
2530 //               causes the write address to be incremented by twice the
2531 //               transfer size, i.e. skipping over alternate addresses.
2532 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
2533 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
2534 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
2535 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
2536 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
2537 // -----------------------------------------------------------------------------
2538 // Field       : DMA_CH5_CTRL_TRIG_INCR_WRITE
2539 // Description : If 1, the write address increments with each transfer. If 0,
2540 //               each write is directed to the same, initial address.
2541 //
2542 //               Generally this should be disabled for memory-to-peripheral
2543 //               transfers.
2544 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
2545 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
2546 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
2547 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
2548 #define DMA_CH5_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
2549 // -----------------------------------------------------------------------------
2550 // Field       : DMA_CH5_CTRL_TRIG_INCR_READ_REV
2551 // Description : If 1, and INCR_READ is 1, the read address is decremented
2552 //               rather than incremented with each transfer.
2553 //
2554 //               If 1, and INCR_READ is 0, this otherwise-unused combination
2555 //               causes the read address to be incremented by twice the transfer
2556 //               size, i.e. skipping over alternate addresses.
2557 #define DMA_CH5_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
2558 #define DMA_CH5_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
2559 #define DMA_CH5_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
2560 #define DMA_CH5_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
2561 #define DMA_CH5_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
2562 // -----------------------------------------------------------------------------
2563 // Field       : DMA_CH5_CTRL_TRIG_INCR_READ
2564 // Description : If 1, the read address increments with each transfer. If 0,
2565 //               each read is directed to the same, initial address.
2566 //
2567 //               Generally this should be disabled for peripheral-to-memory
2568 //               transfers.
2569 #define DMA_CH5_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
2570 #define DMA_CH5_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
2571 #define DMA_CH5_CTRL_TRIG_INCR_READ_MSB    _u(4)
2572 #define DMA_CH5_CTRL_TRIG_INCR_READ_LSB    _u(4)
2573 #define DMA_CH5_CTRL_TRIG_INCR_READ_ACCESS "RW"
2574 // -----------------------------------------------------------------------------
2575 // Field       : DMA_CH5_CTRL_TRIG_DATA_SIZE
2576 // Description : Set the size of each bus transfer (byte/halfword/word).
2577 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
2578 //               with each transfer.
2579 //               0x0 -> SIZE_BYTE
2580 //               0x1 -> SIZE_HALFWORD
2581 //               0x2 -> SIZE_WORD
2582 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
2583 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
2584 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
2585 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
2586 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
2587 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
2588 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
2589 #define DMA_CH5_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
2590 // -----------------------------------------------------------------------------
2591 // Field       : DMA_CH5_CTRL_TRIG_HIGH_PRIORITY
2592 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
2593 //               scheduling: in each scheduling round, all high priority
2594 //               channels are considered first, and then only a single low
2595 //               priority channel, before returning to the high priority
2596 //               channels.
2597 //
2598 //               This only affects the order in which the DMA schedules
2599 //               channels. The DMA's bus priority is not changed. If the DMA is
2600 //               not saturated then a low priority channel will see no loss of
2601 //               throughput.
2602 #define DMA_CH5_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
2603 #define DMA_CH5_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
2604 #define DMA_CH5_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
2605 #define DMA_CH5_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
2606 #define DMA_CH5_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
2607 // -----------------------------------------------------------------------------
2608 // Field       : DMA_CH5_CTRL_TRIG_EN
2609 // Description : DMA Channel Enable.
2610 //               When 1, the channel will respond to triggering events, which
2611 //               will cause it to become BUSY and start transferring data. When
2612 //               0, the channel will ignore triggers, stop issuing transfers,
2613 //               and pause the current transfer sequence (i.e. BUSY will remain
2614 //               high if already high)
2615 #define DMA_CH5_CTRL_TRIG_EN_RESET  _u(0x0)
2616 #define DMA_CH5_CTRL_TRIG_EN_BITS   _u(0x00000001)
2617 #define DMA_CH5_CTRL_TRIG_EN_MSB    _u(0)
2618 #define DMA_CH5_CTRL_TRIG_EN_LSB    _u(0)
2619 #define DMA_CH5_CTRL_TRIG_EN_ACCESS "RW"
2620 // =============================================================================
2621 // Register    : DMA_CH5_AL1_CTRL
2622 // Description : Alias for channel 5 CTRL register
2623 #define DMA_CH5_AL1_CTRL_OFFSET _u(0x00000150)
2624 #define DMA_CH5_AL1_CTRL_BITS   _u(0xffffffff)
2625 #define DMA_CH5_AL1_CTRL_RESET  "-"
2626 #define DMA_CH5_AL1_CTRL_MSB    _u(31)
2627 #define DMA_CH5_AL1_CTRL_LSB    _u(0)
2628 #define DMA_CH5_AL1_CTRL_ACCESS "RW"
2629 // =============================================================================
2630 // Register    : DMA_CH5_AL1_READ_ADDR
2631 // Description : Alias for channel 5 READ_ADDR register
2632 #define DMA_CH5_AL1_READ_ADDR_OFFSET _u(0x00000154)
2633 #define DMA_CH5_AL1_READ_ADDR_BITS   _u(0xffffffff)
2634 #define DMA_CH5_AL1_READ_ADDR_RESET  "-"
2635 #define DMA_CH5_AL1_READ_ADDR_MSB    _u(31)
2636 #define DMA_CH5_AL1_READ_ADDR_LSB    _u(0)
2637 #define DMA_CH5_AL1_READ_ADDR_ACCESS "RW"
2638 // =============================================================================
2639 // Register    : DMA_CH5_AL1_WRITE_ADDR
2640 // Description : Alias for channel 5 WRITE_ADDR register
2641 #define DMA_CH5_AL1_WRITE_ADDR_OFFSET _u(0x00000158)
2642 #define DMA_CH5_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
2643 #define DMA_CH5_AL1_WRITE_ADDR_RESET  "-"
2644 #define DMA_CH5_AL1_WRITE_ADDR_MSB    _u(31)
2645 #define DMA_CH5_AL1_WRITE_ADDR_LSB    _u(0)
2646 #define DMA_CH5_AL1_WRITE_ADDR_ACCESS "RW"
2647 // =============================================================================
2648 // Register    : DMA_CH5_AL1_TRANS_COUNT_TRIG
2649 // Description : Alias for channel 5 TRANS_COUNT register
2650 //               This is a trigger register (0xc). Writing a nonzero value will
2651 //               reload the channel counter and start the channel.
2652 #define DMA_CH5_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000015c)
2653 #define DMA_CH5_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
2654 #define DMA_CH5_AL1_TRANS_COUNT_TRIG_RESET  "-"
2655 #define DMA_CH5_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
2656 #define DMA_CH5_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
2657 #define DMA_CH5_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
2658 // =============================================================================
2659 // Register    : DMA_CH5_AL2_CTRL
2660 // Description : Alias for channel 5 CTRL register
2661 #define DMA_CH5_AL2_CTRL_OFFSET _u(0x00000160)
2662 #define DMA_CH5_AL2_CTRL_BITS   _u(0xffffffff)
2663 #define DMA_CH5_AL2_CTRL_RESET  "-"
2664 #define DMA_CH5_AL2_CTRL_MSB    _u(31)
2665 #define DMA_CH5_AL2_CTRL_LSB    _u(0)
2666 #define DMA_CH5_AL2_CTRL_ACCESS "RW"
2667 // =============================================================================
2668 // Register    : DMA_CH5_AL2_TRANS_COUNT
2669 // Description : Alias for channel 5 TRANS_COUNT register
2670 #define DMA_CH5_AL2_TRANS_COUNT_OFFSET _u(0x00000164)
2671 #define DMA_CH5_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
2672 #define DMA_CH5_AL2_TRANS_COUNT_RESET  "-"
2673 #define DMA_CH5_AL2_TRANS_COUNT_MSB    _u(31)
2674 #define DMA_CH5_AL2_TRANS_COUNT_LSB    _u(0)
2675 #define DMA_CH5_AL2_TRANS_COUNT_ACCESS "RW"
2676 // =============================================================================
2677 // Register    : DMA_CH5_AL2_READ_ADDR
2678 // Description : Alias for channel 5 READ_ADDR register
2679 #define DMA_CH5_AL2_READ_ADDR_OFFSET _u(0x00000168)
2680 #define DMA_CH5_AL2_READ_ADDR_BITS   _u(0xffffffff)
2681 #define DMA_CH5_AL2_READ_ADDR_RESET  "-"
2682 #define DMA_CH5_AL2_READ_ADDR_MSB    _u(31)
2683 #define DMA_CH5_AL2_READ_ADDR_LSB    _u(0)
2684 #define DMA_CH5_AL2_READ_ADDR_ACCESS "RW"
2685 // =============================================================================
2686 // Register    : DMA_CH5_AL2_WRITE_ADDR_TRIG
2687 // Description : Alias for channel 5 WRITE_ADDR register
2688 //               This is a trigger register (0xc). Writing a nonzero value will
2689 //               reload the channel counter and start the channel.
2690 #define DMA_CH5_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000016c)
2691 #define DMA_CH5_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
2692 #define DMA_CH5_AL2_WRITE_ADDR_TRIG_RESET  "-"
2693 #define DMA_CH5_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
2694 #define DMA_CH5_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
2695 #define DMA_CH5_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
2696 // =============================================================================
2697 // Register    : DMA_CH5_AL3_CTRL
2698 // Description : Alias for channel 5 CTRL register
2699 #define DMA_CH5_AL3_CTRL_OFFSET _u(0x00000170)
2700 #define DMA_CH5_AL3_CTRL_BITS   _u(0xffffffff)
2701 #define DMA_CH5_AL3_CTRL_RESET  "-"
2702 #define DMA_CH5_AL3_CTRL_MSB    _u(31)
2703 #define DMA_CH5_AL3_CTRL_LSB    _u(0)
2704 #define DMA_CH5_AL3_CTRL_ACCESS "RW"
2705 // =============================================================================
2706 // Register    : DMA_CH5_AL3_WRITE_ADDR
2707 // Description : Alias for channel 5 WRITE_ADDR register
2708 #define DMA_CH5_AL3_WRITE_ADDR_OFFSET _u(0x00000174)
2709 #define DMA_CH5_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
2710 #define DMA_CH5_AL3_WRITE_ADDR_RESET  "-"
2711 #define DMA_CH5_AL3_WRITE_ADDR_MSB    _u(31)
2712 #define DMA_CH5_AL3_WRITE_ADDR_LSB    _u(0)
2713 #define DMA_CH5_AL3_WRITE_ADDR_ACCESS "RW"
2714 // =============================================================================
2715 // Register    : DMA_CH5_AL3_TRANS_COUNT
2716 // Description : Alias for channel 5 TRANS_COUNT register
2717 #define DMA_CH5_AL3_TRANS_COUNT_OFFSET _u(0x00000178)
2718 #define DMA_CH5_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
2719 #define DMA_CH5_AL3_TRANS_COUNT_RESET  "-"
2720 #define DMA_CH5_AL3_TRANS_COUNT_MSB    _u(31)
2721 #define DMA_CH5_AL3_TRANS_COUNT_LSB    _u(0)
2722 #define DMA_CH5_AL3_TRANS_COUNT_ACCESS "RW"
2723 // =============================================================================
2724 // Register    : DMA_CH5_AL3_READ_ADDR_TRIG
2725 // Description : Alias for channel 5 READ_ADDR register
2726 //               This is a trigger register (0xc). Writing a nonzero value will
2727 //               reload the channel counter and start the channel.
2728 #define DMA_CH5_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000017c)
2729 #define DMA_CH5_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
2730 #define DMA_CH5_AL3_READ_ADDR_TRIG_RESET  "-"
2731 #define DMA_CH5_AL3_READ_ADDR_TRIG_MSB    _u(31)
2732 #define DMA_CH5_AL3_READ_ADDR_TRIG_LSB    _u(0)
2733 #define DMA_CH5_AL3_READ_ADDR_TRIG_ACCESS "RW"
2734 // =============================================================================
2735 // Register    : DMA_CH6_READ_ADDR
2736 // Description : DMA Channel 6 Read Address pointer
2737 //               This register updates automatically each time a read completes.
2738 //               The current value is the next address to be read by this
2739 //               channel.
2740 #define DMA_CH6_READ_ADDR_OFFSET _u(0x00000180)
2741 #define DMA_CH6_READ_ADDR_BITS   _u(0xffffffff)
2742 #define DMA_CH6_READ_ADDR_RESET  _u(0x00000000)
2743 #define DMA_CH6_READ_ADDR_MSB    _u(31)
2744 #define DMA_CH6_READ_ADDR_LSB    _u(0)
2745 #define DMA_CH6_READ_ADDR_ACCESS "RW"
2746 // =============================================================================
2747 // Register    : DMA_CH6_WRITE_ADDR
2748 // Description : DMA Channel 6 Write Address pointer
2749 //               This register updates automatically each time a write
2750 //               completes. The current value is the next address to be written
2751 //               by this channel.
2752 #define DMA_CH6_WRITE_ADDR_OFFSET _u(0x00000184)
2753 #define DMA_CH6_WRITE_ADDR_BITS   _u(0xffffffff)
2754 #define DMA_CH6_WRITE_ADDR_RESET  _u(0x00000000)
2755 #define DMA_CH6_WRITE_ADDR_MSB    _u(31)
2756 #define DMA_CH6_WRITE_ADDR_LSB    _u(0)
2757 #define DMA_CH6_WRITE_ADDR_ACCESS "RW"
2758 // =============================================================================
2759 // Register    : DMA_CH6_TRANS_COUNT
2760 // Description : DMA Channel 6 Transfer Count
2761 #define DMA_CH6_TRANS_COUNT_OFFSET _u(0x00000188)
2762 #define DMA_CH6_TRANS_COUNT_BITS   _u(0xffffffff)
2763 #define DMA_CH6_TRANS_COUNT_RESET  _u(0x00000000)
2764 // -----------------------------------------------------------------------------
2765 // Field       : DMA_CH6_TRANS_COUNT_MODE
2766 // Description : When MODE is 0x0, the transfer count decrements with each
2767 //               transfer until 0, and then the channel triggers the next
2768 //               channel indicated by CTRL_CHAIN_TO.
2769 //
2770 //               When MODE is 0x1, the transfer count decrements with each
2771 //               transfer until 0, and then the channel re-triggers itself, in
2772 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
2773 //               useful for e.g. an endless ring-buffer DMA with periodic
2774 //               interrupts.
2775 //
2776 //               When MODE is 0xf, the transfer count does not decrement. The
2777 //               DMA channel performs an endless sequence of transfers, never
2778 //               triggering other channels or raising interrupts, until an ABORT
2779 //               is raised.
2780 //
2781 //               All other values are reserved.
2782 //               0x0 -> NORMAL
2783 //               0x1 -> TRIGGER_SELF
2784 //               0xf -> ENDLESS
2785 #define DMA_CH6_TRANS_COUNT_MODE_RESET  _u(0x0)
2786 #define DMA_CH6_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
2787 #define DMA_CH6_TRANS_COUNT_MODE_MSB    _u(31)
2788 #define DMA_CH6_TRANS_COUNT_MODE_LSB    _u(28)
2789 #define DMA_CH6_TRANS_COUNT_MODE_ACCESS "RW"
2790 #define DMA_CH6_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
2791 #define DMA_CH6_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
2792 #define DMA_CH6_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
2793 // -----------------------------------------------------------------------------
2794 // Field       : DMA_CH6_TRANS_COUNT_COUNT
2795 // Description : 28-bit transfer count (256 million transfers maximum).
2796 //
2797 //               Program the number of bus transfers a channel will perform
2798 //               before halting. Note that, if transfers are larger than one
2799 //               byte in size, this is not equal to the number of bytes
2800 //               transferred (see CTRL_DATA_SIZE).
2801 //
2802 //               When the channel is active, reading this register shows the
2803 //               number of transfers remaining, updating automatically each time
2804 //               a write transfer completes.
2805 //
2806 //               Writing this register sets the RELOAD value for the transfer
2807 //               counter. Each time this channel is triggered, the RELOAD value
2808 //               is copied into the live transfer counter. The channel can be
2809 //               started multiple times, and will perform the same number of
2810 //               transfers each time, as programmed by most recent write.
2811 //
2812 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
2813 //               is used as a trigger, the written value is used immediately as
2814 //               the length of the new transfer sequence, as well as being
2815 //               written to RELOAD.
2816 #define DMA_CH6_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
2817 #define DMA_CH6_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
2818 #define DMA_CH6_TRANS_COUNT_COUNT_MSB    _u(27)
2819 #define DMA_CH6_TRANS_COUNT_COUNT_LSB    _u(0)
2820 #define DMA_CH6_TRANS_COUNT_COUNT_ACCESS "RW"
2821 // =============================================================================
2822 // Register    : DMA_CH6_CTRL_TRIG
2823 // Description : DMA Channel 6 Control and Status
2824 #define DMA_CH6_CTRL_TRIG_OFFSET _u(0x0000018c)
2825 #define DMA_CH6_CTRL_TRIG_BITS   _u(0xe7ffffff)
2826 #define DMA_CH6_CTRL_TRIG_RESET  _u(0x00000000)
2827 // -----------------------------------------------------------------------------
2828 // Field       : DMA_CH6_CTRL_TRIG_AHB_ERROR
2829 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
2830 //               halts when it encounters any bus error, and always raises its
2831 //               channel IRQ flag.
2832 #define DMA_CH6_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
2833 #define DMA_CH6_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
2834 #define DMA_CH6_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
2835 #define DMA_CH6_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
2836 #define DMA_CH6_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
2837 // -----------------------------------------------------------------------------
2838 // Field       : DMA_CH6_CTRL_TRIG_READ_ERROR
2839 // Description : If 1, the channel received a read bus error. Write one to
2840 //               clear.
2841 //               READ_ADDR shows the approximate address where the bus error was
2842 //               encountered (will not be earlier, or more than 3 transfers
2843 //               later)
2844 #define DMA_CH6_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
2845 #define DMA_CH6_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
2846 #define DMA_CH6_CTRL_TRIG_READ_ERROR_MSB    _u(30)
2847 #define DMA_CH6_CTRL_TRIG_READ_ERROR_LSB    _u(30)
2848 #define DMA_CH6_CTRL_TRIG_READ_ERROR_ACCESS "WC"
2849 // -----------------------------------------------------------------------------
2850 // Field       : DMA_CH6_CTRL_TRIG_WRITE_ERROR
2851 // Description : If 1, the channel received a write bus error. Write one to
2852 //               clear.
2853 //               WRITE_ADDR shows the approximate address where the bus error
2854 //               was encountered (will not be earlier, or more than 5 transfers
2855 //               later)
2856 #define DMA_CH6_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
2857 #define DMA_CH6_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
2858 #define DMA_CH6_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
2859 #define DMA_CH6_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
2860 #define DMA_CH6_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
2861 // -----------------------------------------------------------------------------
2862 // Field       : DMA_CH6_CTRL_TRIG_BUSY
2863 // Description : This flag goes high when the channel starts a new transfer
2864 //               sequence, and low when the last transfer of that sequence
2865 //               completes. Clearing EN while BUSY is high pauses the channel,
2866 //               and BUSY will stay high while paused.
2867 //
2868 //               To terminate a sequence early (and clear the BUSY flag), see
2869 //               CHAN_ABORT.
2870 #define DMA_CH6_CTRL_TRIG_BUSY_RESET  _u(0x0)
2871 #define DMA_CH6_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
2872 #define DMA_CH6_CTRL_TRIG_BUSY_MSB    _u(26)
2873 #define DMA_CH6_CTRL_TRIG_BUSY_LSB    _u(26)
2874 #define DMA_CH6_CTRL_TRIG_BUSY_ACCESS "RO"
2875 // -----------------------------------------------------------------------------
2876 // Field       : DMA_CH6_CTRL_TRIG_SNIFF_EN
2877 // Description : If 1, this channel's data transfers are visible to the sniff
2878 //               hardware, and each transfer will advance the state of the
2879 //               checksum. This only applies if the sniff hardware is enabled,
2880 //               and has this channel selected.
2881 //
2882 //               This allows checksum to be enabled or disabled on a per-
2883 //               control- block basis.
2884 #define DMA_CH6_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
2885 #define DMA_CH6_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
2886 #define DMA_CH6_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
2887 #define DMA_CH6_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
2888 #define DMA_CH6_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
2889 // -----------------------------------------------------------------------------
2890 // Field       : DMA_CH6_CTRL_TRIG_BSWAP
2891 // Description : Apply byte-swap transformation to DMA data.
2892 //               For byte data, this has no effect. For halfword data, the two
2893 //               bytes of each halfword are swapped. For word data, the four
2894 //               bytes of each word are swapped to reverse order.
2895 #define DMA_CH6_CTRL_TRIG_BSWAP_RESET  _u(0x0)
2896 #define DMA_CH6_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
2897 #define DMA_CH6_CTRL_TRIG_BSWAP_MSB    _u(24)
2898 #define DMA_CH6_CTRL_TRIG_BSWAP_LSB    _u(24)
2899 #define DMA_CH6_CTRL_TRIG_BSWAP_ACCESS "RW"
2900 // -----------------------------------------------------------------------------
2901 // Field       : DMA_CH6_CTRL_TRIG_IRQ_QUIET
2902 // Description : In QUIET mode, the channel does not generate IRQs at the end of
2903 //               every transfer block. Instead, an IRQ is raised when NULL is
2904 //               written to a trigger register, indicating the end of a control
2905 //               block chain.
2906 //
2907 //               This reduces the number of interrupts to be serviced by the CPU
2908 //               when transferring a DMA chain of many small control blocks.
2909 #define DMA_CH6_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
2910 #define DMA_CH6_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
2911 #define DMA_CH6_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
2912 #define DMA_CH6_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
2913 #define DMA_CH6_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
2914 // -----------------------------------------------------------------------------
2915 // Field       : DMA_CH6_CTRL_TRIG_TREQ_SEL
2916 // Description : Select a Transfer Request signal.
2917 //               The channel uses the transfer request signal to pace its data
2918 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
2919 //               or external (DREQ, a Data Request from the system).
2920 //               0x0 to 0x3a -> select DREQ n as TREQ
2921 //               0x3b -> Select Timer 0 as TREQ
2922 //               0x3c -> Select Timer 1 as TREQ
2923 //               0x3d -> Select Timer 2 as TREQ (Optional)
2924 //               0x3e -> Select Timer 3 as TREQ (Optional)
2925 //               0x3f -> Permanent request, for unpaced transfers.
2926 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
2927 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
2928 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
2929 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
2930 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
2931 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
2932 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
2933 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
2934 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
2935 #define DMA_CH6_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
2936 // -----------------------------------------------------------------------------
2937 // Field       : DMA_CH6_CTRL_TRIG_CHAIN_TO
2938 // Description : When this channel completes, it will trigger the channel
2939 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
2940 //               channel)_.
2941 //
2942 //               Note this field resets to 0, so channels 1 and above will chain
2943 //               to channel 0 by default. Set this field to avoid this
2944 //               behaviour.
2945 #define DMA_CH6_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
2946 #define DMA_CH6_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
2947 #define DMA_CH6_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
2948 #define DMA_CH6_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
2949 #define DMA_CH6_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
2950 // -----------------------------------------------------------------------------
2951 // Field       : DMA_CH6_CTRL_TRIG_RING_SEL
2952 // Description : Select whether RING_SIZE applies to read or write addresses.
2953 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
2954 //               boundary. If 1, write addresses are wrapped.
2955 #define DMA_CH6_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
2956 #define DMA_CH6_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
2957 #define DMA_CH6_CTRL_TRIG_RING_SEL_MSB    _u(12)
2958 #define DMA_CH6_CTRL_TRIG_RING_SEL_LSB    _u(12)
2959 #define DMA_CH6_CTRL_TRIG_RING_SEL_ACCESS "RW"
2960 // -----------------------------------------------------------------------------
2961 // Field       : DMA_CH6_CTRL_TRIG_RING_SIZE
2962 // Description : Size of address wrap region. If 0, don't wrap. For values n >
2963 //               0, only the lower n bits of the address will change. This wraps
2964 //               the address on a (1 << n) byte boundary, facilitating access to
2965 //               naturally-aligned ring buffers.
2966 //
2967 //               Ring sizes between 2 and 32768 bytes are possible. This can
2968 //               apply to either read or write addresses, based on value of
2969 //               RING_SEL.
2970 //               0x0 -> RING_NONE
2971 #define DMA_CH6_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
2972 #define DMA_CH6_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
2973 #define DMA_CH6_CTRL_TRIG_RING_SIZE_MSB    _u(11)
2974 #define DMA_CH6_CTRL_TRIG_RING_SIZE_LSB    _u(8)
2975 #define DMA_CH6_CTRL_TRIG_RING_SIZE_ACCESS "RW"
2976 #define DMA_CH6_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
2977 // -----------------------------------------------------------------------------
2978 // Field       : DMA_CH6_CTRL_TRIG_INCR_WRITE_REV
2979 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
2980 //               rather than incremented with each transfer.
2981 //
2982 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
2983 //               causes the write address to be incremented by twice the
2984 //               transfer size, i.e. skipping over alternate addresses.
2985 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
2986 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
2987 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
2988 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
2989 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
2990 // -----------------------------------------------------------------------------
2991 // Field       : DMA_CH6_CTRL_TRIG_INCR_WRITE
2992 // Description : If 1, the write address increments with each transfer. If 0,
2993 //               each write is directed to the same, initial address.
2994 //
2995 //               Generally this should be disabled for memory-to-peripheral
2996 //               transfers.
2997 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
2998 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
2999 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
3000 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
3001 #define DMA_CH6_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
3002 // -----------------------------------------------------------------------------
3003 // Field       : DMA_CH6_CTRL_TRIG_INCR_READ_REV
3004 // Description : If 1, and INCR_READ is 1, the read address is decremented
3005 //               rather than incremented with each transfer.
3006 //
3007 //               If 1, and INCR_READ is 0, this otherwise-unused combination
3008 //               causes the read address to be incremented by twice the transfer
3009 //               size, i.e. skipping over alternate addresses.
3010 #define DMA_CH6_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
3011 #define DMA_CH6_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
3012 #define DMA_CH6_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
3013 #define DMA_CH6_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
3014 #define DMA_CH6_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
3015 // -----------------------------------------------------------------------------
3016 // Field       : DMA_CH6_CTRL_TRIG_INCR_READ
3017 // Description : If 1, the read address increments with each transfer. If 0,
3018 //               each read is directed to the same, initial address.
3019 //
3020 //               Generally this should be disabled for peripheral-to-memory
3021 //               transfers.
3022 #define DMA_CH6_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
3023 #define DMA_CH6_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
3024 #define DMA_CH6_CTRL_TRIG_INCR_READ_MSB    _u(4)
3025 #define DMA_CH6_CTRL_TRIG_INCR_READ_LSB    _u(4)
3026 #define DMA_CH6_CTRL_TRIG_INCR_READ_ACCESS "RW"
3027 // -----------------------------------------------------------------------------
3028 // Field       : DMA_CH6_CTRL_TRIG_DATA_SIZE
3029 // Description : Set the size of each bus transfer (byte/halfword/word).
3030 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
3031 //               with each transfer.
3032 //               0x0 -> SIZE_BYTE
3033 //               0x1 -> SIZE_HALFWORD
3034 //               0x2 -> SIZE_WORD
3035 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
3036 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
3037 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
3038 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
3039 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
3040 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
3041 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
3042 #define DMA_CH6_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
3043 // -----------------------------------------------------------------------------
3044 // Field       : DMA_CH6_CTRL_TRIG_HIGH_PRIORITY
3045 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
3046 //               scheduling: in each scheduling round, all high priority
3047 //               channels are considered first, and then only a single low
3048 //               priority channel, before returning to the high priority
3049 //               channels.
3050 //
3051 //               This only affects the order in which the DMA schedules
3052 //               channels. The DMA's bus priority is not changed. If the DMA is
3053 //               not saturated then a low priority channel will see no loss of
3054 //               throughput.
3055 #define DMA_CH6_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
3056 #define DMA_CH6_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
3057 #define DMA_CH6_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
3058 #define DMA_CH6_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
3059 #define DMA_CH6_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
3060 // -----------------------------------------------------------------------------
3061 // Field       : DMA_CH6_CTRL_TRIG_EN
3062 // Description : DMA Channel Enable.
3063 //               When 1, the channel will respond to triggering events, which
3064 //               will cause it to become BUSY and start transferring data. When
3065 //               0, the channel will ignore triggers, stop issuing transfers,
3066 //               and pause the current transfer sequence (i.e. BUSY will remain
3067 //               high if already high)
3068 #define DMA_CH6_CTRL_TRIG_EN_RESET  _u(0x0)
3069 #define DMA_CH6_CTRL_TRIG_EN_BITS   _u(0x00000001)
3070 #define DMA_CH6_CTRL_TRIG_EN_MSB    _u(0)
3071 #define DMA_CH6_CTRL_TRIG_EN_LSB    _u(0)
3072 #define DMA_CH6_CTRL_TRIG_EN_ACCESS "RW"
3073 // =============================================================================
3074 // Register    : DMA_CH6_AL1_CTRL
3075 // Description : Alias for channel 6 CTRL register
3076 #define DMA_CH6_AL1_CTRL_OFFSET _u(0x00000190)
3077 #define DMA_CH6_AL1_CTRL_BITS   _u(0xffffffff)
3078 #define DMA_CH6_AL1_CTRL_RESET  "-"
3079 #define DMA_CH6_AL1_CTRL_MSB    _u(31)
3080 #define DMA_CH6_AL1_CTRL_LSB    _u(0)
3081 #define DMA_CH6_AL1_CTRL_ACCESS "RW"
3082 // =============================================================================
3083 // Register    : DMA_CH6_AL1_READ_ADDR
3084 // Description : Alias for channel 6 READ_ADDR register
3085 #define DMA_CH6_AL1_READ_ADDR_OFFSET _u(0x00000194)
3086 #define DMA_CH6_AL1_READ_ADDR_BITS   _u(0xffffffff)
3087 #define DMA_CH6_AL1_READ_ADDR_RESET  "-"
3088 #define DMA_CH6_AL1_READ_ADDR_MSB    _u(31)
3089 #define DMA_CH6_AL1_READ_ADDR_LSB    _u(0)
3090 #define DMA_CH6_AL1_READ_ADDR_ACCESS "RW"
3091 // =============================================================================
3092 // Register    : DMA_CH6_AL1_WRITE_ADDR
3093 // Description : Alias for channel 6 WRITE_ADDR register
3094 #define DMA_CH6_AL1_WRITE_ADDR_OFFSET _u(0x00000198)
3095 #define DMA_CH6_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
3096 #define DMA_CH6_AL1_WRITE_ADDR_RESET  "-"
3097 #define DMA_CH6_AL1_WRITE_ADDR_MSB    _u(31)
3098 #define DMA_CH6_AL1_WRITE_ADDR_LSB    _u(0)
3099 #define DMA_CH6_AL1_WRITE_ADDR_ACCESS "RW"
3100 // =============================================================================
3101 // Register    : DMA_CH6_AL1_TRANS_COUNT_TRIG
3102 // Description : Alias for channel 6 TRANS_COUNT register
3103 //               This is a trigger register (0xc). Writing a nonzero value will
3104 //               reload the channel counter and start the channel.
3105 #define DMA_CH6_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000019c)
3106 #define DMA_CH6_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
3107 #define DMA_CH6_AL1_TRANS_COUNT_TRIG_RESET  "-"
3108 #define DMA_CH6_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
3109 #define DMA_CH6_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
3110 #define DMA_CH6_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
3111 // =============================================================================
3112 // Register    : DMA_CH6_AL2_CTRL
3113 // Description : Alias for channel 6 CTRL register
3114 #define DMA_CH6_AL2_CTRL_OFFSET _u(0x000001a0)
3115 #define DMA_CH6_AL2_CTRL_BITS   _u(0xffffffff)
3116 #define DMA_CH6_AL2_CTRL_RESET  "-"
3117 #define DMA_CH6_AL2_CTRL_MSB    _u(31)
3118 #define DMA_CH6_AL2_CTRL_LSB    _u(0)
3119 #define DMA_CH6_AL2_CTRL_ACCESS "RW"
3120 // =============================================================================
3121 // Register    : DMA_CH6_AL2_TRANS_COUNT
3122 // Description : Alias for channel 6 TRANS_COUNT register
3123 #define DMA_CH6_AL2_TRANS_COUNT_OFFSET _u(0x000001a4)
3124 #define DMA_CH6_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
3125 #define DMA_CH6_AL2_TRANS_COUNT_RESET  "-"
3126 #define DMA_CH6_AL2_TRANS_COUNT_MSB    _u(31)
3127 #define DMA_CH6_AL2_TRANS_COUNT_LSB    _u(0)
3128 #define DMA_CH6_AL2_TRANS_COUNT_ACCESS "RW"
3129 // =============================================================================
3130 // Register    : DMA_CH6_AL2_READ_ADDR
3131 // Description : Alias for channel 6 READ_ADDR register
3132 #define DMA_CH6_AL2_READ_ADDR_OFFSET _u(0x000001a8)
3133 #define DMA_CH6_AL2_READ_ADDR_BITS   _u(0xffffffff)
3134 #define DMA_CH6_AL2_READ_ADDR_RESET  "-"
3135 #define DMA_CH6_AL2_READ_ADDR_MSB    _u(31)
3136 #define DMA_CH6_AL2_READ_ADDR_LSB    _u(0)
3137 #define DMA_CH6_AL2_READ_ADDR_ACCESS "RW"
3138 // =============================================================================
3139 // Register    : DMA_CH6_AL2_WRITE_ADDR_TRIG
3140 // Description : Alias for channel 6 WRITE_ADDR register
3141 //               This is a trigger register (0xc). Writing a nonzero value will
3142 //               reload the channel counter and start the channel.
3143 #define DMA_CH6_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000001ac)
3144 #define DMA_CH6_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
3145 #define DMA_CH6_AL2_WRITE_ADDR_TRIG_RESET  "-"
3146 #define DMA_CH6_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
3147 #define DMA_CH6_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
3148 #define DMA_CH6_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
3149 // =============================================================================
3150 // Register    : DMA_CH6_AL3_CTRL
3151 // Description : Alias for channel 6 CTRL register
3152 #define DMA_CH6_AL3_CTRL_OFFSET _u(0x000001b0)
3153 #define DMA_CH6_AL3_CTRL_BITS   _u(0xffffffff)
3154 #define DMA_CH6_AL3_CTRL_RESET  "-"
3155 #define DMA_CH6_AL3_CTRL_MSB    _u(31)
3156 #define DMA_CH6_AL3_CTRL_LSB    _u(0)
3157 #define DMA_CH6_AL3_CTRL_ACCESS "RW"
3158 // =============================================================================
3159 // Register    : DMA_CH6_AL3_WRITE_ADDR
3160 // Description : Alias for channel 6 WRITE_ADDR register
3161 #define DMA_CH6_AL3_WRITE_ADDR_OFFSET _u(0x000001b4)
3162 #define DMA_CH6_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
3163 #define DMA_CH6_AL3_WRITE_ADDR_RESET  "-"
3164 #define DMA_CH6_AL3_WRITE_ADDR_MSB    _u(31)
3165 #define DMA_CH6_AL3_WRITE_ADDR_LSB    _u(0)
3166 #define DMA_CH6_AL3_WRITE_ADDR_ACCESS "RW"
3167 // =============================================================================
3168 // Register    : DMA_CH6_AL3_TRANS_COUNT
3169 // Description : Alias for channel 6 TRANS_COUNT register
3170 #define DMA_CH6_AL3_TRANS_COUNT_OFFSET _u(0x000001b8)
3171 #define DMA_CH6_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
3172 #define DMA_CH6_AL3_TRANS_COUNT_RESET  "-"
3173 #define DMA_CH6_AL3_TRANS_COUNT_MSB    _u(31)
3174 #define DMA_CH6_AL3_TRANS_COUNT_LSB    _u(0)
3175 #define DMA_CH6_AL3_TRANS_COUNT_ACCESS "RW"
3176 // =============================================================================
3177 // Register    : DMA_CH6_AL3_READ_ADDR_TRIG
3178 // Description : Alias for channel 6 READ_ADDR register
3179 //               This is a trigger register (0xc). Writing a nonzero value will
3180 //               reload the channel counter and start the channel.
3181 #define DMA_CH6_AL3_READ_ADDR_TRIG_OFFSET _u(0x000001bc)
3182 #define DMA_CH6_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
3183 #define DMA_CH6_AL3_READ_ADDR_TRIG_RESET  "-"
3184 #define DMA_CH6_AL3_READ_ADDR_TRIG_MSB    _u(31)
3185 #define DMA_CH6_AL3_READ_ADDR_TRIG_LSB    _u(0)
3186 #define DMA_CH6_AL3_READ_ADDR_TRIG_ACCESS "RW"
3187 // =============================================================================
3188 // Register    : DMA_CH7_READ_ADDR
3189 // Description : DMA Channel 7 Read Address pointer
3190 //               This register updates automatically each time a read completes.
3191 //               The current value is the next address to be read by this
3192 //               channel.
3193 #define DMA_CH7_READ_ADDR_OFFSET _u(0x000001c0)
3194 #define DMA_CH7_READ_ADDR_BITS   _u(0xffffffff)
3195 #define DMA_CH7_READ_ADDR_RESET  _u(0x00000000)
3196 #define DMA_CH7_READ_ADDR_MSB    _u(31)
3197 #define DMA_CH7_READ_ADDR_LSB    _u(0)
3198 #define DMA_CH7_READ_ADDR_ACCESS "RW"
3199 // =============================================================================
3200 // Register    : DMA_CH7_WRITE_ADDR
3201 // Description : DMA Channel 7 Write Address pointer
3202 //               This register updates automatically each time a write
3203 //               completes. The current value is the next address to be written
3204 //               by this channel.
3205 #define DMA_CH7_WRITE_ADDR_OFFSET _u(0x000001c4)
3206 #define DMA_CH7_WRITE_ADDR_BITS   _u(0xffffffff)
3207 #define DMA_CH7_WRITE_ADDR_RESET  _u(0x00000000)
3208 #define DMA_CH7_WRITE_ADDR_MSB    _u(31)
3209 #define DMA_CH7_WRITE_ADDR_LSB    _u(0)
3210 #define DMA_CH7_WRITE_ADDR_ACCESS "RW"
3211 // =============================================================================
3212 // Register    : DMA_CH7_TRANS_COUNT
3213 // Description : DMA Channel 7 Transfer Count
3214 #define DMA_CH7_TRANS_COUNT_OFFSET _u(0x000001c8)
3215 #define DMA_CH7_TRANS_COUNT_BITS   _u(0xffffffff)
3216 #define DMA_CH7_TRANS_COUNT_RESET  _u(0x00000000)
3217 // -----------------------------------------------------------------------------
3218 // Field       : DMA_CH7_TRANS_COUNT_MODE
3219 // Description : When MODE is 0x0, the transfer count decrements with each
3220 //               transfer until 0, and then the channel triggers the next
3221 //               channel indicated by CTRL_CHAIN_TO.
3222 //
3223 //               When MODE is 0x1, the transfer count decrements with each
3224 //               transfer until 0, and then the channel re-triggers itself, in
3225 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
3226 //               useful for e.g. an endless ring-buffer DMA with periodic
3227 //               interrupts.
3228 //
3229 //               When MODE is 0xf, the transfer count does not decrement. The
3230 //               DMA channel performs an endless sequence of transfers, never
3231 //               triggering other channels or raising interrupts, until an ABORT
3232 //               is raised.
3233 //
3234 //               All other values are reserved.
3235 //               0x0 -> NORMAL
3236 //               0x1 -> TRIGGER_SELF
3237 //               0xf -> ENDLESS
3238 #define DMA_CH7_TRANS_COUNT_MODE_RESET  _u(0x0)
3239 #define DMA_CH7_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
3240 #define DMA_CH7_TRANS_COUNT_MODE_MSB    _u(31)
3241 #define DMA_CH7_TRANS_COUNT_MODE_LSB    _u(28)
3242 #define DMA_CH7_TRANS_COUNT_MODE_ACCESS "RW"
3243 #define DMA_CH7_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
3244 #define DMA_CH7_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
3245 #define DMA_CH7_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
3246 // -----------------------------------------------------------------------------
3247 // Field       : DMA_CH7_TRANS_COUNT_COUNT
3248 // Description : 28-bit transfer count (256 million transfers maximum).
3249 //
3250 //               Program the number of bus transfers a channel will perform
3251 //               before halting. Note that, if transfers are larger than one
3252 //               byte in size, this is not equal to the number of bytes
3253 //               transferred (see CTRL_DATA_SIZE).
3254 //
3255 //               When the channel is active, reading this register shows the
3256 //               number of transfers remaining, updating automatically each time
3257 //               a write transfer completes.
3258 //
3259 //               Writing this register sets the RELOAD value for the transfer
3260 //               counter. Each time this channel is triggered, the RELOAD value
3261 //               is copied into the live transfer counter. The channel can be
3262 //               started multiple times, and will perform the same number of
3263 //               transfers each time, as programmed by most recent write.
3264 //
3265 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
3266 //               is used as a trigger, the written value is used immediately as
3267 //               the length of the new transfer sequence, as well as being
3268 //               written to RELOAD.
3269 #define DMA_CH7_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
3270 #define DMA_CH7_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
3271 #define DMA_CH7_TRANS_COUNT_COUNT_MSB    _u(27)
3272 #define DMA_CH7_TRANS_COUNT_COUNT_LSB    _u(0)
3273 #define DMA_CH7_TRANS_COUNT_COUNT_ACCESS "RW"
3274 // =============================================================================
3275 // Register    : DMA_CH7_CTRL_TRIG
3276 // Description : DMA Channel 7 Control and Status
3277 #define DMA_CH7_CTRL_TRIG_OFFSET _u(0x000001cc)
3278 #define DMA_CH7_CTRL_TRIG_BITS   _u(0xe7ffffff)
3279 #define DMA_CH7_CTRL_TRIG_RESET  _u(0x00000000)
3280 // -----------------------------------------------------------------------------
3281 // Field       : DMA_CH7_CTRL_TRIG_AHB_ERROR
3282 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
3283 //               halts when it encounters any bus error, and always raises its
3284 //               channel IRQ flag.
3285 #define DMA_CH7_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
3286 #define DMA_CH7_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
3287 #define DMA_CH7_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
3288 #define DMA_CH7_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
3289 #define DMA_CH7_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
3290 // -----------------------------------------------------------------------------
3291 // Field       : DMA_CH7_CTRL_TRIG_READ_ERROR
3292 // Description : If 1, the channel received a read bus error. Write one to
3293 //               clear.
3294 //               READ_ADDR shows the approximate address where the bus error was
3295 //               encountered (will not be earlier, or more than 3 transfers
3296 //               later)
3297 #define DMA_CH7_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
3298 #define DMA_CH7_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
3299 #define DMA_CH7_CTRL_TRIG_READ_ERROR_MSB    _u(30)
3300 #define DMA_CH7_CTRL_TRIG_READ_ERROR_LSB    _u(30)
3301 #define DMA_CH7_CTRL_TRIG_READ_ERROR_ACCESS "WC"
3302 // -----------------------------------------------------------------------------
3303 // Field       : DMA_CH7_CTRL_TRIG_WRITE_ERROR
3304 // Description : If 1, the channel received a write bus error. Write one to
3305 //               clear.
3306 //               WRITE_ADDR shows the approximate address where the bus error
3307 //               was encountered (will not be earlier, or more than 5 transfers
3308 //               later)
3309 #define DMA_CH7_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
3310 #define DMA_CH7_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
3311 #define DMA_CH7_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
3312 #define DMA_CH7_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
3313 #define DMA_CH7_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
3314 // -----------------------------------------------------------------------------
3315 // Field       : DMA_CH7_CTRL_TRIG_BUSY
3316 // Description : This flag goes high when the channel starts a new transfer
3317 //               sequence, and low when the last transfer of that sequence
3318 //               completes. Clearing EN while BUSY is high pauses the channel,
3319 //               and BUSY will stay high while paused.
3320 //
3321 //               To terminate a sequence early (and clear the BUSY flag), see
3322 //               CHAN_ABORT.
3323 #define DMA_CH7_CTRL_TRIG_BUSY_RESET  _u(0x0)
3324 #define DMA_CH7_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
3325 #define DMA_CH7_CTRL_TRIG_BUSY_MSB    _u(26)
3326 #define DMA_CH7_CTRL_TRIG_BUSY_LSB    _u(26)
3327 #define DMA_CH7_CTRL_TRIG_BUSY_ACCESS "RO"
3328 // -----------------------------------------------------------------------------
3329 // Field       : DMA_CH7_CTRL_TRIG_SNIFF_EN
3330 // Description : If 1, this channel's data transfers are visible to the sniff
3331 //               hardware, and each transfer will advance the state of the
3332 //               checksum. This only applies if the sniff hardware is enabled,
3333 //               and has this channel selected.
3334 //
3335 //               This allows checksum to be enabled or disabled on a per-
3336 //               control- block basis.
3337 #define DMA_CH7_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
3338 #define DMA_CH7_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
3339 #define DMA_CH7_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
3340 #define DMA_CH7_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
3341 #define DMA_CH7_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
3342 // -----------------------------------------------------------------------------
3343 // Field       : DMA_CH7_CTRL_TRIG_BSWAP
3344 // Description : Apply byte-swap transformation to DMA data.
3345 //               For byte data, this has no effect. For halfword data, the two
3346 //               bytes of each halfword are swapped. For word data, the four
3347 //               bytes of each word are swapped to reverse order.
3348 #define DMA_CH7_CTRL_TRIG_BSWAP_RESET  _u(0x0)
3349 #define DMA_CH7_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
3350 #define DMA_CH7_CTRL_TRIG_BSWAP_MSB    _u(24)
3351 #define DMA_CH7_CTRL_TRIG_BSWAP_LSB    _u(24)
3352 #define DMA_CH7_CTRL_TRIG_BSWAP_ACCESS "RW"
3353 // -----------------------------------------------------------------------------
3354 // Field       : DMA_CH7_CTRL_TRIG_IRQ_QUIET
3355 // Description : In QUIET mode, the channel does not generate IRQs at the end of
3356 //               every transfer block. Instead, an IRQ is raised when NULL is
3357 //               written to a trigger register, indicating the end of a control
3358 //               block chain.
3359 //
3360 //               This reduces the number of interrupts to be serviced by the CPU
3361 //               when transferring a DMA chain of many small control blocks.
3362 #define DMA_CH7_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
3363 #define DMA_CH7_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
3364 #define DMA_CH7_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
3365 #define DMA_CH7_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
3366 #define DMA_CH7_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
3367 // -----------------------------------------------------------------------------
3368 // Field       : DMA_CH7_CTRL_TRIG_TREQ_SEL
3369 // Description : Select a Transfer Request signal.
3370 //               The channel uses the transfer request signal to pace its data
3371 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
3372 //               or external (DREQ, a Data Request from the system).
3373 //               0x0 to 0x3a -> select DREQ n as TREQ
3374 //               0x3b -> Select Timer 0 as TREQ
3375 //               0x3c -> Select Timer 1 as TREQ
3376 //               0x3d -> Select Timer 2 as TREQ (Optional)
3377 //               0x3e -> Select Timer 3 as TREQ (Optional)
3378 //               0x3f -> Permanent request, for unpaced transfers.
3379 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
3380 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
3381 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
3382 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
3383 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
3384 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
3385 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
3386 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
3387 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
3388 #define DMA_CH7_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
3389 // -----------------------------------------------------------------------------
3390 // Field       : DMA_CH7_CTRL_TRIG_CHAIN_TO
3391 // Description : When this channel completes, it will trigger the channel
3392 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
3393 //               channel)_.
3394 //
3395 //               Note this field resets to 0, so channels 1 and above will chain
3396 //               to channel 0 by default. Set this field to avoid this
3397 //               behaviour.
3398 #define DMA_CH7_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
3399 #define DMA_CH7_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
3400 #define DMA_CH7_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
3401 #define DMA_CH7_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
3402 #define DMA_CH7_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
3403 // -----------------------------------------------------------------------------
3404 // Field       : DMA_CH7_CTRL_TRIG_RING_SEL
3405 // Description : Select whether RING_SIZE applies to read or write addresses.
3406 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
3407 //               boundary. If 1, write addresses are wrapped.
3408 #define DMA_CH7_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
3409 #define DMA_CH7_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
3410 #define DMA_CH7_CTRL_TRIG_RING_SEL_MSB    _u(12)
3411 #define DMA_CH7_CTRL_TRIG_RING_SEL_LSB    _u(12)
3412 #define DMA_CH7_CTRL_TRIG_RING_SEL_ACCESS "RW"
3413 // -----------------------------------------------------------------------------
3414 // Field       : DMA_CH7_CTRL_TRIG_RING_SIZE
3415 // Description : Size of address wrap region. If 0, don't wrap. For values n >
3416 //               0, only the lower n bits of the address will change. This wraps
3417 //               the address on a (1 << n) byte boundary, facilitating access to
3418 //               naturally-aligned ring buffers.
3419 //
3420 //               Ring sizes between 2 and 32768 bytes are possible. This can
3421 //               apply to either read or write addresses, based on value of
3422 //               RING_SEL.
3423 //               0x0 -> RING_NONE
3424 #define DMA_CH7_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
3425 #define DMA_CH7_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
3426 #define DMA_CH7_CTRL_TRIG_RING_SIZE_MSB    _u(11)
3427 #define DMA_CH7_CTRL_TRIG_RING_SIZE_LSB    _u(8)
3428 #define DMA_CH7_CTRL_TRIG_RING_SIZE_ACCESS "RW"
3429 #define DMA_CH7_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
3430 // -----------------------------------------------------------------------------
3431 // Field       : DMA_CH7_CTRL_TRIG_INCR_WRITE_REV
3432 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
3433 //               rather than incremented with each transfer.
3434 //
3435 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
3436 //               causes the write address to be incremented by twice the
3437 //               transfer size, i.e. skipping over alternate addresses.
3438 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
3439 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
3440 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
3441 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
3442 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
3443 // -----------------------------------------------------------------------------
3444 // Field       : DMA_CH7_CTRL_TRIG_INCR_WRITE
3445 // Description : If 1, the write address increments with each transfer. If 0,
3446 //               each write is directed to the same, initial address.
3447 //
3448 //               Generally this should be disabled for memory-to-peripheral
3449 //               transfers.
3450 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
3451 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
3452 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
3453 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
3454 #define DMA_CH7_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
3455 // -----------------------------------------------------------------------------
3456 // Field       : DMA_CH7_CTRL_TRIG_INCR_READ_REV
3457 // Description : If 1, and INCR_READ is 1, the read address is decremented
3458 //               rather than incremented with each transfer.
3459 //
3460 //               If 1, and INCR_READ is 0, this otherwise-unused combination
3461 //               causes the read address to be incremented by twice the transfer
3462 //               size, i.e. skipping over alternate addresses.
3463 #define DMA_CH7_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
3464 #define DMA_CH7_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
3465 #define DMA_CH7_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
3466 #define DMA_CH7_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
3467 #define DMA_CH7_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
3468 // -----------------------------------------------------------------------------
3469 // Field       : DMA_CH7_CTRL_TRIG_INCR_READ
3470 // Description : If 1, the read address increments with each transfer. If 0,
3471 //               each read is directed to the same, initial address.
3472 //
3473 //               Generally this should be disabled for peripheral-to-memory
3474 //               transfers.
3475 #define DMA_CH7_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
3476 #define DMA_CH7_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
3477 #define DMA_CH7_CTRL_TRIG_INCR_READ_MSB    _u(4)
3478 #define DMA_CH7_CTRL_TRIG_INCR_READ_LSB    _u(4)
3479 #define DMA_CH7_CTRL_TRIG_INCR_READ_ACCESS "RW"
3480 // -----------------------------------------------------------------------------
3481 // Field       : DMA_CH7_CTRL_TRIG_DATA_SIZE
3482 // Description : Set the size of each bus transfer (byte/halfword/word).
3483 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
3484 //               with each transfer.
3485 //               0x0 -> SIZE_BYTE
3486 //               0x1 -> SIZE_HALFWORD
3487 //               0x2 -> SIZE_WORD
3488 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
3489 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
3490 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
3491 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
3492 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
3493 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
3494 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
3495 #define DMA_CH7_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
3496 // -----------------------------------------------------------------------------
3497 // Field       : DMA_CH7_CTRL_TRIG_HIGH_PRIORITY
3498 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
3499 //               scheduling: in each scheduling round, all high priority
3500 //               channels are considered first, and then only a single low
3501 //               priority channel, before returning to the high priority
3502 //               channels.
3503 //
3504 //               This only affects the order in which the DMA schedules
3505 //               channels. The DMA's bus priority is not changed. If the DMA is
3506 //               not saturated then a low priority channel will see no loss of
3507 //               throughput.
3508 #define DMA_CH7_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
3509 #define DMA_CH7_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
3510 #define DMA_CH7_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
3511 #define DMA_CH7_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
3512 #define DMA_CH7_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
3513 // -----------------------------------------------------------------------------
3514 // Field       : DMA_CH7_CTRL_TRIG_EN
3515 // Description : DMA Channel Enable.
3516 //               When 1, the channel will respond to triggering events, which
3517 //               will cause it to become BUSY and start transferring data. When
3518 //               0, the channel will ignore triggers, stop issuing transfers,
3519 //               and pause the current transfer sequence (i.e. BUSY will remain
3520 //               high if already high)
3521 #define DMA_CH7_CTRL_TRIG_EN_RESET  _u(0x0)
3522 #define DMA_CH7_CTRL_TRIG_EN_BITS   _u(0x00000001)
3523 #define DMA_CH7_CTRL_TRIG_EN_MSB    _u(0)
3524 #define DMA_CH7_CTRL_TRIG_EN_LSB    _u(0)
3525 #define DMA_CH7_CTRL_TRIG_EN_ACCESS "RW"
3526 // =============================================================================
3527 // Register    : DMA_CH7_AL1_CTRL
3528 // Description : Alias for channel 7 CTRL register
3529 #define DMA_CH7_AL1_CTRL_OFFSET _u(0x000001d0)
3530 #define DMA_CH7_AL1_CTRL_BITS   _u(0xffffffff)
3531 #define DMA_CH7_AL1_CTRL_RESET  "-"
3532 #define DMA_CH7_AL1_CTRL_MSB    _u(31)
3533 #define DMA_CH7_AL1_CTRL_LSB    _u(0)
3534 #define DMA_CH7_AL1_CTRL_ACCESS "RW"
3535 // =============================================================================
3536 // Register    : DMA_CH7_AL1_READ_ADDR
3537 // Description : Alias for channel 7 READ_ADDR register
3538 #define DMA_CH7_AL1_READ_ADDR_OFFSET _u(0x000001d4)
3539 #define DMA_CH7_AL1_READ_ADDR_BITS   _u(0xffffffff)
3540 #define DMA_CH7_AL1_READ_ADDR_RESET  "-"
3541 #define DMA_CH7_AL1_READ_ADDR_MSB    _u(31)
3542 #define DMA_CH7_AL1_READ_ADDR_LSB    _u(0)
3543 #define DMA_CH7_AL1_READ_ADDR_ACCESS "RW"
3544 // =============================================================================
3545 // Register    : DMA_CH7_AL1_WRITE_ADDR
3546 // Description : Alias for channel 7 WRITE_ADDR register
3547 #define DMA_CH7_AL1_WRITE_ADDR_OFFSET _u(0x000001d8)
3548 #define DMA_CH7_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
3549 #define DMA_CH7_AL1_WRITE_ADDR_RESET  "-"
3550 #define DMA_CH7_AL1_WRITE_ADDR_MSB    _u(31)
3551 #define DMA_CH7_AL1_WRITE_ADDR_LSB    _u(0)
3552 #define DMA_CH7_AL1_WRITE_ADDR_ACCESS "RW"
3553 // =============================================================================
3554 // Register    : DMA_CH7_AL1_TRANS_COUNT_TRIG
3555 // Description : Alias for channel 7 TRANS_COUNT register
3556 //               This is a trigger register (0xc). Writing a nonzero value will
3557 //               reload the channel counter and start the channel.
3558 #define DMA_CH7_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x000001dc)
3559 #define DMA_CH7_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
3560 #define DMA_CH7_AL1_TRANS_COUNT_TRIG_RESET  "-"
3561 #define DMA_CH7_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
3562 #define DMA_CH7_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
3563 #define DMA_CH7_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
3564 // =============================================================================
3565 // Register    : DMA_CH7_AL2_CTRL
3566 // Description : Alias for channel 7 CTRL register
3567 #define DMA_CH7_AL2_CTRL_OFFSET _u(0x000001e0)
3568 #define DMA_CH7_AL2_CTRL_BITS   _u(0xffffffff)
3569 #define DMA_CH7_AL2_CTRL_RESET  "-"
3570 #define DMA_CH7_AL2_CTRL_MSB    _u(31)
3571 #define DMA_CH7_AL2_CTRL_LSB    _u(0)
3572 #define DMA_CH7_AL2_CTRL_ACCESS "RW"
3573 // =============================================================================
3574 // Register    : DMA_CH7_AL2_TRANS_COUNT
3575 // Description : Alias for channel 7 TRANS_COUNT register
3576 #define DMA_CH7_AL2_TRANS_COUNT_OFFSET _u(0x000001e4)
3577 #define DMA_CH7_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
3578 #define DMA_CH7_AL2_TRANS_COUNT_RESET  "-"
3579 #define DMA_CH7_AL2_TRANS_COUNT_MSB    _u(31)
3580 #define DMA_CH7_AL2_TRANS_COUNT_LSB    _u(0)
3581 #define DMA_CH7_AL2_TRANS_COUNT_ACCESS "RW"
3582 // =============================================================================
3583 // Register    : DMA_CH7_AL2_READ_ADDR
3584 // Description : Alias for channel 7 READ_ADDR register
3585 #define DMA_CH7_AL2_READ_ADDR_OFFSET _u(0x000001e8)
3586 #define DMA_CH7_AL2_READ_ADDR_BITS   _u(0xffffffff)
3587 #define DMA_CH7_AL2_READ_ADDR_RESET  "-"
3588 #define DMA_CH7_AL2_READ_ADDR_MSB    _u(31)
3589 #define DMA_CH7_AL2_READ_ADDR_LSB    _u(0)
3590 #define DMA_CH7_AL2_READ_ADDR_ACCESS "RW"
3591 // =============================================================================
3592 // Register    : DMA_CH7_AL2_WRITE_ADDR_TRIG
3593 // Description : Alias for channel 7 WRITE_ADDR register
3594 //               This is a trigger register (0xc). Writing a nonzero value will
3595 //               reload the channel counter and start the channel.
3596 #define DMA_CH7_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000001ec)
3597 #define DMA_CH7_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
3598 #define DMA_CH7_AL2_WRITE_ADDR_TRIG_RESET  "-"
3599 #define DMA_CH7_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
3600 #define DMA_CH7_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
3601 #define DMA_CH7_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
3602 // =============================================================================
3603 // Register    : DMA_CH7_AL3_CTRL
3604 // Description : Alias for channel 7 CTRL register
3605 #define DMA_CH7_AL3_CTRL_OFFSET _u(0x000001f0)
3606 #define DMA_CH7_AL3_CTRL_BITS   _u(0xffffffff)
3607 #define DMA_CH7_AL3_CTRL_RESET  "-"
3608 #define DMA_CH7_AL3_CTRL_MSB    _u(31)
3609 #define DMA_CH7_AL3_CTRL_LSB    _u(0)
3610 #define DMA_CH7_AL3_CTRL_ACCESS "RW"
3611 // =============================================================================
3612 // Register    : DMA_CH7_AL3_WRITE_ADDR
3613 // Description : Alias for channel 7 WRITE_ADDR register
3614 #define DMA_CH7_AL3_WRITE_ADDR_OFFSET _u(0x000001f4)
3615 #define DMA_CH7_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
3616 #define DMA_CH7_AL3_WRITE_ADDR_RESET  "-"
3617 #define DMA_CH7_AL3_WRITE_ADDR_MSB    _u(31)
3618 #define DMA_CH7_AL3_WRITE_ADDR_LSB    _u(0)
3619 #define DMA_CH7_AL3_WRITE_ADDR_ACCESS "RW"
3620 // =============================================================================
3621 // Register    : DMA_CH7_AL3_TRANS_COUNT
3622 // Description : Alias for channel 7 TRANS_COUNT register
3623 #define DMA_CH7_AL3_TRANS_COUNT_OFFSET _u(0x000001f8)
3624 #define DMA_CH7_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
3625 #define DMA_CH7_AL3_TRANS_COUNT_RESET  "-"
3626 #define DMA_CH7_AL3_TRANS_COUNT_MSB    _u(31)
3627 #define DMA_CH7_AL3_TRANS_COUNT_LSB    _u(0)
3628 #define DMA_CH7_AL3_TRANS_COUNT_ACCESS "RW"
3629 // =============================================================================
3630 // Register    : DMA_CH7_AL3_READ_ADDR_TRIG
3631 // Description : Alias for channel 7 READ_ADDR register
3632 //               This is a trigger register (0xc). Writing a nonzero value will
3633 //               reload the channel counter and start the channel.
3634 #define DMA_CH7_AL3_READ_ADDR_TRIG_OFFSET _u(0x000001fc)
3635 #define DMA_CH7_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
3636 #define DMA_CH7_AL3_READ_ADDR_TRIG_RESET  "-"
3637 #define DMA_CH7_AL3_READ_ADDR_TRIG_MSB    _u(31)
3638 #define DMA_CH7_AL3_READ_ADDR_TRIG_LSB    _u(0)
3639 #define DMA_CH7_AL3_READ_ADDR_TRIG_ACCESS "RW"
3640 // =============================================================================
3641 // Register    : DMA_CH8_READ_ADDR
3642 // Description : DMA Channel 8 Read Address pointer
3643 //               This register updates automatically each time a read completes.
3644 //               The current value is the next address to be read by this
3645 //               channel.
3646 #define DMA_CH8_READ_ADDR_OFFSET _u(0x00000200)
3647 #define DMA_CH8_READ_ADDR_BITS   _u(0xffffffff)
3648 #define DMA_CH8_READ_ADDR_RESET  _u(0x00000000)
3649 #define DMA_CH8_READ_ADDR_MSB    _u(31)
3650 #define DMA_CH8_READ_ADDR_LSB    _u(0)
3651 #define DMA_CH8_READ_ADDR_ACCESS "RW"
3652 // =============================================================================
3653 // Register    : DMA_CH8_WRITE_ADDR
3654 // Description : DMA Channel 8 Write Address pointer
3655 //               This register updates automatically each time a write
3656 //               completes. The current value is the next address to be written
3657 //               by this channel.
3658 #define DMA_CH8_WRITE_ADDR_OFFSET _u(0x00000204)
3659 #define DMA_CH8_WRITE_ADDR_BITS   _u(0xffffffff)
3660 #define DMA_CH8_WRITE_ADDR_RESET  _u(0x00000000)
3661 #define DMA_CH8_WRITE_ADDR_MSB    _u(31)
3662 #define DMA_CH8_WRITE_ADDR_LSB    _u(0)
3663 #define DMA_CH8_WRITE_ADDR_ACCESS "RW"
3664 // =============================================================================
3665 // Register    : DMA_CH8_TRANS_COUNT
3666 // Description : DMA Channel 8 Transfer Count
3667 #define DMA_CH8_TRANS_COUNT_OFFSET _u(0x00000208)
3668 #define DMA_CH8_TRANS_COUNT_BITS   _u(0xffffffff)
3669 #define DMA_CH8_TRANS_COUNT_RESET  _u(0x00000000)
3670 // -----------------------------------------------------------------------------
3671 // Field       : DMA_CH8_TRANS_COUNT_MODE
3672 // Description : When MODE is 0x0, the transfer count decrements with each
3673 //               transfer until 0, and then the channel triggers the next
3674 //               channel indicated by CTRL_CHAIN_TO.
3675 //
3676 //               When MODE is 0x1, the transfer count decrements with each
3677 //               transfer until 0, and then the channel re-triggers itself, in
3678 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
3679 //               useful for e.g. an endless ring-buffer DMA with periodic
3680 //               interrupts.
3681 //
3682 //               When MODE is 0xf, the transfer count does not decrement. The
3683 //               DMA channel performs an endless sequence of transfers, never
3684 //               triggering other channels or raising interrupts, until an ABORT
3685 //               is raised.
3686 //
3687 //               All other values are reserved.
3688 //               0x0 -> NORMAL
3689 //               0x1 -> TRIGGER_SELF
3690 //               0xf -> ENDLESS
3691 #define DMA_CH8_TRANS_COUNT_MODE_RESET  _u(0x0)
3692 #define DMA_CH8_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
3693 #define DMA_CH8_TRANS_COUNT_MODE_MSB    _u(31)
3694 #define DMA_CH8_TRANS_COUNT_MODE_LSB    _u(28)
3695 #define DMA_CH8_TRANS_COUNT_MODE_ACCESS "RW"
3696 #define DMA_CH8_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
3697 #define DMA_CH8_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
3698 #define DMA_CH8_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
3699 // -----------------------------------------------------------------------------
3700 // Field       : DMA_CH8_TRANS_COUNT_COUNT
3701 // Description : 28-bit transfer count (256 million transfers maximum).
3702 //
3703 //               Program the number of bus transfers a channel will perform
3704 //               before halting. Note that, if transfers are larger than one
3705 //               byte in size, this is not equal to the number of bytes
3706 //               transferred (see CTRL_DATA_SIZE).
3707 //
3708 //               When the channel is active, reading this register shows the
3709 //               number of transfers remaining, updating automatically each time
3710 //               a write transfer completes.
3711 //
3712 //               Writing this register sets the RELOAD value for the transfer
3713 //               counter. Each time this channel is triggered, the RELOAD value
3714 //               is copied into the live transfer counter. The channel can be
3715 //               started multiple times, and will perform the same number of
3716 //               transfers each time, as programmed by most recent write.
3717 //
3718 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
3719 //               is used as a trigger, the written value is used immediately as
3720 //               the length of the new transfer sequence, as well as being
3721 //               written to RELOAD.
3722 #define DMA_CH8_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
3723 #define DMA_CH8_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
3724 #define DMA_CH8_TRANS_COUNT_COUNT_MSB    _u(27)
3725 #define DMA_CH8_TRANS_COUNT_COUNT_LSB    _u(0)
3726 #define DMA_CH8_TRANS_COUNT_COUNT_ACCESS "RW"
3727 // =============================================================================
3728 // Register    : DMA_CH8_CTRL_TRIG
3729 // Description : DMA Channel 8 Control and Status
3730 #define DMA_CH8_CTRL_TRIG_OFFSET _u(0x0000020c)
3731 #define DMA_CH8_CTRL_TRIG_BITS   _u(0xe7ffffff)
3732 #define DMA_CH8_CTRL_TRIG_RESET  _u(0x00000000)
3733 // -----------------------------------------------------------------------------
3734 // Field       : DMA_CH8_CTRL_TRIG_AHB_ERROR
3735 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
3736 //               halts when it encounters any bus error, and always raises its
3737 //               channel IRQ flag.
3738 #define DMA_CH8_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
3739 #define DMA_CH8_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
3740 #define DMA_CH8_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
3741 #define DMA_CH8_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
3742 #define DMA_CH8_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
3743 // -----------------------------------------------------------------------------
3744 // Field       : DMA_CH8_CTRL_TRIG_READ_ERROR
3745 // Description : If 1, the channel received a read bus error. Write one to
3746 //               clear.
3747 //               READ_ADDR shows the approximate address where the bus error was
3748 //               encountered (will not be earlier, or more than 3 transfers
3749 //               later)
3750 #define DMA_CH8_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
3751 #define DMA_CH8_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
3752 #define DMA_CH8_CTRL_TRIG_READ_ERROR_MSB    _u(30)
3753 #define DMA_CH8_CTRL_TRIG_READ_ERROR_LSB    _u(30)
3754 #define DMA_CH8_CTRL_TRIG_READ_ERROR_ACCESS "WC"
3755 // -----------------------------------------------------------------------------
3756 // Field       : DMA_CH8_CTRL_TRIG_WRITE_ERROR
3757 // Description : If 1, the channel received a write bus error. Write one to
3758 //               clear.
3759 //               WRITE_ADDR shows the approximate address where the bus error
3760 //               was encountered (will not be earlier, or more than 5 transfers
3761 //               later)
3762 #define DMA_CH8_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
3763 #define DMA_CH8_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
3764 #define DMA_CH8_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
3765 #define DMA_CH8_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
3766 #define DMA_CH8_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
3767 // -----------------------------------------------------------------------------
3768 // Field       : DMA_CH8_CTRL_TRIG_BUSY
3769 // Description : This flag goes high when the channel starts a new transfer
3770 //               sequence, and low when the last transfer of that sequence
3771 //               completes. Clearing EN while BUSY is high pauses the channel,
3772 //               and BUSY will stay high while paused.
3773 //
3774 //               To terminate a sequence early (and clear the BUSY flag), see
3775 //               CHAN_ABORT.
3776 #define DMA_CH8_CTRL_TRIG_BUSY_RESET  _u(0x0)
3777 #define DMA_CH8_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
3778 #define DMA_CH8_CTRL_TRIG_BUSY_MSB    _u(26)
3779 #define DMA_CH8_CTRL_TRIG_BUSY_LSB    _u(26)
3780 #define DMA_CH8_CTRL_TRIG_BUSY_ACCESS "RO"
3781 // -----------------------------------------------------------------------------
3782 // Field       : DMA_CH8_CTRL_TRIG_SNIFF_EN
3783 // Description : If 1, this channel's data transfers are visible to the sniff
3784 //               hardware, and each transfer will advance the state of the
3785 //               checksum. This only applies if the sniff hardware is enabled,
3786 //               and has this channel selected.
3787 //
3788 //               This allows checksum to be enabled or disabled on a per-
3789 //               control- block basis.
3790 #define DMA_CH8_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
3791 #define DMA_CH8_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
3792 #define DMA_CH8_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
3793 #define DMA_CH8_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
3794 #define DMA_CH8_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
3795 // -----------------------------------------------------------------------------
3796 // Field       : DMA_CH8_CTRL_TRIG_BSWAP
3797 // Description : Apply byte-swap transformation to DMA data.
3798 //               For byte data, this has no effect. For halfword data, the two
3799 //               bytes of each halfword are swapped. For word data, the four
3800 //               bytes of each word are swapped to reverse order.
3801 #define DMA_CH8_CTRL_TRIG_BSWAP_RESET  _u(0x0)
3802 #define DMA_CH8_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
3803 #define DMA_CH8_CTRL_TRIG_BSWAP_MSB    _u(24)
3804 #define DMA_CH8_CTRL_TRIG_BSWAP_LSB    _u(24)
3805 #define DMA_CH8_CTRL_TRIG_BSWAP_ACCESS "RW"
3806 // -----------------------------------------------------------------------------
3807 // Field       : DMA_CH8_CTRL_TRIG_IRQ_QUIET
3808 // Description : In QUIET mode, the channel does not generate IRQs at the end of
3809 //               every transfer block. Instead, an IRQ is raised when NULL is
3810 //               written to a trigger register, indicating the end of a control
3811 //               block chain.
3812 //
3813 //               This reduces the number of interrupts to be serviced by the CPU
3814 //               when transferring a DMA chain of many small control blocks.
3815 #define DMA_CH8_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
3816 #define DMA_CH8_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
3817 #define DMA_CH8_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
3818 #define DMA_CH8_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
3819 #define DMA_CH8_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
3820 // -----------------------------------------------------------------------------
3821 // Field       : DMA_CH8_CTRL_TRIG_TREQ_SEL
3822 // Description : Select a Transfer Request signal.
3823 //               The channel uses the transfer request signal to pace its data
3824 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
3825 //               or external (DREQ, a Data Request from the system).
3826 //               0x0 to 0x3a -> select DREQ n as TREQ
3827 //               0x3b -> Select Timer 0 as TREQ
3828 //               0x3c -> Select Timer 1 as TREQ
3829 //               0x3d -> Select Timer 2 as TREQ (Optional)
3830 //               0x3e -> Select Timer 3 as TREQ (Optional)
3831 //               0x3f -> Permanent request, for unpaced transfers.
3832 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
3833 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
3834 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
3835 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
3836 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
3837 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
3838 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
3839 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
3840 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
3841 #define DMA_CH8_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
3842 // -----------------------------------------------------------------------------
3843 // Field       : DMA_CH8_CTRL_TRIG_CHAIN_TO
3844 // Description : When this channel completes, it will trigger the channel
3845 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
3846 //               channel)_.
3847 //
3848 //               Note this field resets to 0, so channels 1 and above will chain
3849 //               to channel 0 by default. Set this field to avoid this
3850 //               behaviour.
3851 #define DMA_CH8_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
3852 #define DMA_CH8_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
3853 #define DMA_CH8_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
3854 #define DMA_CH8_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
3855 #define DMA_CH8_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
3856 // -----------------------------------------------------------------------------
3857 // Field       : DMA_CH8_CTRL_TRIG_RING_SEL
3858 // Description : Select whether RING_SIZE applies to read or write addresses.
3859 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
3860 //               boundary. If 1, write addresses are wrapped.
3861 #define DMA_CH8_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
3862 #define DMA_CH8_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
3863 #define DMA_CH8_CTRL_TRIG_RING_SEL_MSB    _u(12)
3864 #define DMA_CH8_CTRL_TRIG_RING_SEL_LSB    _u(12)
3865 #define DMA_CH8_CTRL_TRIG_RING_SEL_ACCESS "RW"
3866 // -----------------------------------------------------------------------------
3867 // Field       : DMA_CH8_CTRL_TRIG_RING_SIZE
3868 // Description : Size of address wrap region. If 0, don't wrap. For values n >
3869 //               0, only the lower n bits of the address will change. This wraps
3870 //               the address on a (1 << n) byte boundary, facilitating access to
3871 //               naturally-aligned ring buffers.
3872 //
3873 //               Ring sizes between 2 and 32768 bytes are possible. This can
3874 //               apply to either read or write addresses, based on value of
3875 //               RING_SEL.
3876 //               0x0 -> RING_NONE
3877 #define DMA_CH8_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
3878 #define DMA_CH8_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
3879 #define DMA_CH8_CTRL_TRIG_RING_SIZE_MSB    _u(11)
3880 #define DMA_CH8_CTRL_TRIG_RING_SIZE_LSB    _u(8)
3881 #define DMA_CH8_CTRL_TRIG_RING_SIZE_ACCESS "RW"
3882 #define DMA_CH8_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
3883 // -----------------------------------------------------------------------------
3884 // Field       : DMA_CH8_CTRL_TRIG_INCR_WRITE_REV
3885 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
3886 //               rather than incremented with each transfer.
3887 //
3888 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
3889 //               causes the write address to be incremented by twice the
3890 //               transfer size, i.e. skipping over alternate addresses.
3891 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
3892 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
3893 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
3894 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
3895 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
3896 // -----------------------------------------------------------------------------
3897 // Field       : DMA_CH8_CTRL_TRIG_INCR_WRITE
3898 // Description : If 1, the write address increments with each transfer. If 0,
3899 //               each write is directed to the same, initial address.
3900 //
3901 //               Generally this should be disabled for memory-to-peripheral
3902 //               transfers.
3903 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
3904 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
3905 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
3906 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
3907 #define DMA_CH8_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
3908 // -----------------------------------------------------------------------------
3909 // Field       : DMA_CH8_CTRL_TRIG_INCR_READ_REV
3910 // Description : If 1, and INCR_READ is 1, the read address is decremented
3911 //               rather than incremented with each transfer.
3912 //
3913 //               If 1, and INCR_READ is 0, this otherwise-unused combination
3914 //               causes the read address to be incremented by twice the transfer
3915 //               size, i.e. skipping over alternate addresses.
3916 #define DMA_CH8_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
3917 #define DMA_CH8_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
3918 #define DMA_CH8_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
3919 #define DMA_CH8_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
3920 #define DMA_CH8_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
3921 // -----------------------------------------------------------------------------
3922 // Field       : DMA_CH8_CTRL_TRIG_INCR_READ
3923 // Description : If 1, the read address increments with each transfer. If 0,
3924 //               each read is directed to the same, initial address.
3925 //
3926 //               Generally this should be disabled for peripheral-to-memory
3927 //               transfers.
3928 #define DMA_CH8_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
3929 #define DMA_CH8_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
3930 #define DMA_CH8_CTRL_TRIG_INCR_READ_MSB    _u(4)
3931 #define DMA_CH8_CTRL_TRIG_INCR_READ_LSB    _u(4)
3932 #define DMA_CH8_CTRL_TRIG_INCR_READ_ACCESS "RW"
3933 // -----------------------------------------------------------------------------
3934 // Field       : DMA_CH8_CTRL_TRIG_DATA_SIZE
3935 // Description : Set the size of each bus transfer (byte/halfword/word).
3936 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
3937 //               with each transfer.
3938 //               0x0 -> SIZE_BYTE
3939 //               0x1 -> SIZE_HALFWORD
3940 //               0x2 -> SIZE_WORD
3941 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
3942 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
3943 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
3944 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
3945 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
3946 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
3947 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
3948 #define DMA_CH8_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
3949 // -----------------------------------------------------------------------------
3950 // Field       : DMA_CH8_CTRL_TRIG_HIGH_PRIORITY
3951 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
3952 //               scheduling: in each scheduling round, all high priority
3953 //               channels are considered first, and then only a single low
3954 //               priority channel, before returning to the high priority
3955 //               channels.
3956 //
3957 //               This only affects the order in which the DMA schedules
3958 //               channels. The DMA's bus priority is not changed. If the DMA is
3959 //               not saturated then a low priority channel will see no loss of
3960 //               throughput.
3961 #define DMA_CH8_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
3962 #define DMA_CH8_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
3963 #define DMA_CH8_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
3964 #define DMA_CH8_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
3965 #define DMA_CH8_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
3966 // -----------------------------------------------------------------------------
3967 // Field       : DMA_CH8_CTRL_TRIG_EN
3968 // Description : DMA Channel Enable.
3969 //               When 1, the channel will respond to triggering events, which
3970 //               will cause it to become BUSY and start transferring data. When
3971 //               0, the channel will ignore triggers, stop issuing transfers,
3972 //               and pause the current transfer sequence (i.e. BUSY will remain
3973 //               high if already high)
3974 #define DMA_CH8_CTRL_TRIG_EN_RESET  _u(0x0)
3975 #define DMA_CH8_CTRL_TRIG_EN_BITS   _u(0x00000001)
3976 #define DMA_CH8_CTRL_TRIG_EN_MSB    _u(0)
3977 #define DMA_CH8_CTRL_TRIG_EN_LSB    _u(0)
3978 #define DMA_CH8_CTRL_TRIG_EN_ACCESS "RW"
3979 // =============================================================================
3980 // Register    : DMA_CH8_AL1_CTRL
3981 // Description : Alias for channel 8 CTRL register
3982 #define DMA_CH8_AL1_CTRL_OFFSET _u(0x00000210)
3983 #define DMA_CH8_AL1_CTRL_BITS   _u(0xffffffff)
3984 #define DMA_CH8_AL1_CTRL_RESET  "-"
3985 #define DMA_CH8_AL1_CTRL_MSB    _u(31)
3986 #define DMA_CH8_AL1_CTRL_LSB    _u(0)
3987 #define DMA_CH8_AL1_CTRL_ACCESS "RW"
3988 // =============================================================================
3989 // Register    : DMA_CH8_AL1_READ_ADDR
3990 // Description : Alias for channel 8 READ_ADDR register
3991 #define DMA_CH8_AL1_READ_ADDR_OFFSET _u(0x00000214)
3992 #define DMA_CH8_AL1_READ_ADDR_BITS   _u(0xffffffff)
3993 #define DMA_CH8_AL1_READ_ADDR_RESET  "-"
3994 #define DMA_CH8_AL1_READ_ADDR_MSB    _u(31)
3995 #define DMA_CH8_AL1_READ_ADDR_LSB    _u(0)
3996 #define DMA_CH8_AL1_READ_ADDR_ACCESS "RW"
3997 // =============================================================================
3998 // Register    : DMA_CH8_AL1_WRITE_ADDR
3999 // Description : Alias for channel 8 WRITE_ADDR register
4000 #define DMA_CH8_AL1_WRITE_ADDR_OFFSET _u(0x00000218)
4001 #define DMA_CH8_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
4002 #define DMA_CH8_AL1_WRITE_ADDR_RESET  "-"
4003 #define DMA_CH8_AL1_WRITE_ADDR_MSB    _u(31)
4004 #define DMA_CH8_AL1_WRITE_ADDR_LSB    _u(0)
4005 #define DMA_CH8_AL1_WRITE_ADDR_ACCESS "RW"
4006 // =============================================================================
4007 // Register    : DMA_CH8_AL1_TRANS_COUNT_TRIG
4008 // Description : Alias for channel 8 TRANS_COUNT register
4009 //               This is a trigger register (0xc). Writing a nonzero value will
4010 //               reload the channel counter and start the channel.
4011 #define DMA_CH8_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000021c)
4012 #define DMA_CH8_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
4013 #define DMA_CH8_AL1_TRANS_COUNT_TRIG_RESET  "-"
4014 #define DMA_CH8_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
4015 #define DMA_CH8_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
4016 #define DMA_CH8_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
4017 // =============================================================================
4018 // Register    : DMA_CH8_AL2_CTRL
4019 // Description : Alias for channel 8 CTRL register
4020 #define DMA_CH8_AL2_CTRL_OFFSET _u(0x00000220)
4021 #define DMA_CH8_AL2_CTRL_BITS   _u(0xffffffff)
4022 #define DMA_CH8_AL2_CTRL_RESET  "-"
4023 #define DMA_CH8_AL2_CTRL_MSB    _u(31)
4024 #define DMA_CH8_AL2_CTRL_LSB    _u(0)
4025 #define DMA_CH8_AL2_CTRL_ACCESS "RW"
4026 // =============================================================================
4027 // Register    : DMA_CH8_AL2_TRANS_COUNT
4028 // Description : Alias for channel 8 TRANS_COUNT register
4029 #define DMA_CH8_AL2_TRANS_COUNT_OFFSET _u(0x00000224)
4030 #define DMA_CH8_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
4031 #define DMA_CH8_AL2_TRANS_COUNT_RESET  "-"
4032 #define DMA_CH8_AL2_TRANS_COUNT_MSB    _u(31)
4033 #define DMA_CH8_AL2_TRANS_COUNT_LSB    _u(0)
4034 #define DMA_CH8_AL2_TRANS_COUNT_ACCESS "RW"
4035 // =============================================================================
4036 // Register    : DMA_CH8_AL2_READ_ADDR
4037 // Description : Alias for channel 8 READ_ADDR register
4038 #define DMA_CH8_AL2_READ_ADDR_OFFSET _u(0x00000228)
4039 #define DMA_CH8_AL2_READ_ADDR_BITS   _u(0xffffffff)
4040 #define DMA_CH8_AL2_READ_ADDR_RESET  "-"
4041 #define DMA_CH8_AL2_READ_ADDR_MSB    _u(31)
4042 #define DMA_CH8_AL2_READ_ADDR_LSB    _u(0)
4043 #define DMA_CH8_AL2_READ_ADDR_ACCESS "RW"
4044 // =============================================================================
4045 // Register    : DMA_CH8_AL2_WRITE_ADDR_TRIG
4046 // Description : Alias for channel 8 WRITE_ADDR register
4047 //               This is a trigger register (0xc). Writing a nonzero value will
4048 //               reload the channel counter and start the channel.
4049 #define DMA_CH8_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000022c)
4050 #define DMA_CH8_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
4051 #define DMA_CH8_AL2_WRITE_ADDR_TRIG_RESET  "-"
4052 #define DMA_CH8_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
4053 #define DMA_CH8_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
4054 #define DMA_CH8_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
4055 // =============================================================================
4056 // Register    : DMA_CH8_AL3_CTRL
4057 // Description : Alias for channel 8 CTRL register
4058 #define DMA_CH8_AL3_CTRL_OFFSET _u(0x00000230)
4059 #define DMA_CH8_AL3_CTRL_BITS   _u(0xffffffff)
4060 #define DMA_CH8_AL3_CTRL_RESET  "-"
4061 #define DMA_CH8_AL3_CTRL_MSB    _u(31)
4062 #define DMA_CH8_AL3_CTRL_LSB    _u(0)
4063 #define DMA_CH8_AL3_CTRL_ACCESS "RW"
4064 // =============================================================================
4065 // Register    : DMA_CH8_AL3_WRITE_ADDR
4066 // Description : Alias for channel 8 WRITE_ADDR register
4067 #define DMA_CH8_AL3_WRITE_ADDR_OFFSET _u(0x00000234)
4068 #define DMA_CH8_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
4069 #define DMA_CH8_AL3_WRITE_ADDR_RESET  "-"
4070 #define DMA_CH8_AL3_WRITE_ADDR_MSB    _u(31)
4071 #define DMA_CH8_AL3_WRITE_ADDR_LSB    _u(0)
4072 #define DMA_CH8_AL3_WRITE_ADDR_ACCESS "RW"
4073 // =============================================================================
4074 // Register    : DMA_CH8_AL3_TRANS_COUNT
4075 // Description : Alias for channel 8 TRANS_COUNT register
4076 #define DMA_CH8_AL3_TRANS_COUNT_OFFSET _u(0x00000238)
4077 #define DMA_CH8_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
4078 #define DMA_CH8_AL3_TRANS_COUNT_RESET  "-"
4079 #define DMA_CH8_AL3_TRANS_COUNT_MSB    _u(31)
4080 #define DMA_CH8_AL3_TRANS_COUNT_LSB    _u(0)
4081 #define DMA_CH8_AL3_TRANS_COUNT_ACCESS "RW"
4082 // =============================================================================
4083 // Register    : DMA_CH8_AL3_READ_ADDR_TRIG
4084 // Description : Alias for channel 8 READ_ADDR register
4085 //               This is a trigger register (0xc). Writing a nonzero value will
4086 //               reload the channel counter and start the channel.
4087 #define DMA_CH8_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000023c)
4088 #define DMA_CH8_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
4089 #define DMA_CH8_AL3_READ_ADDR_TRIG_RESET  "-"
4090 #define DMA_CH8_AL3_READ_ADDR_TRIG_MSB    _u(31)
4091 #define DMA_CH8_AL3_READ_ADDR_TRIG_LSB    _u(0)
4092 #define DMA_CH8_AL3_READ_ADDR_TRIG_ACCESS "RW"
4093 // =============================================================================
4094 // Register    : DMA_CH9_READ_ADDR
4095 // Description : DMA Channel 9 Read Address pointer
4096 //               This register updates automatically each time a read completes.
4097 //               The current value is the next address to be read by this
4098 //               channel.
4099 #define DMA_CH9_READ_ADDR_OFFSET _u(0x00000240)
4100 #define DMA_CH9_READ_ADDR_BITS   _u(0xffffffff)
4101 #define DMA_CH9_READ_ADDR_RESET  _u(0x00000000)
4102 #define DMA_CH9_READ_ADDR_MSB    _u(31)
4103 #define DMA_CH9_READ_ADDR_LSB    _u(0)
4104 #define DMA_CH9_READ_ADDR_ACCESS "RW"
4105 // =============================================================================
4106 // Register    : DMA_CH9_WRITE_ADDR
4107 // Description : DMA Channel 9 Write Address pointer
4108 //               This register updates automatically each time a write
4109 //               completes. The current value is the next address to be written
4110 //               by this channel.
4111 #define DMA_CH9_WRITE_ADDR_OFFSET _u(0x00000244)
4112 #define DMA_CH9_WRITE_ADDR_BITS   _u(0xffffffff)
4113 #define DMA_CH9_WRITE_ADDR_RESET  _u(0x00000000)
4114 #define DMA_CH9_WRITE_ADDR_MSB    _u(31)
4115 #define DMA_CH9_WRITE_ADDR_LSB    _u(0)
4116 #define DMA_CH9_WRITE_ADDR_ACCESS "RW"
4117 // =============================================================================
4118 // Register    : DMA_CH9_TRANS_COUNT
4119 // Description : DMA Channel 9 Transfer Count
4120 #define DMA_CH9_TRANS_COUNT_OFFSET _u(0x00000248)
4121 #define DMA_CH9_TRANS_COUNT_BITS   _u(0xffffffff)
4122 #define DMA_CH9_TRANS_COUNT_RESET  _u(0x00000000)
4123 // -----------------------------------------------------------------------------
4124 // Field       : DMA_CH9_TRANS_COUNT_MODE
4125 // Description : When MODE is 0x0, the transfer count decrements with each
4126 //               transfer until 0, and then the channel triggers the next
4127 //               channel indicated by CTRL_CHAIN_TO.
4128 //
4129 //               When MODE is 0x1, the transfer count decrements with each
4130 //               transfer until 0, and then the channel re-triggers itself, in
4131 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
4132 //               useful for e.g. an endless ring-buffer DMA with periodic
4133 //               interrupts.
4134 //
4135 //               When MODE is 0xf, the transfer count does not decrement. The
4136 //               DMA channel performs an endless sequence of transfers, never
4137 //               triggering other channels or raising interrupts, until an ABORT
4138 //               is raised.
4139 //
4140 //               All other values are reserved.
4141 //               0x0 -> NORMAL
4142 //               0x1 -> TRIGGER_SELF
4143 //               0xf -> ENDLESS
4144 #define DMA_CH9_TRANS_COUNT_MODE_RESET  _u(0x0)
4145 #define DMA_CH9_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
4146 #define DMA_CH9_TRANS_COUNT_MODE_MSB    _u(31)
4147 #define DMA_CH9_TRANS_COUNT_MODE_LSB    _u(28)
4148 #define DMA_CH9_TRANS_COUNT_MODE_ACCESS "RW"
4149 #define DMA_CH9_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
4150 #define DMA_CH9_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
4151 #define DMA_CH9_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
4152 // -----------------------------------------------------------------------------
4153 // Field       : DMA_CH9_TRANS_COUNT_COUNT
4154 // Description : 28-bit transfer count (256 million transfers maximum).
4155 //
4156 //               Program the number of bus transfers a channel will perform
4157 //               before halting. Note that, if transfers are larger than one
4158 //               byte in size, this is not equal to the number of bytes
4159 //               transferred (see CTRL_DATA_SIZE).
4160 //
4161 //               When the channel is active, reading this register shows the
4162 //               number of transfers remaining, updating automatically each time
4163 //               a write transfer completes.
4164 //
4165 //               Writing this register sets the RELOAD value for the transfer
4166 //               counter. Each time this channel is triggered, the RELOAD value
4167 //               is copied into the live transfer counter. The channel can be
4168 //               started multiple times, and will perform the same number of
4169 //               transfers each time, as programmed by most recent write.
4170 //
4171 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
4172 //               is used as a trigger, the written value is used immediately as
4173 //               the length of the new transfer sequence, as well as being
4174 //               written to RELOAD.
4175 #define DMA_CH9_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
4176 #define DMA_CH9_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
4177 #define DMA_CH9_TRANS_COUNT_COUNT_MSB    _u(27)
4178 #define DMA_CH9_TRANS_COUNT_COUNT_LSB    _u(0)
4179 #define DMA_CH9_TRANS_COUNT_COUNT_ACCESS "RW"
4180 // =============================================================================
4181 // Register    : DMA_CH9_CTRL_TRIG
4182 // Description : DMA Channel 9 Control and Status
4183 #define DMA_CH9_CTRL_TRIG_OFFSET _u(0x0000024c)
4184 #define DMA_CH9_CTRL_TRIG_BITS   _u(0xe7ffffff)
4185 #define DMA_CH9_CTRL_TRIG_RESET  _u(0x00000000)
4186 // -----------------------------------------------------------------------------
4187 // Field       : DMA_CH9_CTRL_TRIG_AHB_ERROR
4188 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
4189 //               halts when it encounters any bus error, and always raises its
4190 //               channel IRQ flag.
4191 #define DMA_CH9_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
4192 #define DMA_CH9_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
4193 #define DMA_CH9_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
4194 #define DMA_CH9_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
4195 #define DMA_CH9_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
4196 // -----------------------------------------------------------------------------
4197 // Field       : DMA_CH9_CTRL_TRIG_READ_ERROR
4198 // Description : If 1, the channel received a read bus error. Write one to
4199 //               clear.
4200 //               READ_ADDR shows the approximate address where the bus error was
4201 //               encountered (will not be earlier, or more than 3 transfers
4202 //               later)
4203 #define DMA_CH9_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
4204 #define DMA_CH9_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
4205 #define DMA_CH9_CTRL_TRIG_READ_ERROR_MSB    _u(30)
4206 #define DMA_CH9_CTRL_TRIG_READ_ERROR_LSB    _u(30)
4207 #define DMA_CH9_CTRL_TRIG_READ_ERROR_ACCESS "WC"
4208 // -----------------------------------------------------------------------------
4209 // Field       : DMA_CH9_CTRL_TRIG_WRITE_ERROR
4210 // Description : If 1, the channel received a write bus error. Write one to
4211 //               clear.
4212 //               WRITE_ADDR shows the approximate address where the bus error
4213 //               was encountered (will not be earlier, or more than 5 transfers
4214 //               later)
4215 #define DMA_CH9_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
4216 #define DMA_CH9_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
4217 #define DMA_CH9_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
4218 #define DMA_CH9_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
4219 #define DMA_CH9_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
4220 // -----------------------------------------------------------------------------
4221 // Field       : DMA_CH9_CTRL_TRIG_BUSY
4222 // Description : This flag goes high when the channel starts a new transfer
4223 //               sequence, and low when the last transfer of that sequence
4224 //               completes. Clearing EN while BUSY is high pauses the channel,
4225 //               and BUSY will stay high while paused.
4226 //
4227 //               To terminate a sequence early (and clear the BUSY flag), see
4228 //               CHAN_ABORT.
4229 #define DMA_CH9_CTRL_TRIG_BUSY_RESET  _u(0x0)
4230 #define DMA_CH9_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
4231 #define DMA_CH9_CTRL_TRIG_BUSY_MSB    _u(26)
4232 #define DMA_CH9_CTRL_TRIG_BUSY_LSB    _u(26)
4233 #define DMA_CH9_CTRL_TRIG_BUSY_ACCESS "RO"
4234 // -----------------------------------------------------------------------------
4235 // Field       : DMA_CH9_CTRL_TRIG_SNIFF_EN
4236 // Description : If 1, this channel's data transfers are visible to the sniff
4237 //               hardware, and each transfer will advance the state of the
4238 //               checksum. This only applies if the sniff hardware is enabled,
4239 //               and has this channel selected.
4240 //
4241 //               This allows checksum to be enabled or disabled on a per-
4242 //               control- block basis.
4243 #define DMA_CH9_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
4244 #define DMA_CH9_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
4245 #define DMA_CH9_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
4246 #define DMA_CH9_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
4247 #define DMA_CH9_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
4248 // -----------------------------------------------------------------------------
4249 // Field       : DMA_CH9_CTRL_TRIG_BSWAP
4250 // Description : Apply byte-swap transformation to DMA data.
4251 //               For byte data, this has no effect. For halfword data, the two
4252 //               bytes of each halfword are swapped. For word data, the four
4253 //               bytes of each word are swapped to reverse order.
4254 #define DMA_CH9_CTRL_TRIG_BSWAP_RESET  _u(0x0)
4255 #define DMA_CH9_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
4256 #define DMA_CH9_CTRL_TRIG_BSWAP_MSB    _u(24)
4257 #define DMA_CH9_CTRL_TRIG_BSWAP_LSB    _u(24)
4258 #define DMA_CH9_CTRL_TRIG_BSWAP_ACCESS "RW"
4259 // -----------------------------------------------------------------------------
4260 // Field       : DMA_CH9_CTRL_TRIG_IRQ_QUIET
4261 // Description : In QUIET mode, the channel does not generate IRQs at the end of
4262 //               every transfer block. Instead, an IRQ is raised when NULL is
4263 //               written to a trigger register, indicating the end of a control
4264 //               block chain.
4265 //
4266 //               This reduces the number of interrupts to be serviced by the CPU
4267 //               when transferring a DMA chain of many small control blocks.
4268 #define DMA_CH9_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
4269 #define DMA_CH9_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
4270 #define DMA_CH9_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
4271 #define DMA_CH9_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
4272 #define DMA_CH9_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
4273 // -----------------------------------------------------------------------------
4274 // Field       : DMA_CH9_CTRL_TRIG_TREQ_SEL
4275 // Description : Select a Transfer Request signal.
4276 //               The channel uses the transfer request signal to pace its data
4277 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
4278 //               or external (DREQ, a Data Request from the system).
4279 //               0x0 to 0x3a -> select DREQ n as TREQ
4280 //               0x3b -> Select Timer 0 as TREQ
4281 //               0x3c -> Select Timer 1 as TREQ
4282 //               0x3d -> Select Timer 2 as TREQ (Optional)
4283 //               0x3e -> Select Timer 3 as TREQ (Optional)
4284 //               0x3f -> Permanent request, for unpaced transfers.
4285 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
4286 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
4287 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
4288 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
4289 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
4290 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
4291 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
4292 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
4293 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
4294 #define DMA_CH9_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
4295 // -----------------------------------------------------------------------------
4296 // Field       : DMA_CH9_CTRL_TRIG_CHAIN_TO
4297 // Description : When this channel completes, it will trigger the channel
4298 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
4299 //               channel)_.
4300 //
4301 //               Note this field resets to 0, so channels 1 and above will chain
4302 //               to channel 0 by default. Set this field to avoid this
4303 //               behaviour.
4304 #define DMA_CH9_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
4305 #define DMA_CH9_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
4306 #define DMA_CH9_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
4307 #define DMA_CH9_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
4308 #define DMA_CH9_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
4309 // -----------------------------------------------------------------------------
4310 // Field       : DMA_CH9_CTRL_TRIG_RING_SEL
4311 // Description : Select whether RING_SIZE applies to read or write addresses.
4312 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
4313 //               boundary. If 1, write addresses are wrapped.
4314 #define DMA_CH9_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
4315 #define DMA_CH9_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
4316 #define DMA_CH9_CTRL_TRIG_RING_SEL_MSB    _u(12)
4317 #define DMA_CH9_CTRL_TRIG_RING_SEL_LSB    _u(12)
4318 #define DMA_CH9_CTRL_TRIG_RING_SEL_ACCESS "RW"
4319 // -----------------------------------------------------------------------------
4320 // Field       : DMA_CH9_CTRL_TRIG_RING_SIZE
4321 // Description : Size of address wrap region. If 0, don't wrap. For values n >
4322 //               0, only the lower n bits of the address will change. This wraps
4323 //               the address on a (1 << n) byte boundary, facilitating access to
4324 //               naturally-aligned ring buffers.
4325 //
4326 //               Ring sizes between 2 and 32768 bytes are possible. This can
4327 //               apply to either read or write addresses, based on value of
4328 //               RING_SEL.
4329 //               0x0 -> RING_NONE
4330 #define DMA_CH9_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
4331 #define DMA_CH9_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
4332 #define DMA_CH9_CTRL_TRIG_RING_SIZE_MSB    _u(11)
4333 #define DMA_CH9_CTRL_TRIG_RING_SIZE_LSB    _u(8)
4334 #define DMA_CH9_CTRL_TRIG_RING_SIZE_ACCESS "RW"
4335 #define DMA_CH9_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
4336 // -----------------------------------------------------------------------------
4337 // Field       : DMA_CH9_CTRL_TRIG_INCR_WRITE_REV
4338 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
4339 //               rather than incremented with each transfer.
4340 //
4341 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
4342 //               causes the write address to be incremented by twice the
4343 //               transfer size, i.e. skipping over alternate addresses.
4344 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
4345 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
4346 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
4347 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
4348 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
4349 // -----------------------------------------------------------------------------
4350 // Field       : DMA_CH9_CTRL_TRIG_INCR_WRITE
4351 // Description : If 1, the write address increments with each transfer. If 0,
4352 //               each write is directed to the same, initial address.
4353 //
4354 //               Generally this should be disabled for memory-to-peripheral
4355 //               transfers.
4356 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
4357 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
4358 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
4359 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
4360 #define DMA_CH9_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
4361 // -----------------------------------------------------------------------------
4362 // Field       : DMA_CH9_CTRL_TRIG_INCR_READ_REV
4363 // Description : If 1, and INCR_READ is 1, the read address is decremented
4364 //               rather than incremented with each transfer.
4365 //
4366 //               If 1, and INCR_READ is 0, this otherwise-unused combination
4367 //               causes the read address to be incremented by twice the transfer
4368 //               size, i.e. skipping over alternate addresses.
4369 #define DMA_CH9_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
4370 #define DMA_CH9_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
4371 #define DMA_CH9_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
4372 #define DMA_CH9_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
4373 #define DMA_CH9_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
4374 // -----------------------------------------------------------------------------
4375 // Field       : DMA_CH9_CTRL_TRIG_INCR_READ
4376 // Description : If 1, the read address increments with each transfer. If 0,
4377 //               each read is directed to the same, initial address.
4378 //
4379 //               Generally this should be disabled for peripheral-to-memory
4380 //               transfers.
4381 #define DMA_CH9_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
4382 #define DMA_CH9_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
4383 #define DMA_CH9_CTRL_TRIG_INCR_READ_MSB    _u(4)
4384 #define DMA_CH9_CTRL_TRIG_INCR_READ_LSB    _u(4)
4385 #define DMA_CH9_CTRL_TRIG_INCR_READ_ACCESS "RW"
4386 // -----------------------------------------------------------------------------
4387 // Field       : DMA_CH9_CTRL_TRIG_DATA_SIZE
4388 // Description : Set the size of each bus transfer (byte/halfword/word).
4389 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
4390 //               with each transfer.
4391 //               0x0 -> SIZE_BYTE
4392 //               0x1 -> SIZE_HALFWORD
4393 //               0x2 -> SIZE_WORD
4394 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
4395 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
4396 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
4397 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
4398 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
4399 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
4400 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
4401 #define DMA_CH9_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
4402 // -----------------------------------------------------------------------------
4403 // Field       : DMA_CH9_CTRL_TRIG_HIGH_PRIORITY
4404 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
4405 //               scheduling: in each scheduling round, all high priority
4406 //               channels are considered first, and then only a single low
4407 //               priority channel, before returning to the high priority
4408 //               channels.
4409 //
4410 //               This only affects the order in which the DMA schedules
4411 //               channels. The DMA's bus priority is not changed. If the DMA is
4412 //               not saturated then a low priority channel will see no loss of
4413 //               throughput.
4414 #define DMA_CH9_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
4415 #define DMA_CH9_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
4416 #define DMA_CH9_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
4417 #define DMA_CH9_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
4418 #define DMA_CH9_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
4419 // -----------------------------------------------------------------------------
4420 // Field       : DMA_CH9_CTRL_TRIG_EN
4421 // Description : DMA Channel Enable.
4422 //               When 1, the channel will respond to triggering events, which
4423 //               will cause it to become BUSY and start transferring data. When
4424 //               0, the channel will ignore triggers, stop issuing transfers,
4425 //               and pause the current transfer sequence (i.e. BUSY will remain
4426 //               high if already high)
4427 #define DMA_CH9_CTRL_TRIG_EN_RESET  _u(0x0)
4428 #define DMA_CH9_CTRL_TRIG_EN_BITS   _u(0x00000001)
4429 #define DMA_CH9_CTRL_TRIG_EN_MSB    _u(0)
4430 #define DMA_CH9_CTRL_TRIG_EN_LSB    _u(0)
4431 #define DMA_CH9_CTRL_TRIG_EN_ACCESS "RW"
4432 // =============================================================================
4433 // Register    : DMA_CH9_AL1_CTRL
4434 // Description : Alias for channel 9 CTRL register
4435 #define DMA_CH9_AL1_CTRL_OFFSET _u(0x00000250)
4436 #define DMA_CH9_AL1_CTRL_BITS   _u(0xffffffff)
4437 #define DMA_CH9_AL1_CTRL_RESET  "-"
4438 #define DMA_CH9_AL1_CTRL_MSB    _u(31)
4439 #define DMA_CH9_AL1_CTRL_LSB    _u(0)
4440 #define DMA_CH9_AL1_CTRL_ACCESS "RW"
4441 // =============================================================================
4442 // Register    : DMA_CH9_AL1_READ_ADDR
4443 // Description : Alias for channel 9 READ_ADDR register
4444 #define DMA_CH9_AL1_READ_ADDR_OFFSET _u(0x00000254)
4445 #define DMA_CH9_AL1_READ_ADDR_BITS   _u(0xffffffff)
4446 #define DMA_CH9_AL1_READ_ADDR_RESET  "-"
4447 #define DMA_CH9_AL1_READ_ADDR_MSB    _u(31)
4448 #define DMA_CH9_AL1_READ_ADDR_LSB    _u(0)
4449 #define DMA_CH9_AL1_READ_ADDR_ACCESS "RW"
4450 // =============================================================================
4451 // Register    : DMA_CH9_AL1_WRITE_ADDR
4452 // Description : Alias for channel 9 WRITE_ADDR register
4453 #define DMA_CH9_AL1_WRITE_ADDR_OFFSET _u(0x00000258)
4454 #define DMA_CH9_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
4455 #define DMA_CH9_AL1_WRITE_ADDR_RESET  "-"
4456 #define DMA_CH9_AL1_WRITE_ADDR_MSB    _u(31)
4457 #define DMA_CH9_AL1_WRITE_ADDR_LSB    _u(0)
4458 #define DMA_CH9_AL1_WRITE_ADDR_ACCESS "RW"
4459 // =============================================================================
4460 // Register    : DMA_CH9_AL1_TRANS_COUNT_TRIG
4461 // Description : Alias for channel 9 TRANS_COUNT register
4462 //               This is a trigger register (0xc). Writing a nonzero value will
4463 //               reload the channel counter and start the channel.
4464 #define DMA_CH9_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000025c)
4465 #define DMA_CH9_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
4466 #define DMA_CH9_AL1_TRANS_COUNT_TRIG_RESET  "-"
4467 #define DMA_CH9_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
4468 #define DMA_CH9_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
4469 #define DMA_CH9_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
4470 // =============================================================================
4471 // Register    : DMA_CH9_AL2_CTRL
4472 // Description : Alias for channel 9 CTRL register
4473 #define DMA_CH9_AL2_CTRL_OFFSET _u(0x00000260)
4474 #define DMA_CH9_AL2_CTRL_BITS   _u(0xffffffff)
4475 #define DMA_CH9_AL2_CTRL_RESET  "-"
4476 #define DMA_CH9_AL2_CTRL_MSB    _u(31)
4477 #define DMA_CH9_AL2_CTRL_LSB    _u(0)
4478 #define DMA_CH9_AL2_CTRL_ACCESS "RW"
4479 // =============================================================================
4480 // Register    : DMA_CH9_AL2_TRANS_COUNT
4481 // Description : Alias for channel 9 TRANS_COUNT register
4482 #define DMA_CH9_AL2_TRANS_COUNT_OFFSET _u(0x00000264)
4483 #define DMA_CH9_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
4484 #define DMA_CH9_AL2_TRANS_COUNT_RESET  "-"
4485 #define DMA_CH9_AL2_TRANS_COUNT_MSB    _u(31)
4486 #define DMA_CH9_AL2_TRANS_COUNT_LSB    _u(0)
4487 #define DMA_CH9_AL2_TRANS_COUNT_ACCESS "RW"
4488 // =============================================================================
4489 // Register    : DMA_CH9_AL2_READ_ADDR
4490 // Description : Alias for channel 9 READ_ADDR register
4491 #define DMA_CH9_AL2_READ_ADDR_OFFSET _u(0x00000268)
4492 #define DMA_CH9_AL2_READ_ADDR_BITS   _u(0xffffffff)
4493 #define DMA_CH9_AL2_READ_ADDR_RESET  "-"
4494 #define DMA_CH9_AL2_READ_ADDR_MSB    _u(31)
4495 #define DMA_CH9_AL2_READ_ADDR_LSB    _u(0)
4496 #define DMA_CH9_AL2_READ_ADDR_ACCESS "RW"
4497 // =============================================================================
4498 // Register    : DMA_CH9_AL2_WRITE_ADDR_TRIG
4499 // Description : Alias for channel 9 WRITE_ADDR register
4500 //               This is a trigger register (0xc). Writing a nonzero value will
4501 //               reload the channel counter and start the channel.
4502 #define DMA_CH9_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000026c)
4503 #define DMA_CH9_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
4504 #define DMA_CH9_AL2_WRITE_ADDR_TRIG_RESET  "-"
4505 #define DMA_CH9_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
4506 #define DMA_CH9_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
4507 #define DMA_CH9_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
4508 // =============================================================================
4509 // Register    : DMA_CH9_AL3_CTRL
4510 // Description : Alias for channel 9 CTRL register
4511 #define DMA_CH9_AL3_CTRL_OFFSET _u(0x00000270)
4512 #define DMA_CH9_AL3_CTRL_BITS   _u(0xffffffff)
4513 #define DMA_CH9_AL3_CTRL_RESET  "-"
4514 #define DMA_CH9_AL3_CTRL_MSB    _u(31)
4515 #define DMA_CH9_AL3_CTRL_LSB    _u(0)
4516 #define DMA_CH9_AL3_CTRL_ACCESS "RW"
4517 // =============================================================================
4518 // Register    : DMA_CH9_AL3_WRITE_ADDR
4519 // Description : Alias for channel 9 WRITE_ADDR register
4520 #define DMA_CH9_AL3_WRITE_ADDR_OFFSET _u(0x00000274)
4521 #define DMA_CH9_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
4522 #define DMA_CH9_AL3_WRITE_ADDR_RESET  "-"
4523 #define DMA_CH9_AL3_WRITE_ADDR_MSB    _u(31)
4524 #define DMA_CH9_AL3_WRITE_ADDR_LSB    _u(0)
4525 #define DMA_CH9_AL3_WRITE_ADDR_ACCESS "RW"
4526 // =============================================================================
4527 // Register    : DMA_CH9_AL3_TRANS_COUNT
4528 // Description : Alias for channel 9 TRANS_COUNT register
4529 #define DMA_CH9_AL3_TRANS_COUNT_OFFSET _u(0x00000278)
4530 #define DMA_CH9_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
4531 #define DMA_CH9_AL3_TRANS_COUNT_RESET  "-"
4532 #define DMA_CH9_AL3_TRANS_COUNT_MSB    _u(31)
4533 #define DMA_CH9_AL3_TRANS_COUNT_LSB    _u(0)
4534 #define DMA_CH9_AL3_TRANS_COUNT_ACCESS "RW"
4535 // =============================================================================
4536 // Register    : DMA_CH9_AL3_READ_ADDR_TRIG
4537 // Description : Alias for channel 9 READ_ADDR register
4538 //               This is a trigger register (0xc). Writing a nonzero value will
4539 //               reload the channel counter and start the channel.
4540 #define DMA_CH9_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000027c)
4541 #define DMA_CH9_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
4542 #define DMA_CH9_AL3_READ_ADDR_TRIG_RESET  "-"
4543 #define DMA_CH9_AL3_READ_ADDR_TRIG_MSB    _u(31)
4544 #define DMA_CH9_AL3_READ_ADDR_TRIG_LSB    _u(0)
4545 #define DMA_CH9_AL3_READ_ADDR_TRIG_ACCESS "RW"
4546 // =============================================================================
4547 // Register    : DMA_CH10_READ_ADDR
4548 // Description : DMA Channel 10 Read Address pointer
4549 //               This register updates automatically each time a read completes.
4550 //               The current value is the next address to be read by this
4551 //               channel.
4552 #define DMA_CH10_READ_ADDR_OFFSET _u(0x00000280)
4553 #define DMA_CH10_READ_ADDR_BITS   _u(0xffffffff)
4554 #define DMA_CH10_READ_ADDR_RESET  _u(0x00000000)
4555 #define DMA_CH10_READ_ADDR_MSB    _u(31)
4556 #define DMA_CH10_READ_ADDR_LSB    _u(0)
4557 #define DMA_CH10_READ_ADDR_ACCESS "RW"
4558 // =============================================================================
4559 // Register    : DMA_CH10_WRITE_ADDR
4560 // Description : DMA Channel 10 Write Address pointer
4561 //               This register updates automatically each time a write
4562 //               completes. The current value is the next address to be written
4563 //               by this channel.
4564 #define DMA_CH10_WRITE_ADDR_OFFSET _u(0x00000284)
4565 #define DMA_CH10_WRITE_ADDR_BITS   _u(0xffffffff)
4566 #define DMA_CH10_WRITE_ADDR_RESET  _u(0x00000000)
4567 #define DMA_CH10_WRITE_ADDR_MSB    _u(31)
4568 #define DMA_CH10_WRITE_ADDR_LSB    _u(0)
4569 #define DMA_CH10_WRITE_ADDR_ACCESS "RW"
4570 // =============================================================================
4571 // Register    : DMA_CH10_TRANS_COUNT
4572 // Description : DMA Channel 10 Transfer Count
4573 #define DMA_CH10_TRANS_COUNT_OFFSET _u(0x00000288)
4574 #define DMA_CH10_TRANS_COUNT_BITS   _u(0xffffffff)
4575 #define DMA_CH10_TRANS_COUNT_RESET  _u(0x00000000)
4576 // -----------------------------------------------------------------------------
4577 // Field       : DMA_CH10_TRANS_COUNT_MODE
4578 // Description : When MODE is 0x0, the transfer count decrements with each
4579 //               transfer until 0, and then the channel triggers the next
4580 //               channel indicated by CTRL_CHAIN_TO.
4581 //
4582 //               When MODE is 0x1, the transfer count decrements with each
4583 //               transfer until 0, and then the channel re-triggers itself, in
4584 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
4585 //               useful for e.g. an endless ring-buffer DMA with periodic
4586 //               interrupts.
4587 //
4588 //               When MODE is 0xf, the transfer count does not decrement. The
4589 //               DMA channel performs an endless sequence of transfers, never
4590 //               triggering other channels or raising interrupts, until an ABORT
4591 //               is raised.
4592 //
4593 //               All other values are reserved.
4594 //               0x0 -> NORMAL
4595 //               0x1 -> TRIGGER_SELF
4596 //               0xf -> ENDLESS
4597 #define DMA_CH10_TRANS_COUNT_MODE_RESET  _u(0x0)
4598 #define DMA_CH10_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
4599 #define DMA_CH10_TRANS_COUNT_MODE_MSB    _u(31)
4600 #define DMA_CH10_TRANS_COUNT_MODE_LSB    _u(28)
4601 #define DMA_CH10_TRANS_COUNT_MODE_ACCESS "RW"
4602 #define DMA_CH10_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
4603 #define DMA_CH10_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
4604 #define DMA_CH10_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
4605 // -----------------------------------------------------------------------------
4606 // Field       : DMA_CH10_TRANS_COUNT_COUNT
4607 // Description : 28-bit transfer count (256 million transfers maximum).
4608 //
4609 //               Program the number of bus transfers a channel will perform
4610 //               before halting. Note that, if transfers are larger than one
4611 //               byte in size, this is not equal to the number of bytes
4612 //               transferred (see CTRL_DATA_SIZE).
4613 //
4614 //               When the channel is active, reading this register shows the
4615 //               number of transfers remaining, updating automatically each time
4616 //               a write transfer completes.
4617 //
4618 //               Writing this register sets the RELOAD value for the transfer
4619 //               counter. Each time this channel is triggered, the RELOAD value
4620 //               is copied into the live transfer counter. The channel can be
4621 //               started multiple times, and will perform the same number of
4622 //               transfers each time, as programmed by most recent write.
4623 //
4624 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
4625 //               is used as a trigger, the written value is used immediately as
4626 //               the length of the new transfer sequence, as well as being
4627 //               written to RELOAD.
4628 #define DMA_CH10_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
4629 #define DMA_CH10_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
4630 #define DMA_CH10_TRANS_COUNT_COUNT_MSB    _u(27)
4631 #define DMA_CH10_TRANS_COUNT_COUNT_LSB    _u(0)
4632 #define DMA_CH10_TRANS_COUNT_COUNT_ACCESS "RW"
4633 // =============================================================================
4634 // Register    : DMA_CH10_CTRL_TRIG
4635 // Description : DMA Channel 10 Control and Status
4636 #define DMA_CH10_CTRL_TRIG_OFFSET _u(0x0000028c)
4637 #define DMA_CH10_CTRL_TRIG_BITS   _u(0xe7ffffff)
4638 #define DMA_CH10_CTRL_TRIG_RESET  _u(0x00000000)
4639 // -----------------------------------------------------------------------------
4640 // Field       : DMA_CH10_CTRL_TRIG_AHB_ERROR
4641 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
4642 //               halts when it encounters any bus error, and always raises its
4643 //               channel IRQ flag.
4644 #define DMA_CH10_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
4645 #define DMA_CH10_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
4646 #define DMA_CH10_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
4647 #define DMA_CH10_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
4648 #define DMA_CH10_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
4649 // -----------------------------------------------------------------------------
4650 // Field       : DMA_CH10_CTRL_TRIG_READ_ERROR
4651 // Description : If 1, the channel received a read bus error. Write one to
4652 //               clear.
4653 //               READ_ADDR shows the approximate address where the bus error was
4654 //               encountered (will not be earlier, or more than 3 transfers
4655 //               later)
4656 #define DMA_CH10_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
4657 #define DMA_CH10_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
4658 #define DMA_CH10_CTRL_TRIG_READ_ERROR_MSB    _u(30)
4659 #define DMA_CH10_CTRL_TRIG_READ_ERROR_LSB    _u(30)
4660 #define DMA_CH10_CTRL_TRIG_READ_ERROR_ACCESS "WC"
4661 // -----------------------------------------------------------------------------
4662 // Field       : DMA_CH10_CTRL_TRIG_WRITE_ERROR
4663 // Description : If 1, the channel received a write bus error. Write one to
4664 //               clear.
4665 //               WRITE_ADDR shows the approximate address where the bus error
4666 //               was encountered (will not be earlier, or more than 5 transfers
4667 //               later)
4668 #define DMA_CH10_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
4669 #define DMA_CH10_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
4670 #define DMA_CH10_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
4671 #define DMA_CH10_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
4672 #define DMA_CH10_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
4673 // -----------------------------------------------------------------------------
4674 // Field       : DMA_CH10_CTRL_TRIG_BUSY
4675 // Description : This flag goes high when the channel starts a new transfer
4676 //               sequence, and low when the last transfer of that sequence
4677 //               completes. Clearing EN while BUSY is high pauses the channel,
4678 //               and BUSY will stay high while paused.
4679 //
4680 //               To terminate a sequence early (and clear the BUSY flag), see
4681 //               CHAN_ABORT.
4682 #define DMA_CH10_CTRL_TRIG_BUSY_RESET  _u(0x0)
4683 #define DMA_CH10_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
4684 #define DMA_CH10_CTRL_TRIG_BUSY_MSB    _u(26)
4685 #define DMA_CH10_CTRL_TRIG_BUSY_LSB    _u(26)
4686 #define DMA_CH10_CTRL_TRIG_BUSY_ACCESS "RO"
4687 // -----------------------------------------------------------------------------
4688 // Field       : DMA_CH10_CTRL_TRIG_SNIFF_EN
4689 // Description : If 1, this channel's data transfers are visible to the sniff
4690 //               hardware, and each transfer will advance the state of the
4691 //               checksum. This only applies if the sniff hardware is enabled,
4692 //               and has this channel selected.
4693 //
4694 //               This allows checksum to be enabled or disabled on a per-
4695 //               control- block basis.
4696 #define DMA_CH10_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
4697 #define DMA_CH10_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
4698 #define DMA_CH10_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
4699 #define DMA_CH10_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
4700 #define DMA_CH10_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
4701 // -----------------------------------------------------------------------------
4702 // Field       : DMA_CH10_CTRL_TRIG_BSWAP
4703 // Description : Apply byte-swap transformation to DMA data.
4704 //               For byte data, this has no effect. For halfword data, the two
4705 //               bytes of each halfword are swapped. For word data, the four
4706 //               bytes of each word are swapped to reverse order.
4707 #define DMA_CH10_CTRL_TRIG_BSWAP_RESET  _u(0x0)
4708 #define DMA_CH10_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
4709 #define DMA_CH10_CTRL_TRIG_BSWAP_MSB    _u(24)
4710 #define DMA_CH10_CTRL_TRIG_BSWAP_LSB    _u(24)
4711 #define DMA_CH10_CTRL_TRIG_BSWAP_ACCESS "RW"
4712 // -----------------------------------------------------------------------------
4713 // Field       : DMA_CH10_CTRL_TRIG_IRQ_QUIET
4714 // Description : In QUIET mode, the channel does not generate IRQs at the end of
4715 //               every transfer block. Instead, an IRQ is raised when NULL is
4716 //               written to a trigger register, indicating the end of a control
4717 //               block chain.
4718 //
4719 //               This reduces the number of interrupts to be serviced by the CPU
4720 //               when transferring a DMA chain of many small control blocks.
4721 #define DMA_CH10_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
4722 #define DMA_CH10_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
4723 #define DMA_CH10_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
4724 #define DMA_CH10_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
4725 #define DMA_CH10_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
4726 // -----------------------------------------------------------------------------
4727 // Field       : DMA_CH10_CTRL_TRIG_TREQ_SEL
4728 // Description : Select a Transfer Request signal.
4729 //               The channel uses the transfer request signal to pace its data
4730 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
4731 //               or external (DREQ, a Data Request from the system).
4732 //               0x0 to 0x3a -> select DREQ n as TREQ
4733 //               0x3b -> Select Timer 0 as TREQ
4734 //               0x3c -> Select Timer 1 as TREQ
4735 //               0x3d -> Select Timer 2 as TREQ (Optional)
4736 //               0x3e -> Select Timer 3 as TREQ (Optional)
4737 //               0x3f -> Permanent request, for unpaced transfers.
4738 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
4739 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
4740 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
4741 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
4742 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
4743 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
4744 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
4745 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
4746 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
4747 #define DMA_CH10_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
4748 // -----------------------------------------------------------------------------
4749 // Field       : DMA_CH10_CTRL_TRIG_CHAIN_TO
4750 // Description : When this channel completes, it will trigger the channel
4751 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
4752 //               channel)_.
4753 //
4754 //               Note this field resets to 0, so channels 1 and above will chain
4755 //               to channel 0 by default. Set this field to avoid this
4756 //               behaviour.
4757 #define DMA_CH10_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
4758 #define DMA_CH10_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
4759 #define DMA_CH10_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
4760 #define DMA_CH10_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
4761 #define DMA_CH10_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
4762 // -----------------------------------------------------------------------------
4763 // Field       : DMA_CH10_CTRL_TRIG_RING_SEL
4764 // Description : Select whether RING_SIZE applies to read or write addresses.
4765 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
4766 //               boundary. If 1, write addresses are wrapped.
4767 #define DMA_CH10_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
4768 #define DMA_CH10_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
4769 #define DMA_CH10_CTRL_TRIG_RING_SEL_MSB    _u(12)
4770 #define DMA_CH10_CTRL_TRIG_RING_SEL_LSB    _u(12)
4771 #define DMA_CH10_CTRL_TRIG_RING_SEL_ACCESS "RW"
4772 // -----------------------------------------------------------------------------
4773 // Field       : DMA_CH10_CTRL_TRIG_RING_SIZE
4774 // Description : Size of address wrap region. If 0, don't wrap. For values n >
4775 //               0, only the lower n bits of the address will change. This wraps
4776 //               the address on a (1 << n) byte boundary, facilitating access to
4777 //               naturally-aligned ring buffers.
4778 //
4779 //               Ring sizes between 2 and 32768 bytes are possible. This can
4780 //               apply to either read or write addresses, based on value of
4781 //               RING_SEL.
4782 //               0x0 -> RING_NONE
4783 #define DMA_CH10_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
4784 #define DMA_CH10_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
4785 #define DMA_CH10_CTRL_TRIG_RING_SIZE_MSB    _u(11)
4786 #define DMA_CH10_CTRL_TRIG_RING_SIZE_LSB    _u(8)
4787 #define DMA_CH10_CTRL_TRIG_RING_SIZE_ACCESS "RW"
4788 #define DMA_CH10_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
4789 // -----------------------------------------------------------------------------
4790 // Field       : DMA_CH10_CTRL_TRIG_INCR_WRITE_REV
4791 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
4792 //               rather than incremented with each transfer.
4793 //
4794 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
4795 //               causes the write address to be incremented by twice the
4796 //               transfer size, i.e. skipping over alternate addresses.
4797 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
4798 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
4799 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
4800 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
4801 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
4802 // -----------------------------------------------------------------------------
4803 // Field       : DMA_CH10_CTRL_TRIG_INCR_WRITE
4804 // Description : If 1, the write address increments with each transfer. If 0,
4805 //               each write is directed to the same, initial address.
4806 //
4807 //               Generally this should be disabled for memory-to-peripheral
4808 //               transfers.
4809 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
4810 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
4811 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
4812 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
4813 #define DMA_CH10_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
4814 // -----------------------------------------------------------------------------
4815 // Field       : DMA_CH10_CTRL_TRIG_INCR_READ_REV
4816 // Description : If 1, and INCR_READ is 1, the read address is decremented
4817 //               rather than incremented with each transfer.
4818 //
4819 //               If 1, and INCR_READ is 0, this otherwise-unused combination
4820 //               causes the read address to be incremented by twice the transfer
4821 //               size, i.e. skipping over alternate addresses.
4822 #define DMA_CH10_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
4823 #define DMA_CH10_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
4824 #define DMA_CH10_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
4825 #define DMA_CH10_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
4826 #define DMA_CH10_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
4827 // -----------------------------------------------------------------------------
4828 // Field       : DMA_CH10_CTRL_TRIG_INCR_READ
4829 // Description : If 1, the read address increments with each transfer. If 0,
4830 //               each read is directed to the same, initial address.
4831 //
4832 //               Generally this should be disabled for peripheral-to-memory
4833 //               transfers.
4834 #define DMA_CH10_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
4835 #define DMA_CH10_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
4836 #define DMA_CH10_CTRL_TRIG_INCR_READ_MSB    _u(4)
4837 #define DMA_CH10_CTRL_TRIG_INCR_READ_LSB    _u(4)
4838 #define DMA_CH10_CTRL_TRIG_INCR_READ_ACCESS "RW"
4839 // -----------------------------------------------------------------------------
4840 // Field       : DMA_CH10_CTRL_TRIG_DATA_SIZE
4841 // Description : Set the size of each bus transfer (byte/halfword/word).
4842 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
4843 //               with each transfer.
4844 //               0x0 -> SIZE_BYTE
4845 //               0x1 -> SIZE_HALFWORD
4846 //               0x2 -> SIZE_WORD
4847 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
4848 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
4849 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
4850 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
4851 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
4852 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
4853 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
4854 #define DMA_CH10_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
4855 // -----------------------------------------------------------------------------
4856 // Field       : DMA_CH10_CTRL_TRIG_HIGH_PRIORITY
4857 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
4858 //               scheduling: in each scheduling round, all high priority
4859 //               channels are considered first, and then only a single low
4860 //               priority channel, before returning to the high priority
4861 //               channels.
4862 //
4863 //               This only affects the order in which the DMA schedules
4864 //               channels. The DMA's bus priority is not changed. If the DMA is
4865 //               not saturated then a low priority channel will see no loss of
4866 //               throughput.
4867 #define DMA_CH10_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
4868 #define DMA_CH10_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
4869 #define DMA_CH10_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
4870 #define DMA_CH10_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
4871 #define DMA_CH10_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
4872 // -----------------------------------------------------------------------------
4873 // Field       : DMA_CH10_CTRL_TRIG_EN
4874 // Description : DMA Channel Enable.
4875 //               When 1, the channel will respond to triggering events, which
4876 //               will cause it to become BUSY and start transferring data. When
4877 //               0, the channel will ignore triggers, stop issuing transfers,
4878 //               and pause the current transfer sequence (i.e. BUSY will remain
4879 //               high if already high)
4880 #define DMA_CH10_CTRL_TRIG_EN_RESET  _u(0x0)
4881 #define DMA_CH10_CTRL_TRIG_EN_BITS   _u(0x00000001)
4882 #define DMA_CH10_CTRL_TRIG_EN_MSB    _u(0)
4883 #define DMA_CH10_CTRL_TRIG_EN_LSB    _u(0)
4884 #define DMA_CH10_CTRL_TRIG_EN_ACCESS "RW"
4885 // =============================================================================
4886 // Register    : DMA_CH10_AL1_CTRL
4887 // Description : Alias for channel 10 CTRL register
4888 #define DMA_CH10_AL1_CTRL_OFFSET _u(0x00000290)
4889 #define DMA_CH10_AL1_CTRL_BITS   _u(0xffffffff)
4890 #define DMA_CH10_AL1_CTRL_RESET  "-"
4891 #define DMA_CH10_AL1_CTRL_MSB    _u(31)
4892 #define DMA_CH10_AL1_CTRL_LSB    _u(0)
4893 #define DMA_CH10_AL1_CTRL_ACCESS "RW"
4894 // =============================================================================
4895 // Register    : DMA_CH10_AL1_READ_ADDR
4896 // Description : Alias for channel 10 READ_ADDR register
4897 #define DMA_CH10_AL1_READ_ADDR_OFFSET _u(0x00000294)
4898 #define DMA_CH10_AL1_READ_ADDR_BITS   _u(0xffffffff)
4899 #define DMA_CH10_AL1_READ_ADDR_RESET  "-"
4900 #define DMA_CH10_AL1_READ_ADDR_MSB    _u(31)
4901 #define DMA_CH10_AL1_READ_ADDR_LSB    _u(0)
4902 #define DMA_CH10_AL1_READ_ADDR_ACCESS "RW"
4903 // =============================================================================
4904 // Register    : DMA_CH10_AL1_WRITE_ADDR
4905 // Description : Alias for channel 10 WRITE_ADDR register
4906 #define DMA_CH10_AL1_WRITE_ADDR_OFFSET _u(0x00000298)
4907 #define DMA_CH10_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
4908 #define DMA_CH10_AL1_WRITE_ADDR_RESET  "-"
4909 #define DMA_CH10_AL1_WRITE_ADDR_MSB    _u(31)
4910 #define DMA_CH10_AL1_WRITE_ADDR_LSB    _u(0)
4911 #define DMA_CH10_AL1_WRITE_ADDR_ACCESS "RW"
4912 // =============================================================================
4913 // Register    : DMA_CH10_AL1_TRANS_COUNT_TRIG
4914 // Description : Alias for channel 10 TRANS_COUNT register
4915 //               This is a trigger register (0xc). Writing a nonzero value will
4916 //               reload the channel counter and start the channel.
4917 #define DMA_CH10_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000029c)
4918 #define DMA_CH10_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
4919 #define DMA_CH10_AL1_TRANS_COUNT_TRIG_RESET  "-"
4920 #define DMA_CH10_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
4921 #define DMA_CH10_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
4922 #define DMA_CH10_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
4923 // =============================================================================
4924 // Register    : DMA_CH10_AL2_CTRL
4925 // Description : Alias for channel 10 CTRL register
4926 #define DMA_CH10_AL2_CTRL_OFFSET _u(0x000002a0)
4927 #define DMA_CH10_AL2_CTRL_BITS   _u(0xffffffff)
4928 #define DMA_CH10_AL2_CTRL_RESET  "-"
4929 #define DMA_CH10_AL2_CTRL_MSB    _u(31)
4930 #define DMA_CH10_AL2_CTRL_LSB    _u(0)
4931 #define DMA_CH10_AL2_CTRL_ACCESS "RW"
4932 // =============================================================================
4933 // Register    : DMA_CH10_AL2_TRANS_COUNT
4934 // Description : Alias for channel 10 TRANS_COUNT register
4935 #define DMA_CH10_AL2_TRANS_COUNT_OFFSET _u(0x000002a4)
4936 #define DMA_CH10_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
4937 #define DMA_CH10_AL2_TRANS_COUNT_RESET  "-"
4938 #define DMA_CH10_AL2_TRANS_COUNT_MSB    _u(31)
4939 #define DMA_CH10_AL2_TRANS_COUNT_LSB    _u(0)
4940 #define DMA_CH10_AL2_TRANS_COUNT_ACCESS "RW"
4941 // =============================================================================
4942 // Register    : DMA_CH10_AL2_READ_ADDR
4943 // Description : Alias for channel 10 READ_ADDR register
4944 #define DMA_CH10_AL2_READ_ADDR_OFFSET _u(0x000002a8)
4945 #define DMA_CH10_AL2_READ_ADDR_BITS   _u(0xffffffff)
4946 #define DMA_CH10_AL2_READ_ADDR_RESET  "-"
4947 #define DMA_CH10_AL2_READ_ADDR_MSB    _u(31)
4948 #define DMA_CH10_AL2_READ_ADDR_LSB    _u(0)
4949 #define DMA_CH10_AL2_READ_ADDR_ACCESS "RW"
4950 // =============================================================================
4951 // Register    : DMA_CH10_AL2_WRITE_ADDR_TRIG
4952 // Description : Alias for channel 10 WRITE_ADDR register
4953 //               This is a trigger register (0xc). Writing a nonzero value will
4954 //               reload the channel counter and start the channel.
4955 #define DMA_CH10_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000002ac)
4956 #define DMA_CH10_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
4957 #define DMA_CH10_AL2_WRITE_ADDR_TRIG_RESET  "-"
4958 #define DMA_CH10_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
4959 #define DMA_CH10_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
4960 #define DMA_CH10_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
4961 // =============================================================================
4962 // Register    : DMA_CH10_AL3_CTRL
4963 // Description : Alias for channel 10 CTRL register
4964 #define DMA_CH10_AL3_CTRL_OFFSET _u(0x000002b0)
4965 #define DMA_CH10_AL3_CTRL_BITS   _u(0xffffffff)
4966 #define DMA_CH10_AL3_CTRL_RESET  "-"
4967 #define DMA_CH10_AL3_CTRL_MSB    _u(31)
4968 #define DMA_CH10_AL3_CTRL_LSB    _u(0)
4969 #define DMA_CH10_AL3_CTRL_ACCESS "RW"
4970 // =============================================================================
4971 // Register    : DMA_CH10_AL3_WRITE_ADDR
4972 // Description : Alias for channel 10 WRITE_ADDR register
4973 #define DMA_CH10_AL3_WRITE_ADDR_OFFSET _u(0x000002b4)
4974 #define DMA_CH10_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
4975 #define DMA_CH10_AL3_WRITE_ADDR_RESET  "-"
4976 #define DMA_CH10_AL3_WRITE_ADDR_MSB    _u(31)
4977 #define DMA_CH10_AL3_WRITE_ADDR_LSB    _u(0)
4978 #define DMA_CH10_AL3_WRITE_ADDR_ACCESS "RW"
4979 // =============================================================================
4980 // Register    : DMA_CH10_AL3_TRANS_COUNT
4981 // Description : Alias for channel 10 TRANS_COUNT register
4982 #define DMA_CH10_AL3_TRANS_COUNT_OFFSET _u(0x000002b8)
4983 #define DMA_CH10_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
4984 #define DMA_CH10_AL3_TRANS_COUNT_RESET  "-"
4985 #define DMA_CH10_AL3_TRANS_COUNT_MSB    _u(31)
4986 #define DMA_CH10_AL3_TRANS_COUNT_LSB    _u(0)
4987 #define DMA_CH10_AL3_TRANS_COUNT_ACCESS "RW"
4988 // =============================================================================
4989 // Register    : DMA_CH10_AL3_READ_ADDR_TRIG
4990 // Description : Alias for channel 10 READ_ADDR register
4991 //               This is a trigger register (0xc). Writing a nonzero value will
4992 //               reload the channel counter and start the channel.
4993 #define DMA_CH10_AL3_READ_ADDR_TRIG_OFFSET _u(0x000002bc)
4994 #define DMA_CH10_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
4995 #define DMA_CH10_AL3_READ_ADDR_TRIG_RESET  "-"
4996 #define DMA_CH10_AL3_READ_ADDR_TRIG_MSB    _u(31)
4997 #define DMA_CH10_AL3_READ_ADDR_TRIG_LSB    _u(0)
4998 #define DMA_CH10_AL3_READ_ADDR_TRIG_ACCESS "RW"
4999 // =============================================================================
5000 // Register    : DMA_CH11_READ_ADDR
5001 // Description : DMA Channel 11 Read Address pointer
5002 //               This register updates automatically each time a read completes.
5003 //               The current value is the next address to be read by this
5004 //               channel.
5005 #define DMA_CH11_READ_ADDR_OFFSET _u(0x000002c0)
5006 #define DMA_CH11_READ_ADDR_BITS   _u(0xffffffff)
5007 #define DMA_CH11_READ_ADDR_RESET  _u(0x00000000)
5008 #define DMA_CH11_READ_ADDR_MSB    _u(31)
5009 #define DMA_CH11_READ_ADDR_LSB    _u(0)
5010 #define DMA_CH11_READ_ADDR_ACCESS "RW"
5011 // =============================================================================
5012 // Register    : DMA_CH11_WRITE_ADDR
5013 // Description : DMA Channel 11 Write Address pointer
5014 //               This register updates automatically each time a write
5015 //               completes. The current value is the next address to be written
5016 //               by this channel.
5017 #define DMA_CH11_WRITE_ADDR_OFFSET _u(0x000002c4)
5018 #define DMA_CH11_WRITE_ADDR_BITS   _u(0xffffffff)
5019 #define DMA_CH11_WRITE_ADDR_RESET  _u(0x00000000)
5020 #define DMA_CH11_WRITE_ADDR_MSB    _u(31)
5021 #define DMA_CH11_WRITE_ADDR_LSB    _u(0)
5022 #define DMA_CH11_WRITE_ADDR_ACCESS "RW"
5023 // =============================================================================
5024 // Register    : DMA_CH11_TRANS_COUNT
5025 // Description : DMA Channel 11 Transfer Count
5026 #define DMA_CH11_TRANS_COUNT_OFFSET _u(0x000002c8)
5027 #define DMA_CH11_TRANS_COUNT_BITS   _u(0xffffffff)
5028 #define DMA_CH11_TRANS_COUNT_RESET  _u(0x00000000)
5029 // -----------------------------------------------------------------------------
5030 // Field       : DMA_CH11_TRANS_COUNT_MODE
5031 // Description : When MODE is 0x0, the transfer count decrements with each
5032 //               transfer until 0, and then the channel triggers the next
5033 //               channel indicated by CTRL_CHAIN_TO.
5034 //
5035 //               When MODE is 0x1, the transfer count decrements with each
5036 //               transfer until 0, and then the channel re-triggers itself, in
5037 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
5038 //               useful for e.g. an endless ring-buffer DMA with periodic
5039 //               interrupts.
5040 //
5041 //               When MODE is 0xf, the transfer count does not decrement. The
5042 //               DMA channel performs an endless sequence of transfers, never
5043 //               triggering other channels or raising interrupts, until an ABORT
5044 //               is raised.
5045 //
5046 //               All other values are reserved.
5047 //               0x0 -> NORMAL
5048 //               0x1 -> TRIGGER_SELF
5049 //               0xf -> ENDLESS
5050 #define DMA_CH11_TRANS_COUNT_MODE_RESET  _u(0x0)
5051 #define DMA_CH11_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
5052 #define DMA_CH11_TRANS_COUNT_MODE_MSB    _u(31)
5053 #define DMA_CH11_TRANS_COUNT_MODE_LSB    _u(28)
5054 #define DMA_CH11_TRANS_COUNT_MODE_ACCESS "RW"
5055 #define DMA_CH11_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
5056 #define DMA_CH11_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
5057 #define DMA_CH11_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
5058 // -----------------------------------------------------------------------------
5059 // Field       : DMA_CH11_TRANS_COUNT_COUNT
5060 // Description : 28-bit transfer count (256 million transfers maximum).
5061 //
5062 //               Program the number of bus transfers a channel will perform
5063 //               before halting. Note that, if transfers are larger than one
5064 //               byte in size, this is not equal to the number of bytes
5065 //               transferred (see CTRL_DATA_SIZE).
5066 //
5067 //               When the channel is active, reading this register shows the
5068 //               number of transfers remaining, updating automatically each time
5069 //               a write transfer completes.
5070 //
5071 //               Writing this register sets the RELOAD value for the transfer
5072 //               counter. Each time this channel is triggered, the RELOAD value
5073 //               is copied into the live transfer counter. The channel can be
5074 //               started multiple times, and will perform the same number of
5075 //               transfers each time, as programmed by most recent write.
5076 //
5077 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
5078 //               is used as a trigger, the written value is used immediately as
5079 //               the length of the new transfer sequence, as well as being
5080 //               written to RELOAD.
5081 #define DMA_CH11_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
5082 #define DMA_CH11_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
5083 #define DMA_CH11_TRANS_COUNT_COUNT_MSB    _u(27)
5084 #define DMA_CH11_TRANS_COUNT_COUNT_LSB    _u(0)
5085 #define DMA_CH11_TRANS_COUNT_COUNT_ACCESS "RW"
5086 // =============================================================================
5087 // Register    : DMA_CH11_CTRL_TRIG
5088 // Description : DMA Channel 11 Control and Status
5089 #define DMA_CH11_CTRL_TRIG_OFFSET _u(0x000002cc)
5090 #define DMA_CH11_CTRL_TRIG_BITS   _u(0xe7ffffff)
5091 #define DMA_CH11_CTRL_TRIG_RESET  _u(0x00000000)
5092 // -----------------------------------------------------------------------------
5093 // Field       : DMA_CH11_CTRL_TRIG_AHB_ERROR
5094 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
5095 //               halts when it encounters any bus error, and always raises its
5096 //               channel IRQ flag.
5097 #define DMA_CH11_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
5098 #define DMA_CH11_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
5099 #define DMA_CH11_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
5100 #define DMA_CH11_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
5101 #define DMA_CH11_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
5102 // -----------------------------------------------------------------------------
5103 // Field       : DMA_CH11_CTRL_TRIG_READ_ERROR
5104 // Description : If 1, the channel received a read bus error. Write one to
5105 //               clear.
5106 //               READ_ADDR shows the approximate address where the bus error was
5107 //               encountered (will not be earlier, or more than 3 transfers
5108 //               later)
5109 #define DMA_CH11_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
5110 #define DMA_CH11_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
5111 #define DMA_CH11_CTRL_TRIG_READ_ERROR_MSB    _u(30)
5112 #define DMA_CH11_CTRL_TRIG_READ_ERROR_LSB    _u(30)
5113 #define DMA_CH11_CTRL_TRIG_READ_ERROR_ACCESS "WC"
5114 // -----------------------------------------------------------------------------
5115 // Field       : DMA_CH11_CTRL_TRIG_WRITE_ERROR
5116 // Description : If 1, the channel received a write bus error. Write one to
5117 //               clear.
5118 //               WRITE_ADDR shows the approximate address where the bus error
5119 //               was encountered (will not be earlier, or more than 5 transfers
5120 //               later)
5121 #define DMA_CH11_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
5122 #define DMA_CH11_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
5123 #define DMA_CH11_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
5124 #define DMA_CH11_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
5125 #define DMA_CH11_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
5126 // -----------------------------------------------------------------------------
5127 // Field       : DMA_CH11_CTRL_TRIG_BUSY
5128 // Description : This flag goes high when the channel starts a new transfer
5129 //               sequence, and low when the last transfer of that sequence
5130 //               completes. Clearing EN while BUSY is high pauses the channel,
5131 //               and BUSY will stay high while paused.
5132 //
5133 //               To terminate a sequence early (and clear the BUSY flag), see
5134 //               CHAN_ABORT.
5135 #define DMA_CH11_CTRL_TRIG_BUSY_RESET  _u(0x0)
5136 #define DMA_CH11_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
5137 #define DMA_CH11_CTRL_TRIG_BUSY_MSB    _u(26)
5138 #define DMA_CH11_CTRL_TRIG_BUSY_LSB    _u(26)
5139 #define DMA_CH11_CTRL_TRIG_BUSY_ACCESS "RO"
5140 // -----------------------------------------------------------------------------
5141 // Field       : DMA_CH11_CTRL_TRIG_SNIFF_EN
5142 // Description : If 1, this channel's data transfers are visible to the sniff
5143 //               hardware, and each transfer will advance the state of the
5144 //               checksum. This only applies if the sniff hardware is enabled,
5145 //               and has this channel selected.
5146 //
5147 //               This allows checksum to be enabled or disabled on a per-
5148 //               control- block basis.
5149 #define DMA_CH11_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
5150 #define DMA_CH11_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
5151 #define DMA_CH11_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
5152 #define DMA_CH11_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
5153 #define DMA_CH11_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
5154 // -----------------------------------------------------------------------------
5155 // Field       : DMA_CH11_CTRL_TRIG_BSWAP
5156 // Description : Apply byte-swap transformation to DMA data.
5157 //               For byte data, this has no effect. For halfword data, the two
5158 //               bytes of each halfword are swapped. For word data, the four
5159 //               bytes of each word are swapped to reverse order.
5160 #define DMA_CH11_CTRL_TRIG_BSWAP_RESET  _u(0x0)
5161 #define DMA_CH11_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
5162 #define DMA_CH11_CTRL_TRIG_BSWAP_MSB    _u(24)
5163 #define DMA_CH11_CTRL_TRIG_BSWAP_LSB    _u(24)
5164 #define DMA_CH11_CTRL_TRIG_BSWAP_ACCESS "RW"
5165 // -----------------------------------------------------------------------------
5166 // Field       : DMA_CH11_CTRL_TRIG_IRQ_QUIET
5167 // Description : In QUIET mode, the channel does not generate IRQs at the end of
5168 //               every transfer block. Instead, an IRQ is raised when NULL is
5169 //               written to a trigger register, indicating the end of a control
5170 //               block chain.
5171 //
5172 //               This reduces the number of interrupts to be serviced by the CPU
5173 //               when transferring a DMA chain of many small control blocks.
5174 #define DMA_CH11_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
5175 #define DMA_CH11_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
5176 #define DMA_CH11_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
5177 #define DMA_CH11_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
5178 #define DMA_CH11_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
5179 // -----------------------------------------------------------------------------
5180 // Field       : DMA_CH11_CTRL_TRIG_TREQ_SEL
5181 // Description : Select a Transfer Request signal.
5182 //               The channel uses the transfer request signal to pace its data
5183 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
5184 //               or external (DREQ, a Data Request from the system).
5185 //               0x0 to 0x3a -> select DREQ n as TREQ
5186 //               0x3b -> Select Timer 0 as TREQ
5187 //               0x3c -> Select Timer 1 as TREQ
5188 //               0x3d -> Select Timer 2 as TREQ (Optional)
5189 //               0x3e -> Select Timer 3 as TREQ (Optional)
5190 //               0x3f -> Permanent request, for unpaced transfers.
5191 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
5192 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
5193 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
5194 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
5195 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
5196 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
5197 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
5198 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
5199 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
5200 #define DMA_CH11_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
5201 // -----------------------------------------------------------------------------
5202 // Field       : DMA_CH11_CTRL_TRIG_CHAIN_TO
5203 // Description : When this channel completes, it will trigger the channel
5204 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
5205 //               channel)_.
5206 //
5207 //               Note this field resets to 0, so channels 1 and above will chain
5208 //               to channel 0 by default. Set this field to avoid this
5209 //               behaviour.
5210 #define DMA_CH11_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
5211 #define DMA_CH11_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
5212 #define DMA_CH11_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
5213 #define DMA_CH11_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
5214 #define DMA_CH11_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
5215 // -----------------------------------------------------------------------------
5216 // Field       : DMA_CH11_CTRL_TRIG_RING_SEL
5217 // Description : Select whether RING_SIZE applies to read or write addresses.
5218 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
5219 //               boundary. If 1, write addresses are wrapped.
5220 #define DMA_CH11_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
5221 #define DMA_CH11_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
5222 #define DMA_CH11_CTRL_TRIG_RING_SEL_MSB    _u(12)
5223 #define DMA_CH11_CTRL_TRIG_RING_SEL_LSB    _u(12)
5224 #define DMA_CH11_CTRL_TRIG_RING_SEL_ACCESS "RW"
5225 // -----------------------------------------------------------------------------
5226 // Field       : DMA_CH11_CTRL_TRIG_RING_SIZE
5227 // Description : Size of address wrap region. If 0, don't wrap. For values n >
5228 //               0, only the lower n bits of the address will change. This wraps
5229 //               the address on a (1 << n) byte boundary, facilitating access to
5230 //               naturally-aligned ring buffers.
5231 //
5232 //               Ring sizes between 2 and 32768 bytes are possible. This can
5233 //               apply to either read or write addresses, based on value of
5234 //               RING_SEL.
5235 //               0x0 -> RING_NONE
5236 #define DMA_CH11_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
5237 #define DMA_CH11_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
5238 #define DMA_CH11_CTRL_TRIG_RING_SIZE_MSB    _u(11)
5239 #define DMA_CH11_CTRL_TRIG_RING_SIZE_LSB    _u(8)
5240 #define DMA_CH11_CTRL_TRIG_RING_SIZE_ACCESS "RW"
5241 #define DMA_CH11_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
5242 // -----------------------------------------------------------------------------
5243 // Field       : DMA_CH11_CTRL_TRIG_INCR_WRITE_REV
5244 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
5245 //               rather than incremented with each transfer.
5246 //
5247 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
5248 //               causes the write address to be incremented by twice the
5249 //               transfer size, i.e. skipping over alternate addresses.
5250 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
5251 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
5252 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
5253 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
5254 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
5255 // -----------------------------------------------------------------------------
5256 // Field       : DMA_CH11_CTRL_TRIG_INCR_WRITE
5257 // Description : If 1, the write address increments with each transfer. If 0,
5258 //               each write is directed to the same, initial address.
5259 //
5260 //               Generally this should be disabled for memory-to-peripheral
5261 //               transfers.
5262 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
5263 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
5264 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
5265 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
5266 #define DMA_CH11_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
5267 // -----------------------------------------------------------------------------
5268 // Field       : DMA_CH11_CTRL_TRIG_INCR_READ_REV
5269 // Description : If 1, and INCR_READ is 1, the read address is decremented
5270 //               rather than incremented with each transfer.
5271 //
5272 //               If 1, and INCR_READ is 0, this otherwise-unused combination
5273 //               causes the read address to be incremented by twice the transfer
5274 //               size, i.e. skipping over alternate addresses.
5275 #define DMA_CH11_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
5276 #define DMA_CH11_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
5277 #define DMA_CH11_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
5278 #define DMA_CH11_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
5279 #define DMA_CH11_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
5280 // -----------------------------------------------------------------------------
5281 // Field       : DMA_CH11_CTRL_TRIG_INCR_READ
5282 // Description : If 1, the read address increments with each transfer. If 0,
5283 //               each read is directed to the same, initial address.
5284 //
5285 //               Generally this should be disabled for peripheral-to-memory
5286 //               transfers.
5287 #define DMA_CH11_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
5288 #define DMA_CH11_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
5289 #define DMA_CH11_CTRL_TRIG_INCR_READ_MSB    _u(4)
5290 #define DMA_CH11_CTRL_TRIG_INCR_READ_LSB    _u(4)
5291 #define DMA_CH11_CTRL_TRIG_INCR_READ_ACCESS "RW"
5292 // -----------------------------------------------------------------------------
5293 // Field       : DMA_CH11_CTRL_TRIG_DATA_SIZE
5294 // Description : Set the size of each bus transfer (byte/halfword/word).
5295 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
5296 //               with each transfer.
5297 //               0x0 -> SIZE_BYTE
5298 //               0x1 -> SIZE_HALFWORD
5299 //               0x2 -> SIZE_WORD
5300 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
5301 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
5302 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
5303 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
5304 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
5305 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
5306 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
5307 #define DMA_CH11_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
5308 // -----------------------------------------------------------------------------
5309 // Field       : DMA_CH11_CTRL_TRIG_HIGH_PRIORITY
5310 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
5311 //               scheduling: in each scheduling round, all high priority
5312 //               channels are considered first, and then only a single low
5313 //               priority channel, before returning to the high priority
5314 //               channels.
5315 //
5316 //               This only affects the order in which the DMA schedules
5317 //               channels. The DMA's bus priority is not changed. If the DMA is
5318 //               not saturated then a low priority channel will see no loss of
5319 //               throughput.
5320 #define DMA_CH11_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
5321 #define DMA_CH11_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
5322 #define DMA_CH11_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
5323 #define DMA_CH11_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
5324 #define DMA_CH11_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
5325 // -----------------------------------------------------------------------------
5326 // Field       : DMA_CH11_CTRL_TRIG_EN
5327 // Description : DMA Channel Enable.
5328 //               When 1, the channel will respond to triggering events, which
5329 //               will cause it to become BUSY and start transferring data. When
5330 //               0, the channel will ignore triggers, stop issuing transfers,
5331 //               and pause the current transfer sequence (i.e. BUSY will remain
5332 //               high if already high)
5333 #define DMA_CH11_CTRL_TRIG_EN_RESET  _u(0x0)
5334 #define DMA_CH11_CTRL_TRIG_EN_BITS   _u(0x00000001)
5335 #define DMA_CH11_CTRL_TRIG_EN_MSB    _u(0)
5336 #define DMA_CH11_CTRL_TRIG_EN_LSB    _u(0)
5337 #define DMA_CH11_CTRL_TRIG_EN_ACCESS "RW"
5338 // =============================================================================
5339 // Register    : DMA_CH11_AL1_CTRL
5340 // Description : Alias for channel 11 CTRL register
5341 #define DMA_CH11_AL1_CTRL_OFFSET _u(0x000002d0)
5342 #define DMA_CH11_AL1_CTRL_BITS   _u(0xffffffff)
5343 #define DMA_CH11_AL1_CTRL_RESET  "-"
5344 #define DMA_CH11_AL1_CTRL_MSB    _u(31)
5345 #define DMA_CH11_AL1_CTRL_LSB    _u(0)
5346 #define DMA_CH11_AL1_CTRL_ACCESS "RW"
5347 // =============================================================================
5348 // Register    : DMA_CH11_AL1_READ_ADDR
5349 // Description : Alias for channel 11 READ_ADDR register
5350 #define DMA_CH11_AL1_READ_ADDR_OFFSET _u(0x000002d4)
5351 #define DMA_CH11_AL1_READ_ADDR_BITS   _u(0xffffffff)
5352 #define DMA_CH11_AL1_READ_ADDR_RESET  "-"
5353 #define DMA_CH11_AL1_READ_ADDR_MSB    _u(31)
5354 #define DMA_CH11_AL1_READ_ADDR_LSB    _u(0)
5355 #define DMA_CH11_AL1_READ_ADDR_ACCESS "RW"
5356 // =============================================================================
5357 // Register    : DMA_CH11_AL1_WRITE_ADDR
5358 // Description : Alias for channel 11 WRITE_ADDR register
5359 #define DMA_CH11_AL1_WRITE_ADDR_OFFSET _u(0x000002d8)
5360 #define DMA_CH11_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
5361 #define DMA_CH11_AL1_WRITE_ADDR_RESET  "-"
5362 #define DMA_CH11_AL1_WRITE_ADDR_MSB    _u(31)
5363 #define DMA_CH11_AL1_WRITE_ADDR_LSB    _u(0)
5364 #define DMA_CH11_AL1_WRITE_ADDR_ACCESS "RW"
5365 // =============================================================================
5366 // Register    : DMA_CH11_AL1_TRANS_COUNT_TRIG
5367 // Description : Alias for channel 11 TRANS_COUNT register
5368 //               This is a trigger register (0xc). Writing a nonzero value will
5369 //               reload the channel counter and start the channel.
5370 #define DMA_CH11_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x000002dc)
5371 #define DMA_CH11_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
5372 #define DMA_CH11_AL1_TRANS_COUNT_TRIG_RESET  "-"
5373 #define DMA_CH11_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
5374 #define DMA_CH11_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
5375 #define DMA_CH11_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
5376 // =============================================================================
5377 // Register    : DMA_CH11_AL2_CTRL
5378 // Description : Alias for channel 11 CTRL register
5379 #define DMA_CH11_AL2_CTRL_OFFSET _u(0x000002e0)
5380 #define DMA_CH11_AL2_CTRL_BITS   _u(0xffffffff)
5381 #define DMA_CH11_AL2_CTRL_RESET  "-"
5382 #define DMA_CH11_AL2_CTRL_MSB    _u(31)
5383 #define DMA_CH11_AL2_CTRL_LSB    _u(0)
5384 #define DMA_CH11_AL2_CTRL_ACCESS "RW"
5385 // =============================================================================
5386 // Register    : DMA_CH11_AL2_TRANS_COUNT
5387 // Description : Alias for channel 11 TRANS_COUNT register
5388 #define DMA_CH11_AL2_TRANS_COUNT_OFFSET _u(0x000002e4)
5389 #define DMA_CH11_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
5390 #define DMA_CH11_AL2_TRANS_COUNT_RESET  "-"
5391 #define DMA_CH11_AL2_TRANS_COUNT_MSB    _u(31)
5392 #define DMA_CH11_AL2_TRANS_COUNT_LSB    _u(0)
5393 #define DMA_CH11_AL2_TRANS_COUNT_ACCESS "RW"
5394 // =============================================================================
5395 // Register    : DMA_CH11_AL2_READ_ADDR
5396 // Description : Alias for channel 11 READ_ADDR register
5397 #define DMA_CH11_AL2_READ_ADDR_OFFSET _u(0x000002e8)
5398 #define DMA_CH11_AL2_READ_ADDR_BITS   _u(0xffffffff)
5399 #define DMA_CH11_AL2_READ_ADDR_RESET  "-"
5400 #define DMA_CH11_AL2_READ_ADDR_MSB    _u(31)
5401 #define DMA_CH11_AL2_READ_ADDR_LSB    _u(0)
5402 #define DMA_CH11_AL2_READ_ADDR_ACCESS "RW"
5403 // =============================================================================
5404 // Register    : DMA_CH11_AL2_WRITE_ADDR_TRIG
5405 // Description : Alias for channel 11 WRITE_ADDR register
5406 //               This is a trigger register (0xc). Writing a nonzero value will
5407 //               reload the channel counter and start the channel.
5408 #define DMA_CH11_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000002ec)
5409 #define DMA_CH11_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
5410 #define DMA_CH11_AL2_WRITE_ADDR_TRIG_RESET  "-"
5411 #define DMA_CH11_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
5412 #define DMA_CH11_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
5413 #define DMA_CH11_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
5414 // =============================================================================
5415 // Register    : DMA_CH11_AL3_CTRL
5416 // Description : Alias for channel 11 CTRL register
5417 #define DMA_CH11_AL3_CTRL_OFFSET _u(0x000002f0)
5418 #define DMA_CH11_AL3_CTRL_BITS   _u(0xffffffff)
5419 #define DMA_CH11_AL3_CTRL_RESET  "-"
5420 #define DMA_CH11_AL3_CTRL_MSB    _u(31)
5421 #define DMA_CH11_AL3_CTRL_LSB    _u(0)
5422 #define DMA_CH11_AL3_CTRL_ACCESS "RW"
5423 // =============================================================================
5424 // Register    : DMA_CH11_AL3_WRITE_ADDR
5425 // Description : Alias for channel 11 WRITE_ADDR register
5426 #define DMA_CH11_AL3_WRITE_ADDR_OFFSET _u(0x000002f4)
5427 #define DMA_CH11_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
5428 #define DMA_CH11_AL3_WRITE_ADDR_RESET  "-"
5429 #define DMA_CH11_AL3_WRITE_ADDR_MSB    _u(31)
5430 #define DMA_CH11_AL3_WRITE_ADDR_LSB    _u(0)
5431 #define DMA_CH11_AL3_WRITE_ADDR_ACCESS "RW"
5432 // =============================================================================
5433 // Register    : DMA_CH11_AL3_TRANS_COUNT
5434 // Description : Alias for channel 11 TRANS_COUNT register
5435 #define DMA_CH11_AL3_TRANS_COUNT_OFFSET _u(0x000002f8)
5436 #define DMA_CH11_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
5437 #define DMA_CH11_AL3_TRANS_COUNT_RESET  "-"
5438 #define DMA_CH11_AL3_TRANS_COUNT_MSB    _u(31)
5439 #define DMA_CH11_AL3_TRANS_COUNT_LSB    _u(0)
5440 #define DMA_CH11_AL3_TRANS_COUNT_ACCESS "RW"
5441 // =============================================================================
5442 // Register    : DMA_CH11_AL3_READ_ADDR_TRIG
5443 // Description : Alias for channel 11 READ_ADDR register
5444 //               This is a trigger register (0xc). Writing a nonzero value will
5445 //               reload the channel counter and start the channel.
5446 #define DMA_CH11_AL3_READ_ADDR_TRIG_OFFSET _u(0x000002fc)
5447 #define DMA_CH11_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
5448 #define DMA_CH11_AL3_READ_ADDR_TRIG_RESET  "-"
5449 #define DMA_CH11_AL3_READ_ADDR_TRIG_MSB    _u(31)
5450 #define DMA_CH11_AL3_READ_ADDR_TRIG_LSB    _u(0)
5451 #define DMA_CH11_AL3_READ_ADDR_TRIG_ACCESS "RW"
5452 // =============================================================================
5453 // Register    : DMA_CH12_READ_ADDR
5454 // Description : DMA Channel 12 Read Address pointer
5455 //               This register updates automatically each time a read completes.
5456 //               The current value is the next address to be read by this
5457 //               channel.
5458 #define DMA_CH12_READ_ADDR_OFFSET _u(0x00000300)
5459 #define DMA_CH12_READ_ADDR_BITS   _u(0xffffffff)
5460 #define DMA_CH12_READ_ADDR_RESET  _u(0x00000000)
5461 #define DMA_CH12_READ_ADDR_MSB    _u(31)
5462 #define DMA_CH12_READ_ADDR_LSB    _u(0)
5463 #define DMA_CH12_READ_ADDR_ACCESS "RW"
5464 // =============================================================================
5465 // Register    : DMA_CH12_WRITE_ADDR
5466 // Description : DMA Channel 12 Write Address pointer
5467 //               This register updates automatically each time a write
5468 //               completes. The current value is the next address to be written
5469 //               by this channel.
5470 #define DMA_CH12_WRITE_ADDR_OFFSET _u(0x00000304)
5471 #define DMA_CH12_WRITE_ADDR_BITS   _u(0xffffffff)
5472 #define DMA_CH12_WRITE_ADDR_RESET  _u(0x00000000)
5473 #define DMA_CH12_WRITE_ADDR_MSB    _u(31)
5474 #define DMA_CH12_WRITE_ADDR_LSB    _u(0)
5475 #define DMA_CH12_WRITE_ADDR_ACCESS "RW"
5476 // =============================================================================
5477 // Register    : DMA_CH12_TRANS_COUNT
5478 // Description : DMA Channel 12 Transfer Count
5479 #define DMA_CH12_TRANS_COUNT_OFFSET _u(0x00000308)
5480 #define DMA_CH12_TRANS_COUNT_BITS   _u(0xffffffff)
5481 #define DMA_CH12_TRANS_COUNT_RESET  _u(0x00000000)
5482 // -----------------------------------------------------------------------------
5483 // Field       : DMA_CH12_TRANS_COUNT_MODE
5484 // Description : When MODE is 0x0, the transfer count decrements with each
5485 //               transfer until 0, and then the channel triggers the next
5486 //               channel indicated by CTRL_CHAIN_TO.
5487 //
5488 //               When MODE is 0x1, the transfer count decrements with each
5489 //               transfer until 0, and then the channel re-triggers itself, in
5490 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
5491 //               useful for e.g. an endless ring-buffer DMA with periodic
5492 //               interrupts.
5493 //
5494 //               When MODE is 0xf, the transfer count does not decrement. The
5495 //               DMA channel performs an endless sequence of transfers, never
5496 //               triggering other channels or raising interrupts, until an ABORT
5497 //               is raised.
5498 //
5499 //               All other values are reserved.
5500 //               0x0 -> NORMAL
5501 //               0x1 -> TRIGGER_SELF
5502 //               0xf -> ENDLESS
5503 #define DMA_CH12_TRANS_COUNT_MODE_RESET  _u(0x0)
5504 #define DMA_CH12_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
5505 #define DMA_CH12_TRANS_COUNT_MODE_MSB    _u(31)
5506 #define DMA_CH12_TRANS_COUNT_MODE_LSB    _u(28)
5507 #define DMA_CH12_TRANS_COUNT_MODE_ACCESS "RW"
5508 #define DMA_CH12_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
5509 #define DMA_CH12_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
5510 #define DMA_CH12_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
5511 // -----------------------------------------------------------------------------
5512 // Field       : DMA_CH12_TRANS_COUNT_COUNT
5513 // Description : 28-bit transfer count (256 million transfers maximum).
5514 //
5515 //               Program the number of bus transfers a channel will perform
5516 //               before halting. Note that, if transfers are larger than one
5517 //               byte in size, this is not equal to the number of bytes
5518 //               transferred (see CTRL_DATA_SIZE).
5519 //
5520 //               When the channel is active, reading this register shows the
5521 //               number of transfers remaining, updating automatically each time
5522 //               a write transfer completes.
5523 //
5524 //               Writing this register sets the RELOAD value for the transfer
5525 //               counter. Each time this channel is triggered, the RELOAD value
5526 //               is copied into the live transfer counter. The channel can be
5527 //               started multiple times, and will perform the same number of
5528 //               transfers each time, as programmed by most recent write.
5529 //
5530 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
5531 //               is used as a trigger, the written value is used immediately as
5532 //               the length of the new transfer sequence, as well as being
5533 //               written to RELOAD.
5534 #define DMA_CH12_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
5535 #define DMA_CH12_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
5536 #define DMA_CH12_TRANS_COUNT_COUNT_MSB    _u(27)
5537 #define DMA_CH12_TRANS_COUNT_COUNT_LSB    _u(0)
5538 #define DMA_CH12_TRANS_COUNT_COUNT_ACCESS "RW"
5539 // =============================================================================
5540 // Register    : DMA_CH12_CTRL_TRIG
5541 // Description : DMA Channel 12 Control and Status
5542 #define DMA_CH12_CTRL_TRIG_OFFSET _u(0x0000030c)
5543 #define DMA_CH12_CTRL_TRIG_BITS   _u(0xe7ffffff)
5544 #define DMA_CH12_CTRL_TRIG_RESET  _u(0x00000000)
5545 // -----------------------------------------------------------------------------
5546 // Field       : DMA_CH12_CTRL_TRIG_AHB_ERROR
5547 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
5548 //               halts when it encounters any bus error, and always raises its
5549 //               channel IRQ flag.
5550 #define DMA_CH12_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
5551 #define DMA_CH12_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
5552 #define DMA_CH12_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
5553 #define DMA_CH12_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
5554 #define DMA_CH12_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
5555 // -----------------------------------------------------------------------------
5556 // Field       : DMA_CH12_CTRL_TRIG_READ_ERROR
5557 // Description : If 1, the channel received a read bus error. Write one to
5558 //               clear.
5559 //               READ_ADDR shows the approximate address where the bus error was
5560 //               encountered (will not be earlier, or more than 3 transfers
5561 //               later)
5562 #define DMA_CH12_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
5563 #define DMA_CH12_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
5564 #define DMA_CH12_CTRL_TRIG_READ_ERROR_MSB    _u(30)
5565 #define DMA_CH12_CTRL_TRIG_READ_ERROR_LSB    _u(30)
5566 #define DMA_CH12_CTRL_TRIG_READ_ERROR_ACCESS "WC"
5567 // -----------------------------------------------------------------------------
5568 // Field       : DMA_CH12_CTRL_TRIG_WRITE_ERROR
5569 // Description : If 1, the channel received a write bus error. Write one to
5570 //               clear.
5571 //               WRITE_ADDR shows the approximate address where the bus error
5572 //               was encountered (will not be earlier, or more than 5 transfers
5573 //               later)
5574 #define DMA_CH12_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
5575 #define DMA_CH12_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
5576 #define DMA_CH12_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
5577 #define DMA_CH12_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
5578 #define DMA_CH12_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
5579 // -----------------------------------------------------------------------------
5580 // Field       : DMA_CH12_CTRL_TRIG_BUSY
5581 // Description : This flag goes high when the channel starts a new transfer
5582 //               sequence, and low when the last transfer of that sequence
5583 //               completes. Clearing EN while BUSY is high pauses the channel,
5584 //               and BUSY will stay high while paused.
5585 //
5586 //               To terminate a sequence early (and clear the BUSY flag), see
5587 //               CHAN_ABORT.
5588 #define DMA_CH12_CTRL_TRIG_BUSY_RESET  _u(0x0)
5589 #define DMA_CH12_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
5590 #define DMA_CH12_CTRL_TRIG_BUSY_MSB    _u(26)
5591 #define DMA_CH12_CTRL_TRIG_BUSY_LSB    _u(26)
5592 #define DMA_CH12_CTRL_TRIG_BUSY_ACCESS "RO"
5593 // -----------------------------------------------------------------------------
5594 // Field       : DMA_CH12_CTRL_TRIG_SNIFF_EN
5595 // Description : If 1, this channel's data transfers are visible to the sniff
5596 //               hardware, and each transfer will advance the state of the
5597 //               checksum. This only applies if the sniff hardware is enabled,
5598 //               and has this channel selected.
5599 //
5600 //               This allows checksum to be enabled or disabled on a per-
5601 //               control- block basis.
5602 #define DMA_CH12_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
5603 #define DMA_CH12_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
5604 #define DMA_CH12_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
5605 #define DMA_CH12_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
5606 #define DMA_CH12_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
5607 // -----------------------------------------------------------------------------
5608 // Field       : DMA_CH12_CTRL_TRIG_BSWAP
5609 // Description : Apply byte-swap transformation to DMA data.
5610 //               For byte data, this has no effect. For halfword data, the two
5611 //               bytes of each halfword are swapped. For word data, the four
5612 //               bytes of each word are swapped to reverse order.
5613 #define DMA_CH12_CTRL_TRIG_BSWAP_RESET  _u(0x0)
5614 #define DMA_CH12_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
5615 #define DMA_CH12_CTRL_TRIG_BSWAP_MSB    _u(24)
5616 #define DMA_CH12_CTRL_TRIG_BSWAP_LSB    _u(24)
5617 #define DMA_CH12_CTRL_TRIG_BSWAP_ACCESS "RW"
5618 // -----------------------------------------------------------------------------
5619 // Field       : DMA_CH12_CTRL_TRIG_IRQ_QUIET
5620 // Description : In QUIET mode, the channel does not generate IRQs at the end of
5621 //               every transfer block. Instead, an IRQ is raised when NULL is
5622 //               written to a trigger register, indicating the end of a control
5623 //               block chain.
5624 //
5625 //               This reduces the number of interrupts to be serviced by the CPU
5626 //               when transferring a DMA chain of many small control blocks.
5627 #define DMA_CH12_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
5628 #define DMA_CH12_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
5629 #define DMA_CH12_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
5630 #define DMA_CH12_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
5631 #define DMA_CH12_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
5632 // -----------------------------------------------------------------------------
5633 // Field       : DMA_CH12_CTRL_TRIG_TREQ_SEL
5634 // Description : Select a Transfer Request signal.
5635 //               The channel uses the transfer request signal to pace its data
5636 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
5637 //               or external (DREQ, a Data Request from the system).
5638 //               0x0 to 0x3a -> select DREQ n as TREQ
5639 //               0x3b -> Select Timer 0 as TREQ
5640 //               0x3c -> Select Timer 1 as TREQ
5641 //               0x3d -> Select Timer 2 as TREQ (Optional)
5642 //               0x3e -> Select Timer 3 as TREQ (Optional)
5643 //               0x3f -> Permanent request, for unpaced transfers.
5644 #define DMA_CH12_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
5645 #define DMA_CH12_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
5646 #define DMA_CH12_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
5647 #define DMA_CH12_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
5648 #define DMA_CH12_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
5649 #define DMA_CH12_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
5650 #define DMA_CH12_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
5651 #define DMA_CH12_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
5652 #define DMA_CH12_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
5653 #define DMA_CH12_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
5654 // -----------------------------------------------------------------------------
5655 // Field       : DMA_CH12_CTRL_TRIG_CHAIN_TO
5656 // Description : When this channel completes, it will trigger the channel
5657 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
5658 //               channel)_.
5659 //
5660 //               Note this field resets to 0, so channels 1 and above will chain
5661 //               to channel 0 by default. Set this field to avoid this
5662 //               behaviour.
5663 #define DMA_CH12_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
5664 #define DMA_CH12_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
5665 #define DMA_CH12_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
5666 #define DMA_CH12_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
5667 #define DMA_CH12_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
5668 // -----------------------------------------------------------------------------
5669 // Field       : DMA_CH12_CTRL_TRIG_RING_SEL
5670 // Description : Select whether RING_SIZE applies to read or write addresses.
5671 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
5672 //               boundary. If 1, write addresses are wrapped.
5673 #define DMA_CH12_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
5674 #define DMA_CH12_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
5675 #define DMA_CH12_CTRL_TRIG_RING_SEL_MSB    _u(12)
5676 #define DMA_CH12_CTRL_TRIG_RING_SEL_LSB    _u(12)
5677 #define DMA_CH12_CTRL_TRIG_RING_SEL_ACCESS "RW"
5678 // -----------------------------------------------------------------------------
5679 // Field       : DMA_CH12_CTRL_TRIG_RING_SIZE
5680 // Description : Size of address wrap region. If 0, don't wrap. For values n >
5681 //               0, only the lower n bits of the address will change. This wraps
5682 //               the address on a (1 << n) byte boundary, facilitating access to
5683 //               naturally-aligned ring buffers.
5684 //
5685 //               Ring sizes between 2 and 32768 bytes are possible. This can
5686 //               apply to either read or write addresses, based on value of
5687 //               RING_SEL.
5688 //               0x0 -> RING_NONE
5689 #define DMA_CH12_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
5690 #define DMA_CH12_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
5691 #define DMA_CH12_CTRL_TRIG_RING_SIZE_MSB    _u(11)
5692 #define DMA_CH12_CTRL_TRIG_RING_SIZE_LSB    _u(8)
5693 #define DMA_CH12_CTRL_TRIG_RING_SIZE_ACCESS "RW"
5694 #define DMA_CH12_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
5695 // -----------------------------------------------------------------------------
5696 // Field       : DMA_CH12_CTRL_TRIG_INCR_WRITE_REV
5697 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
5698 //               rather than incremented with each transfer.
5699 //
5700 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
5701 //               causes the write address to be incremented by twice the
5702 //               transfer size, i.e. skipping over alternate addresses.
5703 #define DMA_CH12_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
5704 #define DMA_CH12_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
5705 #define DMA_CH12_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
5706 #define DMA_CH12_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
5707 #define DMA_CH12_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
5708 // -----------------------------------------------------------------------------
5709 // Field       : DMA_CH12_CTRL_TRIG_INCR_WRITE
5710 // Description : If 1, the write address increments with each transfer. If 0,
5711 //               each write is directed to the same, initial address.
5712 //
5713 //               Generally this should be disabled for memory-to-peripheral
5714 //               transfers.
5715 #define DMA_CH12_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
5716 #define DMA_CH12_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
5717 #define DMA_CH12_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
5718 #define DMA_CH12_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
5719 #define DMA_CH12_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
5720 // -----------------------------------------------------------------------------
5721 // Field       : DMA_CH12_CTRL_TRIG_INCR_READ_REV
5722 // Description : If 1, and INCR_READ is 1, the read address is decremented
5723 //               rather than incremented with each transfer.
5724 //
5725 //               If 1, and INCR_READ is 0, this otherwise-unused combination
5726 //               causes the read address to be incremented by twice the transfer
5727 //               size, i.e. skipping over alternate addresses.
5728 #define DMA_CH12_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
5729 #define DMA_CH12_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
5730 #define DMA_CH12_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
5731 #define DMA_CH12_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
5732 #define DMA_CH12_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
5733 // -----------------------------------------------------------------------------
5734 // Field       : DMA_CH12_CTRL_TRIG_INCR_READ
5735 // Description : If 1, the read address increments with each transfer. If 0,
5736 //               each read is directed to the same, initial address.
5737 //
5738 //               Generally this should be disabled for peripheral-to-memory
5739 //               transfers.
5740 #define DMA_CH12_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
5741 #define DMA_CH12_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
5742 #define DMA_CH12_CTRL_TRIG_INCR_READ_MSB    _u(4)
5743 #define DMA_CH12_CTRL_TRIG_INCR_READ_LSB    _u(4)
5744 #define DMA_CH12_CTRL_TRIG_INCR_READ_ACCESS "RW"
5745 // -----------------------------------------------------------------------------
5746 // Field       : DMA_CH12_CTRL_TRIG_DATA_SIZE
5747 // Description : Set the size of each bus transfer (byte/halfword/word).
5748 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
5749 //               with each transfer.
5750 //               0x0 -> SIZE_BYTE
5751 //               0x1 -> SIZE_HALFWORD
5752 //               0x2 -> SIZE_WORD
5753 #define DMA_CH12_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
5754 #define DMA_CH12_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
5755 #define DMA_CH12_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
5756 #define DMA_CH12_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
5757 #define DMA_CH12_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
5758 #define DMA_CH12_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
5759 #define DMA_CH12_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
5760 #define DMA_CH12_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
5761 // -----------------------------------------------------------------------------
5762 // Field       : DMA_CH12_CTRL_TRIG_HIGH_PRIORITY
5763 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
5764 //               scheduling: in each scheduling round, all high priority
5765 //               channels are considered first, and then only a single low
5766 //               priority channel, before returning to the high priority
5767 //               channels.
5768 //
5769 //               This only affects the order in which the DMA schedules
5770 //               channels. The DMA's bus priority is not changed. If the DMA is
5771 //               not saturated then a low priority channel will see no loss of
5772 //               throughput.
5773 #define DMA_CH12_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
5774 #define DMA_CH12_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
5775 #define DMA_CH12_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
5776 #define DMA_CH12_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
5777 #define DMA_CH12_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
5778 // -----------------------------------------------------------------------------
5779 // Field       : DMA_CH12_CTRL_TRIG_EN
5780 // Description : DMA Channel Enable.
5781 //               When 1, the channel will respond to triggering events, which
5782 //               will cause it to become BUSY and start transferring data. When
5783 //               0, the channel will ignore triggers, stop issuing transfers,
5784 //               and pause the current transfer sequence (i.e. BUSY will remain
5785 //               high if already high)
5786 #define DMA_CH12_CTRL_TRIG_EN_RESET  _u(0x0)
5787 #define DMA_CH12_CTRL_TRIG_EN_BITS   _u(0x00000001)
5788 #define DMA_CH12_CTRL_TRIG_EN_MSB    _u(0)
5789 #define DMA_CH12_CTRL_TRIG_EN_LSB    _u(0)
5790 #define DMA_CH12_CTRL_TRIG_EN_ACCESS "RW"
5791 // =============================================================================
5792 // Register    : DMA_CH12_AL1_CTRL
5793 // Description : Alias for channel 12 CTRL register
5794 #define DMA_CH12_AL1_CTRL_OFFSET _u(0x00000310)
5795 #define DMA_CH12_AL1_CTRL_BITS   _u(0xffffffff)
5796 #define DMA_CH12_AL1_CTRL_RESET  "-"
5797 #define DMA_CH12_AL1_CTRL_MSB    _u(31)
5798 #define DMA_CH12_AL1_CTRL_LSB    _u(0)
5799 #define DMA_CH12_AL1_CTRL_ACCESS "RW"
5800 // =============================================================================
5801 // Register    : DMA_CH12_AL1_READ_ADDR
5802 // Description : Alias for channel 12 READ_ADDR register
5803 #define DMA_CH12_AL1_READ_ADDR_OFFSET _u(0x00000314)
5804 #define DMA_CH12_AL1_READ_ADDR_BITS   _u(0xffffffff)
5805 #define DMA_CH12_AL1_READ_ADDR_RESET  "-"
5806 #define DMA_CH12_AL1_READ_ADDR_MSB    _u(31)
5807 #define DMA_CH12_AL1_READ_ADDR_LSB    _u(0)
5808 #define DMA_CH12_AL1_READ_ADDR_ACCESS "RW"
5809 // =============================================================================
5810 // Register    : DMA_CH12_AL1_WRITE_ADDR
5811 // Description : Alias for channel 12 WRITE_ADDR register
5812 #define DMA_CH12_AL1_WRITE_ADDR_OFFSET _u(0x00000318)
5813 #define DMA_CH12_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
5814 #define DMA_CH12_AL1_WRITE_ADDR_RESET  "-"
5815 #define DMA_CH12_AL1_WRITE_ADDR_MSB    _u(31)
5816 #define DMA_CH12_AL1_WRITE_ADDR_LSB    _u(0)
5817 #define DMA_CH12_AL1_WRITE_ADDR_ACCESS "RW"
5818 // =============================================================================
5819 // Register    : DMA_CH12_AL1_TRANS_COUNT_TRIG
5820 // Description : Alias for channel 12 TRANS_COUNT register
5821 //               This is a trigger register (0xc). Writing a nonzero value will
5822 //               reload the channel counter and start the channel.
5823 #define DMA_CH12_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000031c)
5824 #define DMA_CH12_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
5825 #define DMA_CH12_AL1_TRANS_COUNT_TRIG_RESET  "-"
5826 #define DMA_CH12_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
5827 #define DMA_CH12_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
5828 #define DMA_CH12_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
5829 // =============================================================================
5830 // Register    : DMA_CH12_AL2_CTRL
5831 // Description : Alias for channel 12 CTRL register
5832 #define DMA_CH12_AL2_CTRL_OFFSET _u(0x00000320)
5833 #define DMA_CH12_AL2_CTRL_BITS   _u(0xffffffff)
5834 #define DMA_CH12_AL2_CTRL_RESET  "-"
5835 #define DMA_CH12_AL2_CTRL_MSB    _u(31)
5836 #define DMA_CH12_AL2_CTRL_LSB    _u(0)
5837 #define DMA_CH12_AL2_CTRL_ACCESS "RW"
5838 // =============================================================================
5839 // Register    : DMA_CH12_AL2_TRANS_COUNT
5840 // Description : Alias for channel 12 TRANS_COUNT register
5841 #define DMA_CH12_AL2_TRANS_COUNT_OFFSET _u(0x00000324)
5842 #define DMA_CH12_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
5843 #define DMA_CH12_AL2_TRANS_COUNT_RESET  "-"
5844 #define DMA_CH12_AL2_TRANS_COUNT_MSB    _u(31)
5845 #define DMA_CH12_AL2_TRANS_COUNT_LSB    _u(0)
5846 #define DMA_CH12_AL2_TRANS_COUNT_ACCESS "RW"
5847 // =============================================================================
5848 // Register    : DMA_CH12_AL2_READ_ADDR
5849 // Description : Alias for channel 12 READ_ADDR register
5850 #define DMA_CH12_AL2_READ_ADDR_OFFSET _u(0x00000328)
5851 #define DMA_CH12_AL2_READ_ADDR_BITS   _u(0xffffffff)
5852 #define DMA_CH12_AL2_READ_ADDR_RESET  "-"
5853 #define DMA_CH12_AL2_READ_ADDR_MSB    _u(31)
5854 #define DMA_CH12_AL2_READ_ADDR_LSB    _u(0)
5855 #define DMA_CH12_AL2_READ_ADDR_ACCESS "RW"
5856 // =============================================================================
5857 // Register    : DMA_CH12_AL2_WRITE_ADDR_TRIG
5858 // Description : Alias for channel 12 WRITE_ADDR register
5859 //               This is a trigger register (0xc). Writing a nonzero value will
5860 //               reload the channel counter and start the channel.
5861 #define DMA_CH12_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000032c)
5862 #define DMA_CH12_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
5863 #define DMA_CH12_AL2_WRITE_ADDR_TRIG_RESET  "-"
5864 #define DMA_CH12_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
5865 #define DMA_CH12_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
5866 #define DMA_CH12_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
5867 // =============================================================================
5868 // Register    : DMA_CH12_AL3_CTRL
5869 // Description : Alias for channel 12 CTRL register
5870 #define DMA_CH12_AL3_CTRL_OFFSET _u(0x00000330)
5871 #define DMA_CH12_AL3_CTRL_BITS   _u(0xffffffff)
5872 #define DMA_CH12_AL3_CTRL_RESET  "-"
5873 #define DMA_CH12_AL3_CTRL_MSB    _u(31)
5874 #define DMA_CH12_AL3_CTRL_LSB    _u(0)
5875 #define DMA_CH12_AL3_CTRL_ACCESS "RW"
5876 // =============================================================================
5877 // Register    : DMA_CH12_AL3_WRITE_ADDR
5878 // Description : Alias for channel 12 WRITE_ADDR register
5879 #define DMA_CH12_AL3_WRITE_ADDR_OFFSET _u(0x00000334)
5880 #define DMA_CH12_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
5881 #define DMA_CH12_AL3_WRITE_ADDR_RESET  "-"
5882 #define DMA_CH12_AL3_WRITE_ADDR_MSB    _u(31)
5883 #define DMA_CH12_AL3_WRITE_ADDR_LSB    _u(0)
5884 #define DMA_CH12_AL3_WRITE_ADDR_ACCESS "RW"
5885 // =============================================================================
5886 // Register    : DMA_CH12_AL3_TRANS_COUNT
5887 // Description : Alias for channel 12 TRANS_COUNT register
5888 #define DMA_CH12_AL3_TRANS_COUNT_OFFSET _u(0x00000338)
5889 #define DMA_CH12_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
5890 #define DMA_CH12_AL3_TRANS_COUNT_RESET  "-"
5891 #define DMA_CH12_AL3_TRANS_COUNT_MSB    _u(31)
5892 #define DMA_CH12_AL3_TRANS_COUNT_LSB    _u(0)
5893 #define DMA_CH12_AL3_TRANS_COUNT_ACCESS "RW"
5894 // =============================================================================
5895 // Register    : DMA_CH12_AL3_READ_ADDR_TRIG
5896 // Description : Alias for channel 12 READ_ADDR register
5897 //               This is a trigger register (0xc). Writing a nonzero value will
5898 //               reload the channel counter and start the channel.
5899 #define DMA_CH12_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000033c)
5900 #define DMA_CH12_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
5901 #define DMA_CH12_AL3_READ_ADDR_TRIG_RESET  "-"
5902 #define DMA_CH12_AL3_READ_ADDR_TRIG_MSB    _u(31)
5903 #define DMA_CH12_AL3_READ_ADDR_TRIG_LSB    _u(0)
5904 #define DMA_CH12_AL3_READ_ADDR_TRIG_ACCESS "RW"
5905 // =============================================================================
5906 // Register    : DMA_CH13_READ_ADDR
5907 // Description : DMA Channel 13 Read Address pointer
5908 //               This register updates automatically each time a read completes.
5909 //               The current value is the next address to be read by this
5910 //               channel.
5911 #define DMA_CH13_READ_ADDR_OFFSET _u(0x00000340)
5912 #define DMA_CH13_READ_ADDR_BITS   _u(0xffffffff)
5913 #define DMA_CH13_READ_ADDR_RESET  _u(0x00000000)
5914 #define DMA_CH13_READ_ADDR_MSB    _u(31)
5915 #define DMA_CH13_READ_ADDR_LSB    _u(0)
5916 #define DMA_CH13_READ_ADDR_ACCESS "RW"
5917 // =============================================================================
5918 // Register    : DMA_CH13_WRITE_ADDR
5919 // Description : DMA Channel 13 Write Address pointer
5920 //               This register updates automatically each time a write
5921 //               completes. The current value is the next address to be written
5922 //               by this channel.
5923 #define DMA_CH13_WRITE_ADDR_OFFSET _u(0x00000344)
5924 #define DMA_CH13_WRITE_ADDR_BITS   _u(0xffffffff)
5925 #define DMA_CH13_WRITE_ADDR_RESET  _u(0x00000000)
5926 #define DMA_CH13_WRITE_ADDR_MSB    _u(31)
5927 #define DMA_CH13_WRITE_ADDR_LSB    _u(0)
5928 #define DMA_CH13_WRITE_ADDR_ACCESS "RW"
5929 // =============================================================================
5930 // Register    : DMA_CH13_TRANS_COUNT
5931 // Description : DMA Channel 13 Transfer Count
5932 #define DMA_CH13_TRANS_COUNT_OFFSET _u(0x00000348)
5933 #define DMA_CH13_TRANS_COUNT_BITS   _u(0xffffffff)
5934 #define DMA_CH13_TRANS_COUNT_RESET  _u(0x00000000)
5935 // -----------------------------------------------------------------------------
5936 // Field       : DMA_CH13_TRANS_COUNT_MODE
5937 // Description : When MODE is 0x0, the transfer count decrements with each
5938 //               transfer until 0, and then the channel triggers the next
5939 //               channel indicated by CTRL_CHAIN_TO.
5940 //
5941 //               When MODE is 0x1, the transfer count decrements with each
5942 //               transfer until 0, and then the channel re-triggers itself, in
5943 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
5944 //               useful for e.g. an endless ring-buffer DMA with periodic
5945 //               interrupts.
5946 //
5947 //               When MODE is 0xf, the transfer count does not decrement. The
5948 //               DMA channel performs an endless sequence of transfers, never
5949 //               triggering other channels or raising interrupts, until an ABORT
5950 //               is raised.
5951 //
5952 //               All other values are reserved.
5953 //               0x0 -> NORMAL
5954 //               0x1 -> TRIGGER_SELF
5955 //               0xf -> ENDLESS
5956 #define DMA_CH13_TRANS_COUNT_MODE_RESET  _u(0x0)
5957 #define DMA_CH13_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
5958 #define DMA_CH13_TRANS_COUNT_MODE_MSB    _u(31)
5959 #define DMA_CH13_TRANS_COUNT_MODE_LSB    _u(28)
5960 #define DMA_CH13_TRANS_COUNT_MODE_ACCESS "RW"
5961 #define DMA_CH13_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
5962 #define DMA_CH13_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
5963 #define DMA_CH13_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
5964 // -----------------------------------------------------------------------------
5965 // Field       : DMA_CH13_TRANS_COUNT_COUNT
5966 // Description : 28-bit transfer count (256 million transfers maximum).
5967 //
5968 //               Program the number of bus transfers a channel will perform
5969 //               before halting. Note that, if transfers are larger than one
5970 //               byte in size, this is not equal to the number of bytes
5971 //               transferred (see CTRL_DATA_SIZE).
5972 //
5973 //               When the channel is active, reading this register shows the
5974 //               number of transfers remaining, updating automatically each time
5975 //               a write transfer completes.
5976 //
5977 //               Writing this register sets the RELOAD value for the transfer
5978 //               counter. Each time this channel is triggered, the RELOAD value
5979 //               is copied into the live transfer counter. The channel can be
5980 //               started multiple times, and will perform the same number of
5981 //               transfers each time, as programmed by most recent write.
5982 //
5983 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
5984 //               is used as a trigger, the written value is used immediately as
5985 //               the length of the new transfer sequence, as well as being
5986 //               written to RELOAD.
5987 #define DMA_CH13_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
5988 #define DMA_CH13_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
5989 #define DMA_CH13_TRANS_COUNT_COUNT_MSB    _u(27)
5990 #define DMA_CH13_TRANS_COUNT_COUNT_LSB    _u(0)
5991 #define DMA_CH13_TRANS_COUNT_COUNT_ACCESS "RW"
5992 // =============================================================================
5993 // Register    : DMA_CH13_CTRL_TRIG
5994 // Description : DMA Channel 13 Control and Status
5995 #define DMA_CH13_CTRL_TRIG_OFFSET _u(0x0000034c)
5996 #define DMA_CH13_CTRL_TRIG_BITS   _u(0xe7ffffff)
5997 #define DMA_CH13_CTRL_TRIG_RESET  _u(0x00000000)
5998 // -----------------------------------------------------------------------------
5999 // Field       : DMA_CH13_CTRL_TRIG_AHB_ERROR
6000 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
6001 //               halts when it encounters any bus error, and always raises its
6002 //               channel IRQ flag.
6003 #define DMA_CH13_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
6004 #define DMA_CH13_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
6005 #define DMA_CH13_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
6006 #define DMA_CH13_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
6007 #define DMA_CH13_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
6008 // -----------------------------------------------------------------------------
6009 // Field       : DMA_CH13_CTRL_TRIG_READ_ERROR
6010 // Description : If 1, the channel received a read bus error. Write one to
6011 //               clear.
6012 //               READ_ADDR shows the approximate address where the bus error was
6013 //               encountered (will not be earlier, or more than 3 transfers
6014 //               later)
6015 #define DMA_CH13_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
6016 #define DMA_CH13_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
6017 #define DMA_CH13_CTRL_TRIG_READ_ERROR_MSB    _u(30)
6018 #define DMA_CH13_CTRL_TRIG_READ_ERROR_LSB    _u(30)
6019 #define DMA_CH13_CTRL_TRIG_READ_ERROR_ACCESS "WC"
6020 // -----------------------------------------------------------------------------
6021 // Field       : DMA_CH13_CTRL_TRIG_WRITE_ERROR
6022 // Description : If 1, the channel received a write bus error. Write one to
6023 //               clear.
6024 //               WRITE_ADDR shows the approximate address where the bus error
6025 //               was encountered (will not be earlier, or more than 5 transfers
6026 //               later)
6027 #define DMA_CH13_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
6028 #define DMA_CH13_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
6029 #define DMA_CH13_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
6030 #define DMA_CH13_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
6031 #define DMA_CH13_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
6032 // -----------------------------------------------------------------------------
6033 // Field       : DMA_CH13_CTRL_TRIG_BUSY
6034 // Description : This flag goes high when the channel starts a new transfer
6035 //               sequence, and low when the last transfer of that sequence
6036 //               completes. Clearing EN while BUSY is high pauses the channel,
6037 //               and BUSY will stay high while paused.
6038 //
6039 //               To terminate a sequence early (and clear the BUSY flag), see
6040 //               CHAN_ABORT.
6041 #define DMA_CH13_CTRL_TRIG_BUSY_RESET  _u(0x0)
6042 #define DMA_CH13_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
6043 #define DMA_CH13_CTRL_TRIG_BUSY_MSB    _u(26)
6044 #define DMA_CH13_CTRL_TRIG_BUSY_LSB    _u(26)
6045 #define DMA_CH13_CTRL_TRIG_BUSY_ACCESS "RO"
6046 // -----------------------------------------------------------------------------
6047 // Field       : DMA_CH13_CTRL_TRIG_SNIFF_EN
6048 // Description : If 1, this channel's data transfers are visible to the sniff
6049 //               hardware, and each transfer will advance the state of the
6050 //               checksum. This only applies if the sniff hardware is enabled,
6051 //               and has this channel selected.
6052 //
6053 //               This allows checksum to be enabled or disabled on a per-
6054 //               control- block basis.
6055 #define DMA_CH13_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
6056 #define DMA_CH13_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
6057 #define DMA_CH13_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
6058 #define DMA_CH13_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
6059 #define DMA_CH13_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
6060 // -----------------------------------------------------------------------------
6061 // Field       : DMA_CH13_CTRL_TRIG_BSWAP
6062 // Description : Apply byte-swap transformation to DMA data.
6063 //               For byte data, this has no effect. For halfword data, the two
6064 //               bytes of each halfword are swapped. For word data, the four
6065 //               bytes of each word are swapped to reverse order.
6066 #define DMA_CH13_CTRL_TRIG_BSWAP_RESET  _u(0x0)
6067 #define DMA_CH13_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
6068 #define DMA_CH13_CTRL_TRIG_BSWAP_MSB    _u(24)
6069 #define DMA_CH13_CTRL_TRIG_BSWAP_LSB    _u(24)
6070 #define DMA_CH13_CTRL_TRIG_BSWAP_ACCESS "RW"
6071 // -----------------------------------------------------------------------------
6072 // Field       : DMA_CH13_CTRL_TRIG_IRQ_QUIET
6073 // Description : In QUIET mode, the channel does not generate IRQs at the end of
6074 //               every transfer block. Instead, an IRQ is raised when NULL is
6075 //               written to a trigger register, indicating the end of a control
6076 //               block chain.
6077 //
6078 //               This reduces the number of interrupts to be serviced by the CPU
6079 //               when transferring a DMA chain of many small control blocks.
6080 #define DMA_CH13_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
6081 #define DMA_CH13_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
6082 #define DMA_CH13_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
6083 #define DMA_CH13_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
6084 #define DMA_CH13_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
6085 // -----------------------------------------------------------------------------
6086 // Field       : DMA_CH13_CTRL_TRIG_TREQ_SEL
6087 // Description : Select a Transfer Request signal.
6088 //               The channel uses the transfer request signal to pace its data
6089 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
6090 //               or external (DREQ, a Data Request from the system).
6091 //               0x0 to 0x3a -> select DREQ n as TREQ
6092 //               0x3b -> Select Timer 0 as TREQ
6093 //               0x3c -> Select Timer 1 as TREQ
6094 //               0x3d -> Select Timer 2 as TREQ (Optional)
6095 //               0x3e -> Select Timer 3 as TREQ (Optional)
6096 //               0x3f -> Permanent request, for unpaced transfers.
6097 #define DMA_CH13_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
6098 #define DMA_CH13_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
6099 #define DMA_CH13_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
6100 #define DMA_CH13_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
6101 #define DMA_CH13_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
6102 #define DMA_CH13_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
6103 #define DMA_CH13_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
6104 #define DMA_CH13_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
6105 #define DMA_CH13_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
6106 #define DMA_CH13_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
6107 // -----------------------------------------------------------------------------
6108 // Field       : DMA_CH13_CTRL_TRIG_CHAIN_TO
6109 // Description : When this channel completes, it will trigger the channel
6110 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
6111 //               channel)_.
6112 //
6113 //               Note this field resets to 0, so channels 1 and above will chain
6114 //               to channel 0 by default. Set this field to avoid this
6115 //               behaviour.
6116 #define DMA_CH13_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
6117 #define DMA_CH13_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
6118 #define DMA_CH13_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
6119 #define DMA_CH13_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
6120 #define DMA_CH13_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
6121 // -----------------------------------------------------------------------------
6122 // Field       : DMA_CH13_CTRL_TRIG_RING_SEL
6123 // Description : Select whether RING_SIZE applies to read or write addresses.
6124 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
6125 //               boundary. If 1, write addresses are wrapped.
6126 #define DMA_CH13_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
6127 #define DMA_CH13_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
6128 #define DMA_CH13_CTRL_TRIG_RING_SEL_MSB    _u(12)
6129 #define DMA_CH13_CTRL_TRIG_RING_SEL_LSB    _u(12)
6130 #define DMA_CH13_CTRL_TRIG_RING_SEL_ACCESS "RW"
6131 // -----------------------------------------------------------------------------
6132 // Field       : DMA_CH13_CTRL_TRIG_RING_SIZE
6133 // Description : Size of address wrap region. If 0, don't wrap. For values n >
6134 //               0, only the lower n bits of the address will change. This wraps
6135 //               the address on a (1 << n) byte boundary, facilitating access to
6136 //               naturally-aligned ring buffers.
6137 //
6138 //               Ring sizes between 2 and 32768 bytes are possible. This can
6139 //               apply to either read or write addresses, based on value of
6140 //               RING_SEL.
6141 //               0x0 -> RING_NONE
6142 #define DMA_CH13_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
6143 #define DMA_CH13_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
6144 #define DMA_CH13_CTRL_TRIG_RING_SIZE_MSB    _u(11)
6145 #define DMA_CH13_CTRL_TRIG_RING_SIZE_LSB    _u(8)
6146 #define DMA_CH13_CTRL_TRIG_RING_SIZE_ACCESS "RW"
6147 #define DMA_CH13_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
6148 // -----------------------------------------------------------------------------
6149 // Field       : DMA_CH13_CTRL_TRIG_INCR_WRITE_REV
6150 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
6151 //               rather than incremented with each transfer.
6152 //
6153 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
6154 //               causes the write address to be incremented by twice the
6155 //               transfer size, i.e. skipping over alternate addresses.
6156 #define DMA_CH13_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
6157 #define DMA_CH13_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
6158 #define DMA_CH13_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
6159 #define DMA_CH13_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
6160 #define DMA_CH13_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
6161 // -----------------------------------------------------------------------------
6162 // Field       : DMA_CH13_CTRL_TRIG_INCR_WRITE
6163 // Description : If 1, the write address increments with each transfer. If 0,
6164 //               each write is directed to the same, initial address.
6165 //
6166 //               Generally this should be disabled for memory-to-peripheral
6167 //               transfers.
6168 #define DMA_CH13_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
6169 #define DMA_CH13_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
6170 #define DMA_CH13_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
6171 #define DMA_CH13_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
6172 #define DMA_CH13_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
6173 // -----------------------------------------------------------------------------
6174 // Field       : DMA_CH13_CTRL_TRIG_INCR_READ_REV
6175 // Description : If 1, and INCR_READ is 1, the read address is decremented
6176 //               rather than incremented with each transfer.
6177 //
6178 //               If 1, and INCR_READ is 0, this otherwise-unused combination
6179 //               causes the read address to be incremented by twice the transfer
6180 //               size, i.e. skipping over alternate addresses.
6181 #define DMA_CH13_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
6182 #define DMA_CH13_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
6183 #define DMA_CH13_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
6184 #define DMA_CH13_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
6185 #define DMA_CH13_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
6186 // -----------------------------------------------------------------------------
6187 // Field       : DMA_CH13_CTRL_TRIG_INCR_READ
6188 // Description : If 1, the read address increments with each transfer. If 0,
6189 //               each read is directed to the same, initial address.
6190 //
6191 //               Generally this should be disabled for peripheral-to-memory
6192 //               transfers.
6193 #define DMA_CH13_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
6194 #define DMA_CH13_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
6195 #define DMA_CH13_CTRL_TRIG_INCR_READ_MSB    _u(4)
6196 #define DMA_CH13_CTRL_TRIG_INCR_READ_LSB    _u(4)
6197 #define DMA_CH13_CTRL_TRIG_INCR_READ_ACCESS "RW"
6198 // -----------------------------------------------------------------------------
6199 // Field       : DMA_CH13_CTRL_TRIG_DATA_SIZE
6200 // Description : Set the size of each bus transfer (byte/halfword/word).
6201 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
6202 //               with each transfer.
6203 //               0x0 -> SIZE_BYTE
6204 //               0x1 -> SIZE_HALFWORD
6205 //               0x2 -> SIZE_WORD
6206 #define DMA_CH13_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
6207 #define DMA_CH13_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
6208 #define DMA_CH13_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
6209 #define DMA_CH13_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
6210 #define DMA_CH13_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
6211 #define DMA_CH13_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
6212 #define DMA_CH13_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
6213 #define DMA_CH13_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
6214 // -----------------------------------------------------------------------------
6215 // Field       : DMA_CH13_CTRL_TRIG_HIGH_PRIORITY
6216 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
6217 //               scheduling: in each scheduling round, all high priority
6218 //               channels are considered first, and then only a single low
6219 //               priority channel, before returning to the high priority
6220 //               channels.
6221 //
6222 //               This only affects the order in which the DMA schedules
6223 //               channels. The DMA's bus priority is not changed. If the DMA is
6224 //               not saturated then a low priority channel will see no loss of
6225 //               throughput.
6226 #define DMA_CH13_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
6227 #define DMA_CH13_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
6228 #define DMA_CH13_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
6229 #define DMA_CH13_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
6230 #define DMA_CH13_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
6231 // -----------------------------------------------------------------------------
6232 // Field       : DMA_CH13_CTRL_TRIG_EN
6233 // Description : DMA Channel Enable.
6234 //               When 1, the channel will respond to triggering events, which
6235 //               will cause it to become BUSY and start transferring data. When
6236 //               0, the channel will ignore triggers, stop issuing transfers,
6237 //               and pause the current transfer sequence (i.e. BUSY will remain
6238 //               high if already high)
6239 #define DMA_CH13_CTRL_TRIG_EN_RESET  _u(0x0)
6240 #define DMA_CH13_CTRL_TRIG_EN_BITS   _u(0x00000001)
6241 #define DMA_CH13_CTRL_TRIG_EN_MSB    _u(0)
6242 #define DMA_CH13_CTRL_TRIG_EN_LSB    _u(0)
6243 #define DMA_CH13_CTRL_TRIG_EN_ACCESS "RW"
6244 // =============================================================================
6245 // Register    : DMA_CH13_AL1_CTRL
6246 // Description : Alias for channel 13 CTRL register
6247 #define DMA_CH13_AL1_CTRL_OFFSET _u(0x00000350)
6248 #define DMA_CH13_AL1_CTRL_BITS   _u(0xffffffff)
6249 #define DMA_CH13_AL1_CTRL_RESET  "-"
6250 #define DMA_CH13_AL1_CTRL_MSB    _u(31)
6251 #define DMA_CH13_AL1_CTRL_LSB    _u(0)
6252 #define DMA_CH13_AL1_CTRL_ACCESS "RW"
6253 // =============================================================================
6254 // Register    : DMA_CH13_AL1_READ_ADDR
6255 // Description : Alias for channel 13 READ_ADDR register
6256 #define DMA_CH13_AL1_READ_ADDR_OFFSET _u(0x00000354)
6257 #define DMA_CH13_AL1_READ_ADDR_BITS   _u(0xffffffff)
6258 #define DMA_CH13_AL1_READ_ADDR_RESET  "-"
6259 #define DMA_CH13_AL1_READ_ADDR_MSB    _u(31)
6260 #define DMA_CH13_AL1_READ_ADDR_LSB    _u(0)
6261 #define DMA_CH13_AL1_READ_ADDR_ACCESS "RW"
6262 // =============================================================================
6263 // Register    : DMA_CH13_AL1_WRITE_ADDR
6264 // Description : Alias for channel 13 WRITE_ADDR register
6265 #define DMA_CH13_AL1_WRITE_ADDR_OFFSET _u(0x00000358)
6266 #define DMA_CH13_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
6267 #define DMA_CH13_AL1_WRITE_ADDR_RESET  "-"
6268 #define DMA_CH13_AL1_WRITE_ADDR_MSB    _u(31)
6269 #define DMA_CH13_AL1_WRITE_ADDR_LSB    _u(0)
6270 #define DMA_CH13_AL1_WRITE_ADDR_ACCESS "RW"
6271 // =============================================================================
6272 // Register    : DMA_CH13_AL1_TRANS_COUNT_TRIG
6273 // Description : Alias for channel 13 TRANS_COUNT register
6274 //               This is a trigger register (0xc). Writing a nonzero value will
6275 //               reload the channel counter and start the channel.
6276 #define DMA_CH13_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000035c)
6277 #define DMA_CH13_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
6278 #define DMA_CH13_AL1_TRANS_COUNT_TRIG_RESET  "-"
6279 #define DMA_CH13_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
6280 #define DMA_CH13_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
6281 #define DMA_CH13_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
6282 // =============================================================================
6283 // Register    : DMA_CH13_AL2_CTRL
6284 // Description : Alias for channel 13 CTRL register
6285 #define DMA_CH13_AL2_CTRL_OFFSET _u(0x00000360)
6286 #define DMA_CH13_AL2_CTRL_BITS   _u(0xffffffff)
6287 #define DMA_CH13_AL2_CTRL_RESET  "-"
6288 #define DMA_CH13_AL2_CTRL_MSB    _u(31)
6289 #define DMA_CH13_AL2_CTRL_LSB    _u(0)
6290 #define DMA_CH13_AL2_CTRL_ACCESS "RW"
6291 // =============================================================================
6292 // Register    : DMA_CH13_AL2_TRANS_COUNT
6293 // Description : Alias for channel 13 TRANS_COUNT register
6294 #define DMA_CH13_AL2_TRANS_COUNT_OFFSET _u(0x00000364)
6295 #define DMA_CH13_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
6296 #define DMA_CH13_AL2_TRANS_COUNT_RESET  "-"
6297 #define DMA_CH13_AL2_TRANS_COUNT_MSB    _u(31)
6298 #define DMA_CH13_AL2_TRANS_COUNT_LSB    _u(0)
6299 #define DMA_CH13_AL2_TRANS_COUNT_ACCESS "RW"
6300 // =============================================================================
6301 // Register    : DMA_CH13_AL2_READ_ADDR
6302 // Description : Alias for channel 13 READ_ADDR register
6303 #define DMA_CH13_AL2_READ_ADDR_OFFSET _u(0x00000368)
6304 #define DMA_CH13_AL2_READ_ADDR_BITS   _u(0xffffffff)
6305 #define DMA_CH13_AL2_READ_ADDR_RESET  "-"
6306 #define DMA_CH13_AL2_READ_ADDR_MSB    _u(31)
6307 #define DMA_CH13_AL2_READ_ADDR_LSB    _u(0)
6308 #define DMA_CH13_AL2_READ_ADDR_ACCESS "RW"
6309 // =============================================================================
6310 // Register    : DMA_CH13_AL2_WRITE_ADDR_TRIG
6311 // Description : Alias for channel 13 WRITE_ADDR register
6312 //               This is a trigger register (0xc). Writing a nonzero value will
6313 //               reload the channel counter and start the channel.
6314 #define DMA_CH13_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x0000036c)
6315 #define DMA_CH13_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
6316 #define DMA_CH13_AL2_WRITE_ADDR_TRIG_RESET  "-"
6317 #define DMA_CH13_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
6318 #define DMA_CH13_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
6319 #define DMA_CH13_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
6320 // =============================================================================
6321 // Register    : DMA_CH13_AL3_CTRL
6322 // Description : Alias for channel 13 CTRL register
6323 #define DMA_CH13_AL3_CTRL_OFFSET _u(0x00000370)
6324 #define DMA_CH13_AL3_CTRL_BITS   _u(0xffffffff)
6325 #define DMA_CH13_AL3_CTRL_RESET  "-"
6326 #define DMA_CH13_AL3_CTRL_MSB    _u(31)
6327 #define DMA_CH13_AL3_CTRL_LSB    _u(0)
6328 #define DMA_CH13_AL3_CTRL_ACCESS "RW"
6329 // =============================================================================
6330 // Register    : DMA_CH13_AL3_WRITE_ADDR
6331 // Description : Alias for channel 13 WRITE_ADDR register
6332 #define DMA_CH13_AL3_WRITE_ADDR_OFFSET _u(0x00000374)
6333 #define DMA_CH13_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
6334 #define DMA_CH13_AL3_WRITE_ADDR_RESET  "-"
6335 #define DMA_CH13_AL3_WRITE_ADDR_MSB    _u(31)
6336 #define DMA_CH13_AL3_WRITE_ADDR_LSB    _u(0)
6337 #define DMA_CH13_AL3_WRITE_ADDR_ACCESS "RW"
6338 // =============================================================================
6339 // Register    : DMA_CH13_AL3_TRANS_COUNT
6340 // Description : Alias for channel 13 TRANS_COUNT register
6341 #define DMA_CH13_AL3_TRANS_COUNT_OFFSET _u(0x00000378)
6342 #define DMA_CH13_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
6343 #define DMA_CH13_AL3_TRANS_COUNT_RESET  "-"
6344 #define DMA_CH13_AL3_TRANS_COUNT_MSB    _u(31)
6345 #define DMA_CH13_AL3_TRANS_COUNT_LSB    _u(0)
6346 #define DMA_CH13_AL3_TRANS_COUNT_ACCESS "RW"
6347 // =============================================================================
6348 // Register    : DMA_CH13_AL3_READ_ADDR_TRIG
6349 // Description : Alias for channel 13 READ_ADDR register
6350 //               This is a trigger register (0xc). Writing a nonzero value will
6351 //               reload the channel counter and start the channel.
6352 #define DMA_CH13_AL3_READ_ADDR_TRIG_OFFSET _u(0x0000037c)
6353 #define DMA_CH13_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
6354 #define DMA_CH13_AL3_READ_ADDR_TRIG_RESET  "-"
6355 #define DMA_CH13_AL3_READ_ADDR_TRIG_MSB    _u(31)
6356 #define DMA_CH13_AL3_READ_ADDR_TRIG_LSB    _u(0)
6357 #define DMA_CH13_AL3_READ_ADDR_TRIG_ACCESS "RW"
6358 // =============================================================================
6359 // Register    : DMA_CH14_READ_ADDR
6360 // Description : DMA Channel 14 Read Address pointer
6361 //               This register updates automatically each time a read completes.
6362 //               The current value is the next address to be read by this
6363 //               channel.
6364 #define DMA_CH14_READ_ADDR_OFFSET _u(0x00000380)
6365 #define DMA_CH14_READ_ADDR_BITS   _u(0xffffffff)
6366 #define DMA_CH14_READ_ADDR_RESET  _u(0x00000000)
6367 #define DMA_CH14_READ_ADDR_MSB    _u(31)
6368 #define DMA_CH14_READ_ADDR_LSB    _u(0)
6369 #define DMA_CH14_READ_ADDR_ACCESS "RW"
6370 // =============================================================================
6371 // Register    : DMA_CH14_WRITE_ADDR
6372 // Description : DMA Channel 14 Write Address pointer
6373 //               This register updates automatically each time a write
6374 //               completes. The current value is the next address to be written
6375 //               by this channel.
6376 #define DMA_CH14_WRITE_ADDR_OFFSET _u(0x00000384)
6377 #define DMA_CH14_WRITE_ADDR_BITS   _u(0xffffffff)
6378 #define DMA_CH14_WRITE_ADDR_RESET  _u(0x00000000)
6379 #define DMA_CH14_WRITE_ADDR_MSB    _u(31)
6380 #define DMA_CH14_WRITE_ADDR_LSB    _u(0)
6381 #define DMA_CH14_WRITE_ADDR_ACCESS "RW"
6382 // =============================================================================
6383 // Register    : DMA_CH14_TRANS_COUNT
6384 // Description : DMA Channel 14 Transfer Count
6385 #define DMA_CH14_TRANS_COUNT_OFFSET _u(0x00000388)
6386 #define DMA_CH14_TRANS_COUNT_BITS   _u(0xffffffff)
6387 #define DMA_CH14_TRANS_COUNT_RESET  _u(0x00000000)
6388 // -----------------------------------------------------------------------------
6389 // Field       : DMA_CH14_TRANS_COUNT_MODE
6390 // Description : When MODE is 0x0, the transfer count decrements with each
6391 //               transfer until 0, and then the channel triggers the next
6392 //               channel indicated by CTRL_CHAIN_TO.
6393 //
6394 //               When MODE is 0x1, the transfer count decrements with each
6395 //               transfer until 0, and then the channel re-triggers itself, in
6396 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
6397 //               useful for e.g. an endless ring-buffer DMA with periodic
6398 //               interrupts.
6399 //
6400 //               When MODE is 0xf, the transfer count does not decrement. The
6401 //               DMA channel performs an endless sequence of transfers, never
6402 //               triggering other channels or raising interrupts, until an ABORT
6403 //               is raised.
6404 //
6405 //               All other values are reserved.
6406 //               0x0 -> NORMAL
6407 //               0x1 -> TRIGGER_SELF
6408 //               0xf -> ENDLESS
6409 #define DMA_CH14_TRANS_COUNT_MODE_RESET  _u(0x0)
6410 #define DMA_CH14_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
6411 #define DMA_CH14_TRANS_COUNT_MODE_MSB    _u(31)
6412 #define DMA_CH14_TRANS_COUNT_MODE_LSB    _u(28)
6413 #define DMA_CH14_TRANS_COUNT_MODE_ACCESS "RW"
6414 #define DMA_CH14_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
6415 #define DMA_CH14_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
6416 #define DMA_CH14_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
6417 // -----------------------------------------------------------------------------
6418 // Field       : DMA_CH14_TRANS_COUNT_COUNT
6419 // Description : 28-bit transfer count (256 million transfers maximum).
6420 //
6421 //               Program the number of bus transfers a channel will perform
6422 //               before halting. Note that, if transfers are larger than one
6423 //               byte in size, this is not equal to the number of bytes
6424 //               transferred (see CTRL_DATA_SIZE).
6425 //
6426 //               When the channel is active, reading this register shows the
6427 //               number of transfers remaining, updating automatically each time
6428 //               a write transfer completes.
6429 //
6430 //               Writing this register sets the RELOAD value for the transfer
6431 //               counter. Each time this channel is triggered, the RELOAD value
6432 //               is copied into the live transfer counter. The channel can be
6433 //               started multiple times, and will perform the same number of
6434 //               transfers each time, as programmed by most recent write.
6435 //
6436 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
6437 //               is used as a trigger, the written value is used immediately as
6438 //               the length of the new transfer sequence, as well as being
6439 //               written to RELOAD.
6440 #define DMA_CH14_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
6441 #define DMA_CH14_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
6442 #define DMA_CH14_TRANS_COUNT_COUNT_MSB    _u(27)
6443 #define DMA_CH14_TRANS_COUNT_COUNT_LSB    _u(0)
6444 #define DMA_CH14_TRANS_COUNT_COUNT_ACCESS "RW"
6445 // =============================================================================
6446 // Register    : DMA_CH14_CTRL_TRIG
6447 // Description : DMA Channel 14 Control and Status
6448 #define DMA_CH14_CTRL_TRIG_OFFSET _u(0x0000038c)
6449 #define DMA_CH14_CTRL_TRIG_BITS   _u(0xe7ffffff)
6450 #define DMA_CH14_CTRL_TRIG_RESET  _u(0x00000000)
6451 // -----------------------------------------------------------------------------
6452 // Field       : DMA_CH14_CTRL_TRIG_AHB_ERROR
6453 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
6454 //               halts when it encounters any bus error, and always raises its
6455 //               channel IRQ flag.
6456 #define DMA_CH14_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
6457 #define DMA_CH14_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
6458 #define DMA_CH14_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
6459 #define DMA_CH14_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
6460 #define DMA_CH14_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
6461 // -----------------------------------------------------------------------------
6462 // Field       : DMA_CH14_CTRL_TRIG_READ_ERROR
6463 // Description : If 1, the channel received a read bus error. Write one to
6464 //               clear.
6465 //               READ_ADDR shows the approximate address where the bus error was
6466 //               encountered (will not be earlier, or more than 3 transfers
6467 //               later)
6468 #define DMA_CH14_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
6469 #define DMA_CH14_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
6470 #define DMA_CH14_CTRL_TRIG_READ_ERROR_MSB    _u(30)
6471 #define DMA_CH14_CTRL_TRIG_READ_ERROR_LSB    _u(30)
6472 #define DMA_CH14_CTRL_TRIG_READ_ERROR_ACCESS "WC"
6473 // -----------------------------------------------------------------------------
6474 // Field       : DMA_CH14_CTRL_TRIG_WRITE_ERROR
6475 // Description : If 1, the channel received a write bus error. Write one to
6476 //               clear.
6477 //               WRITE_ADDR shows the approximate address where the bus error
6478 //               was encountered (will not be earlier, or more than 5 transfers
6479 //               later)
6480 #define DMA_CH14_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
6481 #define DMA_CH14_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
6482 #define DMA_CH14_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
6483 #define DMA_CH14_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
6484 #define DMA_CH14_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
6485 // -----------------------------------------------------------------------------
6486 // Field       : DMA_CH14_CTRL_TRIG_BUSY
6487 // Description : This flag goes high when the channel starts a new transfer
6488 //               sequence, and low when the last transfer of that sequence
6489 //               completes. Clearing EN while BUSY is high pauses the channel,
6490 //               and BUSY will stay high while paused.
6491 //
6492 //               To terminate a sequence early (and clear the BUSY flag), see
6493 //               CHAN_ABORT.
6494 #define DMA_CH14_CTRL_TRIG_BUSY_RESET  _u(0x0)
6495 #define DMA_CH14_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
6496 #define DMA_CH14_CTRL_TRIG_BUSY_MSB    _u(26)
6497 #define DMA_CH14_CTRL_TRIG_BUSY_LSB    _u(26)
6498 #define DMA_CH14_CTRL_TRIG_BUSY_ACCESS "RO"
6499 // -----------------------------------------------------------------------------
6500 // Field       : DMA_CH14_CTRL_TRIG_SNIFF_EN
6501 // Description : If 1, this channel's data transfers are visible to the sniff
6502 //               hardware, and each transfer will advance the state of the
6503 //               checksum. This only applies if the sniff hardware is enabled,
6504 //               and has this channel selected.
6505 //
6506 //               This allows checksum to be enabled or disabled on a per-
6507 //               control- block basis.
6508 #define DMA_CH14_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
6509 #define DMA_CH14_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
6510 #define DMA_CH14_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
6511 #define DMA_CH14_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
6512 #define DMA_CH14_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
6513 // -----------------------------------------------------------------------------
6514 // Field       : DMA_CH14_CTRL_TRIG_BSWAP
6515 // Description : Apply byte-swap transformation to DMA data.
6516 //               For byte data, this has no effect. For halfword data, the two
6517 //               bytes of each halfword are swapped. For word data, the four
6518 //               bytes of each word are swapped to reverse order.
6519 #define DMA_CH14_CTRL_TRIG_BSWAP_RESET  _u(0x0)
6520 #define DMA_CH14_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
6521 #define DMA_CH14_CTRL_TRIG_BSWAP_MSB    _u(24)
6522 #define DMA_CH14_CTRL_TRIG_BSWAP_LSB    _u(24)
6523 #define DMA_CH14_CTRL_TRIG_BSWAP_ACCESS "RW"
6524 // -----------------------------------------------------------------------------
6525 // Field       : DMA_CH14_CTRL_TRIG_IRQ_QUIET
6526 // Description : In QUIET mode, the channel does not generate IRQs at the end of
6527 //               every transfer block. Instead, an IRQ is raised when NULL is
6528 //               written to a trigger register, indicating the end of a control
6529 //               block chain.
6530 //
6531 //               This reduces the number of interrupts to be serviced by the CPU
6532 //               when transferring a DMA chain of many small control blocks.
6533 #define DMA_CH14_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
6534 #define DMA_CH14_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
6535 #define DMA_CH14_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
6536 #define DMA_CH14_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
6537 #define DMA_CH14_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
6538 // -----------------------------------------------------------------------------
6539 // Field       : DMA_CH14_CTRL_TRIG_TREQ_SEL
6540 // Description : Select a Transfer Request signal.
6541 //               The channel uses the transfer request signal to pace its data
6542 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
6543 //               or external (DREQ, a Data Request from the system).
6544 //               0x0 to 0x3a -> select DREQ n as TREQ
6545 //               0x3b -> Select Timer 0 as TREQ
6546 //               0x3c -> Select Timer 1 as TREQ
6547 //               0x3d -> Select Timer 2 as TREQ (Optional)
6548 //               0x3e -> Select Timer 3 as TREQ (Optional)
6549 //               0x3f -> Permanent request, for unpaced transfers.
6550 #define DMA_CH14_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
6551 #define DMA_CH14_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
6552 #define DMA_CH14_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
6553 #define DMA_CH14_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
6554 #define DMA_CH14_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
6555 #define DMA_CH14_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
6556 #define DMA_CH14_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
6557 #define DMA_CH14_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
6558 #define DMA_CH14_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
6559 #define DMA_CH14_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
6560 // -----------------------------------------------------------------------------
6561 // Field       : DMA_CH14_CTRL_TRIG_CHAIN_TO
6562 // Description : When this channel completes, it will trigger the channel
6563 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
6564 //               channel)_.
6565 //
6566 //               Note this field resets to 0, so channels 1 and above will chain
6567 //               to channel 0 by default. Set this field to avoid this
6568 //               behaviour.
6569 #define DMA_CH14_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
6570 #define DMA_CH14_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
6571 #define DMA_CH14_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
6572 #define DMA_CH14_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
6573 #define DMA_CH14_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
6574 // -----------------------------------------------------------------------------
6575 // Field       : DMA_CH14_CTRL_TRIG_RING_SEL
6576 // Description : Select whether RING_SIZE applies to read or write addresses.
6577 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
6578 //               boundary. If 1, write addresses are wrapped.
6579 #define DMA_CH14_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
6580 #define DMA_CH14_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
6581 #define DMA_CH14_CTRL_TRIG_RING_SEL_MSB    _u(12)
6582 #define DMA_CH14_CTRL_TRIG_RING_SEL_LSB    _u(12)
6583 #define DMA_CH14_CTRL_TRIG_RING_SEL_ACCESS "RW"
6584 // -----------------------------------------------------------------------------
6585 // Field       : DMA_CH14_CTRL_TRIG_RING_SIZE
6586 // Description : Size of address wrap region. If 0, don't wrap. For values n >
6587 //               0, only the lower n bits of the address will change. This wraps
6588 //               the address on a (1 << n) byte boundary, facilitating access to
6589 //               naturally-aligned ring buffers.
6590 //
6591 //               Ring sizes between 2 and 32768 bytes are possible. This can
6592 //               apply to either read or write addresses, based on value of
6593 //               RING_SEL.
6594 //               0x0 -> RING_NONE
6595 #define DMA_CH14_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
6596 #define DMA_CH14_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
6597 #define DMA_CH14_CTRL_TRIG_RING_SIZE_MSB    _u(11)
6598 #define DMA_CH14_CTRL_TRIG_RING_SIZE_LSB    _u(8)
6599 #define DMA_CH14_CTRL_TRIG_RING_SIZE_ACCESS "RW"
6600 #define DMA_CH14_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
6601 // -----------------------------------------------------------------------------
6602 // Field       : DMA_CH14_CTRL_TRIG_INCR_WRITE_REV
6603 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
6604 //               rather than incremented with each transfer.
6605 //
6606 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
6607 //               causes the write address to be incremented by twice the
6608 //               transfer size, i.e. skipping over alternate addresses.
6609 #define DMA_CH14_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
6610 #define DMA_CH14_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
6611 #define DMA_CH14_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
6612 #define DMA_CH14_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
6613 #define DMA_CH14_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
6614 // -----------------------------------------------------------------------------
6615 // Field       : DMA_CH14_CTRL_TRIG_INCR_WRITE
6616 // Description : If 1, the write address increments with each transfer. If 0,
6617 //               each write is directed to the same, initial address.
6618 //
6619 //               Generally this should be disabled for memory-to-peripheral
6620 //               transfers.
6621 #define DMA_CH14_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
6622 #define DMA_CH14_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
6623 #define DMA_CH14_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
6624 #define DMA_CH14_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
6625 #define DMA_CH14_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
6626 // -----------------------------------------------------------------------------
6627 // Field       : DMA_CH14_CTRL_TRIG_INCR_READ_REV
6628 // Description : If 1, and INCR_READ is 1, the read address is decremented
6629 //               rather than incremented with each transfer.
6630 //
6631 //               If 1, and INCR_READ is 0, this otherwise-unused combination
6632 //               causes the read address to be incremented by twice the transfer
6633 //               size, i.e. skipping over alternate addresses.
6634 #define DMA_CH14_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
6635 #define DMA_CH14_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
6636 #define DMA_CH14_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
6637 #define DMA_CH14_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
6638 #define DMA_CH14_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
6639 // -----------------------------------------------------------------------------
6640 // Field       : DMA_CH14_CTRL_TRIG_INCR_READ
6641 // Description : If 1, the read address increments with each transfer. If 0,
6642 //               each read is directed to the same, initial address.
6643 //
6644 //               Generally this should be disabled for peripheral-to-memory
6645 //               transfers.
6646 #define DMA_CH14_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
6647 #define DMA_CH14_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
6648 #define DMA_CH14_CTRL_TRIG_INCR_READ_MSB    _u(4)
6649 #define DMA_CH14_CTRL_TRIG_INCR_READ_LSB    _u(4)
6650 #define DMA_CH14_CTRL_TRIG_INCR_READ_ACCESS "RW"
6651 // -----------------------------------------------------------------------------
6652 // Field       : DMA_CH14_CTRL_TRIG_DATA_SIZE
6653 // Description : Set the size of each bus transfer (byte/halfword/word).
6654 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
6655 //               with each transfer.
6656 //               0x0 -> SIZE_BYTE
6657 //               0x1 -> SIZE_HALFWORD
6658 //               0x2 -> SIZE_WORD
6659 #define DMA_CH14_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
6660 #define DMA_CH14_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
6661 #define DMA_CH14_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
6662 #define DMA_CH14_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
6663 #define DMA_CH14_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
6664 #define DMA_CH14_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
6665 #define DMA_CH14_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
6666 #define DMA_CH14_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
6667 // -----------------------------------------------------------------------------
6668 // Field       : DMA_CH14_CTRL_TRIG_HIGH_PRIORITY
6669 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
6670 //               scheduling: in each scheduling round, all high priority
6671 //               channels are considered first, and then only a single low
6672 //               priority channel, before returning to the high priority
6673 //               channels.
6674 //
6675 //               This only affects the order in which the DMA schedules
6676 //               channels. The DMA's bus priority is not changed. If the DMA is
6677 //               not saturated then a low priority channel will see no loss of
6678 //               throughput.
6679 #define DMA_CH14_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
6680 #define DMA_CH14_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
6681 #define DMA_CH14_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
6682 #define DMA_CH14_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
6683 #define DMA_CH14_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
6684 // -----------------------------------------------------------------------------
6685 // Field       : DMA_CH14_CTRL_TRIG_EN
6686 // Description : DMA Channel Enable.
6687 //               When 1, the channel will respond to triggering events, which
6688 //               will cause it to become BUSY and start transferring data. When
6689 //               0, the channel will ignore triggers, stop issuing transfers,
6690 //               and pause the current transfer sequence (i.e. BUSY will remain
6691 //               high if already high)
6692 #define DMA_CH14_CTRL_TRIG_EN_RESET  _u(0x0)
6693 #define DMA_CH14_CTRL_TRIG_EN_BITS   _u(0x00000001)
6694 #define DMA_CH14_CTRL_TRIG_EN_MSB    _u(0)
6695 #define DMA_CH14_CTRL_TRIG_EN_LSB    _u(0)
6696 #define DMA_CH14_CTRL_TRIG_EN_ACCESS "RW"
6697 // =============================================================================
6698 // Register    : DMA_CH14_AL1_CTRL
6699 // Description : Alias for channel 14 CTRL register
6700 #define DMA_CH14_AL1_CTRL_OFFSET _u(0x00000390)
6701 #define DMA_CH14_AL1_CTRL_BITS   _u(0xffffffff)
6702 #define DMA_CH14_AL1_CTRL_RESET  "-"
6703 #define DMA_CH14_AL1_CTRL_MSB    _u(31)
6704 #define DMA_CH14_AL1_CTRL_LSB    _u(0)
6705 #define DMA_CH14_AL1_CTRL_ACCESS "RW"
6706 // =============================================================================
6707 // Register    : DMA_CH14_AL1_READ_ADDR
6708 // Description : Alias for channel 14 READ_ADDR register
6709 #define DMA_CH14_AL1_READ_ADDR_OFFSET _u(0x00000394)
6710 #define DMA_CH14_AL1_READ_ADDR_BITS   _u(0xffffffff)
6711 #define DMA_CH14_AL1_READ_ADDR_RESET  "-"
6712 #define DMA_CH14_AL1_READ_ADDR_MSB    _u(31)
6713 #define DMA_CH14_AL1_READ_ADDR_LSB    _u(0)
6714 #define DMA_CH14_AL1_READ_ADDR_ACCESS "RW"
6715 // =============================================================================
6716 // Register    : DMA_CH14_AL1_WRITE_ADDR
6717 // Description : Alias for channel 14 WRITE_ADDR register
6718 #define DMA_CH14_AL1_WRITE_ADDR_OFFSET _u(0x00000398)
6719 #define DMA_CH14_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
6720 #define DMA_CH14_AL1_WRITE_ADDR_RESET  "-"
6721 #define DMA_CH14_AL1_WRITE_ADDR_MSB    _u(31)
6722 #define DMA_CH14_AL1_WRITE_ADDR_LSB    _u(0)
6723 #define DMA_CH14_AL1_WRITE_ADDR_ACCESS "RW"
6724 // =============================================================================
6725 // Register    : DMA_CH14_AL1_TRANS_COUNT_TRIG
6726 // Description : Alias for channel 14 TRANS_COUNT register
6727 //               This is a trigger register (0xc). Writing a nonzero value will
6728 //               reload the channel counter and start the channel.
6729 #define DMA_CH14_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x0000039c)
6730 #define DMA_CH14_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
6731 #define DMA_CH14_AL1_TRANS_COUNT_TRIG_RESET  "-"
6732 #define DMA_CH14_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
6733 #define DMA_CH14_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
6734 #define DMA_CH14_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
6735 // =============================================================================
6736 // Register    : DMA_CH14_AL2_CTRL
6737 // Description : Alias for channel 14 CTRL register
6738 #define DMA_CH14_AL2_CTRL_OFFSET _u(0x000003a0)
6739 #define DMA_CH14_AL2_CTRL_BITS   _u(0xffffffff)
6740 #define DMA_CH14_AL2_CTRL_RESET  "-"
6741 #define DMA_CH14_AL2_CTRL_MSB    _u(31)
6742 #define DMA_CH14_AL2_CTRL_LSB    _u(0)
6743 #define DMA_CH14_AL2_CTRL_ACCESS "RW"
6744 // =============================================================================
6745 // Register    : DMA_CH14_AL2_TRANS_COUNT
6746 // Description : Alias for channel 14 TRANS_COUNT register
6747 #define DMA_CH14_AL2_TRANS_COUNT_OFFSET _u(0x000003a4)
6748 #define DMA_CH14_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
6749 #define DMA_CH14_AL2_TRANS_COUNT_RESET  "-"
6750 #define DMA_CH14_AL2_TRANS_COUNT_MSB    _u(31)
6751 #define DMA_CH14_AL2_TRANS_COUNT_LSB    _u(0)
6752 #define DMA_CH14_AL2_TRANS_COUNT_ACCESS "RW"
6753 // =============================================================================
6754 // Register    : DMA_CH14_AL2_READ_ADDR
6755 // Description : Alias for channel 14 READ_ADDR register
6756 #define DMA_CH14_AL2_READ_ADDR_OFFSET _u(0x000003a8)
6757 #define DMA_CH14_AL2_READ_ADDR_BITS   _u(0xffffffff)
6758 #define DMA_CH14_AL2_READ_ADDR_RESET  "-"
6759 #define DMA_CH14_AL2_READ_ADDR_MSB    _u(31)
6760 #define DMA_CH14_AL2_READ_ADDR_LSB    _u(0)
6761 #define DMA_CH14_AL2_READ_ADDR_ACCESS "RW"
6762 // =============================================================================
6763 // Register    : DMA_CH14_AL2_WRITE_ADDR_TRIG
6764 // Description : Alias for channel 14 WRITE_ADDR register
6765 //               This is a trigger register (0xc). Writing a nonzero value will
6766 //               reload the channel counter and start the channel.
6767 #define DMA_CH14_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000003ac)
6768 #define DMA_CH14_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
6769 #define DMA_CH14_AL2_WRITE_ADDR_TRIG_RESET  "-"
6770 #define DMA_CH14_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
6771 #define DMA_CH14_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
6772 #define DMA_CH14_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
6773 // =============================================================================
6774 // Register    : DMA_CH14_AL3_CTRL
6775 // Description : Alias for channel 14 CTRL register
6776 #define DMA_CH14_AL3_CTRL_OFFSET _u(0x000003b0)
6777 #define DMA_CH14_AL3_CTRL_BITS   _u(0xffffffff)
6778 #define DMA_CH14_AL3_CTRL_RESET  "-"
6779 #define DMA_CH14_AL3_CTRL_MSB    _u(31)
6780 #define DMA_CH14_AL3_CTRL_LSB    _u(0)
6781 #define DMA_CH14_AL3_CTRL_ACCESS "RW"
6782 // =============================================================================
6783 // Register    : DMA_CH14_AL3_WRITE_ADDR
6784 // Description : Alias for channel 14 WRITE_ADDR register
6785 #define DMA_CH14_AL3_WRITE_ADDR_OFFSET _u(0x000003b4)
6786 #define DMA_CH14_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
6787 #define DMA_CH14_AL3_WRITE_ADDR_RESET  "-"
6788 #define DMA_CH14_AL3_WRITE_ADDR_MSB    _u(31)
6789 #define DMA_CH14_AL3_WRITE_ADDR_LSB    _u(0)
6790 #define DMA_CH14_AL3_WRITE_ADDR_ACCESS "RW"
6791 // =============================================================================
6792 // Register    : DMA_CH14_AL3_TRANS_COUNT
6793 // Description : Alias for channel 14 TRANS_COUNT register
6794 #define DMA_CH14_AL3_TRANS_COUNT_OFFSET _u(0x000003b8)
6795 #define DMA_CH14_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
6796 #define DMA_CH14_AL3_TRANS_COUNT_RESET  "-"
6797 #define DMA_CH14_AL3_TRANS_COUNT_MSB    _u(31)
6798 #define DMA_CH14_AL3_TRANS_COUNT_LSB    _u(0)
6799 #define DMA_CH14_AL3_TRANS_COUNT_ACCESS "RW"
6800 // =============================================================================
6801 // Register    : DMA_CH14_AL3_READ_ADDR_TRIG
6802 // Description : Alias for channel 14 READ_ADDR register
6803 //               This is a trigger register (0xc). Writing a nonzero value will
6804 //               reload the channel counter and start the channel.
6805 #define DMA_CH14_AL3_READ_ADDR_TRIG_OFFSET _u(0x000003bc)
6806 #define DMA_CH14_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
6807 #define DMA_CH14_AL3_READ_ADDR_TRIG_RESET  "-"
6808 #define DMA_CH14_AL3_READ_ADDR_TRIG_MSB    _u(31)
6809 #define DMA_CH14_AL3_READ_ADDR_TRIG_LSB    _u(0)
6810 #define DMA_CH14_AL3_READ_ADDR_TRIG_ACCESS "RW"
6811 // =============================================================================
6812 // Register    : DMA_CH15_READ_ADDR
6813 // Description : DMA Channel 15 Read Address pointer
6814 //               This register updates automatically each time a read completes.
6815 //               The current value is the next address to be read by this
6816 //               channel.
6817 #define DMA_CH15_READ_ADDR_OFFSET _u(0x000003c0)
6818 #define DMA_CH15_READ_ADDR_BITS   _u(0xffffffff)
6819 #define DMA_CH15_READ_ADDR_RESET  _u(0x00000000)
6820 #define DMA_CH15_READ_ADDR_MSB    _u(31)
6821 #define DMA_CH15_READ_ADDR_LSB    _u(0)
6822 #define DMA_CH15_READ_ADDR_ACCESS "RW"
6823 // =============================================================================
6824 // Register    : DMA_CH15_WRITE_ADDR
6825 // Description : DMA Channel 15 Write Address pointer
6826 //               This register updates automatically each time a write
6827 //               completes. The current value is the next address to be written
6828 //               by this channel.
6829 #define DMA_CH15_WRITE_ADDR_OFFSET _u(0x000003c4)
6830 #define DMA_CH15_WRITE_ADDR_BITS   _u(0xffffffff)
6831 #define DMA_CH15_WRITE_ADDR_RESET  _u(0x00000000)
6832 #define DMA_CH15_WRITE_ADDR_MSB    _u(31)
6833 #define DMA_CH15_WRITE_ADDR_LSB    _u(0)
6834 #define DMA_CH15_WRITE_ADDR_ACCESS "RW"
6835 // =============================================================================
6836 // Register    : DMA_CH15_TRANS_COUNT
6837 // Description : DMA Channel 15 Transfer Count
6838 #define DMA_CH15_TRANS_COUNT_OFFSET _u(0x000003c8)
6839 #define DMA_CH15_TRANS_COUNT_BITS   _u(0xffffffff)
6840 #define DMA_CH15_TRANS_COUNT_RESET  _u(0x00000000)
6841 // -----------------------------------------------------------------------------
6842 // Field       : DMA_CH15_TRANS_COUNT_MODE
6843 // Description : When MODE is 0x0, the transfer count decrements with each
6844 //               transfer until 0, and then the channel triggers the next
6845 //               channel indicated by CTRL_CHAIN_TO.
6846 //
6847 //               When MODE is 0x1, the transfer count decrements with each
6848 //               transfer until 0, and then the channel re-triggers itself, in
6849 //               addition to the trigger indicated by CTRL_CHAIN_TO. This is
6850 //               useful for e.g. an endless ring-buffer DMA with periodic
6851 //               interrupts.
6852 //
6853 //               When MODE is 0xf, the transfer count does not decrement. The
6854 //               DMA channel performs an endless sequence of transfers, never
6855 //               triggering other channels or raising interrupts, until an ABORT
6856 //               is raised.
6857 //
6858 //               All other values are reserved.
6859 //               0x0 -> NORMAL
6860 //               0x1 -> TRIGGER_SELF
6861 //               0xf -> ENDLESS
6862 #define DMA_CH15_TRANS_COUNT_MODE_RESET  _u(0x0)
6863 #define DMA_CH15_TRANS_COUNT_MODE_BITS   _u(0xf0000000)
6864 #define DMA_CH15_TRANS_COUNT_MODE_MSB    _u(31)
6865 #define DMA_CH15_TRANS_COUNT_MODE_LSB    _u(28)
6866 #define DMA_CH15_TRANS_COUNT_MODE_ACCESS "RW"
6867 #define DMA_CH15_TRANS_COUNT_MODE_VALUE_NORMAL _u(0x0)
6868 #define DMA_CH15_TRANS_COUNT_MODE_VALUE_TRIGGER_SELF _u(0x1)
6869 #define DMA_CH15_TRANS_COUNT_MODE_VALUE_ENDLESS _u(0xf)
6870 // -----------------------------------------------------------------------------
6871 // Field       : DMA_CH15_TRANS_COUNT_COUNT
6872 // Description : 28-bit transfer count (256 million transfers maximum).
6873 //
6874 //               Program the number of bus transfers a channel will perform
6875 //               before halting. Note that, if transfers are larger than one
6876 //               byte in size, this is not equal to the number of bytes
6877 //               transferred (see CTRL_DATA_SIZE).
6878 //
6879 //               When the channel is active, reading this register shows the
6880 //               number of transfers remaining, updating automatically each time
6881 //               a write transfer completes.
6882 //
6883 //               Writing this register sets the RELOAD value for the transfer
6884 //               counter. Each time this channel is triggered, the RELOAD value
6885 //               is copied into the live transfer counter. The channel can be
6886 //               started multiple times, and will perform the same number of
6887 //               transfers each time, as programmed by most recent write.
6888 //
6889 //               The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT
6890 //               is used as a trigger, the written value is used immediately as
6891 //               the length of the new transfer sequence, as well as being
6892 //               written to RELOAD.
6893 #define DMA_CH15_TRANS_COUNT_COUNT_RESET  _u(0x0000000)
6894 #define DMA_CH15_TRANS_COUNT_COUNT_BITS   _u(0x0fffffff)
6895 #define DMA_CH15_TRANS_COUNT_COUNT_MSB    _u(27)
6896 #define DMA_CH15_TRANS_COUNT_COUNT_LSB    _u(0)
6897 #define DMA_CH15_TRANS_COUNT_COUNT_ACCESS "RW"
6898 // =============================================================================
6899 // Register    : DMA_CH15_CTRL_TRIG
6900 // Description : DMA Channel 15 Control and Status
6901 #define DMA_CH15_CTRL_TRIG_OFFSET _u(0x000003cc)
6902 #define DMA_CH15_CTRL_TRIG_BITS   _u(0xe7ffffff)
6903 #define DMA_CH15_CTRL_TRIG_RESET  _u(0x00000000)
6904 // -----------------------------------------------------------------------------
6905 // Field       : DMA_CH15_CTRL_TRIG_AHB_ERROR
6906 // Description : Logical OR of the READ_ERROR and WRITE_ERROR flags. The channel
6907 //               halts when it encounters any bus error, and always raises its
6908 //               channel IRQ flag.
6909 #define DMA_CH15_CTRL_TRIG_AHB_ERROR_RESET  _u(0x0)
6910 #define DMA_CH15_CTRL_TRIG_AHB_ERROR_BITS   _u(0x80000000)
6911 #define DMA_CH15_CTRL_TRIG_AHB_ERROR_MSB    _u(31)
6912 #define DMA_CH15_CTRL_TRIG_AHB_ERROR_LSB    _u(31)
6913 #define DMA_CH15_CTRL_TRIG_AHB_ERROR_ACCESS "RO"
6914 // -----------------------------------------------------------------------------
6915 // Field       : DMA_CH15_CTRL_TRIG_READ_ERROR
6916 // Description : If 1, the channel received a read bus error. Write one to
6917 //               clear.
6918 //               READ_ADDR shows the approximate address where the bus error was
6919 //               encountered (will not be earlier, or more than 3 transfers
6920 //               later)
6921 #define DMA_CH15_CTRL_TRIG_READ_ERROR_RESET  _u(0x0)
6922 #define DMA_CH15_CTRL_TRIG_READ_ERROR_BITS   _u(0x40000000)
6923 #define DMA_CH15_CTRL_TRIG_READ_ERROR_MSB    _u(30)
6924 #define DMA_CH15_CTRL_TRIG_READ_ERROR_LSB    _u(30)
6925 #define DMA_CH15_CTRL_TRIG_READ_ERROR_ACCESS "WC"
6926 // -----------------------------------------------------------------------------
6927 // Field       : DMA_CH15_CTRL_TRIG_WRITE_ERROR
6928 // Description : If 1, the channel received a write bus error. Write one to
6929 //               clear.
6930 //               WRITE_ADDR shows the approximate address where the bus error
6931 //               was encountered (will not be earlier, or more than 5 transfers
6932 //               later)
6933 #define DMA_CH15_CTRL_TRIG_WRITE_ERROR_RESET  _u(0x0)
6934 #define DMA_CH15_CTRL_TRIG_WRITE_ERROR_BITS   _u(0x20000000)
6935 #define DMA_CH15_CTRL_TRIG_WRITE_ERROR_MSB    _u(29)
6936 #define DMA_CH15_CTRL_TRIG_WRITE_ERROR_LSB    _u(29)
6937 #define DMA_CH15_CTRL_TRIG_WRITE_ERROR_ACCESS "WC"
6938 // -----------------------------------------------------------------------------
6939 // Field       : DMA_CH15_CTRL_TRIG_BUSY
6940 // Description : This flag goes high when the channel starts a new transfer
6941 //               sequence, and low when the last transfer of that sequence
6942 //               completes. Clearing EN while BUSY is high pauses the channel,
6943 //               and BUSY will stay high while paused.
6944 //
6945 //               To terminate a sequence early (and clear the BUSY flag), see
6946 //               CHAN_ABORT.
6947 #define DMA_CH15_CTRL_TRIG_BUSY_RESET  _u(0x0)
6948 #define DMA_CH15_CTRL_TRIG_BUSY_BITS   _u(0x04000000)
6949 #define DMA_CH15_CTRL_TRIG_BUSY_MSB    _u(26)
6950 #define DMA_CH15_CTRL_TRIG_BUSY_LSB    _u(26)
6951 #define DMA_CH15_CTRL_TRIG_BUSY_ACCESS "RO"
6952 // -----------------------------------------------------------------------------
6953 // Field       : DMA_CH15_CTRL_TRIG_SNIFF_EN
6954 // Description : If 1, this channel's data transfers are visible to the sniff
6955 //               hardware, and each transfer will advance the state of the
6956 //               checksum. This only applies if the sniff hardware is enabled,
6957 //               and has this channel selected.
6958 //
6959 //               This allows checksum to be enabled or disabled on a per-
6960 //               control- block basis.
6961 #define DMA_CH15_CTRL_TRIG_SNIFF_EN_RESET  _u(0x0)
6962 #define DMA_CH15_CTRL_TRIG_SNIFF_EN_BITS   _u(0x02000000)
6963 #define DMA_CH15_CTRL_TRIG_SNIFF_EN_MSB    _u(25)
6964 #define DMA_CH15_CTRL_TRIG_SNIFF_EN_LSB    _u(25)
6965 #define DMA_CH15_CTRL_TRIG_SNIFF_EN_ACCESS "RW"
6966 // -----------------------------------------------------------------------------
6967 // Field       : DMA_CH15_CTRL_TRIG_BSWAP
6968 // Description : Apply byte-swap transformation to DMA data.
6969 //               For byte data, this has no effect. For halfword data, the two
6970 //               bytes of each halfword are swapped. For word data, the four
6971 //               bytes of each word are swapped to reverse order.
6972 #define DMA_CH15_CTRL_TRIG_BSWAP_RESET  _u(0x0)
6973 #define DMA_CH15_CTRL_TRIG_BSWAP_BITS   _u(0x01000000)
6974 #define DMA_CH15_CTRL_TRIG_BSWAP_MSB    _u(24)
6975 #define DMA_CH15_CTRL_TRIG_BSWAP_LSB    _u(24)
6976 #define DMA_CH15_CTRL_TRIG_BSWAP_ACCESS "RW"
6977 // -----------------------------------------------------------------------------
6978 // Field       : DMA_CH15_CTRL_TRIG_IRQ_QUIET
6979 // Description : In QUIET mode, the channel does not generate IRQs at the end of
6980 //               every transfer block. Instead, an IRQ is raised when NULL is
6981 //               written to a trigger register, indicating the end of a control
6982 //               block chain.
6983 //
6984 //               This reduces the number of interrupts to be serviced by the CPU
6985 //               when transferring a DMA chain of many small control blocks.
6986 #define DMA_CH15_CTRL_TRIG_IRQ_QUIET_RESET  _u(0x0)
6987 #define DMA_CH15_CTRL_TRIG_IRQ_QUIET_BITS   _u(0x00800000)
6988 #define DMA_CH15_CTRL_TRIG_IRQ_QUIET_MSB    _u(23)
6989 #define DMA_CH15_CTRL_TRIG_IRQ_QUIET_LSB    _u(23)
6990 #define DMA_CH15_CTRL_TRIG_IRQ_QUIET_ACCESS "RW"
6991 // -----------------------------------------------------------------------------
6992 // Field       : DMA_CH15_CTRL_TRIG_TREQ_SEL
6993 // Description : Select a Transfer Request signal.
6994 //               The channel uses the transfer request signal to pace its data
6995 //               transfer rate. Sources for TREQ signals are internal (TIMERS)
6996 //               or external (DREQ, a Data Request from the system).
6997 //               0x0 to 0x3a -> select DREQ n as TREQ
6998 //               0x3b -> Select Timer 0 as TREQ
6999 //               0x3c -> Select Timer 1 as TREQ
7000 //               0x3d -> Select Timer 2 as TREQ (Optional)
7001 //               0x3e -> Select Timer 3 as TREQ (Optional)
7002 //               0x3f -> Permanent request, for unpaced transfers.
7003 #define DMA_CH15_CTRL_TRIG_TREQ_SEL_RESET  _u(0x00)
7004 #define DMA_CH15_CTRL_TRIG_TREQ_SEL_BITS   _u(0x007e0000)
7005 #define DMA_CH15_CTRL_TRIG_TREQ_SEL_MSB    _u(22)
7006 #define DMA_CH15_CTRL_TRIG_TREQ_SEL_LSB    _u(17)
7007 #define DMA_CH15_CTRL_TRIG_TREQ_SEL_ACCESS "RW"
7008 #define DMA_CH15_CTRL_TRIG_TREQ_SEL_VALUE_TIMER0 _u(0x3b)
7009 #define DMA_CH15_CTRL_TRIG_TREQ_SEL_VALUE_TIMER1 _u(0x3c)
7010 #define DMA_CH15_CTRL_TRIG_TREQ_SEL_VALUE_TIMER2 _u(0x3d)
7011 #define DMA_CH15_CTRL_TRIG_TREQ_SEL_VALUE_TIMER3 _u(0x3e)
7012 #define DMA_CH15_CTRL_TRIG_TREQ_SEL_VALUE_PERMANENT _u(0x3f)
7013 // -----------------------------------------------------------------------------
7014 // Field       : DMA_CH15_CTRL_TRIG_CHAIN_TO
7015 // Description : When this channel completes, it will trigger the channel
7016 //               indicated by CHAIN_TO. Disable by setting CHAIN_TO = _(this
7017 //               channel)_.
7018 //
7019 //               Note this field resets to 0, so channels 1 and above will chain
7020 //               to channel 0 by default. Set this field to avoid this
7021 //               behaviour.
7022 #define DMA_CH15_CTRL_TRIG_CHAIN_TO_RESET  _u(0x0)
7023 #define DMA_CH15_CTRL_TRIG_CHAIN_TO_BITS   _u(0x0001e000)
7024 #define DMA_CH15_CTRL_TRIG_CHAIN_TO_MSB    _u(16)
7025 #define DMA_CH15_CTRL_TRIG_CHAIN_TO_LSB    _u(13)
7026 #define DMA_CH15_CTRL_TRIG_CHAIN_TO_ACCESS "RW"
7027 // -----------------------------------------------------------------------------
7028 // Field       : DMA_CH15_CTRL_TRIG_RING_SEL
7029 // Description : Select whether RING_SIZE applies to read or write addresses.
7030 //               If 0, read addresses are wrapped on a (1 << RING_SIZE)
7031 //               boundary. If 1, write addresses are wrapped.
7032 #define DMA_CH15_CTRL_TRIG_RING_SEL_RESET  _u(0x0)
7033 #define DMA_CH15_CTRL_TRIG_RING_SEL_BITS   _u(0x00001000)
7034 #define DMA_CH15_CTRL_TRIG_RING_SEL_MSB    _u(12)
7035 #define DMA_CH15_CTRL_TRIG_RING_SEL_LSB    _u(12)
7036 #define DMA_CH15_CTRL_TRIG_RING_SEL_ACCESS "RW"
7037 // -----------------------------------------------------------------------------
7038 // Field       : DMA_CH15_CTRL_TRIG_RING_SIZE
7039 // Description : Size of address wrap region. If 0, don't wrap. For values n >
7040 //               0, only the lower n bits of the address will change. This wraps
7041 //               the address on a (1 << n) byte boundary, facilitating access to
7042 //               naturally-aligned ring buffers.
7043 //
7044 //               Ring sizes between 2 and 32768 bytes are possible. This can
7045 //               apply to either read or write addresses, based on value of
7046 //               RING_SEL.
7047 //               0x0 -> RING_NONE
7048 #define DMA_CH15_CTRL_TRIG_RING_SIZE_RESET  _u(0x0)
7049 #define DMA_CH15_CTRL_TRIG_RING_SIZE_BITS   _u(0x00000f00)
7050 #define DMA_CH15_CTRL_TRIG_RING_SIZE_MSB    _u(11)
7051 #define DMA_CH15_CTRL_TRIG_RING_SIZE_LSB    _u(8)
7052 #define DMA_CH15_CTRL_TRIG_RING_SIZE_ACCESS "RW"
7053 #define DMA_CH15_CTRL_TRIG_RING_SIZE_VALUE_RING_NONE _u(0x0)
7054 // -----------------------------------------------------------------------------
7055 // Field       : DMA_CH15_CTRL_TRIG_INCR_WRITE_REV
7056 // Description : If 1, and INCR_WRITE is 1, the write address is decremented
7057 //               rather than incremented with each transfer.
7058 //
7059 //               If 1, and INCR_WRITE is 0, this otherwise-unused combination
7060 //               causes the write address to be incremented by twice the
7061 //               transfer size, i.e. skipping over alternate addresses.
7062 #define DMA_CH15_CTRL_TRIG_INCR_WRITE_REV_RESET  _u(0x0)
7063 #define DMA_CH15_CTRL_TRIG_INCR_WRITE_REV_BITS   _u(0x00000080)
7064 #define DMA_CH15_CTRL_TRIG_INCR_WRITE_REV_MSB    _u(7)
7065 #define DMA_CH15_CTRL_TRIG_INCR_WRITE_REV_LSB    _u(7)
7066 #define DMA_CH15_CTRL_TRIG_INCR_WRITE_REV_ACCESS "RW"
7067 // -----------------------------------------------------------------------------
7068 // Field       : DMA_CH15_CTRL_TRIG_INCR_WRITE
7069 // Description : If 1, the write address increments with each transfer. If 0,
7070 //               each write is directed to the same, initial address.
7071 //
7072 //               Generally this should be disabled for memory-to-peripheral
7073 //               transfers.
7074 #define DMA_CH15_CTRL_TRIG_INCR_WRITE_RESET  _u(0x0)
7075 #define DMA_CH15_CTRL_TRIG_INCR_WRITE_BITS   _u(0x00000040)
7076 #define DMA_CH15_CTRL_TRIG_INCR_WRITE_MSB    _u(6)
7077 #define DMA_CH15_CTRL_TRIG_INCR_WRITE_LSB    _u(6)
7078 #define DMA_CH15_CTRL_TRIG_INCR_WRITE_ACCESS "RW"
7079 // -----------------------------------------------------------------------------
7080 // Field       : DMA_CH15_CTRL_TRIG_INCR_READ_REV
7081 // Description : If 1, and INCR_READ is 1, the read address is decremented
7082 //               rather than incremented with each transfer.
7083 //
7084 //               If 1, and INCR_READ is 0, this otherwise-unused combination
7085 //               causes the read address to be incremented by twice the transfer
7086 //               size, i.e. skipping over alternate addresses.
7087 #define DMA_CH15_CTRL_TRIG_INCR_READ_REV_RESET  _u(0x0)
7088 #define DMA_CH15_CTRL_TRIG_INCR_READ_REV_BITS   _u(0x00000020)
7089 #define DMA_CH15_CTRL_TRIG_INCR_READ_REV_MSB    _u(5)
7090 #define DMA_CH15_CTRL_TRIG_INCR_READ_REV_LSB    _u(5)
7091 #define DMA_CH15_CTRL_TRIG_INCR_READ_REV_ACCESS "RW"
7092 // -----------------------------------------------------------------------------
7093 // Field       : DMA_CH15_CTRL_TRIG_INCR_READ
7094 // Description : If 1, the read address increments with each transfer. If 0,
7095 //               each read is directed to the same, initial address.
7096 //
7097 //               Generally this should be disabled for peripheral-to-memory
7098 //               transfers.
7099 #define DMA_CH15_CTRL_TRIG_INCR_READ_RESET  _u(0x0)
7100 #define DMA_CH15_CTRL_TRIG_INCR_READ_BITS   _u(0x00000010)
7101 #define DMA_CH15_CTRL_TRIG_INCR_READ_MSB    _u(4)
7102 #define DMA_CH15_CTRL_TRIG_INCR_READ_LSB    _u(4)
7103 #define DMA_CH15_CTRL_TRIG_INCR_READ_ACCESS "RW"
7104 // -----------------------------------------------------------------------------
7105 // Field       : DMA_CH15_CTRL_TRIG_DATA_SIZE
7106 // Description : Set the size of each bus transfer (byte/halfword/word).
7107 //               READ_ADDR and WRITE_ADDR advance by this amount (1/2/4 bytes)
7108 //               with each transfer.
7109 //               0x0 -> SIZE_BYTE
7110 //               0x1 -> SIZE_HALFWORD
7111 //               0x2 -> SIZE_WORD
7112 #define DMA_CH15_CTRL_TRIG_DATA_SIZE_RESET  _u(0x0)
7113 #define DMA_CH15_CTRL_TRIG_DATA_SIZE_BITS   _u(0x0000000c)
7114 #define DMA_CH15_CTRL_TRIG_DATA_SIZE_MSB    _u(3)
7115 #define DMA_CH15_CTRL_TRIG_DATA_SIZE_LSB    _u(2)
7116 #define DMA_CH15_CTRL_TRIG_DATA_SIZE_ACCESS "RW"
7117 #define DMA_CH15_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_BYTE _u(0x0)
7118 #define DMA_CH15_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_HALFWORD _u(0x1)
7119 #define DMA_CH15_CTRL_TRIG_DATA_SIZE_VALUE_SIZE_WORD _u(0x2)
7120 // -----------------------------------------------------------------------------
7121 // Field       : DMA_CH15_CTRL_TRIG_HIGH_PRIORITY
7122 // Description : HIGH_PRIORITY gives a channel preferential treatment in issue
7123 //               scheduling: in each scheduling round, all high priority
7124 //               channels are considered first, and then only a single low
7125 //               priority channel, before returning to the high priority
7126 //               channels.
7127 //
7128 //               This only affects the order in which the DMA schedules
7129 //               channels. The DMA's bus priority is not changed. If the DMA is
7130 //               not saturated then a low priority channel will see no loss of
7131 //               throughput.
7132 #define DMA_CH15_CTRL_TRIG_HIGH_PRIORITY_RESET  _u(0x0)
7133 #define DMA_CH15_CTRL_TRIG_HIGH_PRIORITY_BITS   _u(0x00000002)
7134 #define DMA_CH15_CTRL_TRIG_HIGH_PRIORITY_MSB    _u(1)
7135 #define DMA_CH15_CTRL_TRIG_HIGH_PRIORITY_LSB    _u(1)
7136 #define DMA_CH15_CTRL_TRIG_HIGH_PRIORITY_ACCESS "RW"
7137 // -----------------------------------------------------------------------------
7138 // Field       : DMA_CH15_CTRL_TRIG_EN
7139 // Description : DMA Channel Enable.
7140 //               When 1, the channel will respond to triggering events, which
7141 //               will cause it to become BUSY and start transferring data. When
7142 //               0, the channel will ignore triggers, stop issuing transfers,
7143 //               and pause the current transfer sequence (i.e. BUSY will remain
7144 //               high if already high)
7145 #define DMA_CH15_CTRL_TRIG_EN_RESET  _u(0x0)
7146 #define DMA_CH15_CTRL_TRIG_EN_BITS   _u(0x00000001)
7147 #define DMA_CH15_CTRL_TRIG_EN_MSB    _u(0)
7148 #define DMA_CH15_CTRL_TRIG_EN_LSB    _u(0)
7149 #define DMA_CH15_CTRL_TRIG_EN_ACCESS "RW"
7150 // =============================================================================
7151 // Register    : DMA_CH15_AL1_CTRL
7152 // Description : Alias for channel 15 CTRL register
7153 #define DMA_CH15_AL1_CTRL_OFFSET _u(0x000003d0)
7154 #define DMA_CH15_AL1_CTRL_BITS   _u(0xffffffff)
7155 #define DMA_CH15_AL1_CTRL_RESET  "-"
7156 #define DMA_CH15_AL1_CTRL_MSB    _u(31)
7157 #define DMA_CH15_AL1_CTRL_LSB    _u(0)
7158 #define DMA_CH15_AL1_CTRL_ACCESS "RW"
7159 // =============================================================================
7160 // Register    : DMA_CH15_AL1_READ_ADDR
7161 // Description : Alias for channel 15 READ_ADDR register
7162 #define DMA_CH15_AL1_READ_ADDR_OFFSET _u(0x000003d4)
7163 #define DMA_CH15_AL1_READ_ADDR_BITS   _u(0xffffffff)
7164 #define DMA_CH15_AL1_READ_ADDR_RESET  "-"
7165 #define DMA_CH15_AL1_READ_ADDR_MSB    _u(31)
7166 #define DMA_CH15_AL1_READ_ADDR_LSB    _u(0)
7167 #define DMA_CH15_AL1_READ_ADDR_ACCESS "RW"
7168 // =============================================================================
7169 // Register    : DMA_CH15_AL1_WRITE_ADDR
7170 // Description : Alias for channel 15 WRITE_ADDR register
7171 #define DMA_CH15_AL1_WRITE_ADDR_OFFSET _u(0x000003d8)
7172 #define DMA_CH15_AL1_WRITE_ADDR_BITS   _u(0xffffffff)
7173 #define DMA_CH15_AL1_WRITE_ADDR_RESET  "-"
7174 #define DMA_CH15_AL1_WRITE_ADDR_MSB    _u(31)
7175 #define DMA_CH15_AL1_WRITE_ADDR_LSB    _u(0)
7176 #define DMA_CH15_AL1_WRITE_ADDR_ACCESS "RW"
7177 // =============================================================================
7178 // Register    : DMA_CH15_AL1_TRANS_COUNT_TRIG
7179 // Description : Alias for channel 15 TRANS_COUNT register
7180 //               This is a trigger register (0xc). Writing a nonzero value will
7181 //               reload the channel counter and start the channel.
7182 #define DMA_CH15_AL1_TRANS_COUNT_TRIG_OFFSET _u(0x000003dc)
7183 #define DMA_CH15_AL1_TRANS_COUNT_TRIG_BITS   _u(0xffffffff)
7184 #define DMA_CH15_AL1_TRANS_COUNT_TRIG_RESET  "-"
7185 #define DMA_CH15_AL1_TRANS_COUNT_TRIG_MSB    _u(31)
7186 #define DMA_CH15_AL1_TRANS_COUNT_TRIG_LSB    _u(0)
7187 #define DMA_CH15_AL1_TRANS_COUNT_TRIG_ACCESS "RW"
7188 // =============================================================================
7189 // Register    : DMA_CH15_AL2_CTRL
7190 // Description : Alias for channel 15 CTRL register
7191 #define DMA_CH15_AL2_CTRL_OFFSET _u(0x000003e0)
7192 #define DMA_CH15_AL2_CTRL_BITS   _u(0xffffffff)
7193 #define DMA_CH15_AL2_CTRL_RESET  "-"
7194 #define DMA_CH15_AL2_CTRL_MSB    _u(31)
7195 #define DMA_CH15_AL2_CTRL_LSB    _u(0)
7196 #define DMA_CH15_AL2_CTRL_ACCESS "RW"
7197 // =============================================================================
7198 // Register    : DMA_CH15_AL2_TRANS_COUNT
7199 // Description : Alias for channel 15 TRANS_COUNT register
7200 #define DMA_CH15_AL2_TRANS_COUNT_OFFSET _u(0x000003e4)
7201 #define DMA_CH15_AL2_TRANS_COUNT_BITS   _u(0xffffffff)
7202 #define DMA_CH15_AL2_TRANS_COUNT_RESET  "-"
7203 #define DMA_CH15_AL2_TRANS_COUNT_MSB    _u(31)
7204 #define DMA_CH15_AL2_TRANS_COUNT_LSB    _u(0)
7205 #define DMA_CH15_AL2_TRANS_COUNT_ACCESS "RW"
7206 // =============================================================================
7207 // Register    : DMA_CH15_AL2_READ_ADDR
7208 // Description : Alias for channel 15 READ_ADDR register
7209 #define DMA_CH15_AL2_READ_ADDR_OFFSET _u(0x000003e8)
7210 #define DMA_CH15_AL2_READ_ADDR_BITS   _u(0xffffffff)
7211 #define DMA_CH15_AL2_READ_ADDR_RESET  "-"
7212 #define DMA_CH15_AL2_READ_ADDR_MSB    _u(31)
7213 #define DMA_CH15_AL2_READ_ADDR_LSB    _u(0)
7214 #define DMA_CH15_AL2_READ_ADDR_ACCESS "RW"
7215 // =============================================================================
7216 // Register    : DMA_CH15_AL2_WRITE_ADDR_TRIG
7217 // Description : Alias for channel 15 WRITE_ADDR register
7218 //               This is a trigger register (0xc). Writing a nonzero value will
7219 //               reload the channel counter and start the channel.
7220 #define DMA_CH15_AL2_WRITE_ADDR_TRIG_OFFSET _u(0x000003ec)
7221 #define DMA_CH15_AL2_WRITE_ADDR_TRIG_BITS   _u(0xffffffff)
7222 #define DMA_CH15_AL2_WRITE_ADDR_TRIG_RESET  "-"
7223 #define DMA_CH15_AL2_WRITE_ADDR_TRIG_MSB    _u(31)
7224 #define DMA_CH15_AL2_WRITE_ADDR_TRIG_LSB    _u(0)
7225 #define DMA_CH15_AL2_WRITE_ADDR_TRIG_ACCESS "RW"
7226 // =============================================================================
7227 // Register    : DMA_CH15_AL3_CTRL
7228 // Description : Alias for channel 15 CTRL register
7229 #define DMA_CH15_AL3_CTRL_OFFSET _u(0x000003f0)
7230 #define DMA_CH15_AL3_CTRL_BITS   _u(0xffffffff)
7231 #define DMA_CH15_AL3_CTRL_RESET  "-"
7232 #define DMA_CH15_AL3_CTRL_MSB    _u(31)
7233 #define DMA_CH15_AL3_CTRL_LSB    _u(0)
7234 #define DMA_CH15_AL3_CTRL_ACCESS "RW"
7235 // =============================================================================
7236 // Register    : DMA_CH15_AL3_WRITE_ADDR
7237 // Description : Alias for channel 15 WRITE_ADDR register
7238 #define DMA_CH15_AL3_WRITE_ADDR_OFFSET _u(0x000003f4)
7239 #define DMA_CH15_AL3_WRITE_ADDR_BITS   _u(0xffffffff)
7240 #define DMA_CH15_AL3_WRITE_ADDR_RESET  "-"
7241 #define DMA_CH15_AL3_WRITE_ADDR_MSB    _u(31)
7242 #define DMA_CH15_AL3_WRITE_ADDR_LSB    _u(0)
7243 #define DMA_CH15_AL3_WRITE_ADDR_ACCESS "RW"
7244 // =============================================================================
7245 // Register    : DMA_CH15_AL3_TRANS_COUNT
7246 // Description : Alias for channel 15 TRANS_COUNT register
7247 #define DMA_CH15_AL3_TRANS_COUNT_OFFSET _u(0x000003f8)
7248 #define DMA_CH15_AL3_TRANS_COUNT_BITS   _u(0xffffffff)
7249 #define DMA_CH15_AL3_TRANS_COUNT_RESET  "-"
7250 #define DMA_CH15_AL3_TRANS_COUNT_MSB    _u(31)
7251 #define DMA_CH15_AL3_TRANS_COUNT_LSB    _u(0)
7252 #define DMA_CH15_AL3_TRANS_COUNT_ACCESS "RW"
7253 // =============================================================================
7254 // Register    : DMA_CH15_AL3_READ_ADDR_TRIG
7255 // Description : Alias for channel 15 READ_ADDR register
7256 //               This is a trigger register (0xc). Writing a nonzero value will
7257 //               reload the channel counter and start the channel.
7258 #define DMA_CH15_AL3_READ_ADDR_TRIG_OFFSET _u(0x000003fc)
7259 #define DMA_CH15_AL3_READ_ADDR_TRIG_BITS   _u(0xffffffff)
7260 #define DMA_CH15_AL3_READ_ADDR_TRIG_RESET  "-"
7261 #define DMA_CH15_AL3_READ_ADDR_TRIG_MSB    _u(31)
7262 #define DMA_CH15_AL3_READ_ADDR_TRIG_LSB    _u(0)
7263 #define DMA_CH15_AL3_READ_ADDR_TRIG_ACCESS "RW"
7264 // =============================================================================
7265 // Register    : DMA_INTR
7266 // Description : Interrupt Status (raw)
7267 //               Raw interrupt status for DMA Channels 0..15. Bit n corresponds
7268 //               to channel n. Ignores any masking or forcing. Channel
7269 //               interrupts can be cleared by writing a bit mask to INTR or
7270 //               INTS0/1/2/3.
7271 //
7272 //               Channel interrupts can be routed to either of four system-level
7273 //               IRQs based on INTE0, INTE1, INTE2 and INTE3.
7274 //
7275 //               The multiple system-level interrupts might be used to allow
7276 //               NVIC IRQ preemption for more time-critical channels, to spread
7277 //               IRQ load across different cores, or to target IRQs to different
7278 //               security domains.
7279 //
7280 //               It is also valid to ignore the multiple IRQs, and just use
7281 //               INTE0/INTS0/IRQ 0.
7282 //
7283 //               If this register is accessed at a security/privilege level less
7284 //               than that of a given channel (as defined by that channel's
7285 //               SECCFG_CHx register), then that channel's interrupt status will
7286 //               read as 0, ignore writes.
7287 #define DMA_INTR_OFFSET _u(0x00000400)
7288 #define DMA_INTR_BITS   _u(0x0000ffff)
7289 #define DMA_INTR_RESET  _u(0x00000000)
7290 #define DMA_INTR_MSB    _u(15)
7291 #define DMA_INTR_LSB    _u(0)
7292 #define DMA_INTR_ACCESS "WC"
7293 // =============================================================================
7294 // Register    : DMA_INTE0
7295 // Description : Interrupt Enables for IRQ 0
7296 //               Set bit n to pass interrupts from channel n to DMA IRQ 0.
7297 //
7298 //               Note this bit has no effect if the channel security/privilege
7299 //               level, defined by SECCFG_CHx, is greater than the IRQ
7300 //               security/privilege defined by SECCFG_IRQ0.
7301 #define DMA_INTE0_OFFSET _u(0x00000404)
7302 #define DMA_INTE0_BITS   _u(0x0000ffff)
7303 #define DMA_INTE0_RESET  _u(0x00000000)
7304 #define DMA_INTE0_MSB    _u(15)
7305 #define DMA_INTE0_LSB    _u(0)
7306 #define DMA_INTE0_ACCESS "RW"
7307 // =============================================================================
7308 // Register    : DMA_INTF0
7309 // Description : Force Interrupts
7310 //               Write 1s to force the corresponding bits in INTS0. The
7311 //               interrupt remains asserted until INTF0 is cleared.
7312 #define DMA_INTF0_OFFSET _u(0x00000408)
7313 #define DMA_INTF0_BITS   _u(0x0000ffff)
7314 #define DMA_INTF0_RESET  _u(0x00000000)
7315 #define DMA_INTF0_MSB    _u(15)
7316 #define DMA_INTF0_LSB    _u(0)
7317 #define DMA_INTF0_ACCESS "RW"
7318 // =============================================================================
7319 // Register    : DMA_INTS0
7320 // Description : Interrupt Status for IRQ 0
7321 //               Indicates active channel interrupt requests which are currently
7322 //               causing IRQ 0 to be asserted.
7323 //               Channel interrupts can be cleared by writing a bit mask here.
7324 //
7325 //               Channels with a security/privilege (SECCFG_CHx) greater
7326 //               SECCFG_IRQ0) read as 0 in this register, and ignore writes.
7327 #define DMA_INTS0_OFFSET _u(0x0000040c)
7328 #define DMA_INTS0_BITS   _u(0x0000ffff)
7329 #define DMA_INTS0_RESET  _u(0x00000000)
7330 #define DMA_INTS0_MSB    _u(15)
7331 #define DMA_INTS0_LSB    _u(0)
7332 #define DMA_INTS0_ACCESS "WC"
7333 // =============================================================================
7334 // Register    : DMA_INTE1
7335 // Description : Interrupt Enables for IRQ 1
7336 //               Set bit n to pass interrupts from channel n to DMA IRQ 1.
7337 //
7338 //               Note this bit has no effect if the channel security/privilege
7339 //               level, defined by SECCFG_CHx, is greater than the IRQ
7340 //               security/privilege defined by SECCFG_IRQ1.
7341 #define DMA_INTE1_OFFSET _u(0x00000414)
7342 #define DMA_INTE1_BITS   _u(0x0000ffff)
7343 #define DMA_INTE1_RESET  _u(0x00000000)
7344 #define DMA_INTE1_MSB    _u(15)
7345 #define DMA_INTE1_LSB    _u(0)
7346 #define DMA_INTE1_ACCESS "RW"
7347 // =============================================================================
7348 // Register    : DMA_INTF1
7349 // Description : Force Interrupts
7350 //               Write 1s to force the corresponding bits in INTS1. The
7351 //               interrupt remains asserted until INTF1 is cleared.
7352 #define DMA_INTF1_OFFSET _u(0x00000418)
7353 #define DMA_INTF1_BITS   _u(0x0000ffff)
7354 #define DMA_INTF1_RESET  _u(0x00000000)
7355 #define DMA_INTF1_MSB    _u(15)
7356 #define DMA_INTF1_LSB    _u(0)
7357 #define DMA_INTF1_ACCESS "RW"
7358 // =============================================================================
7359 // Register    : DMA_INTS1
7360 // Description : Interrupt Status for IRQ 1
7361 //               Indicates active channel interrupt requests which are currently
7362 //               causing IRQ 1 to be asserted.
7363 //               Channel interrupts can be cleared by writing a bit mask here.
7364 //
7365 //               Channels with a security/privilege (SECCFG_CHx) greater
7366 //               SECCFG_IRQ1) read as 0 in this register, and ignore writes.
7367 #define DMA_INTS1_OFFSET _u(0x0000041c)
7368 #define DMA_INTS1_BITS   _u(0x0000ffff)
7369 #define DMA_INTS1_RESET  _u(0x00000000)
7370 #define DMA_INTS1_MSB    _u(15)
7371 #define DMA_INTS1_LSB    _u(0)
7372 #define DMA_INTS1_ACCESS "WC"
7373 // =============================================================================
7374 // Register    : DMA_INTE2
7375 // Description : Interrupt Enables for IRQ 2
7376 //               Set bit n to pass interrupts from channel n to DMA IRQ 2.
7377 //
7378 //               Note this bit has no effect if the channel security/privilege
7379 //               level, defined by SECCFG_CHx, is greater than the IRQ
7380 //               security/privilege defined by SECCFG_IRQ2.
7381 #define DMA_INTE2_OFFSET _u(0x00000424)
7382 #define DMA_INTE2_BITS   _u(0x0000ffff)
7383 #define DMA_INTE2_RESET  _u(0x00000000)
7384 #define DMA_INTE2_MSB    _u(15)
7385 #define DMA_INTE2_LSB    _u(0)
7386 #define DMA_INTE2_ACCESS "RW"
7387 // =============================================================================
7388 // Register    : DMA_INTF2
7389 // Description : Force Interrupts
7390 //               Write 1s to force the corresponding bits in INTS2. The
7391 //               interrupt remains asserted until INTF2 is cleared.
7392 #define DMA_INTF2_OFFSET _u(0x00000428)
7393 #define DMA_INTF2_BITS   _u(0x0000ffff)
7394 #define DMA_INTF2_RESET  _u(0x00000000)
7395 #define DMA_INTF2_MSB    _u(15)
7396 #define DMA_INTF2_LSB    _u(0)
7397 #define DMA_INTF2_ACCESS "RW"
7398 // =============================================================================
7399 // Register    : DMA_INTS2
7400 // Description : Interrupt Status for IRQ 2
7401 //               Indicates active channel interrupt requests which are currently
7402 //               causing IRQ 2 to be asserted.
7403 //               Channel interrupts can be cleared by writing a bit mask here.
7404 //
7405 //               Channels with a security/privilege (SECCFG_CHx) greater
7406 //               SECCFG_IRQ2) read as 0 in this register, and ignore writes.
7407 #define DMA_INTS2_OFFSET _u(0x0000042c)
7408 #define DMA_INTS2_BITS   _u(0x0000ffff)
7409 #define DMA_INTS2_RESET  _u(0x00000000)
7410 #define DMA_INTS2_MSB    _u(15)
7411 #define DMA_INTS2_LSB    _u(0)
7412 #define DMA_INTS2_ACCESS "WC"
7413 // =============================================================================
7414 // Register    : DMA_INTE3
7415 // Description : Interrupt Enables for IRQ 3
7416 //               Set bit n to pass interrupts from channel n to DMA IRQ 3.
7417 //
7418 //               Note this bit has no effect if the channel security/privilege
7419 //               level, defined by SECCFG_CHx, is greater than the IRQ
7420 //               security/privilege defined by SECCFG_IRQ3.
7421 #define DMA_INTE3_OFFSET _u(0x00000434)
7422 #define DMA_INTE3_BITS   _u(0x0000ffff)
7423 #define DMA_INTE3_RESET  _u(0x00000000)
7424 #define DMA_INTE3_MSB    _u(15)
7425 #define DMA_INTE3_LSB    _u(0)
7426 #define DMA_INTE3_ACCESS "RW"
7427 // =============================================================================
7428 // Register    : DMA_INTF3
7429 // Description : Force Interrupts
7430 //               Write 1s to force the corresponding bits in INTS3. The
7431 //               interrupt remains asserted until INTF3 is cleared.
7432 #define DMA_INTF3_OFFSET _u(0x00000438)
7433 #define DMA_INTF3_BITS   _u(0x0000ffff)
7434 #define DMA_INTF3_RESET  _u(0x00000000)
7435 #define DMA_INTF3_MSB    _u(15)
7436 #define DMA_INTF3_LSB    _u(0)
7437 #define DMA_INTF3_ACCESS "RW"
7438 // =============================================================================
7439 // Register    : DMA_INTS3
7440 // Description : Interrupt Status for IRQ 3
7441 //               Indicates active channel interrupt requests which are currently
7442 //               causing IRQ 3 to be asserted.
7443 //               Channel interrupts can be cleared by writing a bit mask here.
7444 //
7445 //               Channels with a security/privilege (SECCFG_CHx) greater
7446 //               SECCFG_IRQ3) read as 0 in this register, and ignore writes.
7447 #define DMA_INTS3_OFFSET _u(0x0000043c)
7448 #define DMA_INTS3_BITS   _u(0x0000ffff)
7449 #define DMA_INTS3_RESET  _u(0x00000000)
7450 #define DMA_INTS3_MSB    _u(15)
7451 #define DMA_INTS3_LSB    _u(0)
7452 #define DMA_INTS3_ACCESS "WC"
7453 // =============================================================================
7454 // Register    : DMA_TIMER0
7455 // Description : Pacing (X/Y) fractional timer
7456 //               The pacing timer produces TREQ assertions at a rate set by
7457 //               ((X/Y) * sys_clk). This equation is evaluated every sys_clk
7458 //               cycles and therefore can only generate TREQs at a rate of 1 per
7459 //               sys_clk (i.e. permanent TREQ) or less.
7460 #define DMA_TIMER0_OFFSET _u(0x00000440)
7461 #define DMA_TIMER0_BITS   _u(0xffffffff)
7462 #define DMA_TIMER0_RESET  _u(0x00000000)
7463 // -----------------------------------------------------------------------------
7464 // Field       : DMA_TIMER0_X
7465 // Description : Pacing Timer Dividend. Specifies the X value for the (X/Y)
7466 //               fractional timer.
7467 #define DMA_TIMER0_X_RESET  _u(0x0000)
7468 #define DMA_TIMER0_X_BITS   _u(0xffff0000)
7469 #define DMA_TIMER0_X_MSB    _u(31)
7470 #define DMA_TIMER0_X_LSB    _u(16)
7471 #define DMA_TIMER0_X_ACCESS "RW"
7472 // -----------------------------------------------------------------------------
7473 // Field       : DMA_TIMER0_Y
7474 // Description : Pacing Timer Divisor. Specifies the Y value for the (X/Y)
7475 //               fractional timer.
7476 #define DMA_TIMER0_Y_RESET  _u(0x0000)
7477 #define DMA_TIMER0_Y_BITS   _u(0x0000ffff)
7478 #define DMA_TIMER0_Y_MSB    _u(15)
7479 #define DMA_TIMER0_Y_LSB    _u(0)
7480 #define DMA_TIMER0_Y_ACCESS "RW"
7481 // =============================================================================
7482 // Register    : DMA_TIMER1
7483 // Description : Pacing (X/Y) fractional timer
7484 //               The pacing timer produces TREQ assertions at a rate set by
7485 //               ((X/Y) * sys_clk). This equation is evaluated every sys_clk
7486 //               cycles and therefore can only generate TREQs at a rate of 1 per
7487 //               sys_clk (i.e. permanent TREQ) or less.
7488 #define DMA_TIMER1_OFFSET _u(0x00000444)
7489 #define DMA_TIMER1_BITS   _u(0xffffffff)
7490 #define DMA_TIMER1_RESET  _u(0x00000000)
7491 // -----------------------------------------------------------------------------
7492 // Field       : DMA_TIMER1_X
7493 // Description : Pacing Timer Dividend. Specifies the X value for the (X/Y)
7494 //               fractional timer.
7495 #define DMA_TIMER1_X_RESET  _u(0x0000)
7496 #define DMA_TIMER1_X_BITS   _u(0xffff0000)
7497 #define DMA_TIMER1_X_MSB    _u(31)
7498 #define DMA_TIMER1_X_LSB    _u(16)
7499 #define DMA_TIMER1_X_ACCESS "RW"
7500 // -----------------------------------------------------------------------------
7501 // Field       : DMA_TIMER1_Y
7502 // Description : Pacing Timer Divisor. Specifies the Y value for the (X/Y)
7503 //               fractional timer.
7504 #define DMA_TIMER1_Y_RESET  _u(0x0000)
7505 #define DMA_TIMER1_Y_BITS   _u(0x0000ffff)
7506 #define DMA_TIMER1_Y_MSB    _u(15)
7507 #define DMA_TIMER1_Y_LSB    _u(0)
7508 #define DMA_TIMER1_Y_ACCESS "RW"
7509 // =============================================================================
7510 // Register    : DMA_TIMER2
7511 // Description : Pacing (X/Y) fractional timer
7512 //               The pacing timer produces TREQ assertions at a rate set by
7513 //               ((X/Y) * sys_clk). This equation is evaluated every sys_clk
7514 //               cycles and therefore can only generate TREQs at a rate of 1 per
7515 //               sys_clk (i.e. permanent TREQ) or less.
7516 #define DMA_TIMER2_OFFSET _u(0x00000448)
7517 #define DMA_TIMER2_BITS   _u(0xffffffff)
7518 #define DMA_TIMER2_RESET  _u(0x00000000)
7519 // -----------------------------------------------------------------------------
7520 // Field       : DMA_TIMER2_X
7521 // Description : Pacing Timer Dividend. Specifies the X value for the (X/Y)
7522 //               fractional timer.
7523 #define DMA_TIMER2_X_RESET  _u(0x0000)
7524 #define DMA_TIMER2_X_BITS   _u(0xffff0000)
7525 #define DMA_TIMER2_X_MSB    _u(31)
7526 #define DMA_TIMER2_X_LSB    _u(16)
7527 #define DMA_TIMER2_X_ACCESS "RW"
7528 // -----------------------------------------------------------------------------
7529 // Field       : DMA_TIMER2_Y
7530 // Description : Pacing Timer Divisor. Specifies the Y value for the (X/Y)
7531 //               fractional timer.
7532 #define DMA_TIMER2_Y_RESET  _u(0x0000)
7533 #define DMA_TIMER2_Y_BITS   _u(0x0000ffff)
7534 #define DMA_TIMER2_Y_MSB    _u(15)
7535 #define DMA_TIMER2_Y_LSB    _u(0)
7536 #define DMA_TIMER2_Y_ACCESS "RW"
7537 // =============================================================================
7538 // Register    : DMA_TIMER3
7539 // Description : Pacing (X/Y) fractional timer
7540 //               The pacing timer produces TREQ assertions at a rate set by
7541 //               ((X/Y) * sys_clk). This equation is evaluated every sys_clk
7542 //               cycles and therefore can only generate TREQs at a rate of 1 per
7543 //               sys_clk (i.e. permanent TREQ) or less.
7544 #define DMA_TIMER3_OFFSET _u(0x0000044c)
7545 #define DMA_TIMER3_BITS   _u(0xffffffff)
7546 #define DMA_TIMER3_RESET  _u(0x00000000)
7547 // -----------------------------------------------------------------------------
7548 // Field       : DMA_TIMER3_X
7549 // Description : Pacing Timer Dividend. Specifies the X value for the (X/Y)
7550 //               fractional timer.
7551 #define DMA_TIMER3_X_RESET  _u(0x0000)
7552 #define DMA_TIMER3_X_BITS   _u(0xffff0000)
7553 #define DMA_TIMER3_X_MSB    _u(31)
7554 #define DMA_TIMER3_X_LSB    _u(16)
7555 #define DMA_TIMER3_X_ACCESS "RW"
7556 // -----------------------------------------------------------------------------
7557 // Field       : DMA_TIMER3_Y
7558 // Description : Pacing Timer Divisor. Specifies the Y value for the (X/Y)
7559 //               fractional timer.
7560 #define DMA_TIMER3_Y_RESET  _u(0x0000)
7561 #define DMA_TIMER3_Y_BITS   _u(0x0000ffff)
7562 #define DMA_TIMER3_Y_MSB    _u(15)
7563 #define DMA_TIMER3_Y_LSB    _u(0)
7564 #define DMA_TIMER3_Y_ACCESS "RW"
7565 // =============================================================================
7566 // Register    : DMA_MULTI_CHAN_TRIGGER
7567 // Description : Trigger one or more channels simultaneously
7568 //               Each bit in this register corresponds to a DMA channel. Writing
7569 //               a 1 to the relevant bit is the same as writing to that
7570 //               channel's trigger register; the channel will start if it is
7571 //               currently enabled and not already busy.
7572 #define DMA_MULTI_CHAN_TRIGGER_OFFSET _u(0x00000450)
7573 #define DMA_MULTI_CHAN_TRIGGER_BITS   _u(0x0000ffff)
7574 #define DMA_MULTI_CHAN_TRIGGER_RESET  _u(0x00000000)
7575 #define DMA_MULTI_CHAN_TRIGGER_MSB    _u(15)
7576 #define DMA_MULTI_CHAN_TRIGGER_LSB    _u(0)
7577 #define DMA_MULTI_CHAN_TRIGGER_ACCESS "SC"
7578 // =============================================================================
7579 // Register    : DMA_SNIFF_CTRL
7580 // Description : Sniffer Control
7581 #define DMA_SNIFF_CTRL_OFFSET _u(0x00000454)
7582 #define DMA_SNIFF_CTRL_BITS   _u(0x00000fff)
7583 #define DMA_SNIFF_CTRL_RESET  _u(0x00000000)
7584 // -----------------------------------------------------------------------------
7585 // Field       : DMA_SNIFF_CTRL_OUT_INV
7586 // Description : If set, the result appears inverted (bitwise complement) when
7587 //               read. This does not affect the way the checksum is calculated;
7588 //               the result is transformed on-the-fly between the result
7589 //               register and the bus.
7590 #define DMA_SNIFF_CTRL_OUT_INV_RESET  _u(0x0)
7591 #define DMA_SNIFF_CTRL_OUT_INV_BITS   _u(0x00000800)
7592 #define DMA_SNIFF_CTRL_OUT_INV_MSB    _u(11)
7593 #define DMA_SNIFF_CTRL_OUT_INV_LSB    _u(11)
7594 #define DMA_SNIFF_CTRL_OUT_INV_ACCESS "RW"
7595 // -----------------------------------------------------------------------------
7596 // Field       : DMA_SNIFF_CTRL_OUT_REV
7597 // Description : If set, the result appears bit-reversed when read. This does
7598 //               not affect the way the checksum is calculated; the result is
7599 //               transformed on-the-fly between the result register and the bus.
7600 #define DMA_SNIFF_CTRL_OUT_REV_RESET  _u(0x0)
7601 #define DMA_SNIFF_CTRL_OUT_REV_BITS   _u(0x00000400)
7602 #define DMA_SNIFF_CTRL_OUT_REV_MSB    _u(10)
7603 #define DMA_SNIFF_CTRL_OUT_REV_LSB    _u(10)
7604 #define DMA_SNIFF_CTRL_OUT_REV_ACCESS "RW"
7605 // -----------------------------------------------------------------------------
7606 // Field       : DMA_SNIFF_CTRL_BSWAP
7607 // Description : Locally perform a byte reverse on the sniffed data, before
7608 //               feeding into checksum.
7609 //
7610 //               Note that the sniff hardware is downstream of the DMA channel
7611 //               byteswap performed in the read master: if channel CTRL_BSWAP
7612 //               and SNIFF_CTRL_BSWAP are both enabled, their effects cancel
7613 //               from the sniffer's point of view.
7614 #define DMA_SNIFF_CTRL_BSWAP_RESET  _u(0x0)
7615 #define DMA_SNIFF_CTRL_BSWAP_BITS   _u(0x00000200)
7616 #define DMA_SNIFF_CTRL_BSWAP_MSB    _u(9)
7617 #define DMA_SNIFF_CTRL_BSWAP_LSB    _u(9)
7618 #define DMA_SNIFF_CTRL_BSWAP_ACCESS "RW"
7619 // -----------------------------------------------------------------------------
7620 // Field       : DMA_SNIFF_CTRL_CALC
7621 //               0x0 -> Calculate a CRC-32 (IEEE802.3 polynomial)
7622 //               0x1 -> Calculate a CRC-32 (IEEE802.3 polynomial) with bit reversed data
7623 //               0x2 -> Calculate a CRC-16-CCITT
7624 //               0x3 -> Calculate a CRC-16-CCITT with bit reversed data
7625 //               0xe -> XOR reduction over all data. == 1 if the total 1 population count is odd.
7626 //               0xf -> Calculate a simple 32-bit checksum (addition with a 32 bit accumulator)
7627 #define DMA_SNIFF_CTRL_CALC_RESET  _u(0x0)
7628 #define DMA_SNIFF_CTRL_CALC_BITS   _u(0x000001e0)
7629 #define DMA_SNIFF_CTRL_CALC_MSB    _u(8)
7630 #define DMA_SNIFF_CTRL_CALC_LSB    _u(5)
7631 #define DMA_SNIFF_CTRL_CALC_ACCESS "RW"
7632 #define DMA_SNIFF_CTRL_CALC_VALUE_CRC32 _u(0x0)
7633 #define DMA_SNIFF_CTRL_CALC_VALUE_CRC32R _u(0x1)
7634 #define DMA_SNIFF_CTRL_CALC_VALUE_CRC16 _u(0x2)
7635 #define DMA_SNIFF_CTRL_CALC_VALUE_CRC16R _u(0x3)
7636 #define DMA_SNIFF_CTRL_CALC_VALUE_EVEN _u(0xe)
7637 #define DMA_SNIFF_CTRL_CALC_VALUE_SUM _u(0xf)
7638 // -----------------------------------------------------------------------------
7639 // Field       : DMA_SNIFF_CTRL_DMACH
7640 // Description : DMA channel for Sniffer to observe
7641 #define DMA_SNIFF_CTRL_DMACH_RESET  _u(0x0)
7642 #define DMA_SNIFF_CTRL_DMACH_BITS   _u(0x0000001e)
7643 #define DMA_SNIFF_CTRL_DMACH_MSB    _u(4)
7644 #define DMA_SNIFF_CTRL_DMACH_LSB    _u(1)
7645 #define DMA_SNIFF_CTRL_DMACH_ACCESS "RW"
7646 // -----------------------------------------------------------------------------
7647 // Field       : DMA_SNIFF_CTRL_EN
7648 // Description : Enable sniffer
7649 #define DMA_SNIFF_CTRL_EN_RESET  _u(0x0)
7650 #define DMA_SNIFF_CTRL_EN_BITS   _u(0x00000001)
7651 #define DMA_SNIFF_CTRL_EN_MSB    _u(0)
7652 #define DMA_SNIFF_CTRL_EN_LSB    _u(0)
7653 #define DMA_SNIFF_CTRL_EN_ACCESS "RW"
7654 // =============================================================================
7655 // Register    : DMA_SNIFF_DATA
7656 // Description : Data accumulator for sniff hardware
7657 //               Write an initial seed value here before starting a DMA transfer
7658 //               on the channel indicated by SNIFF_CTRL_DMACH. The hardware will
7659 //               update this register each time it observes a read from the
7660 //               indicated channel. Once the channel completes, the final result
7661 //               can be read from this register.
7662 #define DMA_SNIFF_DATA_OFFSET _u(0x00000458)
7663 #define DMA_SNIFF_DATA_BITS   _u(0xffffffff)
7664 #define DMA_SNIFF_DATA_RESET  _u(0x00000000)
7665 #define DMA_SNIFF_DATA_MSB    _u(31)
7666 #define DMA_SNIFF_DATA_LSB    _u(0)
7667 #define DMA_SNIFF_DATA_ACCESS "RW"
7668 // =============================================================================
7669 // Register    : DMA_FIFO_LEVELS
7670 // Description : Debug RAF, WAF, TDF levels
7671 #define DMA_FIFO_LEVELS_OFFSET _u(0x00000460)
7672 #define DMA_FIFO_LEVELS_BITS   _u(0x00ffffff)
7673 #define DMA_FIFO_LEVELS_RESET  _u(0x00000000)
7674 // -----------------------------------------------------------------------------
7675 // Field       : DMA_FIFO_LEVELS_RAF_LVL
7676 // Description : Current Read-Address-FIFO fill level
7677 #define DMA_FIFO_LEVELS_RAF_LVL_RESET  _u(0x00)
7678 #define DMA_FIFO_LEVELS_RAF_LVL_BITS   _u(0x00ff0000)
7679 #define DMA_FIFO_LEVELS_RAF_LVL_MSB    _u(23)
7680 #define DMA_FIFO_LEVELS_RAF_LVL_LSB    _u(16)
7681 #define DMA_FIFO_LEVELS_RAF_LVL_ACCESS "RO"
7682 // -----------------------------------------------------------------------------
7683 // Field       : DMA_FIFO_LEVELS_WAF_LVL
7684 // Description : Current Write-Address-FIFO fill level
7685 #define DMA_FIFO_LEVELS_WAF_LVL_RESET  _u(0x00)
7686 #define DMA_FIFO_LEVELS_WAF_LVL_BITS   _u(0x0000ff00)
7687 #define DMA_FIFO_LEVELS_WAF_LVL_MSB    _u(15)
7688 #define DMA_FIFO_LEVELS_WAF_LVL_LSB    _u(8)
7689 #define DMA_FIFO_LEVELS_WAF_LVL_ACCESS "RO"
7690 // -----------------------------------------------------------------------------
7691 // Field       : DMA_FIFO_LEVELS_TDF_LVL
7692 // Description : Current Transfer-Data-FIFO fill level
7693 #define DMA_FIFO_LEVELS_TDF_LVL_RESET  _u(0x00)
7694 #define DMA_FIFO_LEVELS_TDF_LVL_BITS   _u(0x000000ff)
7695 #define DMA_FIFO_LEVELS_TDF_LVL_MSB    _u(7)
7696 #define DMA_FIFO_LEVELS_TDF_LVL_LSB    _u(0)
7697 #define DMA_FIFO_LEVELS_TDF_LVL_ACCESS "RO"
7698 // =============================================================================
7699 // Register    : DMA_CHAN_ABORT
7700 // Description : Abort an in-progress transfer sequence on one or more channels
7701 //               Each bit corresponds to a channel. Writing a 1 aborts whatever
7702 //               transfer sequence is in progress on that channel. The bit will
7703 //               remain high until any in-flight transfers have been flushed
7704 //               through the address and data FIFOs.
7705 //
7706 //               After writing, this register must be polled until it returns
7707 //               all-zero. Until this point, it is unsafe to restart the
7708 //               channel.
7709 #define DMA_CHAN_ABORT_OFFSET _u(0x00000464)
7710 #define DMA_CHAN_ABORT_BITS   _u(0x0000ffff)
7711 #define DMA_CHAN_ABORT_RESET  _u(0x00000000)
7712 #define DMA_CHAN_ABORT_MSB    _u(15)
7713 #define DMA_CHAN_ABORT_LSB    _u(0)
7714 #define DMA_CHAN_ABORT_ACCESS "SC"
7715 // =============================================================================
7716 // Register    : DMA_N_CHANNELS
7717 // Description : The number of channels this DMA instance is equipped with. This
7718 //               DMA supports up to 16 hardware channels, but can be configured
7719 //               with as few as one, to minimise silicon area.
7720 #define DMA_N_CHANNELS_OFFSET _u(0x00000468)
7721 #define DMA_N_CHANNELS_BITS   _u(0x0000001f)
7722 #define DMA_N_CHANNELS_RESET  "-"
7723 #define DMA_N_CHANNELS_MSB    _u(4)
7724 #define DMA_N_CHANNELS_LSB    _u(0)
7725 #define DMA_N_CHANNELS_ACCESS "RO"
7726 // =============================================================================
7727 // Register    : DMA_SECCFG_CH0
7728 // Description : Security configuration for channel 0. Control whether this
7729 //               channel performs Secure/Non-secure and Privileged/Unprivileged
7730 //               bus accesses.
7731 //
7732 //               If this channel generates bus accesses of some security level,
7733 //               an access of at least that level (in the order S+P > S+U > NS+P
7734 //               > NS+U) is required to program, trigger, abort, check the
7735 //               status of, interrupt on or acknowledge the interrupt of this
7736 //               channel.
7737 //
7738 //               This register automatically locks down (becomes read-only) once
7739 //               software starts to configure the channel.
7740 //
7741 //               This register is world-readable, but is writable only from a
7742 //               Secure, Privileged context.
7743 #define DMA_SECCFG_CH0_OFFSET _u(0x00000480)
7744 #define DMA_SECCFG_CH0_BITS   _u(0x00000007)
7745 #define DMA_SECCFG_CH0_RESET  _u(0x00000003)
7746 // -----------------------------------------------------------------------------
7747 // Field       : DMA_SECCFG_CH0_LOCK
7748 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
7749 //               successful write to this channel's control registers. That is,
7750 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
7751 //               aliases.
7752 //
7753 //               Once its LOCK bit is set, this register becomes read-only.
7754 //
7755 //               A failed write, for example due to the write's privilege being
7756 //               lower than that specified in the channel's SECCFG register,
7757 //               will not set the LOCK bit.
7758 #define DMA_SECCFG_CH0_LOCK_RESET  _u(0x0)
7759 #define DMA_SECCFG_CH0_LOCK_BITS   _u(0x00000004)
7760 #define DMA_SECCFG_CH0_LOCK_MSB    _u(2)
7761 #define DMA_SECCFG_CH0_LOCK_LSB    _u(2)
7762 #define DMA_SECCFG_CH0_LOCK_ACCESS "RW"
7763 // -----------------------------------------------------------------------------
7764 // Field       : DMA_SECCFG_CH0_S
7765 // Description : Secure channel. If 1, this channel performs Secure bus
7766 //               accesses. If 0, it performs Non-secure bus accesses.
7767 //
7768 //               If 1, this channel is controllable only from a Secure context.
7769 #define DMA_SECCFG_CH0_S_RESET  _u(0x1)
7770 #define DMA_SECCFG_CH0_S_BITS   _u(0x00000002)
7771 #define DMA_SECCFG_CH0_S_MSB    _u(1)
7772 #define DMA_SECCFG_CH0_S_LSB    _u(1)
7773 #define DMA_SECCFG_CH0_S_ACCESS "RW"
7774 // -----------------------------------------------------------------------------
7775 // Field       : DMA_SECCFG_CH0_P
7776 // Description : Privileged channel. If 1, this channel performs Privileged bus
7777 //               accesses. If 0, it performs Unprivileged bus accesses.
7778 //
7779 //               If 1, this channel is controllable only from a Privileged
7780 //               context of the same Secure/Non-secure level, or any context of
7781 //               a higher Secure/Non-secure level.
7782 #define DMA_SECCFG_CH0_P_RESET  _u(0x1)
7783 #define DMA_SECCFG_CH0_P_BITS   _u(0x00000001)
7784 #define DMA_SECCFG_CH0_P_MSB    _u(0)
7785 #define DMA_SECCFG_CH0_P_LSB    _u(0)
7786 #define DMA_SECCFG_CH0_P_ACCESS "RW"
7787 // =============================================================================
7788 // Register    : DMA_SECCFG_CH1
7789 // Description : Security configuration for channel 1. Control whether this
7790 //               channel performs Secure/Non-secure and Privileged/Unprivileged
7791 //               bus accesses.
7792 //
7793 //               If this channel generates bus accesses of some security level,
7794 //               an access of at least that level (in the order S+P > S+U > NS+P
7795 //               > NS+U) is required to program, trigger, abort, check the
7796 //               status of, interrupt on or acknowledge the interrupt of this
7797 //               channel.
7798 //
7799 //               This register automatically locks down (becomes read-only) once
7800 //               software starts to configure the channel.
7801 //
7802 //               This register is world-readable, but is writable only from a
7803 //               Secure, Privileged context.
7804 #define DMA_SECCFG_CH1_OFFSET _u(0x00000484)
7805 #define DMA_SECCFG_CH1_BITS   _u(0x00000007)
7806 #define DMA_SECCFG_CH1_RESET  _u(0x00000003)
7807 // -----------------------------------------------------------------------------
7808 // Field       : DMA_SECCFG_CH1_LOCK
7809 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
7810 //               successful write to this channel's control registers. That is,
7811 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
7812 //               aliases.
7813 //
7814 //               Once its LOCK bit is set, this register becomes read-only.
7815 //
7816 //               A failed write, for example due to the write's privilege being
7817 //               lower than that specified in the channel's SECCFG register,
7818 //               will not set the LOCK bit.
7819 #define DMA_SECCFG_CH1_LOCK_RESET  _u(0x0)
7820 #define DMA_SECCFG_CH1_LOCK_BITS   _u(0x00000004)
7821 #define DMA_SECCFG_CH1_LOCK_MSB    _u(2)
7822 #define DMA_SECCFG_CH1_LOCK_LSB    _u(2)
7823 #define DMA_SECCFG_CH1_LOCK_ACCESS "RW"
7824 // -----------------------------------------------------------------------------
7825 // Field       : DMA_SECCFG_CH1_S
7826 // Description : Secure channel. If 1, this channel performs Secure bus
7827 //               accesses. If 0, it performs Non-secure bus accesses.
7828 //
7829 //               If 1, this channel is controllable only from a Secure context.
7830 #define DMA_SECCFG_CH1_S_RESET  _u(0x1)
7831 #define DMA_SECCFG_CH1_S_BITS   _u(0x00000002)
7832 #define DMA_SECCFG_CH1_S_MSB    _u(1)
7833 #define DMA_SECCFG_CH1_S_LSB    _u(1)
7834 #define DMA_SECCFG_CH1_S_ACCESS "RW"
7835 // -----------------------------------------------------------------------------
7836 // Field       : DMA_SECCFG_CH1_P
7837 // Description : Privileged channel. If 1, this channel performs Privileged bus
7838 //               accesses. If 0, it performs Unprivileged bus accesses.
7839 //
7840 //               If 1, this channel is controllable only from a Privileged
7841 //               context of the same Secure/Non-secure level, or any context of
7842 //               a higher Secure/Non-secure level.
7843 #define DMA_SECCFG_CH1_P_RESET  _u(0x1)
7844 #define DMA_SECCFG_CH1_P_BITS   _u(0x00000001)
7845 #define DMA_SECCFG_CH1_P_MSB    _u(0)
7846 #define DMA_SECCFG_CH1_P_LSB    _u(0)
7847 #define DMA_SECCFG_CH1_P_ACCESS "RW"
7848 // =============================================================================
7849 // Register    : DMA_SECCFG_CH2
7850 // Description : Security configuration for channel 2. Control whether this
7851 //               channel performs Secure/Non-secure and Privileged/Unprivileged
7852 //               bus accesses.
7853 //
7854 //               If this channel generates bus accesses of some security level,
7855 //               an access of at least that level (in the order S+P > S+U > NS+P
7856 //               > NS+U) is required to program, trigger, abort, check the
7857 //               status of, interrupt on or acknowledge the interrupt of this
7858 //               channel.
7859 //
7860 //               This register automatically locks down (becomes read-only) once
7861 //               software starts to configure the channel.
7862 //
7863 //               This register is world-readable, but is writable only from a
7864 //               Secure, Privileged context.
7865 #define DMA_SECCFG_CH2_OFFSET _u(0x00000488)
7866 #define DMA_SECCFG_CH2_BITS   _u(0x00000007)
7867 #define DMA_SECCFG_CH2_RESET  _u(0x00000003)
7868 // -----------------------------------------------------------------------------
7869 // Field       : DMA_SECCFG_CH2_LOCK
7870 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
7871 //               successful write to this channel's control registers. That is,
7872 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
7873 //               aliases.
7874 //
7875 //               Once its LOCK bit is set, this register becomes read-only.
7876 //
7877 //               A failed write, for example due to the write's privilege being
7878 //               lower than that specified in the channel's SECCFG register,
7879 //               will not set the LOCK bit.
7880 #define DMA_SECCFG_CH2_LOCK_RESET  _u(0x0)
7881 #define DMA_SECCFG_CH2_LOCK_BITS   _u(0x00000004)
7882 #define DMA_SECCFG_CH2_LOCK_MSB    _u(2)
7883 #define DMA_SECCFG_CH2_LOCK_LSB    _u(2)
7884 #define DMA_SECCFG_CH2_LOCK_ACCESS "RW"
7885 // -----------------------------------------------------------------------------
7886 // Field       : DMA_SECCFG_CH2_S
7887 // Description : Secure channel. If 1, this channel performs Secure bus
7888 //               accesses. If 0, it performs Non-secure bus accesses.
7889 //
7890 //               If 1, this channel is controllable only from a Secure context.
7891 #define DMA_SECCFG_CH2_S_RESET  _u(0x1)
7892 #define DMA_SECCFG_CH2_S_BITS   _u(0x00000002)
7893 #define DMA_SECCFG_CH2_S_MSB    _u(1)
7894 #define DMA_SECCFG_CH2_S_LSB    _u(1)
7895 #define DMA_SECCFG_CH2_S_ACCESS "RW"
7896 // -----------------------------------------------------------------------------
7897 // Field       : DMA_SECCFG_CH2_P
7898 // Description : Privileged channel. If 1, this channel performs Privileged bus
7899 //               accesses. If 0, it performs Unprivileged bus accesses.
7900 //
7901 //               If 1, this channel is controllable only from a Privileged
7902 //               context of the same Secure/Non-secure level, or any context of
7903 //               a higher Secure/Non-secure level.
7904 #define DMA_SECCFG_CH2_P_RESET  _u(0x1)
7905 #define DMA_SECCFG_CH2_P_BITS   _u(0x00000001)
7906 #define DMA_SECCFG_CH2_P_MSB    _u(0)
7907 #define DMA_SECCFG_CH2_P_LSB    _u(0)
7908 #define DMA_SECCFG_CH2_P_ACCESS "RW"
7909 // =============================================================================
7910 // Register    : DMA_SECCFG_CH3
7911 // Description : Security configuration for channel 3. Control whether this
7912 //               channel performs Secure/Non-secure and Privileged/Unprivileged
7913 //               bus accesses.
7914 //
7915 //               If this channel generates bus accesses of some security level,
7916 //               an access of at least that level (in the order S+P > S+U > NS+P
7917 //               > NS+U) is required to program, trigger, abort, check the
7918 //               status of, interrupt on or acknowledge the interrupt of this
7919 //               channel.
7920 //
7921 //               This register automatically locks down (becomes read-only) once
7922 //               software starts to configure the channel.
7923 //
7924 //               This register is world-readable, but is writable only from a
7925 //               Secure, Privileged context.
7926 #define DMA_SECCFG_CH3_OFFSET _u(0x0000048c)
7927 #define DMA_SECCFG_CH3_BITS   _u(0x00000007)
7928 #define DMA_SECCFG_CH3_RESET  _u(0x00000003)
7929 // -----------------------------------------------------------------------------
7930 // Field       : DMA_SECCFG_CH3_LOCK
7931 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
7932 //               successful write to this channel's control registers. That is,
7933 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
7934 //               aliases.
7935 //
7936 //               Once its LOCK bit is set, this register becomes read-only.
7937 //
7938 //               A failed write, for example due to the write's privilege being
7939 //               lower than that specified in the channel's SECCFG register,
7940 //               will not set the LOCK bit.
7941 #define DMA_SECCFG_CH3_LOCK_RESET  _u(0x0)
7942 #define DMA_SECCFG_CH3_LOCK_BITS   _u(0x00000004)
7943 #define DMA_SECCFG_CH3_LOCK_MSB    _u(2)
7944 #define DMA_SECCFG_CH3_LOCK_LSB    _u(2)
7945 #define DMA_SECCFG_CH3_LOCK_ACCESS "RW"
7946 // -----------------------------------------------------------------------------
7947 // Field       : DMA_SECCFG_CH3_S
7948 // Description : Secure channel. If 1, this channel performs Secure bus
7949 //               accesses. If 0, it performs Non-secure bus accesses.
7950 //
7951 //               If 1, this channel is controllable only from a Secure context.
7952 #define DMA_SECCFG_CH3_S_RESET  _u(0x1)
7953 #define DMA_SECCFG_CH3_S_BITS   _u(0x00000002)
7954 #define DMA_SECCFG_CH3_S_MSB    _u(1)
7955 #define DMA_SECCFG_CH3_S_LSB    _u(1)
7956 #define DMA_SECCFG_CH3_S_ACCESS "RW"
7957 // -----------------------------------------------------------------------------
7958 // Field       : DMA_SECCFG_CH3_P
7959 // Description : Privileged channel. If 1, this channel performs Privileged bus
7960 //               accesses. If 0, it performs Unprivileged bus accesses.
7961 //
7962 //               If 1, this channel is controllable only from a Privileged
7963 //               context of the same Secure/Non-secure level, or any context of
7964 //               a higher Secure/Non-secure level.
7965 #define DMA_SECCFG_CH3_P_RESET  _u(0x1)
7966 #define DMA_SECCFG_CH3_P_BITS   _u(0x00000001)
7967 #define DMA_SECCFG_CH3_P_MSB    _u(0)
7968 #define DMA_SECCFG_CH3_P_LSB    _u(0)
7969 #define DMA_SECCFG_CH3_P_ACCESS "RW"
7970 // =============================================================================
7971 // Register    : DMA_SECCFG_CH4
7972 // Description : Security configuration for channel 4. Control whether this
7973 //               channel performs Secure/Non-secure and Privileged/Unprivileged
7974 //               bus accesses.
7975 //
7976 //               If this channel generates bus accesses of some security level,
7977 //               an access of at least that level (in the order S+P > S+U > NS+P
7978 //               > NS+U) is required to program, trigger, abort, check the
7979 //               status of, interrupt on or acknowledge the interrupt of this
7980 //               channel.
7981 //
7982 //               This register automatically locks down (becomes read-only) once
7983 //               software starts to configure the channel.
7984 //
7985 //               This register is world-readable, but is writable only from a
7986 //               Secure, Privileged context.
7987 #define DMA_SECCFG_CH4_OFFSET _u(0x00000490)
7988 #define DMA_SECCFG_CH4_BITS   _u(0x00000007)
7989 #define DMA_SECCFG_CH4_RESET  _u(0x00000003)
7990 // -----------------------------------------------------------------------------
7991 // Field       : DMA_SECCFG_CH4_LOCK
7992 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
7993 //               successful write to this channel's control registers. That is,
7994 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
7995 //               aliases.
7996 //
7997 //               Once its LOCK bit is set, this register becomes read-only.
7998 //
7999 //               A failed write, for example due to the write's privilege being
8000 //               lower than that specified in the channel's SECCFG register,
8001 //               will not set the LOCK bit.
8002 #define DMA_SECCFG_CH4_LOCK_RESET  _u(0x0)
8003 #define DMA_SECCFG_CH4_LOCK_BITS   _u(0x00000004)
8004 #define DMA_SECCFG_CH4_LOCK_MSB    _u(2)
8005 #define DMA_SECCFG_CH4_LOCK_LSB    _u(2)
8006 #define DMA_SECCFG_CH4_LOCK_ACCESS "RW"
8007 // -----------------------------------------------------------------------------
8008 // Field       : DMA_SECCFG_CH4_S
8009 // Description : Secure channel. If 1, this channel performs Secure bus
8010 //               accesses. If 0, it performs Non-secure bus accesses.
8011 //
8012 //               If 1, this channel is controllable only from a Secure context.
8013 #define DMA_SECCFG_CH4_S_RESET  _u(0x1)
8014 #define DMA_SECCFG_CH4_S_BITS   _u(0x00000002)
8015 #define DMA_SECCFG_CH4_S_MSB    _u(1)
8016 #define DMA_SECCFG_CH4_S_LSB    _u(1)
8017 #define DMA_SECCFG_CH4_S_ACCESS "RW"
8018 // -----------------------------------------------------------------------------
8019 // Field       : DMA_SECCFG_CH4_P
8020 // Description : Privileged channel. If 1, this channel performs Privileged bus
8021 //               accesses. If 0, it performs Unprivileged bus accesses.
8022 //
8023 //               If 1, this channel is controllable only from a Privileged
8024 //               context of the same Secure/Non-secure level, or any context of
8025 //               a higher Secure/Non-secure level.
8026 #define DMA_SECCFG_CH4_P_RESET  _u(0x1)
8027 #define DMA_SECCFG_CH4_P_BITS   _u(0x00000001)
8028 #define DMA_SECCFG_CH4_P_MSB    _u(0)
8029 #define DMA_SECCFG_CH4_P_LSB    _u(0)
8030 #define DMA_SECCFG_CH4_P_ACCESS "RW"
8031 // =============================================================================
8032 // Register    : DMA_SECCFG_CH5
8033 // Description : Security configuration for channel 5. Control whether this
8034 //               channel performs Secure/Non-secure and Privileged/Unprivileged
8035 //               bus accesses.
8036 //
8037 //               If this channel generates bus accesses of some security level,
8038 //               an access of at least that level (in the order S+P > S+U > NS+P
8039 //               > NS+U) is required to program, trigger, abort, check the
8040 //               status of, interrupt on or acknowledge the interrupt of this
8041 //               channel.
8042 //
8043 //               This register automatically locks down (becomes read-only) once
8044 //               software starts to configure the channel.
8045 //
8046 //               This register is world-readable, but is writable only from a
8047 //               Secure, Privileged context.
8048 #define DMA_SECCFG_CH5_OFFSET _u(0x00000494)
8049 #define DMA_SECCFG_CH5_BITS   _u(0x00000007)
8050 #define DMA_SECCFG_CH5_RESET  _u(0x00000003)
8051 // -----------------------------------------------------------------------------
8052 // Field       : DMA_SECCFG_CH5_LOCK
8053 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
8054 //               successful write to this channel's control registers. That is,
8055 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
8056 //               aliases.
8057 //
8058 //               Once its LOCK bit is set, this register becomes read-only.
8059 //
8060 //               A failed write, for example due to the write's privilege being
8061 //               lower than that specified in the channel's SECCFG register,
8062 //               will not set the LOCK bit.
8063 #define DMA_SECCFG_CH5_LOCK_RESET  _u(0x0)
8064 #define DMA_SECCFG_CH5_LOCK_BITS   _u(0x00000004)
8065 #define DMA_SECCFG_CH5_LOCK_MSB    _u(2)
8066 #define DMA_SECCFG_CH5_LOCK_LSB    _u(2)
8067 #define DMA_SECCFG_CH5_LOCK_ACCESS "RW"
8068 // -----------------------------------------------------------------------------
8069 // Field       : DMA_SECCFG_CH5_S
8070 // Description : Secure channel. If 1, this channel performs Secure bus
8071 //               accesses. If 0, it performs Non-secure bus accesses.
8072 //
8073 //               If 1, this channel is controllable only from a Secure context.
8074 #define DMA_SECCFG_CH5_S_RESET  _u(0x1)
8075 #define DMA_SECCFG_CH5_S_BITS   _u(0x00000002)
8076 #define DMA_SECCFG_CH5_S_MSB    _u(1)
8077 #define DMA_SECCFG_CH5_S_LSB    _u(1)
8078 #define DMA_SECCFG_CH5_S_ACCESS "RW"
8079 // -----------------------------------------------------------------------------
8080 // Field       : DMA_SECCFG_CH5_P
8081 // Description : Privileged channel. If 1, this channel performs Privileged bus
8082 //               accesses. If 0, it performs Unprivileged bus accesses.
8083 //
8084 //               If 1, this channel is controllable only from a Privileged
8085 //               context of the same Secure/Non-secure level, or any context of
8086 //               a higher Secure/Non-secure level.
8087 #define DMA_SECCFG_CH5_P_RESET  _u(0x1)
8088 #define DMA_SECCFG_CH5_P_BITS   _u(0x00000001)
8089 #define DMA_SECCFG_CH5_P_MSB    _u(0)
8090 #define DMA_SECCFG_CH5_P_LSB    _u(0)
8091 #define DMA_SECCFG_CH5_P_ACCESS "RW"
8092 // =============================================================================
8093 // Register    : DMA_SECCFG_CH6
8094 // Description : Security configuration for channel 6. Control whether this
8095 //               channel performs Secure/Non-secure and Privileged/Unprivileged
8096 //               bus accesses.
8097 //
8098 //               If this channel generates bus accesses of some security level,
8099 //               an access of at least that level (in the order S+P > S+U > NS+P
8100 //               > NS+U) is required to program, trigger, abort, check the
8101 //               status of, interrupt on or acknowledge the interrupt of this
8102 //               channel.
8103 //
8104 //               This register automatically locks down (becomes read-only) once
8105 //               software starts to configure the channel.
8106 //
8107 //               This register is world-readable, but is writable only from a
8108 //               Secure, Privileged context.
8109 #define DMA_SECCFG_CH6_OFFSET _u(0x00000498)
8110 #define DMA_SECCFG_CH6_BITS   _u(0x00000007)
8111 #define DMA_SECCFG_CH6_RESET  _u(0x00000003)
8112 // -----------------------------------------------------------------------------
8113 // Field       : DMA_SECCFG_CH6_LOCK
8114 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
8115 //               successful write to this channel's control registers. That is,
8116 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
8117 //               aliases.
8118 //
8119 //               Once its LOCK bit is set, this register becomes read-only.
8120 //
8121 //               A failed write, for example due to the write's privilege being
8122 //               lower than that specified in the channel's SECCFG register,
8123 //               will not set the LOCK bit.
8124 #define DMA_SECCFG_CH6_LOCK_RESET  _u(0x0)
8125 #define DMA_SECCFG_CH6_LOCK_BITS   _u(0x00000004)
8126 #define DMA_SECCFG_CH6_LOCK_MSB    _u(2)
8127 #define DMA_SECCFG_CH6_LOCK_LSB    _u(2)
8128 #define DMA_SECCFG_CH6_LOCK_ACCESS "RW"
8129 // -----------------------------------------------------------------------------
8130 // Field       : DMA_SECCFG_CH6_S
8131 // Description : Secure channel. If 1, this channel performs Secure bus
8132 //               accesses. If 0, it performs Non-secure bus accesses.
8133 //
8134 //               If 1, this channel is controllable only from a Secure context.
8135 #define DMA_SECCFG_CH6_S_RESET  _u(0x1)
8136 #define DMA_SECCFG_CH6_S_BITS   _u(0x00000002)
8137 #define DMA_SECCFG_CH6_S_MSB    _u(1)
8138 #define DMA_SECCFG_CH6_S_LSB    _u(1)
8139 #define DMA_SECCFG_CH6_S_ACCESS "RW"
8140 // -----------------------------------------------------------------------------
8141 // Field       : DMA_SECCFG_CH6_P
8142 // Description : Privileged channel. If 1, this channel performs Privileged bus
8143 //               accesses. If 0, it performs Unprivileged bus accesses.
8144 //
8145 //               If 1, this channel is controllable only from a Privileged
8146 //               context of the same Secure/Non-secure level, or any context of
8147 //               a higher Secure/Non-secure level.
8148 #define DMA_SECCFG_CH6_P_RESET  _u(0x1)
8149 #define DMA_SECCFG_CH6_P_BITS   _u(0x00000001)
8150 #define DMA_SECCFG_CH6_P_MSB    _u(0)
8151 #define DMA_SECCFG_CH6_P_LSB    _u(0)
8152 #define DMA_SECCFG_CH6_P_ACCESS "RW"
8153 // =============================================================================
8154 // Register    : DMA_SECCFG_CH7
8155 // Description : Security configuration for channel 7. Control whether this
8156 //               channel performs Secure/Non-secure and Privileged/Unprivileged
8157 //               bus accesses.
8158 //
8159 //               If this channel generates bus accesses of some security level,
8160 //               an access of at least that level (in the order S+P > S+U > NS+P
8161 //               > NS+U) is required to program, trigger, abort, check the
8162 //               status of, interrupt on or acknowledge the interrupt of this
8163 //               channel.
8164 //
8165 //               This register automatically locks down (becomes read-only) once
8166 //               software starts to configure the channel.
8167 //
8168 //               This register is world-readable, but is writable only from a
8169 //               Secure, Privileged context.
8170 #define DMA_SECCFG_CH7_OFFSET _u(0x0000049c)
8171 #define DMA_SECCFG_CH7_BITS   _u(0x00000007)
8172 #define DMA_SECCFG_CH7_RESET  _u(0x00000003)
8173 // -----------------------------------------------------------------------------
8174 // Field       : DMA_SECCFG_CH7_LOCK
8175 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
8176 //               successful write to this channel's control registers. That is,
8177 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
8178 //               aliases.
8179 //
8180 //               Once its LOCK bit is set, this register becomes read-only.
8181 //
8182 //               A failed write, for example due to the write's privilege being
8183 //               lower than that specified in the channel's SECCFG register,
8184 //               will not set the LOCK bit.
8185 #define DMA_SECCFG_CH7_LOCK_RESET  _u(0x0)
8186 #define DMA_SECCFG_CH7_LOCK_BITS   _u(0x00000004)
8187 #define DMA_SECCFG_CH7_LOCK_MSB    _u(2)
8188 #define DMA_SECCFG_CH7_LOCK_LSB    _u(2)
8189 #define DMA_SECCFG_CH7_LOCK_ACCESS "RW"
8190 // -----------------------------------------------------------------------------
8191 // Field       : DMA_SECCFG_CH7_S
8192 // Description : Secure channel. If 1, this channel performs Secure bus
8193 //               accesses. If 0, it performs Non-secure bus accesses.
8194 //
8195 //               If 1, this channel is controllable only from a Secure context.
8196 #define DMA_SECCFG_CH7_S_RESET  _u(0x1)
8197 #define DMA_SECCFG_CH7_S_BITS   _u(0x00000002)
8198 #define DMA_SECCFG_CH7_S_MSB    _u(1)
8199 #define DMA_SECCFG_CH7_S_LSB    _u(1)
8200 #define DMA_SECCFG_CH7_S_ACCESS "RW"
8201 // -----------------------------------------------------------------------------
8202 // Field       : DMA_SECCFG_CH7_P
8203 // Description : Privileged channel. If 1, this channel performs Privileged bus
8204 //               accesses. If 0, it performs Unprivileged bus accesses.
8205 //
8206 //               If 1, this channel is controllable only from a Privileged
8207 //               context of the same Secure/Non-secure level, or any context of
8208 //               a higher Secure/Non-secure level.
8209 #define DMA_SECCFG_CH7_P_RESET  _u(0x1)
8210 #define DMA_SECCFG_CH7_P_BITS   _u(0x00000001)
8211 #define DMA_SECCFG_CH7_P_MSB    _u(0)
8212 #define DMA_SECCFG_CH7_P_LSB    _u(0)
8213 #define DMA_SECCFG_CH7_P_ACCESS "RW"
8214 // =============================================================================
8215 // Register    : DMA_SECCFG_CH8
8216 // Description : Security configuration for channel 8. Control whether this
8217 //               channel performs Secure/Non-secure and Privileged/Unprivileged
8218 //               bus accesses.
8219 //
8220 //               If this channel generates bus accesses of some security level,
8221 //               an access of at least that level (in the order S+P > S+U > NS+P
8222 //               > NS+U) is required to program, trigger, abort, check the
8223 //               status of, interrupt on or acknowledge the interrupt of this
8224 //               channel.
8225 //
8226 //               This register automatically locks down (becomes read-only) once
8227 //               software starts to configure the channel.
8228 //
8229 //               This register is world-readable, but is writable only from a
8230 //               Secure, Privileged context.
8231 #define DMA_SECCFG_CH8_OFFSET _u(0x000004a0)
8232 #define DMA_SECCFG_CH8_BITS   _u(0x00000007)
8233 #define DMA_SECCFG_CH8_RESET  _u(0x00000003)
8234 // -----------------------------------------------------------------------------
8235 // Field       : DMA_SECCFG_CH8_LOCK
8236 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
8237 //               successful write to this channel's control registers. That is,
8238 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
8239 //               aliases.
8240 //
8241 //               Once its LOCK bit is set, this register becomes read-only.
8242 //
8243 //               A failed write, for example due to the write's privilege being
8244 //               lower than that specified in the channel's SECCFG register,
8245 //               will not set the LOCK bit.
8246 #define DMA_SECCFG_CH8_LOCK_RESET  _u(0x0)
8247 #define DMA_SECCFG_CH8_LOCK_BITS   _u(0x00000004)
8248 #define DMA_SECCFG_CH8_LOCK_MSB    _u(2)
8249 #define DMA_SECCFG_CH8_LOCK_LSB    _u(2)
8250 #define DMA_SECCFG_CH8_LOCK_ACCESS "RW"
8251 // -----------------------------------------------------------------------------
8252 // Field       : DMA_SECCFG_CH8_S
8253 // Description : Secure channel. If 1, this channel performs Secure bus
8254 //               accesses. If 0, it performs Non-secure bus accesses.
8255 //
8256 //               If 1, this channel is controllable only from a Secure context.
8257 #define DMA_SECCFG_CH8_S_RESET  _u(0x1)
8258 #define DMA_SECCFG_CH8_S_BITS   _u(0x00000002)
8259 #define DMA_SECCFG_CH8_S_MSB    _u(1)
8260 #define DMA_SECCFG_CH8_S_LSB    _u(1)
8261 #define DMA_SECCFG_CH8_S_ACCESS "RW"
8262 // -----------------------------------------------------------------------------
8263 // Field       : DMA_SECCFG_CH8_P
8264 // Description : Privileged channel. If 1, this channel performs Privileged bus
8265 //               accesses. If 0, it performs Unprivileged bus accesses.
8266 //
8267 //               If 1, this channel is controllable only from a Privileged
8268 //               context of the same Secure/Non-secure level, or any context of
8269 //               a higher Secure/Non-secure level.
8270 #define DMA_SECCFG_CH8_P_RESET  _u(0x1)
8271 #define DMA_SECCFG_CH8_P_BITS   _u(0x00000001)
8272 #define DMA_SECCFG_CH8_P_MSB    _u(0)
8273 #define DMA_SECCFG_CH8_P_LSB    _u(0)
8274 #define DMA_SECCFG_CH8_P_ACCESS "RW"
8275 // =============================================================================
8276 // Register    : DMA_SECCFG_CH9
8277 // Description : Security configuration for channel 9. Control whether this
8278 //               channel performs Secure/Non-secure and Privileged/Unprivileged
8279 //               bus accesses.
8280 //
8281 //               If this channel generates bus accesses of some security level,
8282 //               an access of at least that level (in the order S+P > S+U > NS+P
8283 //               > NS+U) is required to program, trigger, abort, check the
8284 //               status of, interrupt on or acknowledge the interrupt of this
8285 //               channel.
8286 //
8287 //               This register automatically locks down (becomes read-only) once
8288 //               software starts to configure the channel.
8289 //
8290 //               This register is world-readable, but is writable only from a
8291 //               Secure, Privileged context.
8292 #define DMA_SECCFG_CH9_OFFSET _u(0x000004a4)
8293 #define DMA_SECCFG_CH9_BITS   _u(0x00000007)
8294 #define DMA_SECCFG_CH9_RESET  _u(0x00000003)
8295 // -----------------------------------------------------------------------------
8296 // Field       : DMA_SECCFG_CH9_LOCK
8297 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
8298 //               successful write to this channel's control registers. That is,
8299 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
8300 //               aliases.
8301 //
8302 //               Once its LOCK bit is set, this register becomes read-only.
8303 //
8304 //               A failed write, for example due to the write's privilege being
8305 //               lower than that specified in the channel's SECCFG register,
8306 //               will not set the LOCK bit.
8307 #define DMA_SECCFG_CH9_LOCK_RESET  _u(0x0)
8308 #define DMA_SECCFG_CH9_LOCK_BITS   _u(0x00000004)
8309 #define DMA_SECCFG_CH9_LOCK_MSB    _u(2)
8310 #define DMA_SECCFG_CH9_LOCK_LSB    _u(2)
8311 #define DMA_SECCFG_CH9_LOCK_ACCESS "RW"
8312 // -----------------------------------------------------------------------------
8313 // Field       : DMA_SECCFG_CH9_S
8314 // Description : Secure channel. If 1, this channel performs Secure bus
8315 //               accesses. If 0, it performs Non-secure bus accesses.
8316 //
8317 //               If 1, this channel is controllable only from a Secure context.
8318 #define DMA_SECCFG_CH9_S_RESET  _u(0x1)
8319 #define DMA_SECCFG_CH9_S_BITS   _u(0x00000002)
8320 #define DMA_SECCFG_CH9_S_MSB    _u(1)
8321 #define DMA_SECCFG_CH9_S_LSB    _u(1)
8322 #define DMA_SECCFG_CH9_S_ACCESS "RW"
8323 // -----------------------------------------------------------------------------
8324 // Field       : DMA_SECCFG_CH9_P
8325 // Description : Privileged channel. If 1, this channel performs Privileged bus
8326 //               accesses. If 0, it performs Unprivileged bus accesses.
8327 //
8328 //               If 1, this channel is controllable only from a Privileged
8329 //               context of the same Secure/Non-secure level, or any context of
8330 //               a higher Secure/Non-secure level.
8331 #define DMA_SECCFG_CH9_P_RESET  _u(0x1)
8332 #define DMA_SECCFG_CH9_P_BITS   _u(0x00000001)
8333 #define DMA_SECCFG_CH9_P_MSB    _u(0)
8334 #define DMA_SECCFG_CH9_P_LSB    _u(0)
8335 #define DMA_SECCFG_CH9_P_ACCESS "RW"
8336 // =============================================================================
8337 // Register    : DMA_SECCFG_CH10
8338 // Description : Security configuration for channel 10. Control whether this
8339 //               channel performs Secure/Non-secure and Privileged/Unprivileged
8340 //               bus accesses.
8341 //
8342 //               If this channel generates bus accesses of some security level,
8343 //               an access of at least that level (in the order S+P > S+U > NS+P
8344 //               > NS+U) is required to program, trigger, abort, check the
8345 //               status of, interrupt on or acknowledge the interrupt of this
8346 //               channel.
8347 //
8348 //               This register automatically locks down (becomes read-only) once
8349 //               software starts to configure the channel.
8350 //
8351 //               This register is world-readable, but is writable only from a
8352 //               Secure, Privileged context.
8353 #define DMA_SECCFG_CH10_OFFSET _u(0x000004a8)
8354 #define DMA_SECCFG_CH10_BITS   _u(0x00000007)
8355 #define DMA_SECCFG_CH10_RESET  _u(0x00000003)
8356 // -----------------------------------------------------------------------------
8357 // Field       : DMA_SECCFG_CH10_LOCK
8358 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
8359 //               successful write to this channel's control registers. That is,
8360 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
8361 //               aliases.
8362 //
8363 //               Once its LOCK bit is set, this register becomes read-only.
8364 //
8365 //               A failed write, for example due to the write's privilege being
8366 //               lower than that specified in the channel's SECCFG register,
8367 //               will not set the LOCK bit.
8368 #define DMA_SECCFG_CH10_LOCK_RESET  _u(0x0)
8369 #define DMA_SECCFG_CH10_LOCK_BITS   _u(0x00000004)
8370 #define DMA_SECCFG_CH10_LOCK_MSB    _u(2)
8371 #define DMA_SECCFG_CH10_LOCK_LSB    _u(2)
8372 #define DMA_SECCFG_CH10_LOCK_ACCESS "RW"
8373 // -----------------------------------------------------------------------------
8374 // Field       : DMA_SECCFG_CH10_S
8375 // Description : Secure channel. If 1, this channel performs Secure bus
8376 //               accesses. If 0, it performs Non-secure bus accesses.
8377 //
8378 //               If 1, this channel is controllable only from a Secure context.
8379 #define DMA_SECCFG_CH10_S_RESET  _u(0x1)
8380 #define DMA_SECCFG_CH10_S_BITS   _u(0x00000002)
8381 #define DMA_SECCFG_CH10_S_MSB    _u(1)
8382 #define DMA_SECCFG_CH10_S_LSB    _u(1)
8383 #define DMA_SECCFG_CH10_S_ACCESS "RW"
8384 // -----------------------------------------------------------------------------
8385 // Field       : DMA_SECCFG_CH10_P
8386 // Description : Privileged channel. If 1, this channel performs Privileged bus
8387 //               accesses. If 0, it performs Unprivileged bus accesses.
8388 //
8389 //               If 1, this channel is controllable only from a Privileged
8390 //               context of the same Secure/Non-secure level, or any context of
8391 //               a higher Secure/Non-secure level.
8392 #define DMA_SECCFG_CH10_P_RESET  _u(0x1)
8393 #define DMA_SECCFG_CH10_P_BITS   _u(0x00000001)
8394 #define DMA_SECCFG_CH10_P_MSB    _u(0)
8395 #define DMA_SECCFG_CH10_P_LSB    _u(0)
8396 #define DMA_SECCFG_CH10_P_ACCESS "RW"
8397 // =============================================================================
8398 // Register    : DMA_SECCFG_CH11
8399 // Description : Security configuration for channel 11. Control whether this
8400 //               channel performs Secure/Non-secure and Privileged/Unprivileged
8401 //               bus accesses.
8402 //
8403 //               If this channel generates bus accesses of some security level,
8404 //               an access of at least that level (in the order S+P > S+U > NS+P
8405 //               > NS+U) is required to program, trigger, abort, check the
8406 //               status of, interrupt on or acknowledge the interrupt of this
8407 //               channel.
8408 //
8409 //               This register automatically locks down (becomes read-only) once
8410 //               software starts to configure the channel.
8411 //
8412 //               This register is world-readable, but is writable only from a
8413 //               Secure, Privileged context.
8414 #define DMA_SECCFG_CH11_OFFSET _u(0x000004ac)
8415 #define DMA_SECCFG_CH11_BITS   _u(0x00000007)
8416 #define DMA_SECCFG_CH11_RESET  _u(0x00000003)
8417 // -----------------------------------------------------------------------------
8418 // Field       : DMA_SECCFG_CH11_LOCK
8419 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
8420 //               successful write to this channel's control registers. That is,
8421 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
8422 //               aliases.
8423 //
8424 //               Once its LOCK bit is set, this register becomes read-only.
8425 //
8426 //               A failed write, for example due to the write's privilege being
8427 //               lower than that specified in the channel's SECCFG register,
8428 //               will not set the LOCK bit.
8429 #define DMA_SECCFG_CH11_LOCK_RESET  _u(0x0)
8430 #define DMA_SECCFG_CH11_LOCK_BITS   _u(0x00000004)
8431 #define DMA_SECCFG_CH11_LOCK_MSB    _u(2)
8432 #define DMA_SECCFG_CH11_LOCK_LSB    _u(2)
8433 #define DMA_SECCFG_CH11_LOCK_ACCESS "RW"
8434 // -----------------------------------------------------------------------------
8435 // Field       : DMA_SECCFG_CH11_S
8436 // Description : Secure channel. If 1, this channel performs Secure bus
8437 //               accesses. If 0, it performs Non-secure bus accesses.
8438 //
8439 //               If 1, this channel is controllable only from a Secure context.
8440 #define DMA_SECCFG_CH11_S_RESET  _u(0x1)
8441 #define DMA_SECCFG_CH11_S_BITS   _u(0x00000002)
8442 #define DMA_SECCFG_CH11_S_MSB    _u(1)
8443 #define DMA_SECCFG_CH11_S_LSB    _u(1)
8444 #define DMA_SECCFG_CH11_S_ACCESS "RW"
8445 // -----------------------------------------------------------------------------
8446 // Field       : DMA_SECCFG_CH11_P
8447 // Description : Privileged channel. If 1, this channel performs Privileged bus
8448 //               accesses. If 0, it performs Unprivileged bus accesses.
8449 //
8450 //               If 1, this channel is controllable only from a Privileged
8451 //               context of the same Secure/Non-secure level, or any context of
8452 //               a higher Secure/Non-secure level.
8453 #define DMA_SECCFG_CH11_P_RESET  _u(0x1)
8454 #define DMA_SECCFG_CH11_P_BITS   _u(0x00000001)
8455 #define DMA_SECCFG_CH11_P_MSB    _u(0)
8456 #define DMA_SECCFG_CH11_P_LSB    _u(0)
8457 #define DMA_SECCFG_CH11_P_ACCESS "RW"
8458 // =============================================================================
8459 // Register    : DMA_SECCFG_CH12
8460 // Description : Security configuration for channel 12. Control whether this
8461 //               channel performs Secure/Non-secure and Privileged/Unprivileged
8462 //               bus accesses.
8463 //
8464 //               If this channel generates bus accesses of some security level,
8465 //               an access of at least that level (in the order S+P > S+U > NS+P
8466 //               > NS+U) is required to program, trigger, abort, check the
8467 //               status of, interrupt on or acknowledge the interrupt of this
8468 //               channel.
8469 //
8470 //               This register automatically locks down (becomes read-only) once
8471 //               software starts to configure the channel.
8472 //
8473 //               This register is world-readable, but is writable only from a
8474 //               Secure, Privileged context.
8475 #define DMA_SECCFG_CH12_OFFSET _u(0x000004b0)
8476 #define DMA_SECCFG_CH12_BITS   _u(0x00000007)
8477 #define DMA_SECCFG_CH12_RESET  _u(0x00000003)
8478 // -----------------------------------------------------------------------------
8479 // Field       : DMA_SECCFG_CH12_LOCK
8480 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
8481 //               successful write to this channel's control registers. That is,
8482 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
8483 //               aliases.
8484 //
8485 //               Once its LOCK bit is set, this register becomes read-only.
8486 //
8487 //               A failed write, for example due to the write's privilege being
8488 //               lower than that specified in the channel's SECCFG register,
8489 //               will not set the LOCK bit.
8490 #define DMA_SECCFG_CH12_LOCK_RESET  _u(0x0)
8491 #define DMA_SECCFG_CH12_LOCK_BITS   _u(0x00000004)
8492 #define DMA_SECCFG_CH12_LOCK_MSB    _u(2)
8493 #define DMA_SECCFG_CH12_LOCK_LSB    _u(2)
8494 #define DMA_SECCFG_CH12_LOCK_ACCESS "RW"
8495 // -----------------------------------------------------------------------------
8496 // Field       : DMA_SECCFG_CH12_S
8497 // Description : Secure channel. If 1, this channel performs Secure bus
8498 //               accesses. If 0, it performs Non-secure bus accesses.
8499 //
8500 //               If 1, this channel is controllable only from a Secure context.
8501 #define DMA_SECCFG_CH12_S_RESET  _u(0x1)
8502 #define DMA_SECCFG_CH12_S_BITS   _u(0x00000002)
8503 #define DMA_SECCFG_CH12_S_MSB    _u(1)
8504 #define DMA_SECCFG_CH12_S_LSB    _u(1)
8505 #define DMA_SECCFG_CH12_S_ACCESS "RW"
8506 // -----------------------------------------------------------------------------
8507 // Field       : DMA_SECCFG_CH12_P
8508 // Description : Privileged channel. If 1, this channel performs Privileged bus
8509 //               accesses. If 0, it performs Unprivileged bus accesses.
8510 //
8511 //               If 1, this channel is controllable only from a Privileged
8512 //               context of the same Secure/Non-secure level, or any context of
8513 //               a higher Secure/Non-secure level.
8514 #define DMA_SECCFG_CH12_P_RESET  _u(0x1)
8515 #define DMA_SECCFG_CH12_P_BITS   _u(0x00000001)
8516 #define DMA_SECCFG_CH12_P_MSB    _u(0)
8517 #define DMA_SECCFG_CH12_P_LSB    _u(0)
8518 #define DMA_SECCFG_CH12_P_ACCESS "RW"
8519 // =============================================================================
8520 // Register    : DMA_SECCFG_CH13
8521 // Description : Security configuration for channel 13. Control whether this
8522 //               channel performs Secure/Non-secure and Privileged/Unprivileged
8523 //               bus accesses.
8524 //
8525 //               If this channel generates bus accesses of some security level,
8526 //               an access of at least that level (in the order S+P > S+U > NS+P
8527 //               > NS+U) is required to program, trigger, abort, check the
8528 //               status of, interrupt on or acknowledge the interrupt of this
8529 //               channel.
8530 //
8531 //               This register automatically locks down (becomes read-only) once
8532 //               software starts to configure the channel.
8533 //
8534 //               This register is world-readable, but is writable only from a
8535 //               Secure, Privileged context.
8536 #define DMA_SECCFG_CH13_OFFSET _u(0x000004b4)
8537 #define DMA_SECCFG_CH13_BITS   _u(0x00000007)
8538 #define DMA_SECCFG_CH13_RESET  _u(0x00000003)
8539 // -----------------------------------------------------------------------------
8540 // Field       : DMA_SECCFG_CH13_LOCK
8541 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
8542 //               successful write to this channel's control registers. That is,
8543 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
8544 //               aliases.
8545 //
8546 //               Once its LOCK bit is set, this register becomes read-only.
8547 //
8548 //               A failed write, for example due to the write's privilege being
8549 //               lower than that specified in the channel's SECCFG register,
8550 //               will not set the LOCK bit.
8551 #define DMA_SECCFG_CH13_LOCK_RESET  _u(0x0)
8552 #define DMA_SECCFG_CH13_LOCK_BITS   _u(0x00000004)
8553 #define DMA_SECCFG_CH13_LOCK_MSB    _u(2)
8554 #define DMA_SECCFG_CH13_LOCK_LSB    _u(2)
8555 #define DMA_SECCFG_CH13_LOCK_ACCESS "RW"
8556 // -----------------------------------------------------------------------------
8557 // Field       : DMA_SECCFG_CH13_S
8558 // Description : Secure channel. If 1, this channel performs Secure bus
8559 //               accesses. If 0, it performs Non-secure bus accesses.
8560 //
8561 //               If 1, this channel is controllable only from a Secure context.
8562 #define DMA_SECCFG_CH13_S_RESET  _u(0x1)
8563 #define DMA_SECCFG_CH13_S_BITS   _u(0x00000002)
8564 #define DMA_SECCFG_CH13_S_MSB    _u(1)
8565 #define DMA_SECCFG_CH13_S_LSB    _u(1)
8566 #define DMA_SECCFG_CH13_S_ACCESS "RW"
8567 // -----------------------------------------------------------------------------
8568 // Field       : DMA_SECCFG_CH13_P
8569 // Description : Privileged channel. If 1, this channel performs Privileged bus
8570 //               accesses. If 0, it performs Unprivileged bus accesses.
8571 //
8572 //               If 1, this channel is controllable only from a Privileged
8573 //               context of the same Secure/Non-secure level, or any context of
8574 //               a higher Secure/Non-secure level.
8575 #define DMA_SECCFG_CH13_P_RESET  _u(0x1)
8576 #define DMA_SECCFG_CH13_P_BITS   _u(0x00000001)
8577 #define DMA_SECCFG_CH13_P_MSB    _u(0)
8578 #define DMA_SECCFG_CH13_P_LSB    _u(0)
8579 #define DMA_SECCFG_CH13_P_ACCESS "RW"
8580 // =============================================================================
8581 // Register    : DMA_SECCFG_CH14
8582 // Description : Security configuration for channel 14. Control whether this
8583 //               channel performs Secure/Non-secure and Privileged/Unprivileged
8584 //               bus accesses.
8585 //
8586 //               If this channel generates bus accesses of some security level,
8587 //               an access of at least that level (in the order S+P > S+U > NS+P
8588 //               > NS+U) is required to program, trigger, abort, check the
8589 //               status of, interrupt on or acknowledge the interrupt of this
8590 //               channel.
8591 //
8592 //               This register automatically locks down (becomes read-only) once
8593 //               software starts to configure the channel.
8594 //
8595 //               This register is world-readable, but is writable only from a
8596 //               Secure, Privileged context.
8597 #define DMA_SECCFG_CH14_OFFSET _u(0x000004b8)
8598 #define DMA_SECCFG_CH14_BITS   _u(0x00000007)
8599 #define DMA_SECCFG_CH14_RESET  _u(0x00000003)
8600 // -----------------------------------------------------------------------------
8601 // Field       : DMA_SECCFG_CH14_LOCK
8602 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
8603 //               successful write to this channel's control registers. That is,
8604 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
8605 //               aliases.
8606 //
8607 //               Once its LOCK bit is set, this register becomes read-only.
8608 //
8609 //               A failed write, for example due to the write's privilege being
8610 //               lower than that specified in the channel's SECCFG register,
8611 //               will not set the LOCK bit.
8612 #define DMA_SECCFG_CH14_LOCK_RESET  _u(0x0)
8613 #define DMA_SECCFG_CH14_LOCK_BITS   _u(0x00000004)
8614 #define DMA_SECCFG_CH14_LOCK_MSB    _u(2)
8615 #define DMA_SECCFG_CH14_LOCK_LSB    _u(2)
8616 #define DMA_SECCFG_CH14_LOCK_ACCESS "RW"
8617 // -----------------------------------------------------------------------------
8618 // Field       : DMA_SECCFG_CH14_S
8619 // Description : Secure channel. If 1, this channel performs Secure bus
8620 //               accesses. If 0, it performs Non-secure bus accesses.
8621 //
8622 //               If 1, this channel is controllable only from a Secure context.
8623 #define DMA_SECCFG_CH14_S_RESET  _u(0x1)
8624 #define DMA_SECCFG_CH14_S_BITS   _u(0x00000002)
8625 #define DMA_SECCFG_CH14_S_MSB    _u(1)
8626 #define DMA_SECCFG_CH14_S_LSB    _u(1)
8627 #define DMA_SECCFG_CH14_S_ACCESS "RW"
8628 // -----------------------------------------------------------------------------
8629 // Field       : DMA_SECCFG_CH14_P
8630 // Description : Privileged channel. If 1, this channel performs Privileged bus
8631 //               accesses. If 0, it performs Unprivileged bus accesses.
8632 //
8633 //               If 1, this channel is controllable only from a Privileged
8634 //               context of the same Secure/Non-secure level, or any context of
8635 //               a higher Secure/Non-secure level.
8636 #define DMA_SECCFG_CH14_P_RESET  _u(0x1)
8637 #define DMA_SECCFG_CH14_P_BITS   _u(0x00000001)
8638 #define DMA_SECCFG_CH14_P_MSB    _u(0)
8639 #define DMA_SECCFG_CH14_P_LSB    _u(0)
8640 #define DMA_SECCFG_CH14_P_ACCESS "RW"
8641 // =============================================================================
8642 // Register    : DMA_SECCFG_CH15
8643 // Description : Security configuration for channel 15. Control whether this
8644 //               channel performs Secure/Non-secure and Privileged/Unprivileged
8645 //               bus accesses.
8646 //
8647 //               If this channel generates bus accesses of some security level,
8648 //               an access of at least that level (in the order S+P > S+U > NS+P
8649 //               > NS+U) is required to program, trigger, abort, check the
8650 //               status of, interrupt on or acknowledge the interrupt of this
8651 //               channel.
8652 //
8653 //               This register automatically locks down (becomes read-only) once
8654 //               software starts to configure the channel.
8655 //
8656 //               This register is world-readable, but is writable only from a
8657 //               Secure, Privileged context.
8658 #define DMA_SECCFG_CH15_OFFSET _u(0x000004bc)
8659 #define DMA_SECCFG_CH15_BITS   _u(0x00000007)
8660 #define DMA_SECCFG_CH15_RESET  _u(0x00000003)
8661 // -----------------------------------------------------------------------------
8662 // Field       : DMA_SECCFG_CH15_LOCK
8663 // Description : LOCK is 0 at reset, and is set to 1 automatically upon a
8664 //               successful write to this channel's control registers. That is,
8665 //               a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their
8666 //               aliases.
8667 //
8668 //               Once its LOCK bit is set, this register becomes read-only.
8669 //
8670 //               A failed write, for example due to the write's privilege being
8671 //               lower than that specified in the channel's SECCFG register,
8672 //               will not set the LOCK bit.
8673 #define DMA_SECCFG_CH15_LOCK_RESET  _u(0x0)
8674 #define DMA_SECCFG_CH15_LOCK_BITS   _u(0x00000004)
8675 #define DMA_SECCFG_CH15_LOCK_MSB    _u(2)
8676 #define DMA_SECCFG_CH15_LOCK_LSB    _u(2)
8677 #define DMA_SECCFG_CH15_LOCK_ACCESS "RW"
8678 // -----------------------------------------------------------------------------
8679 // Field       : DMA_SECCFG_CH15_S
8680 // Description : Secure channel. If 1, this channel performs Secure bus
8681 //               accesses. If 0, it performs Non-secure bus accesses.
8682 //
8683 //               If 1, this channel is controllable only from a Secure context.
8684 #define DMA_SECCFG_CH15_S_RESET  _u(0x1)
8685 #define DMA_SECCFG_CH15_S_BITS   _u(0x00000002)
8686 #define DMA_SECCFG_CH15_S_MSB    _u(1)
8687 #define DMA_SECCFG_CH15_S_LSB    _u(1)
8688 #define DMA_SECCFG_CH15_S_ACCESS "RW"
8689 // -----------------------------------------------------------------------------
8690 // Field       : DMA_SECCFG_CH15_P
8691 // Description : Privileged channel. If 1, this channel performs Privileged bus
8692 //               accesses. If 0, it performs Unprivileged bus accesses.
8693 //
8694 //               If 1, this channel is controllable only from a Privileged
8695 //               context of the same Secure/Non-secure level, or any context of
8696 //               a higher Secure/Non-secure level.
8697 #define DMA_SECCFG_CH15_P_RESET  _u(0x1)
8698 #define DMA_SECCFG_CH15_P_BITS   _u(0x00000001)
8699 #define DMA_SECCFG_CH15_P_MSB    _u(0)
8700 #define DMA_SECCFG_CH15_P_LSB    _u(0)
8701 #define DMA_SECCFG_CH15_P_ACCESS "RW"
8702 // =============================================================================
8703 // Register    : DMA_SECCFG_IRQ0
8704 // Description : Security configuration for IRQ 0. Control whether the IRQ
8705 //               permits configuration by Non-secure/Unprivileged contexts, and
8706 //               whether it can observe Secure/Privileged channel interrupt
8707 //               flags.
8708 #define DMA_SECCFG_IRQ0_OFFSET _u(0x000004c0)
8709 #define DMA_SECCFG_IRQ0_BITS   _u(0x00000003)
8710 #define DMA_SECCFG_IRQ0_RESET  _u(0x00000003)
8711 // -----------------------------------------------------------------------------
8712 // Field       : DMA_SECCFG_IRQ0_S
8713 // Description : Secure IRQ. If 1, this IRQ's control registers can only be
8714 //               accessed from a Secure context.
8715 //
8716 //               If 0, this IRQ's control registers can be accessed from a Non-
8717 //               secure context, but Secure channels (as per SECCFG_CHx) are
8718 //               masked from the IRQ status, and this IRQ's registers can not be
8719 //               used to acknowledge the channel interrupts of Secure channels.
8720 #define DMA_SECCFG_IRQ0_S_RESET  _u(0x1)
8721 #define DMA_SECCFG_IRQ0_S_BITS   _u(0x00000002)
8722 #define DMA_SECCFG_IRQ0_S_MSB    _u(1)
8723 #define DMA_SECCFG_IRQ0_S_LSB    _u(1)
8724 #define DMA_SECCFG_IRQ0_S_ACCESS "RW"
8725 // -----------------------------------------------------------------------------
8726 // Field       : DMA_SECCFG_IRQ0_P
8727 // Description : Privileged IRQ. If 1, this IRQ's control registers can only be
8728 //               accessed from a Privileged context.
8729 //
8730 //               If 0, this IRQ's control registers can be accessed from an
8731 //               Unprivileged context, but Privileged channels (as per
8732 //               SECCFG_CHx) are masked from the IRQ status, and this IRQ's
8733 //               registers can not be used to acknowledge the channel interrupts
8734 //               of Privileged channels.
8735 #define DMA_SECCFG_IRQ0_P_RESET  _u(0x1)
8736 #define DMA_SECCFG_IRQ0_P_BITS   _u(0x00000001)
8737 #define DMA_SECCFG_IRQ0_P_MSB    _u(0)
8738 #define DMA_SECCFG_IRQ0_P_LSB    _u(0)
8739 #define DMA_SECCFG_IRQ0_P_ACCESS "RW"
8740 // =============================================================================
8741 // Register    : DMA_SECCFG_IRQ1
8742 // Description : Security configuration for IRQ 1. Control whether the IRQ
8743 //               permits configuration by Non-secure/Unprivileged contexts, and
8744 //               whether it can observe Secure/Privileged channel interrupt
8745 //               flags.
8746 #define DMA_SECCFG_IRQ1_OFFSET _u(0x000004c4)
8747 #define DMA_SECCFG_IRQ1_BITS   _u(0x00000003)
8748 #define DMA_SECCFG_IRQ1_RESET  _u(0x00000003)
8749 // -----------------------------------------------------------------------------
8750 // Field       : DMA_SECCFG_IRQ1_S
8751 // Description : Secure IRQ. If 1, this IRQ's control registers can only be
8752 //               accessed from a Secure context.
8753 //
8754 //               If 0, this IRQ's control registers can be accessed from a Non-
8755 //               secure context, but Secure channels (as per SECCFG_CHx) are
8756 //               masked from the IRQ status, and this IRQ's registers can not be
8757 //               used to acknowledge the channel interrupts of Secure channels.
8758 #define DMA_SECCFG_IRQ1_S_RESET  _u(0x1)
8759 #define DMA_SECCFG_IRQ1_S_BITS   _u(0x00000002)
8760 #define DMA_SECCFG_IRQ1_S_MSB    _u(1)
8761 #define DMA_SECCFG_IRQ1_S_LSB    _u(1)
8762 #define DMA_SECCFG_IRQ1_S_ACCESS "RW"
8763 // -----------------------------------------------------------------------------
8764 // Field       : DMA_SECCFG_IRQ1_P
8765 // Description : Privileged IRQ. If 1, this IRQ's control registers can only be
8766 //               accessed from a Privileged context.
8767 //
8768 //               If 0, this IRQ's control registers can be accessed from an
8769 //               Unprivileged context, but Privileged channels (as per
8770 //               SECCFG_CHx) are masked from the IRQ status, and this IRQ's
8771 //               registers can not be used to acknowledge the channel interrupts
8772 //               of Privileged channels.
8773 #define DMA_SECCFG_IRQ1_P_RESET  _u(0x1)
8774 #define DMA_SECCFG_IRQ1_P_BITS   _u(0x00000001)
8775 #define DMA_SECCFG_IRQ1_P_MSB    _u(0)
8776 #define DMA_SECCFG_IRQ1_P_LSB    _u(0)
8777 #define DMA_SECCFG_IRQ1_P_ACCESS "RW"
8778 // =============================================================================
8779 // Register    : DMA_SECCFG_IRQ2
8780 // Description : Security configuration for IRQ 2. Control whether the IRQ
8781 //               permits configuration by Non-secure/Unprivileged contexts, and
8782 //               whether it can observe Secure/Privileged channel interrupt
8783 //               flags.
8784 #define DMA_SECCFG_IRQ2_OFFSET _u(0x000004c8)
8785 #define DMA_SECCFG_IRQ2_BITS   _u(0x00000003)
8786 #define DMA_SECCFG_IRQ2_RESET  _u(0x00000003)
8787 // -----------------------------------------------------------------------------
8788 // Field       : DMA_SECCFG_IRQ2_S
8789 // Description : Secure IRQ. If 1, this IRQ's control registers can only be
8790 //               accessed from a Secure context.
8791 //
8792 //               If 0, this IRQ's control registers can be accessed from a Non-
8793 //               secure context, but Secure channels (as per SECCFG_CHx) are
8794 //               masked from the IRQ status, and this IRQ's registers can not be
8795 //               used to acknowledge the channel interrupts of Secure channels.
8796 #define DMA_SECCFG_IRQ2_S_RESET  _u(0x1)
8797 #define DMA_SECCFG_IRQ2_S_BITS   _u(0x00000002)
8798 #define DMA_SECCFG_IRQ2_S_MSB    _u(1)
8799 #define DMA_SECCFG_IRQ2_S_LSB    _u(1)
8800 #define DMA_SECCFG_IRQ2_S_ACCESS "RW"
8801 // -----------------------------------------------------------------------------
8802 // Field       : DMA_SECCFG_IRQ2_P
8803 // Description : Privileged IRQ. If 1, this IRQ's control registers can only be
8804 //               accessed from a Privileged context.
8805 //
8806 //               If 0, this IRQ's control registers can be accessed from an
8807 //               Unprivileged context, but Privileged channels (as per
8808 //               SECCFG_CHx) are masked from the IRQ status, and this IRQ's
8809 //               registers can not be used to acknowledge the channel interrupts
8810 //               of Privileged channels.
8811 #define DMA_SECCFG_IRQ2_P_RESET  _u(0x1)
8812 #define DMA_SECCFG_IRQ2_P_BITS   _u(0x00000001)
8813 #define DMA_SECCFG_IRQ2_P_MSB    _u(0)
8814 #define DMA_SECCFG_IRQ2_P_LSB    _u(0)
8815 #define DMA_SECCFG_IRQ2_P_ACCESS "RW"
8816 // =============================================================================
8817 // Register    : DMA_SECCFG_IRQ3
8818 // Description : Security configuration for IRQ 3. Control whether the IRQ
8819 //               permits configuration by Non-secure/Unprivileged contexts, and
8820 //               whether it can observe Secure/Privileged channel interrupt
8821 //               flags.
8822 #define DMA_SECCFG_IRQ3_OFFSET _u(0x000004cc)
8823 #define DMA_SECCFG_IRQ3_BITS   _u(0x00000003)
8824 #define DMA_SECCFG_IRQ3_RESET  _u(0x00000003)
8825 // -----------------------------------------------------------------------------
8826 // Field       : DMA_SECCFG_IRQ3_S
8827 // Description : Secure IRQ. If 1, this IRQ's control registers can only be
8828 //               accessed from a Secure context.
8829 //
8830 //               If 0, this IRQ's control registers can be accessed from a Non-
8831 //               secure context, but Secure channels (as per SECCFG_CHx) are
8832 //               masked from the IRQ status, and this IRQ's registers can not be
8833 //               used to acknowledge the channel interrupts of Secure channels.
8834 #define DMA_SECCFG_IRQ3_S_RESET  _u(0x1)
8835 #define DMA_SECCFG_IRQ3_S_BITS   _u(0x00000002)
8836 #define DMA_SECCFG_IRQ3_S_MSB    _u(1)
8837 #define DMA_SECCFG_IRQ3_S_LSB    _u(1)
8838 #define DMA_SECCFG_IRQ3_S_ACCESS "RW"
8839 // -----------------------------------------------------------------------------
8840 // Field       : DMA_SECCFG_IRQ3_P
8841 // Description : Privileged IRQ. If 1, this IRQ's control registers can only be
8842 //               accessed from a Privileged context.
8843 //
8844 //               If 0, this IRQ's control registers can be accessed from an
8845 //               Unprivileged context, but Privileged channels (as per
8846 //               SECCFG_CHx) are masked from the IRQ status, and this IRQ's
8847 //               registers can not be used to acknowledge the channel interrupts
8848 //               of Privileged channels.
8849 #define DMA_SECCFG_IRQ3_P_RESET  _u(0x1)
8850 #define DMA_SECCFG_IRQ3_P_BITS   _u(0x00000001)
8851 #define DMA_SECCFG_IRQ3_P_MSB    _u(0)
8852 #define DMA_SECCFG_IRQ3_P_LSB    _u(0)
8853 #define DMA_SECCFG_IRQ3_P_ACCESS "RW"
8854 // =============================================================================
8855 // Register    : DMA_SECCFG_MISC
8856 // Description : Miscellaneous security configuration
8857 #define DMA_SECCFG_MISC_OFFSET _u(0x000004d0)
8858 #define DMA_SECCFG_MISC_BITS   _u(0x000003ff)
8859 #define DMA_SECCFG_MISC_RESET  _u(0x000003ff)
8860 // -----------------------------------------------------------------------------
8861 // Field       : DMA_SECCFG_MISC_TIMER3_S
8862 // Description : If 1, the TIMER3 register is only accessible from a Secure
8863 //               context, and timer DREQ 3 is only visible to Secure channels.
8864 #define DMA_SECCFG_MISC_TIMER3_S_RESET  _u(0x1)
8865 #define DMA_SECCFG_MISC_TIMER3_S_BITS   _u(0x00000200)
8866 #define DMA_SECCFG_MISC_TIMER3_S_MSB    _u(9)
8867 #define DMA_SECCFG_MISC_TIMER3_S_LSB    _u(9)
8868 #define DMA_SECCFG_MISC_TIMER3_S_ACCESS "RW"
8869 // -----------------------------------------------------------------------------
8870 // Field       : DMA_SECCFG_MISC_TIMER3_P
8871 // Description : If 1, the TIMER3 register is only accessible from a Privileged
8872 //               (or more Secure) context, and timer DREQ 3 is only visible to
8873 //               Privileged (or more Secure) channels.
8874 #define DMA_SECCFG_MISC_TIMER3_P_RESET  _u(0x1)
8875 #define DMA_SECCFG_MISC_TIMER3_P_BITS   _u(0x00000100)
8876 #define DMA_SECCFG_MISC_TIMER3_P_MSB    _u(8)
8877 #define DMA_SECCFG_MISC_TIMER3_P_LSB    _u(8)
8878 #define DMA_SECCFG_MISC_TIMER3_P_ACCESS "RW"
8879 // -----------------------------------------------------------------------------
8880 // Field       : DMA_SECCFG_MISC_TIMER2_S
8881 // Description : If 1, the TIMER2 register is only accessible from a Secure
8882 //               context, and timer DREQ 2 is only visible to Secure channels.
8883 #define DMA_SECCFG_MISC_TIMER2_S_RESET  _u(0x1)
8884 #define DMA_SECCFG_MISC_TIMER2_S_BITS   _u(0x00000080)
8885 #define DMA_SECCFG_MISC_TIMER2_S_MSB    _u(7)
8886 #define DMA_SECCFG_MISC_TIMER2_S_LSB    _u(7)
8887 #define DMA_SECCFG_MISC_TIMER2_S_ACCESS "RW"
8888 // -----------------------------------------------------------------------------
8889 // Field       : DMA_SECCFG_MISC_TIMER2_P
8890 // Description : If 1, the TIMER2 register is only accessible from a Privileged
8891 //               (or more Secure) context, and timer DREQ 2 is only visible to
8892 //               Privileged (or more Secure) channels.
8893 #define DMA_SECCFG_MISC_TIMER2_P_RESET  _u(0x1)
8894 #define DMA_SECCFG_MISC_TIMER2_P_BITS   _u(0x00000040)
8895 #define DMA_SECCFG_MISC_TIMER2_P_MSB    _u(6)
8896 #define DMA_SECCFG_MISC_TIMER2_P_LSB    _u(6)
8897 #define DMA_SECCFG_MISC_TIMER2_P_ACCESS "RW"
8898 // -----------------------------------------------------------------------------
8899 // Field       : DMA_SECCFG_MISC_TIMER1_S
8900 // Description : If 1, the TIMER1 register is only accessible from a Secure
8901 //               context, and timer DREQ 1 is only visible to Secure channels.
8902 #define DMA_SECCFG_MISC_TIMER1_S_RESET  _u(0x1)
8903 #define DMA_SECCFG_MISC_TIMER1_S_BITS   _u(0x00000020)
8904 #define DMA_SECCFG_MISC_TIMER1_S_MSB    _u(5)
8905 #define DMA_SECCFG_MISC_TIMER1_S_LSB    _u(5)
8906 #define DMA_SECCFG_MISC_TIMER1_S_ACCESS "RW"
8907 // -----------------------------------------------------------------------------
8908 // Field       : DMA_SECCFG_MISC_TIMER1_P
8909 // Description : If 1, the TIMER1 register is only accessible from a Privileged
8910 //               (or more Secure) context, and timer DREQ 1 is only visible to
8911 //               Privileged (or more Secure) channels.
8912 #define DMA_SECCFG_MISC_TIMER1_P_RESET  _u(0x1)
8913 #define DMA_SECCFG_MISC_TIMER1_P_BITS   _u(0x00000010)
8914 #define DMA_SECCFG_MISC_TIMER1_P_MSB    _u(4)
8915 #define DMA_SECCFG_MISC_TIMER1_P_LSB    _u(4)
8916 #define DMA_SECCFG_MISC_TIMER1_P_ACCESS "RW"
8917 // -----------------------------------------------------------------------------
8918 // Field       : DMA_SECCFG_MISC_TIMER0_S
8919 // Description : If 1, the TIMER0 register is only accessible from a Secure
8920 //               context, and timer DREQ 0 is only visible to Secure channels.
8921 #define DMA_SECCFG_MISC_TIMER0_S_RESET  _u(0x1)
8922 #define DMA_SECCFG_MISC_TIMER0_S_BITS   _u(0x00000008)
8923 #define DMA_SECCFG_MISC_TIMER0_S_MSB    _u(3)
8924 #define DMA_SECCFG_MISC_TIMER0_S_LSB    _u(3)
8925 #define DMA_SECCFG_MISC_TIMER0_S_ACCESS "RW"
8926 // -----------------------------------------------------------------------------
8927 // Field       : DMA_SECCFG_MISC_TIMER0_P
8928 // Description : If 1, the TIMER0 register is only accessible from a Privileged
8929 //               (or more Secure) context, and timer DREQ 0 is only visible to
8930 //               Privileged (or more Secure) channels.
8931 #define DMA_SECCFG_MISC_TIMER0_P_RESET  _u(0x1)
8932 #define DMA_SECCFG_MISC_TIMER0_P_BITS   _u(0x00000004)
8933 #define DMA_SECCFG_MISC_TIMER0_P_MSB    _u(2)
8934 #define DMA_SECCFG_MISC_TIMER0_P_LSB    _u(2)
8935 #define DMA_SECCFG_MISC_TIMER0_P_ACCESS "RW"
8936 // -----------------------------------------------------------------------------
8937 // Field       : DMA_SECCFG_MISC_SNIFF_S
8938 // Description : If 1, the sniffer can see data transfers from Secure channels,
8939 //               and can itself only be accessed from a Secure context.
8940 //
8941 //               If 0, the sniffer can be accessed from either a Secure or Non-
8942 //               secure context, but can not see data transfers of Secure
8943 //               channels.
8944 #define DMA_SECCFG_MISC_SNIFF_S_RESET  _u(0x1)
8945 #define DMA_SECCFG_MISC_SNIFF_S_BITS   _u(0x00000002)
8946 #define DMA_SECCFG_MISC_SNIFF_S_MSB    _u(1)
8947 #define DMA_SECCFG_MISC_SNIFF_S_LSB    _u(1)
8948 #define DMA_SECCFG_MISC_SNIFF_S_ACCESS "RW"
8949 // -----------------------------------------------------------------------------
8950 // Field       : DMA_SECCFG_MISC_SNIFF_P
8951 // Description : If 1, the sniffer can see data transfers from Privileged
8952 //               channels, and can itself only be accessed from a privileged
8953 //               context, or from a Secure context when SNIFF_S is 0.
8954 //
8955 //               If 0, the sniffer can be accessed from either a Privileged or
8956 //               Unprivileged context (with sufficient security level) but can
8957 //               not see transfers from Privileged channels.
8958 #define DMA_SECCFG_MISC_SNIFF_P_RESET  _u(0x1)
8959 #define DMA_SECCFG_MISC_SNIFF_P_BITS   _u(0x00000001)
8960 #define DMA_SECCFG_MISC_SNIFF_P_MSB    _u(0)
8961 #define DMA_SECCFG_MISC_SNIFF_P_LSB    _u(0)
8962 #define DMA_SECCFG_MISC_SNIFF_P_ACCESS "RW"
8963 // =============================================================================
8964 // Register    : DMA_MPU_CTRL
8965 // Description : Control register for DMA MPU. Accessible only from a Privileged
8966 //               context.
8967 #define DMA_MPU_CTRL_OFFSET _u(0x00000500)
8968 #define DMA_MPU_CTRL_BITS   _u(0x0000000e)
8969 #define DMA_MPU_CTRL_RESET  _u(0x00000000)
8970 // -----------------------------------------------------------------------------
8971 // Field       : DMA_MPU_CTRL_NS_HIDE_ADDR
8972 // Description : By default, when a region's S bit is clear, Non-secure-
8973 //               Privileged reads can see the region's base address and limit
8974 //               address. Set this bit to make the addresses appear as 0 to Non-
8975 //               secure reads, even when the region is Non-secure, to avoid
8976 //               leaking information about the processor SAU map.
8977 #define DMA_MPU_CTRL_NS_HIDE_ADDR_RESET  _u(0x0)
8978 #define DMA_MPU_CTRL_NS_HIDE_ADDR_BITS   _u(0x00000008)
8979 #define DMA_MPU_CTRL_NS_HIDE_ADDR_MSB    _u(3)
8980 #define DMA_MPU_CTRL_NS_HIDE_ADDR_LSB    _u(3)
8981 #define DMA_MPU_CTRL_NS_HIDE_ADDR_ACCESS "RW"
8982 // -----------------------------------------------------------------------------
8983 // Field       : DMA_MPU_CTRL_S
8984 // Description : Determine whether an address not covered by an active MPU
8985 //               region is Secure (1) or Non-secure (0)
8986 #define DMA_MPU_CTRL_S_RESET  _u(0x0)
8987 #define DMA_MPU_CTRL_S_BITS   _u(0x00000004)
8988 #define DMA_MPU_CTRL_S_MSB    _u(2)
8989 #define DMA_MPU_CTRL_S_LSB    _u(2)
8990 #define DMA_MPU_CTRL_S_ACCESS "RW"
8991 // -----------------------------------------------------------------------------
8992 // Field       : DMA_MPU_CTRL_P
8993 // Description : Determine whether an address not covered by an active MPU
8994 //               region is Privileged (1) or Unprivileged (0)
8995 #define DMA_MPU_CTRL_P_RESET  _u(0x0)
8996 #define DMA_MPU_CTRL_P_BITS   _u(0x00000002)
8997 #define DMA_MPU_CTRL_P_MSB    _u(1)
8998 #define DMA_MPU_CTRL_P_LSB    _u(1)
8999 #define DMA_MPU_CTRL_P_ACCESS "RW"
9000 // =============================================================================
9001 // Register    : DMA_MPU_BAR0
9002 // Description : Base address register for MPU region 0. Writable only from a
9003 //               Secure, Privileged context.
9004 #define DMA_MPU_BAR0_OFFSET _u(0x00000504)
9005 #define DMA_MPU_BAR0_BITS   _u(0xffffffe0)
9006 #define DMA_MPU_BAR0_RESET  _u(0x00000000)
9007 // -----------------------------------------------------------------------------
9008 // Field       : DMA_MPU_BAR0_ADDR
9009 // Description : This MPU region matches addresses where addr[31:5] (the 27 most
9010 //               significant bits) are greater than or equal to BAR_ADDR, and
9011 //               less than or equal to LAR_ADDR.
9012 //
9013 //               Readable from any Privileged context, if and only if this
9014 //               region's S bit is clear, and MPU_CTRL_NS_HIDE_ADDR is clear.
9015 //               Otherwise readable only from a Secure, Privileged context.
9016 #define DMA_MPU_BAR0_ADDR_RESET  _u(0x0000000)
9017 #define DMA_MPU_BAR0_ADDR_BITS   _u(0xffffffe0)
9018 #define DMA_MPU_BAR0_ADDR_MSB    _u(31)
9019 #define DMA_MPU_BAR0_ADDR_LSB    _u(5)
9020 #define DMA_MPU_BAR0_ADDR_ACCESS "RW"
9021 // =============================================================================
9022 // Register    : DMA_MPU_LAR0
9023 // Description : Limit address register for MPU region 0. Writable only from a
9024 //               Secure, Privileged context, with the exception of the P bit.
9025 #define DMA_MPU_LAR0_OFFSET _u(0x00000508)
9026 #define DMA_MPU_LAR0_BITS   _u(0xffffffe7)
9027 #define DMA_MPU_LAR0_RESET  _u(0x00000000)
9028 // -----------------------------------------------------------------------------
9029 // Field       : DMA_MPU_LAR0_ADDR
9030 // Description : Limit address bits 31:5. Readable from any Privileged context,
9031 //               if and only if this region's S bit is clear, and
9032 //               MPU_CTRL_NS_HIDE_ADDR is clear. Otherwise readable only from a
9033 //               Secure, Privileged context.
9034 #define DMA_MPU_LAR0_ADDR_RESET  _u(0x0000000)
9035 #define DMA_MPU_LAR0_ADDR_BITS   _u(0xffffffe0)
9036 #define DMA_MPU_LAR0_ADDR_MSB    _u(31)
9037 #define DMA_MPU_LAR0_ADDR_LSB    _u(5)
9038 #define DMA_MPU_LAR0_ADDR_ACCESS "RW"
9039 // -----------------------------------------------------------------------------
9040 // Field       : DMA_MPU_LAR0_S
9041 // Description : Determines the Secure/Non-secure (=1/0) status of addresses
9042 //               matching this region, if this region is enabled.
9043 #define DMA_MPU_LAR0_S_RESET  _u(0x0)
9044 #define DMA_MPU_LAR0_S_BITS   _u(0x00000004)
9045 #define DMA_MPU_LAR0_S_MSB    _u(2)
9046 #define DMA_MPU_LAR0_S_LSB    _u(2)
9047 #define DMA_MPU_LAR0_S_ACCESS "RW"
9048 // -----------------------------------------------------------------------------
9049 // Field       : DMA_MPU_LAR0_P
9050 // Description : Determines the Privileged/Unprivileged (=1/0) status of
9051 //               addresses matching this region, if this region is enabled.
9052 //               Writable from any Privileged context, if and only if the S bit
9053 //               is clear. Otherwise, writable only from a Secure, Privileged
9054 //               context.
9055 #define DMA_MPU_LAR0_P_RESET  _u(0x0)
9056 #define DMA_MPU_LAR0_P_BITS   _u(0x00000002)
9057 #define DMA_MPU_LAR0_P_MSB    _u(1)
9058 #define DMA_MPU_LAR0_P_LSB    _u(1)
9059 #define DMA_MPU_LAR0_P_ACCESS "RW"
9060 // -----------------------------------------------------------------------------
9061 // Field       : DMA_MPU_LAR0_EN
9062 // Description : Region enable. If 1, any address within range specified by the
9063 //               base address (BAR_ADDR) and limit address (LAR_ADDR) has the
9064 //               attributes specified by S and P.
9065 #define DMA_MPU_LAR0_EN_RESET  _u(0x0)
9066 #define DMA_MPU_LAR0_EN_BITS   _u(0x00000001)
9067 #define DMA_MPU_LAR0_EN_MSB    _u(0)
9068 #define DMA_MPU_LAR0_EN_LSB    _u(0)
9069 #define DMA_MPU_LAR0_EN_ACCESS "RW"
9070 // =============================================================================
9071 // Register    : DMA_MPU_BAR1
9072 // Description : Base address register for MPU region 1. Writable only from a
9073 //               Secure, Privileged context.
9074 #define DMA_MPU_BAR1_OFFSET _u(0x0000050c)
9075 #define DMA_MPU_BAR1_BITS   _u(0xffffffe0)
9076 #define DMA_MPU_BAR1_RESET  _u(0x00000000)
9077 // -----------------------------------------------------------------------------
9078 // Field       : DMA_MPU_BAR1_ADDR
9079 // Description : This MPU region matches addresses where addr[31:5] (the 27 most
9080 //               significant bits) are greater than or equal to BAR_ADDR, and
9081 //               less than or equal to LAR_ADDR.
9082 //
9083 //               Readable from any Privileged context, if and only if this
9084 //               region's S bit is clear, and MPU_CTRL_NS_HIDE_ADDR is clear.
9085 //               Otherwise readable only from a Secure, Privileged context.
9086 #define DMA_MPU_BAR1_ADDR_RESET  _u(0x0000000)
9087 #define DMA_MPU_BAR1_ADDR_BITS   _u(0xffffffe0)
9088 #define DMA_MPU_BAR1_ADDR_MSB    _u(31)
9089 #define DMA_MPU_BAR1_ADDR_LSB    _u(5)
9090 #define DMA_MPU_BAR1_ADDR_ACCESS "RW"
9091 // =============================================================================
9092 // Register    : DMA_MPU_LAR1
9093 // Description : Limit address register for MPU region 1. Writable only from a
9094 //               Secure, Privileged context, with the exception of the P bit.
9095 #define DMA_MPU_LAR1_OFFSET _u(0x00000510)
9096 #define DMA_MPU_LAR1_BITS   _u(0xffffffe7)
9097 #define DMA_MPU_LAR1_RESET  _u(0x00000000)
9098 // -----------------------------------------------------------------------------
9099 // Field       : DMA_MPU_LAR1_ADDR
9100 // Description : Limit address bits 31:5. Readable from any Privileged context,
9101 //               if and only if this region's S bit is clear, and
9102 //               MPU_CTRL_NS_HIDE_ADDR is clear. Otherwise readable only from a
9103 //               Secure, Privileged context.
9104 #define DMA_MPU_LAR1_ADDR_RESET  _u(0x0000000)
9105 #define DMA_MPU_LAR1_ADDR_BITS   _u(0xffffffe0)
9106 #define DMA_MPU_LAR1_ADDR_MSB    _u(31)
9107 #define DMA_MPU_LAR1_ADDR_LSB    _u(5)
9108 #define DMA_MPU_LAR1_ADDR_ACCESS "RW"
9109 // -----------------------------------------------------------------------------
9110 // Field       : DMA_MPU_LAR1_S
9111 // Description : Determines the Secure/Non-secure (=1/0) status of addresses
9112 //               matching this region, if this region is enabled.
9113 #define DMA_MPU_LAR1_S_RESET  _u(0x0)
9114 #define DMA_MPU_LAR1_S_BITS   _u(0x00000004)
9115 #define DMA_MPU_LAR1_S_MSB    _u(2)
9116 #define DMA_MPU_LAR1_S_LSB    _u(2)
9117 #define DMA_MPU_LAR1_S_ACCESS "RW"
9118 // -----------------------------------------------------------------------------
9119 // Field       : DMA_MPU_LAR1_P
9120 // Description : Determines the Privileged/Unprivileged (=1/0) status of
9121 //               addresses matching this region, if this region is enabled.
9122 //               Writable from any Privileged context, if and only if the S bit
9123 //               is clear. Otherwise, writable only from a Secure, Privileged
9124 //               context.
9125 #define DMA_MPU_LAR1_P_RESET  _u(0x0)
9126 #define DMA_MPU_LAR1_P_BITS   _u(0x00000002)
9127 #define DMA_MPU_LAR1_P_MSB    _u(1)
9128 #define DMA_MPU_LAR1_P_LSB    _u(1)
9129 #define DMA_MPU_LAR1_P_ACCESS "RW"
9130 // -----------------------------------------------------------------------------
9131 // Field       : DMA_MPU_LAR1_EN
9132 // Description : Region enable. If 1, any address within range specified by the
9133 //               base address (BAR_ADDR) and limit address (LAR_ADDR) has the
9134 //               attributes specified by S and P.
9135 #define DMA_MPU_LAR1_EN_RESET  _u(0x0)
9136 #define DMA_MPU_LAR1_EN_BITS   _u(0x00000001)
9137 #define DMA_MPU_LAR1_EN_MSB    _u(0)
9138 #define DMA_MPU_LAR1_EN_LSB    _u(0)
9139 #define DMA_MPU_LAR1_EN_ACCESS "RW"
9140 // =============================================================================
9141 // Register    : DMA_MPU_BAR2
9142 // Description : Base address register for MPU region 2. Writable only from a
9143 //               Secure, Privileged context.
9144 #define DMA_MPU_BAR2_OFFSET _u(0x00000514)
9145 #define DMA_MPU_BAR2_BITS   _u(0xffffffe0)
9146 #define DMA_MPU_BAR2_RESET  _u(0x00000000)
9147 // -----------------------------------------------------------------------------
9148 // Field       : DMA_MPU_BAR2_ADDR
9149 // Description : This MPU region matches addresses where addr[31:5] (the 27 most
9150 //               significant bits) are greater than or equal to BAR_ADDR, and
9151 //               less than or equal to LAR_ADDR.
9152 //
9153 //               Readable from any Privileged context, if and only if this
9154 //               region's S bit is clear, and MPU_CTRL_NS_HIDE_ADDR is clear.
9155 //               Otherwise readable only from a Secure, Privileged context.
9156 #define DMA_MPU_BAR2_ADDR_RESET  _u(0x0000000)
9157 #define DMA_MPU_BAR2_ADDR_BITS   _u(0xffffffe0)
9158 #define DMA_MPU_BAR2_ADDR_MSB    _u(31)
9159 #define DMA_MPU_BAR2_ADDR_LSB    _u(5)
9160 #define DMA_MPU_BAR2_ADDR_ACCESS "RW"
9161 // =============================================================================
9162 // Register    : DMA_MPU_LAR2
9163 // Description : Limit address register for MPU region 2. Writable only from a
9164 //               Secure, Privileged context, with the exception of the P bit.
9165 #define DMA_MPU_LAR2_OFFSET _u(0x00000518)
9166 #define DMA_MPU_LAR2_BITS   _u(0xffffffe7)
9167 #define DMA_MPU_LAR2_RESET  _u(0x00000000)
9168 // -----------------------------------------------------------------------------
9169 // Field       : DMA_MPU_LAR2_ADDR
9170 // Description : Limit address bits 31:5. Readable from any Privileged context,
9171 //               if and only if this region's S bit is clear, and
9172 //               MPU_CTRL_NS_HIDE_ADDR is clear. Otherwise readable only from a
9173 //               Secure, Privileged context.
9174 #define DMA_MPU_LAR2_ADDR_RESET  _u(0x0000000)
9175 #define DMA_MPU_LAR2_ADDR_BITS   _u(0xffffffe0)
9176 #define DMA_MPU_LAR2_ADDR_MSB    _u(31)
9177 #define DMA_MPU_LAR2_ADDR_LSB    _u(5)
9178 #define DMA_MPU_LAR2_ADDR_ACCESS "RW"
9179 // -----------------------------------------------------------------------------
9180 // Field       : DMA_MPU_LAR2_S
9181 // Description : Determines the Secure/Non-secure (=1/0) status of addresses
9182 //               matching this region, if this region is enabled.
9183 #define DMA_MPU_LAR2_S_RESET  _u(0x0)
9184 #define DMA_MPU_LAR2_S_BITS   _u(0x00000004)
9185 #define DMA_MPU_LAR2_S_MSB    _u(2)
9186 #define DMA_MPU_LAR2_S_LSB    _u(2)
9187 #define DMA_MPU_LAR2_S_ACCESS "RW"
9188 // -----------------------------------------------------------------------------
9189 // Field       : DMA_MPU_LAR2_P
9190 // Description : Determines the Privileged/Unprivileged (=1/0) status of
9191 //               addresses matching this region, if this region is enabled.
9192 //               Writable from any Privileged context, if and only if the S bit
9193 //               is clear. Otherwise, writable only from a Secure, Privileged
9194 //               context.
9195 #define DMA_MPU_LAR2_P_RESET  _u(0x0)
9196 #define DMA_MPU_LAR2_P_BITS   _u(0x00000002)
9197 #define DMA_MPU_LAR2_P_MSB    _u(1)
9198 #define DMA_MPU_LAR2_P_LSB    _u(1)
9199 #define DMA_MPU_LAR2_P_ACCESS "RW"
9200 // -----------------------------------------------------------------------------
9201 // Field       : DMA_MPU_LAR2_EN
9202 // Description : Region enable. If 1, any address within range specified by the
9203 //               base address (BAR_ADDR) and limit address (LAR_ADDR) has the
9204 //               attributes specified by S and P.
9205 #define DMA_MPU_LAR2_EN_RESET  _u(0x0)
9206 #define DMA_MPU_LAR2_EN_BITS   _u(0x00000001)
9207 #define DMA_MPU_LAR2_EN_MSB    _u(0)
9208 #define DMA_MPU_LAR2_EN_LSB    _u(0)
9209 #define DMA_MPU_LAR2_EN_ACCESS "RW"
9210 // =============================================================================
9211 // Register    : DMA_MPU_BAR3
9212 // Description : Base address register for MPU region 3. Writable only from a
9213 //               Secure, Privileged context.
9214 #define DMA_MPU_BAR3_OFFSET _u(0x0000051c)
9215 #define DMA_MPU_BAR3_BITS   _u(0xffffffe0)
9216 #define DMA_MPU_BAR3_RESET  _u(0x00000000)
9217 // -----------------------------------------------------------------------------
9218 // Field       : DMA_MPU_BAR3_ADDR
9219 // Description : This MPU region matches addresses where addr[31:5] (the 27 most
9220 //               significant bits) are greater than or equal to BAR_ADDR, and
9221 //               less than or equal to LAR_ADDR.
9222 //
9223 //               Readable from any Privileged context, if and only if this
9224 //               region's S bit is clear, and MPU_CTRL_NS_HIDE_ADDR is clear.
9225 //               Otherwise readable only from a Secure, Privileged context.
9226 #define DMA_MPU_BAR3_ADDR_RESET  _u(0x0000000)
9227 #define DMA_MPU_BAR3_ADDR_BITS   _u(0xffffffe0)
9228 #define DMA_MPU_BAR3_ADDR_MSB    _u(31)
9229 #define DMA_MPU_BAR3_ADDR_LSB    _u(5)
9230 #define DMA_MPU_BAR3_ADDR_ACCESS "RW"
9231 // =============================================================================
9232 // Register    : DMA_MPU_LAR3
9233 // Description : Limit address register for MPU region 3. Writable only from a
9234 //               Secure, Privileged context, with the exception of the P bit.
9235 #define DMA_MPU_LAR3_OFFSET _u(0x00000520)
9236 #define DMA_MPU_LAR3_BITS   _u(0xffffffe7)
9237 #define DMA_MPU_LAR3_RESET  _u(0x00000000)
9238 // -----------------------------------------------------------------------------
9239 // Field       : DMA_MPU_LAR3_ADDR
9240 // Description : Limit address bits 31:5. Readable from any Privileged context,
9241 //               if and only if this region's S bit is clear, and
9242 //               MPU_CTRL_NS_HIDE_ADDR is clear. Otherwise readable only from a
9243 //               Secure, Privileged context.
9244 #define DMA_MPU_LAR3_ADDR_RESET  _u(0x0000000)
9245 #define DMA_MPU_LAR3_ADDR_BITS   _u(0xffffffe0)
9246 #define DMA_MPU_LAR3_ADDR_MSB    _u(31)
9247 #define DMA_MPU_LAR3_ADDR_LSB    _u(5)
9248 #define DMA_MPU_LAR3_ADDR_ACCESS "RW"
9249 // -----------------------------------------------------------------------------
9250 // Field       : DMA_MPU_LAR3_S
9251 // Description : Determines the Secure/Non-secure (=1/0) status of addresses
9252 //               matching this region, if this region is enabled.
9253 #define DMA_MPU_LAR3_S_RESET  _u(0x0)
9254 #define DMA_MPU_LAR3_S_BITS   _u(0x00000004)
9255 #define DMA_MPU_LAR3_S_MSB    _u(2)
9256 #define DMA_MPU_LAR3_S_LSB    _u(2)
9257 #define DMA_MPU_LAR3_S_ACCESS "RW"
9258 // -----------------------------------------------------------------------------
9259 // Field       : DMA_MPU_LAR3_P
9260 // Description : Determines the Privileged/Unprivileged (=1/0) status of
9261 //               addresses matching this region, if this region is enabled.
9262 //               Writable from any Privileged context, if and only if the S bit
9263 //               is clear. Otherwise, writable only from a Secure, Privileged
9264 //               context.
9265 #define DMA_MPU_LAR3_P_RESET  _u(0x0)
9266 #define DMA_MPU_LAR3_P_BITS   _u(0x00000002)
9267 #define DMA_MPU_LAR3_P_MSB    _u(1)
9268 #define DMA_MPU_LAR3_P_LSB    _u(1)
9269 #define DMA_MPU_LAR3_P_ACCESS "RW"
9270 // -----------------------------------------------------------------------------
9271 // Field       : DMA_MPU_LAR3_EN
9272 // Description : Region enable. If 1, any address within range specified by the
9273 //               base address (BAR_ADDR) and limit address (LAR_ADDR) has the
9274 //               attributes specified by S and P.
9275 #define DMA_MPU_LAR3_EN_RESET  _u(0x0)
9276 #define DMA_MPU_LAR3_EN_BITS   _u(0x00000001)
9277 #define DMA_MPU_LAR3_EN_MSB    _u(0)
9278 #define DMA_MPU_LAR3_EN_LSB    _u(0)
9279 #define DMA_MPU_LAR3_EN_ACCESS "RW"
9280 // =============================================================================
9281 // Register    : DMA_MPU_BAR4
9282 // Description : Base address register for MPU region 4. Writable only from a
9283 //               Secure, Privileged context.
9284 #define DMA_MPU_BAR4_OFFSET _u(0x00000524)
9285 #define DMA_MPU_BAR4_BITS   _u(0xffffffe0)
9286 #define DMA_MPU_BAR4_RESET  _u(0x00000000)
9287 // -----------------------------------------------------------------------------
9288 // Field       : DMA_MPU_BAR4_ADDR
9289 // Description : This MPU region matches addresses where addr[31:5] (the 27 most
9290 //               significant bits) are greater than or equal to BAR_ADDR, and
9291 //               less than or equal to LAR_ADDR.
9292 //
9293 //               Readable from any Privileged context, if and only if this
9294 //               region's S bit is clear, and MPU_CTRL_NS_HIDE_ADDR is clear.
9295 //               Otherwise readable only from a Secure, Privileged context.
9296 #define DMA_MPU_BAR4_ADDR_RESET  _u(0x0000000)
9297 #define DMA_MPU_BAR4_ADDR_BITS   _u(0xffffffe0)
9298 #define DMA_MPU_BAR4_ADDR_MSB    _u(31)
9299 #define DMA_MPU_BAR4_ADDR_LSB    _u(5)
9300 #define DMA_MPU_BAR4_ADDR_ACCESS "RW"
9301 // =============================================================================
9302 // Register    : DMA_MPU_LAR4
9303 // Description : Limit address register for MPU region 4. Writable only from a
9304 //               Secure, Privileged context, with the exception of the P bit.
9305 #define DMA_MPU_LAR4_OFFSET _u(0x00000528)
9306 #define DMA_MPU_LAR4_BITS   _u(0xffffffe7)
9307 #define DMA_MPU_LAR4_RESET  _u(0x00000000)
9308 // -----------------------------------------------------------------------------
9309 // Field       : DMA_MPU_LAR4_ADDR
9310 // Description : Limit address bits 31:5. Readable from any Privileged context,
9311 //               if and only if this region's S bit is clear, and
9312 //               MPU_CTRL_NS_HIDE_ADDR is clear. Otherwise readable only from a
9313 //               Secure, Privileged context.
9314 #define DMA_MPU_LAR4_ADDR_RESET  _u(0x0000000)
9315 #define DMA_MPU_LAR4_ADDR_BITS   _u(0xffffffe0)
9316 #define DMA_MPU_LAR4_ADDR_MSB    _u(31)
9317 #define DMA_MPU_LAR4_ADDR_LSB    _u(5)
9318 #define DMA_MPU_LAR4_ADDR_ACCESS "RW"
9319 // -----------------------------------------------------------------------------
9320 // Field       : DMA_MPU_LAR4_S
9321 // Description : Determines the Secure/Non-secure (=1/0) status of addresses
9322 //               matching this region, if this region is enabled.
9323 #define DMA_MPU_LAR4_S_RESET  _u(0x0)
9324 #define DMA_MPU_LAR4_S_BITS   _u(0x00000004)
9325 #define DMA_MPU_LAR4_S_MSB    _u(2)
9326 #define DMA_MPU_LAR4_S_LSB    _u(2)
9327 #define DMA_MPU_LAR4_S_ACCESS "RW"
9328 // -----------------------------------------------------------------------------
9329 // Field       : DMA_MPU_LAR4_P
9330 // Description : Determines the Privileged/Unprivileged (=1/0) status of
9331 //               addresses matching this region, if this region is enabled.
9332 //               Writable from any Privileged context, if and only if the S bit
9333 //               is clear. Otherwise, writable only from a Secure, Privileged
9334 //               context.
9335 #define DMA_MPU_LAR4_P_RESET  _u(0x0)
9336 #define DMA_MPU_LAR4_P_BITS   _u(0x00000002)
9337 #define DMA_MPU_LAR4_P_MSB    _u(1)
9338 #define DMA_MPU_LAR4_P_LSB    _u(1)
9339 #define DMA_MPU_LAR4_P_ACCESS "RW"
9340 // -----------------------------------------------------------------------------
9341 // Field       : DMA_MPU_LAR4_EN
9342 // Description : Region enable. If 1, any address within range specified by the
9343 //               base address (BAR_ADDR) and limit address (LAR_ADDR) has the
9344 //               attributes specified by S and P.
9345 #define DMA_MPU_LAR4_EN_RESET  _u(0x0)
9346 #define DMA_MPU_LAR4_EN_BITS   _u(0x00000001)
9347 #define DMA_MPU_LAR4_EN_MSB    _u(0)
9348 #define DMA_MPU_LAR4_EN_LSB    _u(0)
9349 #define DMA_MPU_LAR4_EN_ACCESS "RW"
9350 // =============================================================================
9351 // Register    : DMA_MPU_BAR5
9352 // Description : Base address register for MPU region 5. Writable only from a
9353 //               Secure, Privileged context.
9354 #define DMA_MPU_BAR5_OFFSET _u(0x0000052c)
9355 #define DMA_MPU_BAR5_BITS   _u(0xffffffe0)
9356 #define DMA_MPU_BAR5_RESET  _u(0x00000000)
9357 // -----------------------------------------------------------------------------
9358 // Field       : DMA_MPU_BAR5_ADDR
9359 // Description : This MPU region matches addresses where addr[31:5] (the 27 most
9360 //               significant bits) are greater than or equal to BAR_ADDR, and
9361 //               less than or equal to LAR_ADDR.
9362 //
9363 //               Readable from any Privileged context, if and only if this
9364 //               region's S bit is clear, and MPU_CTRL_NS_HIDE_ADDR is clear.
9365 //               Otherwise readable only from a Secure, Privileged context.
9366 #define DMA_MPU_BAR5_ADDR_RESET  _u(0x0000000)
9367 #define DMA_MPU_BAR5_ADDR_BITS   _u(0xffffffe0)
9368 #define DMA_MPU_BAR5_ADDR_MSB    _u(31)
9369 #define DMA_MPU_BAR5_ADDR_LSB    _u(5)
9370 #define DMA_MPU_BAR5_ADDR_ACCESS "RW"
9371 // =============================================================================
9372 // Register    : DMA_MPU_LAR5
9373 // Description : Limit address register for MPU region 5. Writable only from a
9374 //               Secure, Privileged context, with the exception of the P bit.
9375 #define DMA_MPU_LAR5_OFFSET _u(0x00000530)
9376 #define DMA_MPU_LAR5_BITS   _u(0xffffffe7)
9377 #define DMA_MPU_LAR5_RESET  _u(0x00000000)
9378 // -----------------------------------------------------------------------------
9379 // Field       : DMA_MPU_LAR5_ADDR
9380 // Description : Limit address bits 31:5. Readable from any Privileged context,
9381 //               if and only if this region's S bit is clear, and
9382 //               MPU_CTRL_NS_HIDE_ADDR is clear. Otherwise readable only from a
9383 //               Secure, Privileged context.
9384 #define DMA_MPU_LAR5_ADDR_RESET  _u(0x0000000)
9385 #define DMA_MPU_LAR5_ADDR_BITS   _u(0xffffffe0)
9386 #define DMA_MPU_LAR5_ADDR_MSB    _u(31)
9387 #define DMA_MPU_LAR5_ADDR_LSB    _u(5)
9388 #define DMA_MPU_LAR5_ADDR_ACCESS "RW"
9389 // -----------------------------------------------------------------------------
9390 // Field       : DMA_MPU_LAR5_S
9391 // Description : Determines the Secure/Non-secure (=1/0) status of addresses
9392 //               matching this region, if this region is enabled.
9393 #define DMA_MPU_LAR5_S_RESET  _u(0x0)
9394 #define DMA_MPU_LAR5_S_BITS   _u(0x00000004)
9395 #define DMA_MPU_LAR5_S_MSB    _u(2)
9396 #define DMA_MPU_LAR5_S_LSB    _u(2)
9397 #define DMA_MPU_LAR5_S_ACCESS "RW"
9398 // -----------------------------------------------------------------------------
9399 // Field       : DMA_MPU_LAR5_P
9400 // Description : Determines the Privileged/Unprivileged (=1/0) status of
9401 //               addresses matching this region, if this region is enabled.
9402 //               Writable from any Privileged context, if and only if the S bit
9403 //               is clear. Otherwise, writable only from a Secure, Privileged
9404 //               context.
9405 #define DMA_MPU_LAR5_P_RESET  _u(0x0)
9406 #define DMA_MPU_LAR5_P_BITS   _u(0x00000002)
9407 #define DMA_MPU_LAR5_P_MSB    _u(1)
9408 #define DMA_MPU_LAR5_P_LSB    _u(1)
9409 #define DMA_MPU_LAR5_P_ACCESS "RW"
9410 // -----------------------------------------------------------------------------
9411 // Field       : DMA_MPU_LAR5_EN
9412 // Description : Region enable. If 1, any address within range specified by the
9413 //               base address (BAR_ADDR) and limit address (LAR_ADDR) has the
9414 //               attributes specified by S and P.
9415 #define DMA_MPU_LAR5_EN_RESET  _u(0x0)
9416 #define DMA_MPU_LAR5_EN_BITS   _u(0x00000001)
9417 #define DMA_MPU_LAR5_EN_MSB    _u(0)
9418 #define DMA_MPU_LAR5_EN_LSB    _u(0)
9419 #define DMA_MPU_LAR5_EN_ACCESS "RW"
9420 // =============================================================================
9421 // Register    : DMA_MPU_BAR6
9422 // Description : Base address register for MPU region 6. Writable only from a
9423 //               Secure, Privileged context.
9424 #define DMA_MPU_BAR6_OFFSET _u(0x00000534)
9425 #define DMA_MPU_BAR6_BITS   _u(0xffffffe0)
9426 #define DMA_MPU_BAR6_RESET  _u(0x00000000)
9427 // -----------------------------------------------------------------------------
9428 // Field       : DMA_MPU_BAR6_ADDR
9429 // Description : This MPU region matches addresses where addr[31:5] (the 27 most
9430 //               significant bits) are greater than or equal to BAR_ADDR, and
9431 //               less than or equal to LAR_ADDR.
9432 //
9433 //               Readable from any Privileged context, if and only if this
9434 //               region's S bit is clear, and MPU_CTRL_NS_HIDE_ADDR is clear.
9435 //               Otherwise readable only from a Secure, Privileged context.
9436 #define DMA_MPU_BAR6_ADDR_RESET  _u(0x0000000)
9437 #define DMA_MPU_BAR6_ADDR_BITS   _u(0xffffffe0)
9438 #define DMA_MPU_BAR6_ADDR_MSB    _u(31)
9439 #define DMA_MPU_BAR6_ADDR_LSB    _u(5)
9440 #define DMA_MPU_BAR6_ADDR_ACCESS "RW"
9441 // =============================================================================
9442 // Register    : DMA_MPU_LAR6
9443 // Description : Limit address register for MPU region 6. Writable only from a
9444 //               Secure, Privileged context, with the exception of the P bit.
9445 #define DMA_MPU_LAR6_OFFSET _u(0x00000538)
9446 #define DMA_MPU_LAR6_BITS   _u(0xffffffe7)
9447 #define DMA_MPU_LAR6_RESET  _u(0x00000000)
9448 // -----------------------------------------------------------------------------
9449 // Field       : DMA_MPU_LAR6_ADDR
9450 // Description : Limit address bits 31:5. Readable from any Privileged context,
9451 //               if and only if this region's S bit is clear, and
9452 //               MPU_CTRL_NS_HIDE_ADDR is clear. Otherwise readable only from a
9453 //               Secure, Privileged context.
9454 #define DMA_MPU_LAR6_ADDR_RESET  _u(0x0000000)
9455 #define DMA_MPU_LAR6_ADDR_BITS   _u(0xffffffe0)
9456 #define DMA_MPU_LAR6_ADDR_MSB    _u(31)
9457 #define DMA_MPU_LAR6_ADDR_LSB    _u(5)
9458 #define DMA_MPU_LAR6_ADDR_ACCESS "RW"
9459 // -----------------------------------------------------------------------------
9460 // Field       : DMA_MPU_LAR6_S
9461 // Description : Determines the Secure/Non-secure (=1/0) status of addresses
9462 //               matching this region, if this region is enabled.
9463 #define DMA_MPU_LAR6_S_RESET  _u(0x0)
9464 #define DMA_MPU_LAR6_S_BITS   _u(0x00000004)
9465 #define DMA_MPU_LAR6_S_MSB    _u(2)
9466 #define DMA_MPU_LAR6_S_LSB    _u(2)
9467 #define DMA_MPU_LAR6_S_ACCESS "RW"
9468 // -----------------------------------------------------------------------------
9469 // Field       : DMA_MPU_LAR6_P
9470 // Description : Determines the Privileged/Unprivileged (=1/0) status of
9471 //               addresses matching this region, if this region is enabled.
9472 //               Writable from any Privileged context, if and only if the S bit
9473 //               is clear. Otherwise, writable only from a Secure, Privileged
9474 //               context.
9475 #define DMA_MPU_LAR6_P_RESET  _u(0x0)
9476 #define DMA_MPU_LAR6_P_BITS   _u(0x00000002)
9477 #define DMA_MPU_LAR6_P_MSB    _u(1)
9478 #define DMA_MPU_LAR6_P_LSB    _u(1)
9479 #define DMA_MPU_LAR6_P_ACCESS "RW"
9480 // -----------------------------------------------------------------------------
9481 // Field       : DMA_MPU_LAR6_EN
9482 // Description : Region enable. If 1, any address within range specified by the
9483 //               base address (BAR_ADDR) and limit address (LAR_ADDR) has the
9484 //               attributes specified by S and P.
9485 #define DMA_MPU_LAR6_EN_RESET  _u(0x0)
9486 #define DMA_MPU_LAR6_EN_BITS   _u(0x00000001)
9487 #define DMA_MPU_LAR6_EN_MSB    _u(0)
9488 #define DMA_MPU_LAR6_EN_LSB    _u(0)
9489 #define DMA_MPU_LAR6_EN_ACCESS "RW"
9490 // =============================================================================
9491 // Register    : DMA_MPU_BAR7
9492 // Description : Base address register for MPU region 7. Writable only from a
9493 //               Secure, Privileged context.
9494 #define DMA_MPU_BAR7_OFFSET _u(0x0000053c)
9495 #define DMA_MPU_BAR7_BITS   _u(0xffffffe0)
9496 #define DMA_MPU_BAR7_RESET  _u(0x00000000)
9497 // -----------------------------------------------------------------------------
9498 // Field       : DMA_MPU_BAR7_ADDR
9499 // Description : This MPU region matches addresses where addr[31:5] (the 27 most
9500 //               significant bits) are greater than or equal to BAR_ADDR, and
9501 //               less than or equal to LAR_ADDR.
9502 //
9503 //               Readable from any Privileged context, if and only if this
9504 //               region's S bit is clear, and MPU_CTRL_NS_HIDE_ADDR is clear.
9505 //               Otherwise readable only from a Secure, Privileged context.
9506 #define DMA_MPU_BAR7_ADDR_RESET  _u(0x0000000)
9507 #define DMA_MPU_BAR7_ADDR_BITS   _u(0xffffffe0)
9508 #define DMA_MPU_BAR7_ADDR_MSB    _u(31)
9509 #define DMA_MPU_BAR7_ADDR_LSB    _u(5)
9510 #define DMA_MPU_BAR7_ADDR_ACCESS "RW"
9511 // =============================================================================
9512 // Register    : DMA_MPU_LAR7
9513 // Description : Limit address register for MPU region 7. Writable only from a
9514 //               Secure, Privileged context, with the exception of the P bit.
9515 #define DMA_MPU_LAR7_OFFSET _u(0x00000540)
9516 #define DMA_MPU_LAR7_BITS   _u(0xffffffe7)
9517 #define DMA_MPU_LAR7_RESET  _u(0x00000000)
9518 // -----------------------------------------------------------------------------
9519 // Field       : DMA_MPU_LAR7_ADDR
9520 // Description : Limit address bits 31:5. Readable from any Privileged context,
9521 //               if and only if this region's S bit is clear, and
9522 //               MPU_CTRL_NS_HIDE_ADDR is clear. Otherwise readable only from a
9523 //               Secure, Privileged context.
9524 #define DMA_MPU_LAR7_ADDR_RESET  _u(0x0000000)
9525 #define DMA_MPU_LAR7_ADDR_BITS   _u(0xffffffe0)
9526 #define DMA_MPU_LAR7_ADDR_MSB    _u(31)
9527 #define DMA_MPU_LAR7_ADDR_LSB    _u(5)
9528 #define DMA_MPU_LAR7_ADDR_ACCESS "RW"
9529 // -----------------------------------------------------------------------------
9530 // Field       : DMA_MPU_LAR7_S
9531 // Description : Determines the Secure/Non-secure (=1/0) status of addresses
9532 //               matching this region, if this region is enabled.
9533 #define DMA_MPU_LAR7_S_RESET  _u(0x0)
9534 #define DMA_MPU_LAR7_S_BITS   _u(0x00000004)
9535 #define DMA_MPU_LAR7_S_MSB    _u(2)
9536 #define DMA_MPU_LAR7_S_LSB    _u(2)
9537 #define DMA_MPU_LAR7_S_ACCESS "RW"
9538 // -----------------------------------------------------------------------------
9539 // Field       : DMA_MPU_LAR7_P
9540 // Description : Determines the Privileged/Unprivileged (=1/0) status of
9541 //               addresses matching this region, if this region is enabled.
9542 //               Writable from any Privileged context, if and only if the S bit
9543 //               is clear. Otherwise, writable only from a Secure, Privileged
9544 //               context.
9545 #define DMA_MPU_LAR7_P_RESET  _u(0x0)
9546 #define DMA_MPU_LAR7_P_BITS   _u(0x00000002)
9547 #define DMA_MPU_LAR7_P_MSB    _u(1)
9548 #define DMA_MPU_LAR7_P_LSB    _u(1)
9549 #define DMA_MPU_LAR7_P_ACCESS "RW"
9550 // -----------------------------------------------------------------------------
9551 // Field       : DMA_MPU_LAR7_EN
9552 // Description : Region enable. If 1, any address within range specified by the
9553 //               base address (BAR_ADDR) and limit address (LAR_ADDR) has the
9554 //               attributes specified by S and P.
9555 #define DMA_MPU_LAR7_EN_RESET  _u(0x0)
9556 #define DMA_MPU_LAR7_EN_BITS   _u(0x00000001)
9557 #define DMA_MPU_LAR7_EN_MSB    _u(0)
9558 #define DMA_MPU_LAR7_EN_LSB    _u(0)
9559 #define DMA_MPU_LAR7_EN_ACCESS "RW"
9560 // =============================================================================
9561 // Register    : DMA_CH0_DBG_CTDREQ
9562 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9563 //               expects it can perform on the peripheral without
9564 //               overflow/underflow. Write any value: clears the counter, and
9565 //               cause channel to re-initiate DREQ handshake.
9566 #define DMA_CH0_DBG_CTDREQ_OFFSET _u(0x00000800)
9567 #define DMA_CH0_DBG_CTDREQ_BITS   _u(0x0000003f)
9568 #define DMA_CH0_DBG_CTDREQ_RESET  _u(0x00000000)
9569 #define DMA_CH0_DBG_CTDREQ_MSB    _u(5)
9570 #define DMA_CH0_DBG_CTDREQ_LSB    _u(0)
9571 #define DMA_CH0_DBG_CTDREQ_ACCESS "WC"
9572 // =============================================================================
9573 // Register    : DMA_CH0_DBG_TCR
9574 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9575 //               of the next transfer
9576 #define DMA_CH0_DBG_TCR_OFFSET _u(0x00000804)
9577 #define DMA_CH0_DBG_TCR_BITS   _u(0xffffffff)
9578 #define DMA_CH0_DBG_TCR_RESET  _u(0x00000000)
9579 #define DMA_CH0_DBG_TCR_MSB    _u(31)
9580 #define DMA_CH0_DBG_TCR_LSB    _u(0)
9581 #define DMA_CH0_DBG_TCR_ACCESS "RO"
9582 // =============================================================================
9583 // Register    : DMA_CH1_DBG_CTDREQ
9584 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9585 //               expects it can perform on the peripheral without
9586 //               overflow/underflow. Write any value: clears the counter, and
9587 //               cause channel to re-initiate DREQ handshake.
9588 #define DMA_CH1_DBG_CTDREQ_OFFSET _u(0x00000840)
9589 #define DMA_CH1_DBG_CTDREQ_BITS   _u(0x0000003f)
9590 #define DMA_CH1_DBG_CTDREQ_RESET  _u(0x00000000)
9591 #define DMA_CH1_DBG_CTDREQ_MSB    _u(5)
9592 #define DMA_CH1_DBG_CTDREQ_LSB    _u(0)
9593 #define DMA_CH1_DBG_CTDREQ_ACCESS "WC"
9594 // =============================================================================
9595 // Register    : DMA_CH1_DBG_TCR
9596 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9597 //               of the next transfer
9598 #define DMA_CH1_DBG_TCR_OFFSET _u(0x00000844)
9599 #define DMA_CH1_DBG_TCR_BITS   _u(0xffffffff)
9600 #define DMA_CH1_DBG_TCR_RESET  _u(0x00000000)
9601 #define DMA_CH1_DBG_TCR_MSB    _u(31)
9602 #define DMA_CH1_DBG_TCR_LSB    _u(0)
9603 #define DMA_CH1_DBG_TCR_ACCESS "RO"
9604 // =============================================================================
9605 // Register    : DMA_CH2_DBG_CTDREQ
9606 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9607 //               expects it can perform on the peripheral without
9608 //               overflow/underflow. Write any value: clears the counter, and
9609 //               cause channel to re-initiate DREQ handshake.
9610 #define DMA_CH2_DBG_CTDREQ_OFFSET _u(0x00000880)
9611 #define DMA_CH2_DBG_CTDREQ_BITS   _u(0x0000003f)
9612 #define DMA_CH2_DBG_CTDREQ_RESET  _u(0x00000000)
9613 #define DMA_CH2_DBG_CTDREQ_MSB    _u(5)
9614 #define DMA_CH2_DBG_CTDREQ_LSB    _u(0)
9615 #define DMA_CH2_DBG_CTDREQ_ACCESS "WC"
9616 // =============================================================================
9617 // Register    : DMA_CH2_DBG_TCR
9618 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9619 //               of the next transfer
9620 #define DMA_CH2_DBG_TCR_OFFSET _u(0x00000884)
9621 #define DMA_CH2_DBG_TCR_BITS   _u(0xffffffff)
9622 #define DMA_CH2_DBG_TCR_RESET  _u(0x00000000)
9623 #define DMA_CH2_DBG_TCR_MSB    _u(31)
9624 #define DMA_CH2_DBG_TCR_LSB    _u(0)
9625 #define DMA_CH2_DBG_TCR_ACCESS "RO"
9626 // =============================================================================
9627 // Register    : DMA_CH3_DBG_CTDREQ
9628 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9629 //               expects it can perform on the peripheral without
9630 //               overflow/underflow. Write any value: clears the counter, and
9631 //               cause channel to re-initiate DREQ handshake.
9632 #define DMA_CH3_DBG_CTDREQ_OFFSET _u(0x000008c0)
9633 #define DMA_CH3_DBG_CTDREQ_BITS   _u(0x0000003f)
9634 #define DMA_CH3_DBG_CTDREQ_RESET  _u(0x00000000)
9635 #define DMA_CH3_DBG_CTDREQ_MSB    _u(5)
9636 #define DMA_CH3_DBG_CTDREQ_LSB    _u(0)
9637 #define DMA_CH3_DBG_CTDREQ_ACCESS "WC"
9638 // =============================================================================
9639 // Register    : DMA_CH3_DBG_TCR
9640 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9641 //               of the next transfer
9642 #define DMA_CH3_DBG_TCR_OFFSET _u(0x000008c4)
9643 #define DMA_CH3_DBG_TCR_BITS   _u(0xffffffff)
9644 #define DMA_CH3_DBG_TCR_RESET  _u(0x00000000)
9645 #define DMA_CH3_DBG_TCR_MSB    _u(31)
9646 #define DMA_CH3_DBG_TCR_LSB    _u(0)
9647 #define DMA_CH3_DBG_TCR_ACCESS "RO"
9648 // =============================================================================
9649 // Register    : DMA_CH4_DBG_CTDREQ
9650 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9651 //               expects it can perform on the peripheral without
9652 //               overflow/underflow. Write any value: clears the counter, and
9653 //               cause channel to re-initiate DREQ handshake.
9654 #define DMA_CH4_DBG_CTDREQ_OFFSET _u(0x00000900)
9655 #define DMA_CH4_DBG_CTDREQ_BITS   _u(0x0000003f)
9656 #define DMA_CH4_DBG_CTDREQ_RESET  _u(0x00000000)
9657 #define DMA_CH4_DBG_CTDREQ_MSB    _u(5)
9658 #define DMA_CH4_DBG_CTDREQ_LSB    _u(0)
9659 #define DMA_CH4_DBG_CTDREQ_ACCESS "WC"
9660 // =============================================================================
9661 // Register    : DMA_CH4_DBG_TCR
9662 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9663 //               of the next transfer
9664 #define DMA_CH4_DBG_TCR_OFFSET _u(0x00000904)
9665 #define DMA_CH4_DBG_TCR_BITS   _u(0xffffffff)
9666 #define DMA_CH4_DBG_TCR_RESET  _u(0x00000000)
9667 #define DMA_CH4_DBG_TCR_MSB    _u(31)
9668 #define DMA_CH4_DBG_TCR_LSB    _u(0)
9669 #define DMA_CH4_DBG_TCR_ACCESS "RO"
9670 // =============================================================================
9671 // Register    : DMA_CH5_DBG_CTDREQ
9672 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9673 //               expects it can perform on the peripheral without
9674 //               overflow/underflow. Write any value: clears the counter, and
9675 //               cause channel to re-initiate DREQ handshake.
9676 #define DMA_CH5_DBG_CTDREQ_OFFSET _u(0x00000940)
9677 #define DMA_CH5_DBG_CTDREQ_BITS   _u(0x0000003f)
9678 #define DMA_CH5_DBG_CTDREQ_RESET  _u(0x00000000)
9679 #define DMA_CH5_DBG_CTDREQ_MSB    _u(5)
9680 #define DMA_CH5_DBG_CTDREQ_LSB    _u(0)
9681 #define DMA_CH5_DBG_CTDREQ_ACCESS "WC"
9682 // =============================================================================
9683 // Register    : DMA_CH5_DBG_TCR
9684 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9685 //               of the next transfer
9686 #define DMA_CH5_DBG_TCR_OFFSET _u(0x00000944)
9687 #define DMA_CH5_DBG_TCR_BITS   _u(0xffffffff)
9688 #define DMA_CH5_DBG_TCR_RESET  _u(0x00000000)
9689 #define DMA_CH5_DBG_TCR_MSB    _u(31)
9690 #define DMA_CH5_DBG_TCR_LSB    _u(0)
9691 #define DMA_CH5_DBG_TCR_ACCESS "RO"
9692 // =============================================================================
9693 // Register    : DMA_CH6_DBG_CTDREQ
9694 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9695 //               expects it can perform on the peripheral without
9696 //               overflow/underflow. Write any value: clears the counter, and
9697 //               cause channel to re-initiate DREQ handshake.
9698 #define DMA_CH6_DBG_CTDREQ_OFFSET _u(0x00000980)
9699 #define DMA_CH6_DBG_CTDREQ_BITS   _u(0x0000003f)
9700 #define DMA_CH6_DBG_CTDREQ_RESET  _u(0x00000000)
9701 #define DMA_CH6_DBG_CTDREQ_MSB    _u(5)
9702 #define DMA_CH6_DBG_CTDREQ_LSB    _u(0)
9703 #define DMA_CH6_DBG_CTDREQ_ACCESS "WC"
9704 // =============================================================================
9705 // Register    : DMA_CH6_DBG_TCR
9706 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9707 //               of the next transfer
9708 #define DMA_CH6_DBG_TCR_OFFSET _u(0x00000984)
9709 #define DMA_CH6_DBG_TCR_BITS   _u(0xffffffff)
9710 #define DMA_CH6_DBG_TCR_RESET  _u(0x00000000)
9711 #define DMA_CH6_DBG_TCR_MSB    _u(31)
9712 #define DMA_CH6_DBG_TCR_LSB    _u(0)
9713 #define DMA_CH6_DBG_TCR_ACCESS "RO"
9714 // =============================================================================
9715 // Register    : DMA_CH7_DBG_CTDREQ
9716 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9717 //               expects it can perform on the peripheral without
9718 //               overflow/underflow. Write any value: clears the counter, and
9719 //               cause channel to re-initiate DREQ handshake.
9720 #define DMA_CH7_DBG_CTDREQ_OFFSET _u(0x000009c0)
9721 #define DMA_CH7_DBG_CTDREQ_BITS   _u(0x0000003f)
9722 #define DMA_CH7_DBG_CTDREQ_RESET  _u(0x00000000)
9723 #define DMA_CH7_DBG_CTDREQ_MSB    _u(5)
9724 #define DMA_CH7_DBG_CTDREQ_LSB    _u(0)
9725 #define DMA_CH7_DBG_CTDREQ_ACCESS "WC"
9726 // =============================================================================
9727 // Register    : DMA_CH7_DBG_TCR
9728 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9729 //               of the next transfer
9730 #define DMA_CH7_DBG_TCR_OFFSET _u(0x000009c4)
9731 #define DMA_CH7_DBG_TCR_BITS   _u(0xffffffff)
9732 #define DMA_CH7_DBG_TCR_RESET  _u(0x00000000)
9733 #define DMA_CH7_DBG_TCR_MSB    _u(31)
9734 #define DMA_CH7_DBG_TCR_LSB    _u(0)
9735 #define DMA_CH7_DBG_TCR_ACCESS "RO"
9736 // =============================================================================
9737 // Register    : DMA_CH8_DBG_CTDREQ
9738 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9739 //               expects it can perform on the peripheral without
9740 //               overflow/underflow. Write any value: clears the counter, and
9741 //               cause channel to re-initiate DREQ handshake.
9742 #define DMA_CH8_DBG_CTDREQ_OFFSET _u(0x00000a00)
9743 #define DMA_CH8_DBG_CTDREQ_BITS   _u(0x0000003f)
9744 #define DMA_CH8_DBG_CTDREQ_RESET  _u(0x00000000)
9745 #define DMA_CH8_DBG_CTDREQ_MSB    _u(5)
9746 #define DMA_CH8_DBG_CTDREQ_LSB    _u(0)
9747 #define DMA_CH8_DBG_CTDREQ_ACCESS "WC"
9748 // =============================================================================
9749 // Register    : DMA_CH8_DBG_TCR
9750 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9751 //               of the next transfer
9752 #define DMA_CH8_DBG_TCR_OFFSET _u(0x00000a04)
9753 #define DMA_CH8_DBG_TCR_BITS   _u(0xffffffff)
9754 #define DMA_CH8_DBG_TCR_RESET  _u(0x00000000)
9755 #define DMA_CH8_DBG_TCR_MSB    _u(31)
9756 #define DMA_CH8_DBG_TCR_LSB    _u(0)
9757 #define DMA_CH8_DBG_TCR_ACCESS "RO"
9758 // =============================================================================
9759 // Register    : DMA_CH9_DBG_CTDREQ
9760 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9761 //               expects it can perform on the peripheral without
9762 //               overflow/underflow. Write any value: clears the counter, and
9763 //               cause channel to re-initiate DREQ handshake.
9764 #define DMA_CH9_DBG_CTDREQ_OFFSET _u(0x00000a40)
9765 #define DMA_CH9_DBG_CTDREQ_BITS   _u(0x0000003f)
9766 #define DMA_CH9_DBG_CTDREQ_RESET  _u(0x00000000)
9767 #define DMA_CH9_DBG_CTDREQ_MSB    _u(5)
9768 #define DMA_CH9_DBG_CTDREQ_LSB    _u(0)
9769 #define DMA_CH9_DBG_CTDREQ_ACCESS "WC"
9770 // =============================================================================
9771 // Register    : DMA_CH9_DBG_TCR
9772 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9773 //               of the next transfer
9774 #define DMA_CH9_DBG_TCR_OFFSET _u(0x00000a44)
9775 #define DMA_CH9_DBG_TCR_BITS   _u(0xffffffff)
9776 #define DMA_CH9_DBG_TCR_RESET  _u(0x00000000)
9777 #define DMA_CH9_DBG_TCR_MSB    _u(31)
9778 #define DMA_CH9_DBG_TCR_LSB    _u(0)
9779 #define DMA_CH9_DBG_TCR_ACCESS "RO"
9780 // =============================================================================
9781 // Register    : DMA_CH10_DBG_CTDREQ
9782 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9783 //               expects it can perform on the peripheral without
9784 //               overflow/underflow. Write any value: clears the counter, and
9785 //               cause channel to re-initiate DREQ handshake.
9786 #define DMA_CH10_DBG_CTDREQ_OFFSET _u(0x00000a80)
9787 #define DMA_CH10_DBG_CTDREQ_BITS   _u(0x0000003f)
9788 #define DMA_CH10_DBG_CTDREQ_RESET  _u(0x00000000)
9789 #define DMA_CH10_DBG_CTDREQ_MSB    _u(5)
9790 #define DMA_CH10_DBG_CTDREQ_LSB    _u(0)
9791 #define DMA_CH10_DBG_CTDREQ_ACCESS "WC"
9792 // =============================================================================
9793 // Register    : DMA_CH10_DBG_TCR
9794 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9795 //               of the next transfer
9796 #define DMA_CH10_DBG_TCR_OFFSET _u(0x00000a84)
9797 #define DMA_CH10_DBG_TCR_BITS   _u(0xffffffff)
9798 #define DMA_CH10_DBG_TCR_RESET  _u(0x00000000)
9799 #define DMA_CH10_DBG_TCR_MSB    _u(31)
9800 #define DMA_CH10_DBG_TCR_LSB    _u(0)
9801 #define DMA_CH10_DBG_TCR_ACCESS "RO"
9802 // =============================================================================
9803 // Register    : DMA_CH11_DBG_CTDREQ
9804 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9805 //               expects it can perform on the peripheral without
9806 //               overflow/underflow. Write any value: clears the counter, and
9807 //               cause channel to re-initiate DREQ handshake.
9808 #define DMA_CH11_DBG_CTDREQ_OFFSET _u(0x00000ac0)
9809 #define DMA_CH11_DBG_CTDREQ_BITS   _u(0x0000003f)
9810 #define DMA_CH11_DBG_CTDREQ_RESET  _u(0x00000000)
9811 #define DMA_CH11_DBG_CTDREQ_MSB    _u(5)
9812 #define DMA_CH11_DBG_CTDREQ_LSB    _u(0)
9813 #define DMA_CH11_DBG_CTDREQ_ACCESS "WC"
9814 // =============================================================================
9815 // Register    : DMA_CH11_DBG_TCR
9816 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9817 //               of the next transfer
9818 #define DMA_CH11_DBG_TCR_OFFSET _u(0x00000ac4)
9819 #define DMA_CH11_DBG_TCR_BITS   _u(0xffffffff)
9820 #define DMA_CH11_DBG_TCR_RESET  _u(0x00000000)
9821 #define DMA_CH11_DBG_TCR_MSB    _u(31)
9822 #define DMA_CH11_DBG_TCR_LSB    _u(0)
9823 #define DMA_CH11_DBG_TCR_ACCESS "RO"
9824 // =============================================================================
9825 // Register    : DMA_CH12_DBG_CTDREQ
9826 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9827 //               expects it can perform on the peripheral without
9828 //               overflow/underflow. Write any value: clears the counter, and
9829 //               cause channel to re-initiate DREQ handshake.
9830 #define DMA_CH12_DBG_CTDREQ_OFFSET _u(0x00000b00)
9831 #define DMA_CH12_DBG_CTDREQ_BITS   _u(0x0000003f)
9832 #define DMA_CH12_DBG_CTDREQ_RESET  _u(0x00000000)
9833 #define DMA_CH12_DBG_CTDREQ_MSB    _u(5)
9834 #define DMA_CH12_DBG_CTDREQ_LSB    _u(0)
9835 #define DMA_CH12_DBG_CTDREQ_ACCESS "WC"
9836 // =============================================================================
9837 // Register    : DMA_CH12_DBG_TCR
9838 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9839 //               of the next transfer
9840 #define DMA_CH12_DBG_TCR_OFFSET _u(0x00000b04)
9841 #define DMA_CH12_DBG_TCR_BITS   _u(0xffffffff)
9842 #define DMA_CH12_DBG_TCR_RESET  _u(0x00000000)
9843 #define DMA_CH12_DBG_TCR_MSB    _u(31)
9844 #define DMA_CH12_DBG_TCR_LSB    _u(0)
9845 #define DMA_CH12_DBG_TCR_ACCESS "RO"
9846 // =============================================================================
9847 // Register    : DMA_CH13_DBG_CTDREQ
9848 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9849 //               expects it can perform on the peripheral without
9850 //               overflow/underflow. Write any value: clears the counter, and
9851 //               cause channel to re-initiate DREQ handshake.
9852 #define DMA_CH13_DBG_CTDREQ_OFFSET _u(0x00000b40)
9853 #define DMA_CH13_DBG_CTDREQ_BITS   _u(0x0000003f)
9854 #define DMA_CH13_DBG_CTDREQ_RESET  _u(0x00000000)
9855 #define DMA_CH13_DBG_CTDREQ_MSB    _u(5)
9856 #define DMA_CH13_DBG_CTDREQ_LSB    _u(0)
9857 #define DMA_CH13_DBG_CTDREQ_ACCESS "WC"
9858 // =============================================================================
9859 // Register    : DMA_CH13_DBG_TCR
9860 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9861 //               of the next transfer
9862 #define DMA_CH13_DBG_TCR_OFFSET _u(0x00000b44)
9863 #define DMA_CH13_DBG_TCR_BITS   _u(0xffffffff)
9864 #define DMA_CH13_DBG_TCR_RESET  _u(0x00000000)
9865 #define DMA_CH13_DBG_TCR_MSB    _u(31)
9866 #define DMA_CH13_DBG_TCR_LSB    _u(0)
9867 #define DMA_CH13_DBG_TCR_ACCESS "RO"
9868 // =============================================================================
9869 // Register    : DMA_CH14_DBG_CTDREQ
9870 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9871 //               expects it can perform on the peripheral without
9872 //               overflow/underflow. Write any value: clears the counter, and
9873 //               cause channel to re-initiate DREQ handshake.
9874 #define DMA_CH14_DBG_CTDREQ_OFFSET _u(0x00000b80)
9875 #define DMA_CH14_DBG_CTDREQ_BITS   _u(0x0000003f)
9876 #define DMA_CH14_DBG_CTDREQ_RESET  _u(0x00000000)
9877 #define DMA_CH14_DBG_CTDREQ_MSB    _u(5)
9878 #define DMA_CH14_DBG_CTDREQ_LSB    _u(0)
9879 #define DMA_CH14_DBG_CTDREQ_ACCESS "WC"
9880 // =============================================================================
9881 // Register    : DMA_CH14_DBG_TCR
9882 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9883 //               of the next transfer
9884 #define DMA_CH14_DBG_TCR_OFFSET _u(0x00000b84)
9885 #define DMA_CH14_DBG_TCR_BITS   _u(0xffffffff)
9886 #define DMA_CH14_DBG_TCR_RESET  _u(0x00000000)
9887 #define DMA_CH14_DBG_TCR_MSB    _u(31)
9888 #define DMA_CH14_DBG_TCR_LSB    _u(0)
9889 #define DMA_CH14_DBG_TCR_ACCESS "RO"
9890 // =============================================================================
9891 // Register    : DMA_CH15_DBG_CTDREQ
9892 // Description : Read: get channel DREQ counter (i.e. how many accesses the DMA
9893 //               expects it can perform on the peripheral without
9894 //               overflow/underflow. Write any value: clears the counter, and
9895 //               cause channel to re-initiate DREQ handshake.
9896 #define DMA_CH15_DBG_CTDREQ_OFFSET _u(0x00000bc0)
9897 #define DMA_CH15_DBG_CTDREQ_BITS   _u(0x0000003f)
9898 #define DMA_CH15_DBG_CTDREQ_RESET  _u(0x00000000)
9899 #define DMA_CH15_DBG_CTDREQ_MSB    _u(5)
9900 #define DMA_CH15_DBG_CTDREQ_LSB    _u(0)
9901 #define DMA_CH15_DBG_CTDREQ_ACCESS "WC"
9902 // =============================================================================
9903 // Register    : DMA_CH15_DBG_TCR
9904 // Description : Read to get channel TRANS_COUNT reload value, i.e. the length
9905 //               of the next transfer
9906 #define DMA_CH15_DBG_TCR_OFFSET _u(0x00000bc4)
9907 #define DMA_CH15_DBG_TCR_BITS   _u(0xffffffff)
9908 #define DMA_CH15_DBG_TCR_RESET  _u(0x00000000)
9909 #define DMA_CH15_DBG_TCR_MSB    _u(31)
9910 #define DMA_CH15_DBG_TCR_LSB    _u(0)
9911 #define DMA_CH15_DBG_TCR_ACCESS "RO"
9912 // =============================================================================
9913 #endif // _HARDWARE_REGS_DMA_H
9914 
9915