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 : PIO
10 // Version        : 1
11 // Bus type       : ahbl
12 // Description    : Programmable IO block
13 // =============================================================================
14 #ifndef _HARDWARE_REGS_PIO_H
15 #define _HARDWARE_REGS_PIO_H
16 // =============================================================================
17 // Register    : PIO_CTRL
18 // Description : PIO control register
19 #define PIO_CTRL_OFFSET _u(0x00000000)
20 #define PIO_CTRL_BITS   _u(0x00000fff)
21 #define PIO_CTRL_RESET  _u(0x00000000)
22 // -----------------------------------------------------------------------------
23 // Field       : PIO_CTRL_CLKDIV_RESTART
24 // Description : Restart a state machine's clock divider from an initial phase
25 //               of 0. Clock dividers are free-running, so once started, their
26 //               output (including fractional jitter) is completely determined
27 //               by the integer/fractional divisor configured in SMx_CLKDIV.
28 //               This means that, if multiple clock dividers with the same
29 //               divisor are restarted simultaneously, by writing multiple 1
30 //               bits to this field, the execution clocks of those state
31 //               machines will run in precise lockstep.
32 //
33 //               Note that setting/clearing SM_ENABLE does not stop the clock
34 //               divider from running, so once multiple state machines' clocks
35 //               are synchronised, it is safe to disable/reenable a state
36 //               machine, whilst keeping the clock dividers in sync.
37 //
38 //               Note also that CLKDIV_RESTART can be written to whilst the
39 //               state machine is running, and this is useful to resynchronise
40 //               clock dividers after the divisors (SMx_CLKDIV) have been
41 //               changed on-the-fly.
42 #define PIO_CTRL_CLKDIV_RESTART_RESET  _u(0x0)
43 #define PIO_CTRL_CLKDIV_RESTART_BITS   _u(0x00000f00)
44 #define PIO_CTRL_CLKDIV_RESTART_MSB    _u(11)
45 #define PIO_CTRL_CLKDIV_RESTART_LSB    _u(8)
46 #define PIO_CTRL_CLKDIV_RESTART_ACCESS "SC"
47 // -----------------------------------------------------------------------------
48 // Field       : PIO_CTRL_SM_RESTART
49 // Description : Write 1 to instantly clear internal SM state which may be
50 //               otherwise difficult to access and will affect future execution.
51 //
52 //               Specifically, the following are cleared: input and output shift
53 //               counters; the contents of the input shift register; the delay
54 //               counter; the waiting-on-IRQ state; any stalled instruction
55 //               written to SMx_INSTR or run by OUT/MOV EXEC; any pin write left
56 //               asserted due to OUT_STICKY.
57 //
58 //               The program counter, the contents of the output shift register
59 //               and the X/Y scratch registers are not affected.
60 #define PIO_CTRL_SM_RESTART_RESET  _u(0x0)
61 #define PIO_CTRL_SM_RESTART_BITS   _u(0x000000f0)
62 #define PIO_CTRL_SM_RESTART_MSB    _u(7)
63 #define PIO_CTRL_SM_RESTART_LSB    _u(4)
64 #define PIO_CTRL_SM_RESTART_ACCESS "SC"
65 // -----------------------------------------------------------------------------
66 // Field       : PIO_CTRL_SM_ENABLE
67 // Description : Enable/disable each of the four state machines by writing 1/0
68 //               to each of these four bits. When disabled, a state machine will
69 //               cease executing instructions, except those written directly to
70 //               SMx_INSTR by the system. Multiple bits can be set/cleared at
71 //               once to run/halt multiple state machines simultaneously.
72 #define PIO_CTRL_SM_ENABLE_RESET  _u(0x0)
73 #define PIO_CTRL_SM_ENABLE_BITS   _u(0x0000000f)
74 #define PIO_CTRL_SM_ENABLE_MSB    _u(3)
75 #define PIO_CTRL_SM_ENABLE_LSB    _u(0)
76 #define PIO_CTRL_SM_ENABLE_ACCESS "RW"
77 // =============================================================================
78 // Register    : PIO_FSTAT
79 // Description : FIFO status register
80 #define PIO_FSTAT_OFFSET _u(0x00000004)
81 #define PIO_FSTAT_BITS   _u(0x0f0f0f0f)
82 #define PIO_FSTAT_RESET  _u(0x0f000f00)
83 // -----------------------------------------------------------------------------
84 // Field       : PIO_FSTAT_TXEMPTY
85 // Description : State machine TX FIFO is empty
86 #define PIO_FSTAT_TXEMPTY_RESET  _u(0xf)
87 #define PIO_FSTAT_TXEMPTY_BITS   _u(0x0f000000)
88 #define PIO_FSTAT_TXEMPTY_MSB    _u(27)
89 #define PIO_FSTAT_TXEMPTY_LSB    _u(24)
90 #define PIO_FSTAT_TXEMPTY_ACCESS "RO"
91 // -----------------------------------------------------------------------------
92 // Field       : PIO_FSTAT_TXFULL
93 // Description : State machine TX FIFO is full
94 #define PIO_FSTAT_TXFULL_RESET  _u(0x0)
95 #define PIO_FSTAT_TXFULL_BITS   _u(0x000f0000)
96 #define PIO_FSTAT_TXFULL_MSB    _u(19)
97 #define PIO_FSTAT_TXFULL_LSB    _u(16)
98 #define PIO_FSTAT_TXFULL_ACCESS "RO"
99 // -----------------------------------------------------------------------------
100 // Field       : PIO_FSTAT_RXEMPTY
101 // Description : State machine RX FIFO is empty
102 #define PIO_FSTAT_RXEMPTY_RESET  _u(0xf)
103 #define PIO_FSTAT_RXEMPTY_BITS   _u(0x00000f00)
104 #define PIO_FSTAT_RXEMPTY_MSB    _u(11)
105 #define PIO_FSTAT_RXEMPTY_LSB    _u(8)
106 #define PIO_FSTAT_RXEMPTY_ACCESS "RO"
107 // -----------------------------------------------------------------------------
108 // Field       : PIO_FSTAT_RXFULL
109 // Description : State machine RX FIFO is full
110 #define PIO_FSTAT_RXFULL_RESET  _u(0x0)
111 #define PIO_FSTAT_RXFULL_BITS   _u(0x0000000f)
112 #define PIO_FSTAT_RXFULL_MSB    _u(3)
113 #define PIO_FSTAT_RXFULL_LSB    _u(0)
114 #define PIO_FSTAT_RXFULL_ACCESS "RO"
115 // =============================================================================
116 // Register    : PIO_FDEBUG
117 // Description : FIFO debug register
118 #define PIO_FDEBUG_OFFSET _u(0x00000008)
119 #define PIO_FDEBUG_BITS   _u(0x0f0f0f0f)
120 #define PIO_FDEBUG_RESET  _u(0x00000000)
121 // -----------------------------------------------------------------------------
122 // Field       : PIO_FDEBUG_TXSTALL
123 // Description : State machine has stalled on empty TX FIFO during a blocking
124 //               PULL, or an OUT with autopull enabled. Write 1 to clear.
125 #define PIO_FDEBUG_TXSTALL_RESET  _u(0x0)
126 #define PIO_FDEBUG_TXSTALL_BITS   _u(0x0f000000)
127 #define PIO_FDEBUG_TXSTALL_MSB    _u(27)
128 #define PIO_FDEBUG_TXSTALL_LSB    _u(24)
129 #define PIO_FDEBUG_TXSTALL_ACCESS "WC"
130 // -----------------------------------------------------------------------------
131 // Field       : PIO_FDEBUG_TXOVER
132 // Description : TX FIFO overflow (i.e. write-on-full by the system) has
133 //               occurred. Write 1 to clear. Note that write-on-full does not
134 //               alter the state or contents of the FIFO in any way, but the
135 //               data that the system attempted to write is dropped, so if this
136 //               flag is set, your software has quite likely dropped some data
137 //               on the floor.
138 #define PIO_FDEBUG_TXOVER_RESET  _u(0x0)
139 #define PIO_FDEBUG_TXOVER_BITS   _u(0x000f0000)
140 #define PIO_FDEBUG_TXOVER_MSB    _u(19)
141 #define PIO_FDEBUG_TXOVER_LSB    _u(16)
142 #define PIO_FDEBUG_TXOVER_ACCESS "WC"
143 // -----------------------------------------------------------------------------
144 // Field       : PIO_FDEBUG_RXUNDER
145 // Description : RX FIFO underflow (i.e. read-on-empty by the system) has
146 //               occurred. Write 1 to clear. Note that read-on-empty does not
147 //               perturb the state of the FIFO in any way, but the data returned
148 //               by reading from an empty FIFO is undefined, so this flag
149 //               generally only becomes set due to some kind of software error.
150 #define PIO_FDEBUG_RXUNDER_RESET  _u(0x0)
151 #define PIO_FDEBUG_RXUNDER_BITS   _u(0x00000f00)
152 #define PIO_FDEBUG_RXUNDER_MSB    _u(11)
153 #define PIO_FDEBUG_RXUNDER_LSB    _u(8)
154 #define PIO_FDEBUG_RXUNDER_ACCESS "WC"
155 // -----------------------------------------------------------------------------
156 // Field       : PIO_FDEBUG_RXSTALL
157 // Description : State machine has stalled on full RX FIFO during a blocking
158 //               PUSH, or an IN with autopush enabled. This flag is also set
159 //               when a nonblocking PUSH to a full FIFO took place, in which
160 //               case the state machine has dropped data. Write 1 to clear.
161 #define PIO_FDEBUG_RXSTALL_RESET  _u(0x0)
162 #define PIO_FDEBUG_RXSTALL_BITS   _u(0x0000000f)
163 #define PIO_FDEBUG_RXSTALL_MSB    _u(3)
164 #define PIO_FDEBUG_RXSTALL_LSB    _u(0)
165 #define PIO_FDEBUG_RXSTALL_ACCESS "WC"
166 // =============================================================================
167 // Register    : PIO_FLEVEL
168 // Description : FIFO levels
169 #define PIO_FLEVEL_OFFSET _u(0x0000000c)
170 #define PIO_FLEVEL_BITS   _u(0xffffffff)
171 #define PIO_FLEVEL_RESET  _u(0x00000000)
172 // -----------------------------------------------------------------------------
173 // Field       : PIO_FLEVEL_RX3
174 #define PIO_FLEVEL_RX3_RESET  _u(0x0)
175 #define PIO_FLEVEL_RX3_BITS   _u(0xf0000000)
176 #define PIO_FLEVEL_RX3_MSB    _u(31)
177 #define PIO_FLEVEL_RX3_LSB    _u(28)
178 #define PIO_FLEVEL_RX3_ACCESS "RO"
179 // -----------------------------------------------------------------------------
180 // Field       : PIO_FLEVEL_TX3
181 #define PIO_FLEVEL_TX3_RESET  _u(0x0)
182 #define PIO_FLEVEL_TX3_BITS   _u(0x0f000000)
183 #define PIO_FLEVEL_TX3_MSB    _u(27)
184 #define PIO_FLEVEL_TX3_LSB    _u(24)
185 #define PIO_FLEVEL_TX3_ACCESS "RO"
186 // -----------------------------------------------------------------------------
187 // Field       : PIO_FLEVEL_RX2
188 #define PIO_FLEVEL_RX2_RESET  _u(0x0)
189 #define PIO_FLEVEL_RX2_BITS   _u(0x00f00000)
190 #define PIO_FLEVEL_RX2_MSB    _u(23)
191 #define PIO_FLEVEL_RX2_LSB    _u(20)
192 #define PIO_FLEVEL_RX2_ACCESS "RO"
193 // -----------------------------------------------------------------------------
194 // Field       : PIO_FLEVEL_TX2
195 #define PIO_FLEVEL_TX2_RESET  _u(0x0)
196 #define PIO_FLEVEL_TX2_BITS   _u(0x000f0000)
197 #define PIO_FLEVEL_TX2_MSB    _u(19)
198 #define PIO_FLEVEL_TX2_LSB    _u(16)
199 #define PIO_FLEVEL_TX2_ACCESS "RO"
200 // -----------------------------------------------------------------------------
201 // Field       : PIO_FLEVEL_RX1
202 #define PIO_FLEVEL_RX1_RESET  _u(0x0)
203 #define PIO_FLEVEL_RX1_BITS   _u(0x0000f000)
204 #define PIO_FLEVEL_RX1_MSB    _u(15)
205 #define PIO_FLEVEL_RX1_LSB    _u(12)
206 #define PIO_FLEVEL_RX1_ACCESS "RO"
207 // -----------------------------------------------------------------------------
208 // Field       : PIO_FLEVEL_TX1
209 #define PIO_FLEVEL_TX1_RESET  _u(0x0)
210 #define PIO_FLEVEL_TX1_BITS   _u(0x00000f00)
211 #define PIO_FLEVEL_TX1_MSB    _u(11)
212 #define PIO_FLEVEL_TX1_LSB    _u(8)
213 #define PIO_FLEVEL_TX1_ACCESS "RO"
214 // -----------------------------------------------------------------------------
215 // Field       : PIO_FLEVEL_RX0
216 #define PIO_FLEVEL_RX0_RESET  _u(0x0)
217 #define PIO_FLEVEL_RX0_BITS   _u(0x000000f0)
218 #define PIO_FLEVEL_RX0_MSB    _u(7)
219 #define PIO_FLEVEL_RX0_LSB    _u(4)
220 #define PIO_FLEVEL_RX0_ACCESS "RO"
221 // -----------------------------------------------------------------------------
222 // Field       : PIO_FLEVEL_TX0
223 #define PIO_FLEVEL_TX0_RESET  _u(0x0)
224 #define PIO_FLEVEL_TX0_BITS   _u(0x0000000f)
225 #define PIO_FLEVEL_TX0_MSB    _u(3)
226 #define PIO_FLEVEL_TX0_LSB    _u(0)
227 #define PIO_FLEVEL_TX0_ACCESS "RO"
228 // =============================================================================
229 // Register    : PIO_TXF0
230 // Description : Direct write access to the TX FIFO for this state machine. Each
231 //               write pushes one word to the FIFO. Attempting to write to a
232 //               full FIFO has no effect on the FIFO state or contents, and sets
233 //               the sticky FDEBUG_TXOVER error flag for this FIFO.
234 #define PIO_TXF0_OFFSET _u(0x00000010)
235 #define PIO_TXF0_BITS   _u(0xffffffff)
236 #define PIO_TXF0_RESET  _u(0x00000000)
237 #define PIO_TXF0_MSB    _u(31)
238 #define PIO_TXF0_LSB    _u(0)
239 #define PIO_TXF0_ACCESS "WF"
240 // =============================================================================
241 // Register    : PIO_TXF1
242 // Description : Direct write access to the TX FIFO for this state machine. Each
243 //               write pushes one word to the FIFO. Attempting to write to a
244 //               full FIFO has no effect on the FIFO state or contents, and sets
245 //               the sticky FDEBUG_TXOVER error flag for this FIFO.
246 #define PIO_TXF1_OFFSET _u(0x00000014)
247 #define PIO_TXF1_BITS   _u(0xffffffff)
248 #define PIO_TXF1_RESET  _u(0x00000000)
249 #define PIO_TXF1_MSB    _u(31)
250 #define PIO_TXF1_LSB    _u(0)
251 #define PIO_TXF1_ACCESS "WF"
252 // =============================================================================
253 // Register    : PIO_TXF2
254 // Description : Direct write access to the TX FIFO for this state machine. Each
255 //               write pushes one word to the FIFO. Attempting to write to a
256 //               full FIFO has no effect on the FIFO state or contents, and sets
257 //               the sticky FDEBUG_TXOVER error flag for this FIFO.
258 #define PIO_TXF2_OFFSET _u(0x00000018)
259 #define PIO_TXF2_BITS   _u(0xffffffff)
260 #define PIO_TXF2_RESET  _u(0x00000000)
261 #define PIO_TXF2_MSB    _u(31)
262 #define PIO_TXF2_LSB    _u(0)
263 #define PIO_TXF2_ACCESS "WF"
264 // =============================================================================
265 // Register    : PIO_TXF3
266 // Description : Direct write access to the TX FIFO for this state machine. Each
267 //               write pushes one word to the FIFO. Attempting to write to a
268 //               full FIFO has no effect on the FIFO state or contents, and sets
269 //               the sticky FDEBUG_TXOVER error flag for this FIFO.
270 #define PIO_TXF3_OFFSET _u(0x0000001c)
271 #define PIO_TXF3_BITS   _u(0xffffffff)
272 #define PIO_TXF3_RESET  _u(0x00000000)
273 #define PIO_TXF3_MSB    _u(31)
274 #define PIO_TXF3_LSB    _u(0)
275 #define PIO_TXF3_ACCESS "WF"
276 // =============================================================================
277 // Register    : PIO_RXF0
278 // Description : Direct read access to the RX FIFO for this state machine. Each
279 //               read pops one word from the FIFO. Attempting to read from an
280 //               empty FIFO has no effect on the FIFO state, and sets the sticky
281 //               FDEBUG_RXUNDER error flag for this FIFO. The data returned to
282 //               the system on a read from an empty FIFO is undefined.
283 #define PIO_RXF0_OFFSET _u(0x00000020)
284 #define PIO_RXF0_BITS   _u(0xffffffff)
285 #define PIO_RXF0_RESET  "-"
286 #define PIO_RXF0_MSB    _u(31)
287 #define PIO_RXF0_LSB    _u(0)
288 #define PIO_RXF0_ACCESS "RF"
289 // =============================================================================
290 // Register    : PIO_RXF1
291 // Description : Direct read access to the RX FIFO for this state machine. Each
292 //               read pops one word from the FIFO. Attempting to read from an
293 //               empty FIFO has no effect on the FIFO state, and sets the sticky
294 //               FDEBUG_RXUNDER error flag for this FIFO. The data returned to
295 //               the system on a read from an empty FIFO is undefined.
296 #define PIO_RXF1_OFFSET _u(0x00000024)
297 #define PIO_RXF1_BITS   _u(0xffffffff)
298 #define PIO_RXF1_RESET  "-"
299 #define PIO_RXF1_MSB    _u(31)
300 #define PIO_RXF1_LSB    _u(0)
301 #define PIO_RXF1_ACCESS "RF"
302 // =============================================================================
303 // Register    : PIO_RXF2
304 // Description : Direct read access to the RX FIFO for this state machine. Each
305 //               read pops one word from the FIFO. Attempting to read from an
306 //               empty FIFO has no effect on the FIFO state, and sets the sticky
307 //               FDEBUG_RXUNDER error flag for this FIFO. The data returned to
308 //               the system on a read from an empty FIFO is undefined.
309 #define PIO_RXF2_OFFSET _u(0x00000028)
310 #define PIO_RXF2_BITS   _u(0xffffffff)
311 #define PIO_RXF2_RESET  "-"
312 #define PIO_RXF2_MSB    _u(31)
313 #define PIO_RXF2_LSB    _u(0)
314 #define PIO_RXF2_ACCESS "RF"
315 // =============================================================================
316 // Register    : PIO_RXF3
317 // Description : Direct read access to the RX FIFO for this state machine. Each
318 //               read pops one word from the FIFO. Attempting to read from an
319 //               empty FIFO has no effect on the FIFO state, and sets the sticky
320 //               FDEBUG_RXUNDER error flag for this FIFO. The data returned to
321 //               the system on a read from an empty FIFO is undefined.
322 #define PIO_RXF3_OFFSET _u(0x0000002c)
323 #define PIO_RXF3_BITS   _u(0xffffffff)
324 #define PIO_RXF3_RESET  "-"
325 #define PIO_RXF3_MSB    _u(31)
326 #define PIO_RXF3_LSB    _u(0)
327 #define PIO_RXF3_ACCESS "RF"
328 // =============================================================================
329 // Register    : PIO_IRQ
330 // Description : State machine IRQ flags register. Write 1 to clear. There are 8
331 //               state machine IRQ flags, which can be set, cleared, and waited
332 //               on by the state machines. There's no fixed association between
333 //               flags and state machines -- any state machine can use any flag.
334 //
335 //               Any of the 8 flags can be used for timing synchronisation
336 //               between state machines, using IRQ and WAIT instructions. The
337 //               lower four of these flags are also routed out to system-level
338 //               interrupt requests, alongside FIFO status interrupts -- see
339 //               e.g. IRQ0_INTE.
340 #define PIO_IRQ_OFFSET _u(0x00000030)
341 #define PIO_IRQ_BITS   _u(0x000000ff)
342 #define PIO_IRQ_RESET  _u(0x00000000)
343 #define PIO_IRQ_MSB    _u(7)
344 #define PIO_IRQ_LSB    _u(0)
345 #define PIO_IRQ_ACCESS "WC"
346 // =============================================================================
347 // Register    : PIO_IRQ_FORCE
348 // Description : Writing a 1 to each of these bits will forcibly assert the
349 //               corresponding IRQ. Note this is different to the INTF register:
350 //               writing here affects PIO internal state. INTF just asserts the
351 //               processor-facing IRQ signal for testing ISRs, and is not
352 //               visible to the state machines.
353 #define PIO_IRQ_FORCE_OFFSET _u(0x00000034)
354 #define PIO_IRQ_FORCE_BITS   _u(0x000000ff)
355 #define PIO_IRQ_FORCE_RESET  _u(0x00000000)
356 #define PIO_IRQ_FORCE_MSB    _u(7)
357 #define PIO_IRQ_FORCE_LSB    _u(0)
358 #define PIO_IRQ_FORCE_ACCESS "WF"
359 // =============================================================================
360 // Register    : PIO_INPUT_SYNC_BYPASS
361 // Description : There is a 2-flipflop synchronizer on each GPIO input, which
362 //               protects PIO logic from metastabilities. This increases input
363 //               delay, and for fast synchronous IO (e.g. SPI) these
364 //               synchronizers may need to be bypassed. Each bit in this
365 //               register corresponds to one GPIO.
366 //               0 -> input is synchronized (default)
367 //               1 -> synchronizer is bypassed
368 //               If in doubt, leave this register as all zeroes.
369 #define PIO_INPUT_SYNC_BYPASS_OFFSET _u(0x00000038)
370 #define PIO_INPUT_SYNC_BYPASS_BITS   _u(0xffffffff)
371 #define PIO_INPUT_SYNC_BYPASS_RESET  _u(0x00000000)
372 #define PIO_INPUT_SYNC_BYPASS_MSB    _u(31)
373 #define PIO_INPUT_SYNC_BYPASS_LSB    _u(0)
374 #define PIO_INPUT_SYNC_BYPASS_ACCESS "RW"
375 // =============================================================================
376 // Register    : PIO_DBG_PADOUT
377 // Description : Read to sample the pad output values PIO is currently driving
378 //               to the GPIOs. On RP2040 there are 30 GPIOs, so the two most
379 //               significant bits are hardwired to 0.
380 #define PIO_DBG_PADOUT_OFFSET _u(0x0000003c)
381 #define PIO_DBG_PADOUT_BITS   _u(0xffffffff)
382 #define PIO_DBG_PADOUT_RESET  _u(0x00000000)
383 #define PIO_DBG_PADOUT_MSB    _u(31)
384 #define PIO_DBG_PADOUT_LSB    _u(0)
385 #define PIO_DBG_PADOUT_ACCESS "RO"
386 // =============================================================================
387 // Register    : PIO_DBG_PADOE
388 // Description : Read to sample the pad output enables (direction) PIO is
389 //               currently driving to the GPIOs. On RP2040 there are 30 GPIOs,
390 //               so the two most significant bits are hardwired to 0.
391 #define PIO_DBG_PADOE_OFFSET _u(0x00000040)
392 #define PIO_DBG_PADOE_BITS   _u(0xffffffff)
393 #define PIO_DBG_PADOE_RESET  _u(0x00000000)
394 #define PIO_DBG_PADOE_MSB    _u(31)
395 #define PIO_DBG_PADOE_LSB    _u(0)
396 #define PIO_DBG_PADOE_ACCESS "RO"
397 // =============================================================================
398 // Register    : PIO_DBG_CFGINFO
399 // Description : The PIO hardware has some free parameters that may vary between
400 //               chip products.
401 //               These should be provided in the chip datasheet, but are also
402 //               exposed here.
403 #define PIO_DBG_CFGINFO_OFFSET _u(0x00000044)
404 #define PIO_DBG_CFGINFO_BITS   _u(0x003f0f3f)
405 #define PIO_DBG_CFGINFO_RESET  _u(0x00000000)
406 // -----------------------------------------------------------------------------
407 // Field       : PIO_DBG_CFGINFO_IMEM_SIZE
408 // Description : The size of the instruction memory, measured in units of one
409 //               instruction
410 #define PIO_DBG_CFGINFO_IMEM_SIZE_RESET  "-"
411 #define PIO_DBG_CFGINFO_IMEM_SIZE_BITS   _u(0x003f0000)
412 #define PIO_DBG_CFGINFO_IMEM_SIZE_MSB    _u(21)
413 #define PIO_DBG_CFGINFO_IMEM_SIZE_LSB    _u(16)
414 #define PIO_DBG_CFGINFO_IMEM_SIZE_ACCESS "RO"
415 // -----------------------------------------------------------------------------
416 // Field       : PIO_DBG_CFGINFO_SM_COUNT
417 // Description : The number of state machines this PIO instance is equipped
418 //               with.
419 #define PIO_DBG_CFGINFO_SM_COUNT_RESET  "-"
420 #define PIO_DBG_CFGINFO_SM_COUNT_BITS   _u(0x00000f00)
421 #define PIO_DBG_CFGINFO_SM_COUNT_MSB    _u(11)
422 #define PIO_DBG_CFGINFO_SM_COUNT_LSB    _u(8)
423 #define PIO_DBG_CFGINFO_SM_COUNT_ACCESS "RO"
424 // -----------------------------------------------------------------------------
425 // Field       : PIO_DBG_CFGINFO_FIFO_DEPTH
426 // Description : The depth of the state machine TX/RX FIFOs, measured in words.
427 //               Joining fifos via SHIFTCTRL_FJOIN gives one FIFO with double
428 //               this depth.
429 #define PIO_DBG_CFGINFO_FIFO_DEPTH_RESET  "-"
430 #define PIO_DBG_CFGINFO_FIFO_DEPTH_BITS   _u(0x0000003f)
431 #define PIO_DBG_CFGINFO_FIFO_DEPTH_MSB    _u(5)
432 #define PIO_DBG_CFGINFO_FIFO_DEPTH_LSB    _u(0)
433 #define PIO_DBG_CFGINFO_FIFO_DEPTH_ACCESS "RO"
434 // =============================================================================
435 // Register    : PIO_INSTR_MEM0
436 // Description : Write-only access to instruction memory location 0
437 #define PIO_INSTR_MEM0_OFFSET _u(0x00000048)
438 #define PIO_INSTR_MEM0_BITS   _u(0x0000ffff)
439 #define PIO_INSTR_MEM0_RESET  _u(0x00000000)
440 #define PIO_INSTR_MEM0_MSB    _u(15)
441 #define PIO_INSTR_MEM0_LSB    _u(0)
442 #define PIO_INSTR_MEM0_ACCESS "WO"
443 // =============================================================================
444 // Register    : PIO_INSTR_MEM1
445 // Description : Write-only access to instruction memory location 1
446 #define PIO_INSTR_MEM1_OFFSET _u(0x0000004c)
447 #define PIO_INSTR_MEM1_BITS   _u(0x0000ffff)
448 #define PIO_INSTR_MEM1_RESET  _u(0x00000000)
449 #define PIO_INSTR_MEM1_MSB    _u(15)
450 #define PIO_INSTR_MEM1_LSB    _u(0)
451 #define PIO_INSTR_MEM1_ACCESS "WO"
452 // =============================================================================
453 // Register    : PIO_INSTR_MEM2
454 // Description : Write-only access to instruction memory location 2
455 #define PIO_INSTR_MEM2_OFFSET _u(0x00000050)
456 #define PIO_INSTR_MEM2_BITS   _u(0x0000ffff)
457 #define PIO_INSTR_MEM2_RESET  _u(0x00000000)
458 #define PIO_INSTR_MEM2_MSB    _u(15)
459 #define PIO_INSTR_MEM2_LSB    _u(0)
460 #define PIO_INSTR_MEM2_ACCESS "WO"
461 // =============================================================================
462 // Register    : PIO_INSTR_MEM3
463 // Description : Write-only access to instruction memory location 3
464 #define PIO_INSTR_MEM3_OFFSET _u(0x00000054)
465 #define PIO_INSTR_MEM3_BITS   _u(0x0000ffff)
466 #define PIO_INSTR_MEM3_RESET  _u(0x00000000)
467 #define PIO_INSTR_MEM3_MSB    _u(15)
468 #define PIO_INSTR_MEM3_LSB    _u(0)
469 #define PIO_INSTR_MEM3_ACCESS "WO"
470 // =============================================================================
471 // Register    : PIO_INSTR_MEM4
472 // Description : Write-only access to instruction memory location 4
473 #define PIO_INSTR_MEM4_OFFSET _u(0x00000058)
474 #define PIO_INSTR_MEM4_BITS   _u(0x0000ffff)
475 #define PIO_INSTR_MEM4_RESET  _u(0x00000000)
476 #define PIO_INSTR_MEM4_MSB    _u(15)
477 #define PIO_INSTR_MEM4_LSB    _u(0)
478 #define PIO_INSTR_MEM4_ACCESS "WO"
479 // =============================================================================
480 // Register    : PIO_INSTR_MEM5
481 // Description : Write-only access to instruction memory location 5
482 #define PIO_INSTR_MEM5_OFFSET _u(0x0000005c)
483 #define PIO_INSTR_MEM5_BITS   _u(0x0000ffff)
484 #define PIO_INSTR_MEM5_RESET  _u(0x00000000)
485 #define PIO_INSTR_MEM5_MSB    _u(15)
486 #define PIO_INSTR_MEM5_LSB    _u(0)
487 #define PIO_INSTR_MEM5_ACCESS "WO"
488 // =============================================================================
489 // Register    : PIO_INSTR_MEM6
490 // Description : Write-only access to instruction memory location 6
491 #define PIO_INSTR_MEM6_OFFSET _u(0x00000060)
492 #define PIO_INSTR_MEM6_BITS   _u(0x0000ffff)
493 #define PIO_INSTR_MEM6_RESET  _u(0x00000000)
494 #define PIO_INSTR_MEM6_MSB    _u(15)
495 #define PIO_INSTR_MEM6_LSB    _u(0)
496 #define PIO_INSTR_MEM6_ACCESS "WO"
497 // =============================================================================
498 // Register    : PIO_INSTR_MEM7
499 // Description : Write-only access to instruction memory location 7
500 #define PIO_INSTR_MEM7_OFFSET _u(0x00000064)
501 #define PIO_INSTR_MEM7_BITS   _u(0x0000ffff)
502 #define PIO_INSTR_MEM7_RESET  _u(0x00000000)
503 #define PIO_INSTR_MEM7_MSB    _u(15)
504 #define PIO_INSTR_MEM7_LSB    _u(0)
505 #define PIO_INSTR_MEM7_ACCESS "WO"
506 // =============================================================================
507 // Register    : PIO_INSTR_MEM8
508 // Description : Write-only access to instruction memory location 8
509 #define PIO_INSTR_MEM8_OFFSET _u(0x00000068)
510 #define PIO_INSTR_MEM8_BITS   _u(0x0000ffff)
511 #define PIO_INSTR_MEM8_RESET  _u(0x00000000)
512 #define PIO_INSTR_MEM8_MSB    _u(15)
513 #define PIO_INSTR_MEM8_LSB    _u(0)
514 #define PIO_INSTR_MEM8_ACCESS "WO"
515 // =============================================================================
516 // Register    : PIO_INSTR_MEM9
517 // Description : Write-only access to instruction memory location 9
518 #define PIO_INSTR_MEM9_OFFSET _u(0x0000006c)
519 #define PIO_INSTR_MEM9_BITS   _u(0x0000ffff)
520 #define PIO_INSTR_MEM9_RESET  _u(0x00000000)
521 #define PIO_INSTR_MEM9_MSB    _u(15)
522 #define PIO_INSTR_MEM9_LSB    _u(0)
523 #define PIO_INSTR_MEM9_ACCESS "WO"
524 // =============================================================================
525 // Register    : PIO_INSTR_MEM10
526 // Description : Write-only access to instruction memory location 10
527 #define PIO_INSTR_MEM10_OFFSET _u(0x00000070)
528 #define PIO_INSTR_MEM10_BITS   _u(0x0000ffff)
529 #define PIO_INSTR_MEM10_RESET  _u(0x00000000)
530 #define PIO_INSTR_MEM10_MSB    _u(15)
531 #define PIO_INSTR_MEM10_LSB    _u(0)
532 #define PIO_INSTR_MEM10_ACCESS "WO"
533 // =============================================================================
534 // Register    : PIO_INSTR_MEM11
535 // Description : Write-only access to instruction memory location 11
536 #define PIO_INSTR_MEM11_OFFSET _u(0x00000074)
537 #define PIO_INSTR_MEM11_BITS   _u(0x0000ffff)
538 #define PIO_INSTR_MEM11_RESET  _u(0x00000000)
539 #define PIO_INSTR_MEM11_MSB    _u(15)
540 #define PIO_INSTR_MEM11_LSB    _u(0)
541 #define PIO_INSTR_MEM11_ACCESS "WO"
542 // =============================================================================
543 // Register    : PIO_INSTR_MEM12
544 // Description : Write-only access to instruction memory location 12
545 #define PIO_INSTR_MEM12_OFFSET _u(0x00000078)
546 #define PIO_INSTR_MEM12_BITS   _u(0x0000ffff)
547 #define PIO_INSTR_MEM12_RESET  _u(0x00000000)
548 #define PIO_INSTR_MEM12_MSB    _u(15)
549 #define PIO_INSTR_MEM12_LSB    _u(0)
550 #define PIO_INSTR_MEM12_ACCESS "WO"
551 // =============================================================================
552 // Register    : PIO_INSTR_MEM13
553 // Description : Write-only access to instruction memory location 13
554 #define PIO_INSTR_MEM13_OFFSET _u(0x0000007c)
555 #define PIO_INSTR_MEM13_BITS   _u(0x0000ffff)
556 #define PIO_INSTR_MEM13_RESET  _u(0x00000000)
557 #define PIO_INSTR_MEM13_MSB    _u(15)
558 #define PIO_INSTR_MEM13_LSB    _u(0)
559 #define PIO_INSTR_MEM13_ACCESS "WO"
560 // =============================================================================
561 // Register    : PIO_INSTR_MEM14
562 // Description : Write-only access to instruction memory location 14
563 #define PIO_INSTR_MEM14_OFFSET _u(0x00000080)
564 #define PIO_INSTR_MEM14_BITS   _u(0x0000ffff)
565 #define PIO_INSTR_MEM14_RESET  _u(0x00000000)
566 #define PIO_INSTR_MEM14_MSB    _u(15)
567 #define PIO_INSTR_MEM14_LSB    _u(0)
568 #define PIO_INSTR_MEM14_ACCESS "WO"
569 // =============================================================================
570 // Register    : PIO_INSTR_MEM15
571 // Description : Write-only access to instruction memory location 15
572 #define PIO_INSTR_MEM15_OFFSET _u(0x00000084)
573 #define PIO_INSTR_MEM15_BITS   _u(0x0000ffff)
574 #define PIO_INSTR_MEM15_RESET  _u(0x00000000)
575 #define PIO_INSTR_MEM15_MSB    _u(15)
576 #define PIO_INSTR_MEM15_LSB    _u(0)
577 #define PIO_INSTR_MEM15_ACCESS "WO"
578 // =============================================================================
579 // Register    : PIO_INSTR_MEM16
580 // Description : Write-only access to instruction memory location 16
581 #define PIO_INSTR_MEM16_OFFSET _u(0x00000088)
582 #define PIO_INSTR_MEM16_BITS   _u(0x0000ffff)
583 #define PIO_INSTR_MEM16_RESET  _u(0x00000000)
584 #define PIO_INSTR_MEM16_MSB    _u(15)
585 #define PIO_INSTR_MEM16_LSB    _u(0)
586 #define PIO_INSTR_MEM16_ACCESS "WO"
587 // =============================================================================
588 // Register    : PIO_INSTR_MEM17
589 // Description : Write-only access to instruction memory location 17
590 #define PIO_INSTR_MEM17_OFFSET _u(0x0000008c)
591 #define PIO_INSTR_MEM17_BITS   _u(0x0000ffff)
592 #define PIO_INSTR_MEM17_RESET  _u(0x00000000)
593 #define PIO_INSTR_MEM17_MSB    _u(15)
594 #define PIO_INSTR_MEM17_LSB    _u(0)
595 #define PIO_INSTR_MEM17_ACCESS "WO"
596 // =============================================================================
597 // Register    : PIO_INSTR_MEM18
598 // Description : Write-only access to instruction memory location 18
599 #define PIO_INSTR_MEM18_OFFSET _u(0x00000090)
600 #define PIO_INSTR_MEM18_BITS   _u(0x0000ffff)
601 #define PIO_INSTR_MEM18_RESET  _u(0x00000000)
602 #define PIO_INSTR_MEM18_MSB    _u(15)
603 #define PIO_INSTR_MEM18_LSB    _u(0)
604 #define PIO_INSTR_MEM18_ACCESS "WO"
605 // =============================================================================
606 // Register    : PIO_INSTR_MEM19
607 // Description : Write-only access to instruction memory location 19
608 #define PIO_INSTR_MEM19_OFFSET _u(0x00000094)
609 #define PIO_INSTR_MEM19_BITS   _u(0x0000ffff)
610 #define PIO_INSTR_MEM19_RESET  _u(0x00000000)
611 #define PIO_INSTR_MEM19_MSB    _u(15)
612 #define PIO_INSTR_MEM19_LSB    _u(0)
613 #define PIO_INSTR_MEM19_ACCESS "WO"
614 // =============================================================================
615 // Register    : PIO_INSTR_MEM20
616 // Description : Write-only access to instruction memory location 20
617 #define PIO_INSTR_MEM20_OFFSET _u(0x00000098)
618 #define PIO_INSTR_MEM20_BITS   _u(0x0000ffff)
619 #define PIO_INSTR_MEM20_RESET  _u(0x00000000)
620 #define PIO_INSTR_MEM20_MSB    _u(15)
621 #define PIO_INSTR_MEM20_LSB    _u(0)
622 #define PIO_INSTR_MEM20_ACCESS "WO"
623 // =============================================================================
624 // Register    : PIO_INSTR_MEM21
625 // Description : Write-only access to instruction memory location 21
626 #define PIO_INSTR_MEM21_OFFSET _u(0x0000009c)
627 #define PIO_INSTR_MEM21_BITS   _u(0x0000ffff)
628 #define PIO_INSTR_MEM21_RESET  _u(0x00000000)
629 #define PIO_INSTR_MEM21_MSB    _u(15)
630 #define PIO_INSTR_MEM21_LSB    _u(0)
631 #define PIO_INSTR_MEM21_ACCESS "WO"
632 // =============================================================================
633 // Register    : PIO_INSTR_MEM22
634 // Description : Write-only access to instruction memory location 22
635 #define PIO_INSTR_MEM22_OFFSET _u(0x000000a0)
636 #define PIO_INSTR_MEM22_BITS   _u(0x0000ffff)
637 #define PIO_INSTR_MEM22_RESET  _u(0x00000000)
638 #define PIO_INSTR_MEM22_MSB    _u(15)
639 #define PIO_INSTR_MEM22_LSB    _u(0)
640 #define PIO_INSTR_MEM22_ACCESS "WO"
641 // =============================================================================
642 // Register    : PIO_INSTR_MEM23
643 // Description : Write-only access to instruction memory location 23
644 #define PIO_INSTR_MEM23_OFFSET _u(0x000000a4)
645 #define PIO_INSTR_MEM23_BITS   _u(0x0000ffff)
646 #define PIO_INSTR_MEM23_RESET  _u(0x00000000)
647 #define PIO_INSTR_MEM23_MSB    _u(15)
648 #define PIO_INSTR_MEM23_LSB    _u(0)
649 #define PIO_INSTR_MEM23_ACCESS "WO"
650 // =============================================================================
651 // Register    : PIO_INSTR_MEM24
652 // Description : Write-only access to instruction memory location 24
653 #define PIO_INSTR_MEM24_OFFSET _u(0x000000a8)
654 #define PIO_INSTR_MEM24_BITS   _u(0x0000ffff)
655 #define PIO_INSTR_MEM24_RESET  _u(0x00000000)
656 #define PIO_INSTR_MEM24_MSB    _u(15)
657 #define PIO_INSTR_MEM24_LSB    _u(0)
658 #define PIO_INSTR_MEM24_ACCESS "WO"
659 // =============================================================================
660 // Register    : PIO_INSTR_MEM25
661 // Description : Write-only access to instruction memory location 25
662 #define PIO_INSTR_MEM25_OFFSET _u(0x000000ac)
663 #define PIO_INSTR_MEM25_BITS   _u(0x0000ffff)
664 #define PIO_INSTR_MEM25_RESET  _u(0x00000000)
665 #define PIO_INSTR_MEM25_MSB    _u(15)
666 #define PIO_INSTR_MEM25_LSB    _u(0)
667 #define PIO_INSTR_MEM25_ACCESS "WO"
668 // =============================================================================
669 // Register    : PIO_INSTR_MEM26
670 // Description : Write-only access to instruction memory location 26
671 #define PIO_INSTR_MEM26_OFFSET _u(0x000000b0)
672 #define PIO_INSTR_MEM26_BITS   _u(0x0000ffff)
673 #define PIO_INSTR_MEM26_RESET  _u(0x00000000)
674 #define PIO_INSTR_MEM26_MSB    _u(15)
675 #define PIO_INSTR_MEM26_LSB    _u(0)
676 #define PIO_INSTR_MEM26_ACCESS "WO"
677 // =============================================================================
678 // Register    : PIO_INSTR_MEM27
679 // Description : Write-only access to instruction memory location 27
680 #define PIO_INSTR_MEM27_OFFSET _u(0x000000b4)
681 #define PIO_INSTR_MEM27_BITS   _u(0x0000ffff)
682 #define PIO_INSTR_MEM27_RESET  _u(0x00000000)
683 #define PIO_INSTR_MEM27_MSB    _u(15)
684 #define PIO_INSTR_MEM27_LSB    _u(0)
685 #define PIO_INSTR_MEM27_ACCESS "WO"
686 // =============================================================================
687 // Register    : PIO_INSTR_MEM28
688 // Description : Write-only access to instruction memory location 28
689 #define PIO_INSTR_MEM28_OFFSET _u(0x000000b8)
690 #define PIO_INSTR_MEM28_BITS   _u(0x0000ffff)
691 #define PIO_INSTR_MEM28_RESET  _u(0x00000000)
692 #define PIO_INSTR_MEM28_MSB    _u(15)
693 #define PIO_INSTR_MEM28_LSB    _u(0)
694 #define PIO_INSTR_MEM28_ACCESS "WO"
695 // =============================================================================
696 // Register    : PIO_INSTR_MEM29
697 // Description : Write-only access to instruction memory location 29
698 #define PIO_INSTR_MEM29_OFFSET _u(0x000000bc)
699 #define PIO_INSTR_MEM29_BITS   _u(0x0000ffff)
700 #define PIO_INSTR_MEM29_RESET  _u(0x00000000)
701 #define PIO_INSTR_MEM29_MSB    _u(15)
702 #define PIO_INSTR_MEM29_LSB    _u(0)
703 #define PIO_INSTR_MEM29_ACCESS "WO"
704 // =============================================================================
705 // Register    : PIO_INSTR_MEM30
706 // Description : Write-only access to instruction memory location 30
707 #define PIO_INSTR_MEM30_OFFSET _u(0x000000c0)
708 #define PIO_INSTR_MEM30_BITS   _u(0x0000ffff)
709 #define PIO_INSTR_MEM30_RESET  _u(0x00000000)
710 #define PIO_INSTR_MEM30_MSB    _u(15)
711 #define PIO_INSTR_MEM30_LSB    _u(0)
712 #define PIO_INSTR_MEM30_ACCESS "WO"
713 // =============================================================================
714 // Register    : PIO_INSTR_MEM31
715 // Description : Write-only access to instruction memory location 31
716 #define PIO_INSTR_MEM31_OFFSET _u(0x000000c4)
717 #define PIO_INSTR_MEM31_BITS   _u(0x0000ffff)
718 #define PIO_INSTR_MEM31_RESET  _u(0x00000000)
719 #define PIO_INSTR_MEM31_MSB    _u(15)
720 #define PIO_INSTR_MEM31_LSB    _u(0)
721 #define PIO_INSTR_MEM31_ACCESS "WO"
722 // =============================================================================
723 // Register    : PIO_SM0_CLKDIV
724 // Description : Clock divisor register for state machine 0
725 //               Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256)
726 #define PIO_SM0_CLKDIV_OFFSET _u(0x000000c8)
727 #define PIO_SM0_CLKDIV_BITS   _u(0xffffff00)
728 #define PIO_SM0_CLKDIV_RESET  _u(0x00010000)
729 // -----------------------------------------------------------------------------
730 // Field       : PIO_SM0_CLKDIV_INT
731 // Description : Effective frequency is sysclk/(int + frac/256).
732 //               Value of 0 is interpreted as 65536. If INT is 0, FRAC must also
733 //               be 0.
734 #define PIO_SM0_CLKDIV_INT_RESET  _u(0x0001)
735 #define PIO_SM0_CLKDIV_INT_BITS   _u(0xffff0000)
736 #define PIO_SM0_CLKDIV_INT_MSB    _u(31)
737 #define PIO_SM0_CLKDIV_INT_LSB    _u(16)
738 #define PIO_SM0_CLKDIV_INT_ACCESS "RW"
739 // -----------------------------------------------------------------------------
740 // Field       : PIO_SM0_CLKDIV_FRAC
741 // Description : Fractional part of clock divisor
742 #define PIO_SM0_CLKDIV_FRAC_RESET  _u(0x00)
743 #define PIO_SM0_CLKDIV_FRAC_BITS   _u(0x0000ff00)
744 #define PIO_SM0_CLKDIV_FRAC_MSB    _u(15)
745 #define PIO_SM0_CLKDIV_FRAC_LSB    _u(8)
746 #define PIO_SM0_CLKDIV_FRAC_ACCESS "RW"
747 // =============================================================================
748 // Register    : PIO_SM0_EXECCTRL
749 // Description : Execution/behavioural settings for state machine 0
750 #define PIO_SM0_EXECCTRL_OFFSET _u(0x000000cc)
751 #define PIO_SM0_EXECCTRL_BITS   _u(0xffffff9f)
752 #define PIO_SM0_EXECCTRL_RESET  _u(0x0001f000)
753 // -----------------------------------------------------------------------------
754 // Field       : PIO_SM0_EXECCTRL_EXEC_STALLED
755 // Description : If 1, an instruction written to SMx_INSTR is stalled, and
756 //               latched by the state machine. Will clear to 0 once this
757 //               instruction completes.
758 #define PIO_SM0_EXECCTRL_EXEC_STALLED_RESET  _u(0x0)
759 #define PIO_SM0_EXECCTRL_EXEC_STALLED_BITS   _u(0x80000000)
760 #define PIO_SM0_EXECCTRL_EXEC_STALLED_MSB    _u(31)
761 #define PIO_SM0_EXECCTRL_EXEC_STALLED_LSB    _u(31)
762 #define PIO_SM0_EXECCTRL_EXEC_STALLED_ACCESS "RO"
763 // -----------------------------------------------------------------------------
764 // Field       : PIO_SM0_EXECCTRL_SIDE_EN
765 // Description : If 1, the MSB of the Delay/Side-set instruction field is used
766 //               as side-set enable, rather than a side-set data bit. This
767 //               allows instructions to perform side-set optionally, rather than
768 //               on every instruction, but the maximum possible side-set width
769 //               is reduced from 5 to 4. Note that the value of
770 //               PINCTRL_SIDESET_COUNT is inclusive of this enable bit.
771 #define PIO_SM0_EXECCTRL_SIDE_EN_RESET  _u(0x0)
772 #define PIO_SM0_EXECCTRL_SIDE_EN_BITS   _u(0x40000000)
773 #define PIO_SM0_EXECCTRL_SIDE_EN_MSB    _u(30)
774 #define PIO_SM0_EXECCTRL_SIDE_EN_LSB    _u(30)
775 #define PIO_SM0_EXECCTRL_SIDE_EN_ACCESS "RW"
776 // -----------------------------------------------------------------------------
777 // Field       : PIO_SM0_EXECCTRL_SIDE_PINDIR
778 // Description : If 1, side-set data is asserted to pin directions, instead of
779 //               pin values
780 #define PIO_SM0_EXECCTRL_SIDE_PINDIR_RESET  _u(0x0)
781 #define PIO_SM0_EXECCTRL_SIDE_PINDIR_BITS   _u(0x20000000)
782 #define PIO_SM0_EXECCTRL_SIDE_PINDIR_MSB    _u(29)
783 #define PIO_SM0_EXECCTRL_SIDE_PINDIR_LSB    _u(29)
784 #define PIO_SM0_EXECCTRL_SIDE_PINDIR_ACCESS "RW"
785 // -----------------------------------------------------------------------------
786 // Field       : PIO_SM0_EXECCTRL_JMP_PIN
787 // Description : The GPIO number to use as condition for JMP PIN. Unaffected by
788 //               input mapping.
789 #define PIO_SM0_EXECCTRL_JMP_PIN_RESET  _u(0x00)
790 #define PIO_SM0_EXECCTRL_JMP_PIN_BITS   _u(0x1f000000)
791 #define PIO_SM0_EXECCTRL_JMP_PIN_MSB    _u(28)
792 #define PIO_SM0_EXECCTRL_JMP_PIN_LSB    _u(24)
793 #define PIO_SM0_EXECCTRL_JMP_PIN_ACCESS "RW"
794 // -----------------------------------------------------------------------------
795 // Field       : PIO_SM0_EXECCTRL_OUT_EN_SEL
796 // Description : Which data bit to use for inline OUT enable
797 #define PIO_SM0_EXECCTRL_OUT_EN_SEL_RESET  _u(0x00)
798 #define PIO_SM0_EXECCTRL_OUT_EN_SEL_BITS   _u(0x00f80000)
799 #define PIO_SM0_EXECCTRL_OUT_EN_SEL_MSB    _u(23)
800 #define PIO_SM0_EXECCTRL_OUT_EN_SEL_LSB    _u(19)
801 #define PIO_SM0_EXECCTRL_OUT_EN_SEL_ACCESS "RW"
802 // -----------------------------------------------------------------------------
803 // Field       : PIO_SM0_EXECCTRL_INLINE_OUT_EN
804 // Description : If 1, use a bit of OUT data as an auxiliary write enable
805 //               When used in conjunction with OUT_STICKY, writes with an enable
806 //               of 0 will
807 //               deassert the latest pin write. This can create useful
808 //               masking/override behaviour
809 //               due to the priority ordering of state machine pin writes (SM0 <
810 //               SM1 < ...)
811 #define PIO_SM0_EXECCTRL_INLINE_OUT_EN_RESET  _u(0x0)
812 #define PIO_SM0_EXECCTRL_INLINE_OUT_EN_BITS   _u(0x00040000)
813 #define PIO_SM0_EXECCTRL_INLINE_OUT_EN_MSB    _u(18)
814 #define PIO_SM0_EXECCTRL_INLINE_OUT_EN_LSB    _u(18)
815 #define PIO_SM0_EXECCTRL_INLINE_OUT_EN_ACCESS "RW"
816 // -----------------------------------------------------------------------------
817 // Field       : PIO_SM0_EXECCTRL_OUT_STICKY
818 // Description : Continuously assert the most recent OUT/SET to the pins
819 #define PIO_SM0_EXECCTRL_OUT_STICKY_RESET  _u(0x0)
820 #define PIO_SM0_EXECCTRL_OUT_STICKY_BITS   _u(0x00020000)
821 #define PIO_SM0_EXECCTRL_OUT_STICKY_MSB    _u(17)
822 #define PIO_SM0_EXECCTRL_OUT_STICKY_LSB    _u(17)
823 #define PIO_SM0_EXECCTRL_OUT_STICKY_ACCESS "RW"
824 // -----------------------------------------------------------------------------
825 // Field       : PIO_SM0_EXECCTRL_WRAP_TOP
826 // Description : After reaching this address, execution is wrapped to
827 //               wrap_bottom.
828 //               If the instruction is a jump, and the jump condition is true,
829 //               the jump takes priority.
830 #define PIO_SM0_EXECCTRL_WRAP_TOP_RESET  _u(0x1f)
831 #define PIO_SM0_EXECCTRL_WRAP_TOP_BITS   _u(0x0001f000)
832 #define PIO_SM0_EXECCTRL_WRAP_TOP_MSB    _u(16)
833 #define PIO_SM0_EXECCTRL_WRAP_TOP_LSB    _u(12)
834 #define PIO_SM0_EXECCTRL_WRAP_TOP_ACCESS "RW"
835 // -----------------------------------------------------------------------------
836 // Field       : PIO_SM0_EXECCTRL_WRAP_BOTTOM
837 // Description : After reaching wrap_top, execution is wrapped to this address.
838 #define PIO_SM0_EXECCTRL_WRAP_BOTTOM_RESET  _u(0x00)
839 #define PIO_SM0_EXECCTRL_WRAP_BOTTOM_BITS   _u(0x00000f80)
840 #define PIO_SM0_EXECCTRL_WRAP_BOTTOM_MSB    _u(11)
841 #define PIO_SM0_EXECCTRL_WRAP_BOTTOM_LSB    _u(7)
842 #define PIO_SM0_EXECCTRL_WRAP_BOTTOM_ACCESS "RW"
843 // -----------------------------------------------------------------------------
844 // Field       : PIO_SM0_EXECCTRL_STATUS_SEL
845 // Description : Comparison used for the MOV x, STATUS instruction.
846 //               0x0 -> All-ones if TX FIFO level < N, otherwise all-zeroes
847 //               0x1 -> All-ones if RX FIFO level < N, otherwise all-zeroes
848 #define PIO_SM0_EXECCTRL_STATUS_SEL_RESET  _u(0x0)
849 #define PIO_SM0_EXECCTRL_STATUS_SEL_BITS   _u(0x00000010)
850 #define PIO_SM0_EXECCTRL_STATUS_SEL_MSB    _u(4)
851 #define PIO_SM0_EXECCTRL_STATUS_SEL_LSB    _u(4)
852 #define PIO_SM0_EXECCTRL_STATUS_SEL_ACCESS "RW"
853 #define PIO_SM0_EXECCTRL_STATUS_SEL_VALUE_TXLEVEL _u(0x0)
854 #define PIO_SM0_EXECCTRL_STATUS_SEL_VALUE_RXLEVEL _u(0x1)
855 // -----------------------------------------------------------------------------
856 // Field       : PIO_SM0_EXECCTRL_STATUS_N
857 // Description : Comparison level for the MOV x, STATUS instruction
858 #define PIO_SM0_EXECCTRL_STATUS_N_RESET  _u(0x0)
859 #define PIO_SM0_EXECCTRL_STATUS_N_BITS   _u(0x0000000f)
860 #define PIO_SM0_EXECCTRL_STATUS_N_MSB    _u(3)
861 #define PIO_SM0_EXECCTRL_STATUS_N_LSB    _u(0)
862 #define PIO_SM0_EXECCTRL_STATUS_N_ACCESS "RW"
863 // =============================================================================
864 // Register    : PIO_SM0_SHIFTCTRL
865 // Description : Control behaviour of the input/output shift registers for state
866 //               machine 0
867 #define PIO_SM0_SHIFTCTRL_OFFSET _u(0x000000d0)
868 #define PIO_SM0_SHIFTCTRL_BITS   _u(0xffff0000)
869 #define PIO_SM0_SHIFTCTRL_RESET  _u(0x000c0000)
870 // -----------------------------------------------------------------------------
871 // Field       : PIO_SM0_SHIFTCTRL_FJOIN_RX
872 // Description : When 1, RX FIFO steals the TX FIFO's storage, and becomes twice
873 //               as deep.
874 //               TX FIFO is disabled as a result (always reads as both full and
875 //               empty).
876 //               FIFOs are flushed when this bit is changed.
877 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_RESET  _u(0x0)
878 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_BITS   _u(0x80000000)
879 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_MSB    _u(31)
880 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_LSB    _u(31)
881 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_ACCESS "RW"
882 // -----------------------------------------------------------------------------
883 // Field       : PIO_SM0_SHIFTCTRL_FJOIN_TX
884 // Description : When 1, TX FIFO steals the RX FIFO's storage, and becomes twice
885 //               as deep.
886 //               RX FIFO is disabled as a result (always reads as both full and
887 //               empty).
888 //               FIFOs are flushed when this bit is changed.
889 #define PIO_SM0_SHIFTCTRL_FJOIN_TX_RESET  _u(0x0)
890 #define PIO_SM0_SHIFTCTRL_FJOIN_TX_BITS   _u(0x40000000)
891 #define PIO_SM0_SHIFTCTRL_FJOIN_TX_MSB    _u(30)
892 #define PIO_SM0_SHIFTCTRL_FJOIN_TX_LSB    _u(30)
893 #define PIO_SM0_SHIFTCTRL_FJOIN_TX_ACCESS "RW"
894 // -----------------------------------------------------------------------------
895 // Field       : PIO_SM0_SHIFTCTRL_PULL_THRESH
896 // Description : Number of bits shifted out of OSR before autopull, or
897 //               conditional pull (PULL IFEMPTY), will take place.
898 //               Write 0 for value of 32.
899 #define PIO_SM0_SHIFTCTRL_PULL_THRESH_RESET  _u(0x00)
900 #define PIO_SM0_SHIFTCTRL_PULL_THRESH_BITS   _u(0x3e000000)
901 #define PIO_SM0_SHIFTCTRL_PULL_THRESH_MSB    _u(29)
902 #define PIO_SM0_SHIFTCTRL_PULL_THRESH_LSB    _u(25)
903 #define PIO_SM0_SHIFTCTRL_PULL_THRESH_ACCESS "RW"
904 // -----------------------------------------------------------------------------
905 // Field       : PIO_SM0_SHIFTCTRL_PUSH_THRESH
906 // Description : Number of bits shifted into ISR before autopush, or conditional
907 //               push (PUSH IFFULL), will take place.
908 //               Write 0 for value of 32.
909 #define PIO_SM0_SHIFTCTRL_PUSH_THRESH_RESET  _u(0x00)
910 #define PIO_SM0_SHIFTCTRL_PUSH_THRESH_BITS   _u(0x01f00000)
911 #define PIO_SM0_SHIFTCTRL_PUSH_THRESH_MSB    _u(24)
912 #define PIO_SM0_SHIFTCTRL_PUSH_THRESH_LSB    _u(20)
913 #define PIO_SM0_SHIFTCTRL_PUSH_THRESH_ACCESS "RW"
914 // -----------------------------------------------------------------------------
915 // Field       : PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR
916 // Description : 1 = shift out of output shift register to right. 0 = to left.
917 #define PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_RESET  _u(0x1)
918 #define PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_BITS   _u(0x00080000)
919 #define PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_MSB    _u(19)
920 #define PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_LSB    _u(19)
921 #define PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_ACCESS "RW"
922 // -----------------------------------------------------------------------------
923 // Field       : PIO_SM0_SHIFTCTRL_IN_SHIFTDIR
924 // Description : 1 = shift input shift register to right (data enters from
925 //               left). 0 = to left.
926 #define PIO_SM0_SHIFTCTRL_IN_SHIFTDIR_RESET  _u(0x1)
927 #define PIO_SM0_SHIFTCTRL_IN_SHIFTDIR_BITS   _u(0x00040000)
928 #define PIO_SM0_SHIFTCTRL_IN_SHIFTDIR_MSB    _u(18)
929 #define PIO_SM0_SHIFTCTRL_IN_SHIFTDIR_LSB    _u(18)
930 #define PIO_SM0_SHIFTCTRL_IN_SHIFTDIR_ACCESS "RW"
931 // -----------------------------------------------------------------------------
932 // Field       : PIO_SM0_SHIFTCTRL_AUTOPULL
933 // Description : Pull automatically when the output shift register is emptied,
934 //               i.e. on or following an OUT instruction which causes the output
935 //               shift counter to reach or exceed PULL_THRESH.
936 #define PIO_SM0_SHIFTCTRL_AUTOPULL_RESET  _u(0x0)
937 #define PIO_SM0_SHIFTCTRL_AUTOPULL_BITS   _u(0x00020000)
938 #define PIO_SM0_SHIFTCTRL_AUTOPULL_MSB    _u(17)
939 #define PIO_SM0_SHIFTCTRL_AUTOPULL_LSB    _u(17)
940 #define PIO_SM0_SHIFTCTRL_AUTOPULL_ACCESS "RW"
941 // -----------------------------------------------------------------------------
942 // Field       : PIO_SM0_SHIFTCTRL_AUTOPUSH
943 // Description : Push automatically when the input shift register is filled,
944 //               i.e. on an IN instruction which causes the input shift counter
945 //               to reach or exceed PUSH_THRESH.
946 #define PIO_SM0_SHIFTCTRL_AUTOPUSH_RESET  _u(0x0)
947 #define PIO_SM0_SHIFTCTRL_AUTOPUSH_BITS   _u(0x00010000)
948 #define PIO_SM0_SHIFTCTRL_AUTOPUSH_MSB    _u(16)
949 #define PIO_SM0_SHIFTCTRL_AUTOPUSH_LSB    _u(16)
950 #define PIO_SM0_SHIFTCTRL_AUTOPUSH_ACCESS "RW"
951 // =============================================================================
952 // Register    : PIO_SM0_ADDR
953 // Description : Current instruction address of state machine 0
954 #define PIO_SM0_ADDR_OFFSET _u(0x000000d4)
955 #define PIO_SM0_ADDR_BITS   _u(0x0000001f)
956 #define PIO_SM0_ADDR_RESET  _u(0x00000000)
957 #define PIO_SM0_ADDR_MSB    _u(4)
958 #define PIO_SM0_ADDR_LSB    _u(0)
959 #define PIO_SM0_ADDR_ACCESS "RO"
960 // =============================================================================
961 // Register    : PIO_SM0_INSTR
962 // Description : Read to see the instruction currently addressed by state
963 //               machine 0's program counter
964 //               Write to execute an instruction immediately (including jumps)
965 //               and then resume execution.
966 #define PIO_SM0_INSTR_OFFSET _u(0x000000d8)
967 #define PIO_SM0_INSTR_BITS   _u(0x0000ffff)
968 #define PIO_SM0_INSTR_RESET  "-"
969 #define PIO_SM0_INSTR_MSB    _u(15)
970 #define PIO_SM0_INSTR_LSB    _u(0)
971 #define PIO_SM0_INSTR_ACCESS "RW"
972 // =============================================================================
973 // Register    : PIO_SM0_PINCTRL
974 // Description : State machine pin control
975 #define PIO_SM0_PINCTRL_OFFSET _u(0x000000dc)
976 #define PIO_SM0_PINCTRL_BITS   _u(0xffffffff)
977 #define PIO_SM0_PINCTRL_RESET  _u(0x14000000)
978 // -----------------------------------------------------------------------------
979 // Field       : PIO_SM0_PINCTRL_SIDESET_COUNT
980 // Description : The number of MSBs of the Delay/Side-set instruction field
981 //               which are used for side-set. Inclusive of the enable bit, if
982 //               present. Minimum of 0 (all delay bits, no side-set) and maximum
983 //               of 5 (all side-set, no delay).
984 #define PIO_SM0_PINCTRL_SIDESET_COUNT_RESET  _u(0x0)
985 #define PIO_SM0_PINCTRL_SIDESET_COUNT_BITS   _u(0xe0000000)
986 #define PIO_SM0_PINCTRL_SIDESET_COUNT_MSB    _u(31)
987 #define PIO_SM0_PINCTRL_SIDESET_COUNT_LSB    _u(29)
988 #define PIO_SM0_PINCTRL_SIDESET_COUNT_ACCESS "RW"
989 // -----------------------------------------------------------------------------
990 // Field       : PIO_SM0_PINCTRL_SET_COUNT
991 // Description : The number of pins asserted by a SET. In the range 0 to 5
992 //               inclusive.
993 #define PIO_SM0_PINCTRL_SET_COUNT_RESET  _u(0x5)
994 #define PIO_SM0_PINCTRL_SET_COUNT_BITS   _u(0x1c000000)
995 #define PIO_SM0_PINCTRL_SET_COUNT_MSB    _u(28)
996 #define PIO_SM0_PINCTRL_SET_COUNT_LSB    _u(26)
997 #define PIO_SM0_PINCTRL_SET_COUNT_ACCESS "RW"
998 // -----------------------------------------------------------------------------
999 // Field       : PIO_SM0_PINCTRL_OUT_COUNT
1000 // Description : The number of pins asserted by an OUT PINS, OUT PINDIRS or MOV
1001 //               PINS instruction. In the range 0 to 32 inclusive.
1002 #define PIO_SM0_PINCTRL_OUT_COUNT_RESET  _u(0x00)
1003 #define PIO_SM0_PINCTRL_OUT_COUNT_BITS   _u(0x03f00000)
1004 #define PIO_SM0_PINCTRL_OUT_COUNT_MSB    _u(25)
1005 #define PIO_SM0_PINCTRL_OUT_COUNT_LSB    _u(20)
1006 #define PIO_SM0_PINCTRL_OUT_COUNT_ACCESS "RW"
1007 // -----------------------------------------------------------------------------
1008 // Field       : PIO_SM0_PINCTRL_IN_BASE
1009 // Description : The pin which is mapped to the least-significant bit of a state
1010 //               machine's IN data bus. Higher-numbered pins are mapped to
1011 //               consecutively more-significant data bits, with a modulo of 32
1012 //               applied to pin number.
1013 #define PIO_SM0_PINCTRL_IN_BASE_RESET  _u(0x00)
1014 #define PIO_SM0_PINCTRL_IN_BASE_BITS   _u(0x000f8000)
1015 #define PIO_SM0_PINCTRL_IN_BASE_MSB    _u(19)
1016 #define PIO_SM0_PINCTRL_IN_BASE_LSB    _u(15)
1017 #define PIO_SM0_PINCTRL_IN_BASE_ACCESS "RW"
1018 // -----------------------------------------------------------------------------
1019 // Field       : PIO_SM0_PINCTRL_SIDESET_BASE
1020 // Description : The lowest-numbered pin that will be affected by a side-set
1021 //               operation. The MSBs of an instruction's side-set/delay field
1022 //               (up to 5, determined by SIDESET_COUNT) are used for side-set
1023 //               data, with the remaining LSBs used for delay. The least-
1024 //               significant bit of the side-set portion is the bit written to
1025 //               this pin, with more-significant bits written to higher-numbered
1026 //               pins.
1027 #define PIO_SM0_PINCTRL_SIDESET_BASE_RESET  _u(0x00)
1028 #define PIO_SM0_PINCTRL_SIDESET_BASE_BITS   _u(0x00007c00)
1029 #define PIO_SM0_PINCTRL_SIDESET_BASE_MSB    _u(14)
1030 #define PIO_SM0_PINCTRL_SIDESET_BASE_LSB    _u(10)
1031 #define PIO_SM0_PINCTRL_SIDESET_BASE_ACCESS "RW"
1032 // -----------------------------------------------------------------------------
1033 // Field       : PIO_SM0_PINCTRL_SET_BASE
1034 // Description : The lowest-numbered pin that will be affected by a SET PINS or
1035 //               SET PINDIRS instruction. The data written to this pin is the
1036 //               least-significant bit of the SET data.
1037 #define PIO_SM0_PINCTRL_SET_BASE_RESET  _u(0x00)
1038 #define PIO_SM0_PINCTRL_SET_BASE_BITS   _u(0x000003e0)
1039 #define PIO_SM0_PINCTRL_SET_BASE_MSB    _u(9)
1040 #define PIO_SM0_PINCTRL_SET_BASE_LSB    _u(5)
1041 #define PIO_SM0_PINCTRL_SET_BASE_ACCESS "RW"
1042 // -----------------------------------------------------------------------------
1043 // Field       : PIO_SM0_PINCTRL_OUT_BASE
1044 // Description : The lowest-numbered pin that will be affected by an OUT PINS,
1045 //               OUT PINDIRS or MOV PINS instruction. The data written to this
1046 //               pin will always be the least-significant bit of the OUT or MOV
1047 //               data.
1048 #define PIO_SM0_PINCTRL_OUT_BASE_RESET  _u(0x00)
1049 #define PIO_SM0_PINCTRL_OUT_BASE_BITS   _u(0x0000001f)
1050 #define PIO_SM0_PINCTRL_OUT_BASE_MSB    _u(4)
1051 #define PIO_SM0_PINCTRL_OUT_BASE_LSB    _u(0)
1052 #define PIO_SM0_PINCTRL_OUT_BASE_ACCESS "RW"
1053 // =============================================================================
1054 // Register    : PIO_SM1_CLKDIV
1055 // Description : Clock divisor register for state machine 1
1056 //               Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256)
1057 #define PIO_SM1_CLKDIV_OFFSET _u(0x000000e0)
1058 #define PIO_SM1_CLKDIV_BITS   _u(0xffffff00)
1059 #define PIO_SM1_CLKDIV_RESET  _u(0x00010000)
1060 // -----------------------------------------------------------------------------
1061 // Field       : PIO_SM1_CLKDIV_INT
1062 // Description : Effective frequency is sysclk/(int + frac/256).
1063 //               Value of 0 is interpreted as 65536. If INT is 0, FRAC must also
1064 //               be 0.
1065 #define PIO_SM1_CLKDIV_INT_RESET  _u(0x0001)
1066 #define PIO_SM1_CLKDIV_INT_BITS   _u(0xffff0000)
1067 #define PIO_SM1_CLKDIV_INT_MSB    _u(31)
1068 #define PIO_SM1_CLKDIV_INT_LSB    _u(16)
1069 #define PIO_SM1_CLKDIV_INT_ACCESS "RW"
1070 // -----------------------------------------------------------------------------
1071 // Field       : PIO_SM1_CLKDIV_FRAC
1072 // Description : Fractional part of clock divisor
1073 #define PIO_SM1_CLKDIV_FRAC_RESET  _u(0x00)
1074 #define PIO_SM1_CLKDIV_FRAC_BITS   _u(0x0000ff00)
1075 #define PIO_SM1_CLKDIV_FRAC_MSB    _u(15)
1076 #define PIO_SM1_CLKDIV_FRAC_LSB    _u(8)
1077 #define PIO_SM1_CLKDIV_FRAC_ACCESS "RW"
1078 // =============================================================================
1079 // Register    : PIO_SM1_EXECCTRL
1080 // Description : Execution/behavioural settings for state machine 1
1081 #define PIO_SM1_EXECCTRL_OFFSET _u(0x000000e4)
1082 #define PIO_SM1_EXECCTRL_BITS   _u(0xffffff9f)
1083 #define PIO_SM1_EXECCTRL_RESET  _u(0x0001f000)
1084 // -----------------------------------------------------------------------------
1085 // Field       : PIO_SM1_EXECCTRL_EXEC_STALLED
1086 // Description : If 1, an instruction written to SMx_INSTR is stalled, and
1087 //               latched by the state machine. Will clear to 0 once this
1088 //               instruction completes.
1089 #define PIO_SM1_EXECCTRL_EXEC_STALLED_RESET  _u(0x0)
1090 #define PIO_SM1_EXECCTRL_EXEC_STALLED_BITS   _u(0x80000000)
1091 #define PIO_SM1_EXECCTRL_EXEC_STALLED_MSB    _u(31)
1092 #define PIO_SM1_EXECCTRL_EXEC_STALLED_LSB    _u(31)
1093 #define PIO_SM1_EXECCTRL_EXEC_STALLED_ACCESS "RO"
1094 // -----------------------------------------------------------------------------
1095 // Field       : PIO_SM1_EXECCTRL_SIDE_EN
1096 // Description : If 1, the MSB of the Delay/Side-set instruction field is used
1097 //               as side-set enable, rather than a side-set data bit. This
1098 //               allows instructions to perform side-set optionally, rather than
1099 //               on every instruction, but the maximum possible side-set width
1100 //               is reduced from 5 to 4. Note that the value of
1101 //               PINCTRL_SIDESET_COUNT is inclusive of this enable bit.
1102 #define PIO_SM1_EXECCTRL_SIDE_EN_RESET  _u(0x0)
1103 #define PIO_SM1_EXECCTRL_SIDE_EN_BITS   _u(0x40000000)
1104 #define PIO_SM1_EXECCTRL_SIDE_EN_MSB    _u(30)
1105 #define PIO_SM1_EXECCTRL_SIDE_EN_LSB    _u(30)
1106 #define PIO_SM1_EXECCTRL_SIDE_EN_ACCESS "RW"
1107 // -----------------------------------------------------------------------------
1108 // Field       : PIO_SM1_EXECCTRL_SIDE_PINDIR
1109 // Description : If 1, side-set data is asserted to pin directions, instead of
1110 //               pin values
1111 #define PIO_SM1_EXECCTRL_SIDE_PINDIR_RESET  _u(0x0)
1112 #define PIO_SM1_EXECCTRL_SIDE_PINDIR_BITS   _u(0x20000000)
1113 #define PIO_SM1_EXECCTRL_SIDE_PINDIR_MSB    _u(29)
1114 #define PIO_SM1_EXECCTRL_SIDE_PINDIR_LSB    _u(29)
1115 #define PIO_SM1_EXECCTRL_SIDE_PINDIR_ACCESS "RW"
1116 // -----------------------------------------------------------------------------
1117 // Field       : PIO_SM1_EXECCTRL_JMP_PIN
1118 // Description : The GPIO number to use as condition for JMP PIN. Unaffected by
1119 //               input mapping.
1120 #define PIO_SM1_EXECCTRL_JMP_PIN_RESET  _u(0x00)
1121 #define PIO_SM1_EXECCTRL_JMP_PIN_BITS   _u(0x1f000000)
1122 #define PIO_SM1_EXECCTRL_JMP_PIN_MSB    _u(28)
1123 #define PIO_SM1_EXECCTRL_JMP_PIN_LSB    _u(24)
1124 #define PIO_SM1_EXECCTRL_JMP_PIN_ACCESS "RW"
1125 // -----------------------------------------------------------------------------
1126 // Field       : PIO_SM1_EXECCTRL_OUT_EN_SEL
1127 // Description : Which data bit to use for inline OUT enable
1128 #define PIO_SM1_EXECCTRL_OUT_EN_SEL_RESET  _u(0x00)
1129 #define PIO_SM1_EXECCTRL_OUT_EN_SEL_BITS   _u(0x00f80000)
1130 #define PIO_SM1_EXECCTRL_OUT_EN_SEL_MSB    _u(23)
1131 #define PIO_SM1_EXECCTRL_OUT_EN_SEL_LSB    _u(19)
1132 #define PIO_SM1_EXECCTRL_OUT_EN_SEL_ACCESS "RW"
1133 // -----------------------------------------------------------------------------
1134 // Field       : PIO_SM1_EXECCTRL_INLINE_OUT_EN
1135 // Description : If 1, use a bit of OUT data as an auxiliary write enable
1136 //               When used in conjunction with OUT_STICKY, writes with an enable
1137 //               of 0 will
1138 //               deassert the latest pin write. This can create useful
1139 //               masking/override behaviour
1140 //               due to the priority ordering of state machine pin writes (SM0 <
1141 //               SM1 < ...)
1142 #define PIO_SM1_EXECCTRL_INLINE_OUT_EN_RESET  _u(0x0)
1143 #define PIO_SM1_EXECCTRL_INLINE_OUT_EN_BITS   _u(0x00040000)
1144 #define PIO_SM1_EXECCTRL_INLINE_OUT_EN_MSB    _u(18)
1145 #define PIO_SM1_EXECCTRL_INLINE_OUT_EN_LSB    _u(18)
1146 #define PIO_SM1_EXECCTRL_INLINE_OUT_EN_ACCESS "RW"
1147 // -----------------------------------------------------------------------------
1148 // Field       : PIO_SM1_EXECCTRL_OUT_STICKY
1149 // Description : Continuously assert the most recent OUT/SET to the pins
1150 #define PIO_SM1_EXECCTRL_OUT_STICKY_RESET  _u(0x0)
1151 #define PIO_SM1_EXECCTRL_OUT_STICKY_BITS   _u(0x00020000)
1152 #define PIO_SM1_EXECCTRL_OUT_STICKY_MSB    _u(17)
1153 #define PIO_SM1_EXECCTRL_OUT_STICKY_LSB    _u(17)
1154 #define PIO_SM1_EXECCTRL_OUT_STICKY_ACCESS "RW"
1155 // -----------------------------------------------------------------------------
1156 // Field       : PIO_SM1_EXECCTRL_WRAP_TOP
1157 // Description : After reaching this address, execution is wrapped to
1158 //               wrap_bottom.
1159 //               If the instruction is a jump, and the jump condition is true,
1160 //               the jump takes priority.
1161 #define PIO_SM1_EXECCTRL_WRAP_TOP_RESET  _u(0x1f)
1162 #define PIO_SM1_EXECCTRL_WRAP_TOP_BITS   _u(0x0001f000)
1163 #define PIO_SM1_EXECCTRL_WRAP_TOP_MSB    _u(16)
1164 #define PIO_SM1_EXECCTRL_WRAP_TOP_LSB    _u(12)
1165 #define PIO_SM1_EXECCTRL_WRAP_TOP_ACCESS "RW"
1166 // -----------------------------------------------------------------------------
1167 // Field       : PIO_SM1_EXECCTRL_WRAP_BOTTOM
1168 // Description : After reaching wrap_top, execution is wrapped to this address.
1169 #define PIO_SM1_EXECCTRL_WRAP_BOTTOM_RESET  _u(0x00)
1170 #define PIO_SM1_EXECCTRL_WRAP_BOTTOM_BITS   _u(0x00000f80)
1171 #define PIO_SM1_EXECCTRL_WRAP_BOTTOM_MSB    _u(11)
1172 #define PIO_SM1_EXECCTRL_WRAP_BOTTOM_LSB    _u(7)
1173 #define PIO_SM1_EXECCTRL_WRAP_BOTTOM_ACCESS "RW"
1174 // -----------------------------------------------------------------------------
1175 // Field       : PIO_SM1_EXECCTRL_STATUS_SEL
1176 // Description : Comparison used for the MOV x, STATUS instruction.
1177 //               0x0 -> All-ones if TX FIFO level < N, otherwise all-zeroes
1178 //               0x1 -> All-ones if RX FIFO level < N, otherwise all-zeroes
1179 #define PIO_SM1_EXECCTRL_STATUS_SEL_RESET  _u(0x0)
1180 #define PIO_SM1_EXECCTRL_STATUS_SEL_BITS   _u(0x00000010)
1181 #define PIO_SM1_EXECCTRL_STATUS_SEL_MSB    _u(4)
1182 #define PIO_SM1_EXECCTRL_STATUS_SEL_LSB    _u(4)
1183 #define PIO_SM1_EXECCTRL_STATUS_SEL_ACCESS "RW"
1184 #define PIO_SM1_EXECCTRL_STATUS_SEL_VALUE_TXLEVEL _u(0x0)
1185 #define PIO_SM1_EXECCTRL_STATUS_SEL_VALUE_RXLEVEL _u(0x1)
1186 // -----------------------------------------------------------------------------
1187 // Field       : PIO_SM1_EXECCTRL_STATUS_N
1188 // Description : Comparison level for the MOV x, STATUS instruction
1189 #define PIO_SM1_EXECCTRL_STATUS_N_RESET  _u(0x0)
1190 #define PIO_SM1_EXECCTRL_STATUS_N_BITS   _u(0x0000000f)
1191 #define PIO_SM1_EXECCTRL_STATUS_N_MSB    _u(3)
1192 #define PIO_SM1_EXECCTRL_STATUS_N_LSB    _u(0)
1193 #define PIO_SM1_EXECCTRL_STATUS_N_ACCESS "RW"
1194 // =============================================================================
1195 // Register    : PIO_SM1_SHIFTCTRL
1196 // Description : Control behaviour of the input/output shift registers for state
1197 //               machine 1
1198 #define PIO_SM1_SHIFTCTRL_OFFSET _u(0x000000e8)
1199 #define PIO_SM1_SHIFTCTRL_BITS   _u(0xffff0000)
1200 #define PIO_SM1_SHIFTCTRL_RESET  _u(0x000c0000)
1201 // -----------------------------------------------------------------------------
1202 // Field       : PIO_SM1_SHIFTCTRL_FJOIN_RX
1203 // Description : When 1, RX FIFO steals the TX FIFO's storage, and becomes twice
1204 //               as deep.
1205 //               TX FIFO is disabled as a result (always reads as both full and
1206 //               empty).
1207 //               FIFOs are flushed when this bit is changed.
1208 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_RESET  _u(0x0)
1209 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_BITS   _u(0x80000000)
1210 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_MSB    _u(31)
1211 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_LSB    _u(31)
1212 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_ACCESS "RW"
1213 // -----------------------------------------------------------------------------
1214 // Field       : PIO_SM1_SHIFTCTRL_FJOIN_TX
1215 // Description : When 1, TX FIFO steals the RX FIFO's storage, and becomes twice
1216 //               as deep.
1217 //               RX FIFO is disabled as a result (always reads as both full and
1218 //               empty).
1219 //               FIFOs are flushed when this bit is changed.
1220 #define PIO_SM1_SHIFTCTRL_FJOIN_TX_RESET  _u(0x0)
1221 #define PIO_SM1_SHIFTCTRL_FJOIN_TX_BITS   _u(0x40000000)
1222 #define PIO_SM1_SHIFTCTRL_FJOIN_TX_MSB    _u(30)
1223 #define PIO_SM1_SHIFTCTRL_FJOIN_TX_LSB    _u(30)
1224 #define PIO_SM1_SHIFTCTRL_FJOIN_TX_ACCESS "RW"
1225 // -----------------------------------------------------------------------------
1226 // Field       : PIO_SM1_SHIFTCTRL_PULL_THRESH
1227 // Description : Number of bits shifted out of OSR before autopull, or
1228 //               conditional pull (PULL IFEMPTY), will take place.
1229 //               Write 0 for value of 32.
1230 #define PIO_SM1_SHIFTCTRL_PULL_THRESH_RESET  _u(0x00)
1231 #define PIO_SM1_SHIFTCTRL_PULL_THRESH_BITS   _u(0x3e000000)
1232 #define PIO_SM1_SHIFTCTRL_PULL_THRESH_MSB    _u(29)
1233 #define PIO_SM1_SHIFTCTRL_PULL_THRESH_LSB    _u(25)
1234 #define PIO_SM1_SHIFTCTRL_PULL_THRESH_ACCESS "RW"
1235 // -----------------------------------------------------------------------------
1236 // Field       : PIO_SM1_SHIFTCTRL_PUSH_THRESH
1237 // Description : Number of bits shifted into ISR before autopush, or conditional
1238 //               push (PUSH IFFULL), will take place.
1239 //               Write 0 for value of 32.
1240 #define PIO_SM1_SHIFTCTRL_PUSH_THRESH_RESET  _u(0x00)
1241 #define PIO_SM1_SHIFTCTRL_PUSH_THRESH_BITS   _u(0x01f00000)
1242 #define PIO_SM1_SHIFTCTRL_PUSH_THRESH_MSB    _u(24)
1243 #define PIO_SM1_SHIFTCTRL_PUSH_THRESH_LSB    _u(20)
1244 #define PIO_SM1_SHIFTCTRL_PUSH_THRESH_ACCESS "RW"
1245 // -----------------------------------------------------------------------------
1246 // Field       : PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR
1247 // Description : 1 = shift out of output shift register to right. 0 = to left.
1248 #define PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_RESET  _u(0x1)
1249 #define PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_BITS   _u(0x00080000)
1250 #define PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_MSB    _u(19)
1251 #define PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_LSB    _u(19)
1252 #define PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_ACCESS "RW"
1253 // -----------------------------------------------------------------------------
1254 // Field       : PIO_SM1_SHIFTCTRL_IN_SHIFTDIR
1255 // Description : 1 = shift input shift register to right (data enters from
1256 //               left). 0 = to left.
1257 #define PIO_SM1_SHIFTCTRL_IN_SHIFTDIR_RESET  _u(0x1)
1258 #define PIO_SM1_SHIFTCTRL_IN_SHIFTDIR_BITS   _u(0x00040000)
1259 #define PIO_SM1_SHIFTCTRL_IN_SHIFTDIR_MSB    _u(18)
1260 #define PIO_SM1_SHIFTCTRL_IN_SHIFTDIR_LSB    _u(18)
1261 #define PIO_SM1_SHIFTCTRL_IN_SHIFTDIR_ACCESS "RW"
1262 // -----------------------------------------------------------------------------
1263 // Field       : PIO_SM1_SHIFTCTRL_AUTOPULL
1264 // Description : Pull automatically when the output shift register is emptied,
1265 //               i.e. on or following an OUT instruction which causes the output
1266 //               shift counter to reach or exceed PULL_THRESH.
1267 #define PIO_SM1_SHIFTCTRL_AUTOPULL_RESET  _u(0x0)
1268 #define PIO_SM1_SHIFTCTRL_AUTOPULL_BITS   _u(0x00020000)
1269 #define PIO_SM1_SHIFTCTRL_AUTOPULL_MSB    _u(17)
1270 #define PIO_SM1_SHIFTCTRL_AUTOPULL_LSB    _u(17)
1271 #define PIO_SM1_SHIFTCTRL_AUTOPULL_ACCESS "RW"
1272 // -----------------------------------------------------------------------------
1273 // Field       : PIO_SM1_SHIFTCTRL_AUTOPUSH
1274 // Description : Push automatically when the input shift register is filled,
1275 //               i.e. on an IN instruction which causes the input shift counter
1276 //               to reach or exceed PUSH_THRESH.
1277 #define PIO_SM1_SHIFTCTRL_AUTOPUSH_RESET  _u(0x0)
1278 #define PIO_SM1_SHIFTCTRL_AUTOPUSH_BITS   _u(0x00010000)
1279 #define PIO_SM1_SHIFTCTRL_AUTOPUSH_MSB    _u(16)
1280 #define PIO_SM1_SHIFTCTRL_AUTOPUSH_LSB    _u(16)
1281 #define PIO_SM1_SHIFTCTRL_AUTOPUSH_ACCESS "RW"
1282 // =============================================================================
1283 // Register    : PIO_SM1_ADDR
1284 // Description : Current instruction address of state machine 1
1285 #define PIO_SM1_ADDR_OFFSET _u(0x000000ec)
1286 #define PIO_SM1_ADDR_BITS   _u(0x0000001f)
1287 #define PIO_SM1_ADDR_RESET  _u(0x00000000)
1288 #define PIO_SM1_ADDR_MSB    _u(4)
1289 #define PIO_SM1_ADDR_LSB    _u(0)
1290 #define PIO_SM1_ADDR_ACCESS "RO"
1291 // =============================================================================
1292 // Register    : PIO_SM1_INSTR
1293 // Description : Read to see the instruction currently addressed by state
1294 //               machine 1's program counter
1295 //               Write to execute an instruction immediately (including jumps)
1296 //               and then resume execution.
1297 #define PIO_SM1_INSTR_OFFSET _u(0x000000f0)
1298 #define PIO_SM1_INSTR_BITS   _u(0x0000ffff)
1299 #define PIO_SM1_INSTR_RESET  "-"
1300 #define PIO_SM1_INSTR_MSB    _u(15)
1301 #define PIO_SM1_INSTR_LSB    _u(0)
1302 #define PIO_SM1_INSTR_ACCESS "RW"
1303 // =============================================================================
1304 // Register    : PIO_SM1_PINCTRL
1305 // Description : State machine pin control
1306 #define PIO_SM1_PINCTRL_OFFSET _u(0x000000f4)
1307 #define PIO_SM1_PINCTRL_BITS   _u(0xffffffff)
1308 #define PIO_SM1_PINCTRL_RESET  _u(0x14000000)
1309 // -----------------------------------------------------------------------------
1310 // Field       : PIO_SM1_PINCTRL_SIDESET_COUNT
1311 // Description : The number of MSBs of the Delay/Side-set instruction field
1312 //               which are used for side-set. Inclusive of the enable bit, if
1313 //               present. Minimum of 0 (all delay bits, no side-set) and maximum
1314 //               of 5 (all side-set, no delay).
1315 #define PIO_SM1_PINCTRL_SIDESET_COUNT_RESET  _u(0x0)
1316 #define PIO_SM1_PINCTRL_SIDESET_COUNT_BITS   _u(0xe0000000)
1317 #define PIO_SM1_PINCTRL_SIDESET_COUNT_MSB    _u(31)
1318 #define PIO_SM1_PINCTRL_SIDESET_COUNT_LSB    _u(29)
1319 #define PIO_SM1_PINCTRL_SIDESET_COUNT_ACCESS "RW"
1320 // -----------------------------------------------------------------------------
1321 // Field       : PIO_SM1_PINCTRL_SET_COUNT
1322 // Description : The number of pins asserted by a SET. In the range 0 to 5
1323 //               inclusive.
1324 #define PIO_SM1_PINCTRL_SET_COUNT_RESET  _u(0x5)
1325 #define PIO_SM1_PINCTRL_SET_COUNT_BITS   _u(0x1c000000)
1326 #define PIO_SM1_PINCTRL_SET_COUNT_MSB    _u(28)
1327 #define PIO_SM1_PINCTRL_SET_COUNT_LSB    _u(26)
1328 #define PIO_SM1_PINCTRL_SET_COUNT_ACCESS "RW"
1329 // -----------------------------------------------------------------------------
1330 // Field       : PIO_SM1_PINCTRL_OUT_COUNT
1331 // Description : The number of pins asserted by an OUT PINS, OUT PINDIRS or MOV
1332 //               PINS instruction. In the range 0 to 32 inclusive.
1333 #define PIO_SM1_PINCTRL_OUT_COUNT_RESET  _u(0x00)
1334 #define PIO_SM1_PINCTRL_OUT_COUNT_BITS   _u(0x03f00000)
1335 #define PIO_SM1_PINCTRL_OUT_COUNT_MSB    _u(25)
1336 #define PIO_SM1_PINCTRL_OUT_COUNT_LSB    _u(20)
1337 #define PIO_SM1_PINCTRL_OUT_COUNT_ACCESS "RW"
1338 // -----------------------------------------------------------------------------
1339 // Field       : PIO_SM1_PINCTRL_IN_BASE
1340 // Description : The pin which is mapped to the least-significant bit of a state
1341 //               machine's IN data bus. Higher-numbered pins are mapped to
1342 //               consecutively more-significant data bits, with a modulo of 32
1343 //               applied to pin number.
1344 #define PIO_SM1_PINCTRL_IN_BASE_RESET  _u(0x00)
1345 #define PIO_SM1_PINCTRL_IN_BASE_BITS   _u(0x000f8000)
1346 #define PIO_SM1_PINCTRL_IN_BASE_MSB    _u(19)
1347 #define PIO_SM1_PINCTRL_IN_BASE_LSB    _u(15)
1348 #define PIO_SM1_PINCTRL_IN_BASE_ACCESS "RW"
1349 // -----------------------------------------------------------------------------
1350 // Field       : PIO_SM1_PINCTRL_SIDESET_BASE
1351 // Description : The lowest-numbered pin that will be affected by a side-set
1352 //               operation. The MSBs of an instruction's side-set/delay field
1353 //               (up to 5, determined by SIDESET_COUNT) are used for side-set
1354 //               data, with the remaining LSBs used for delay. The least-
1355 //               significant bit of the side-set portion is the bit written to
1356 //               this pin, with more-significant bits written to higher-numbered
1357 //               pins.
1358 #define PIO_SM1_PINCTRL_SIDESET_BASE_RESET  _u(0x00)
1359 #define PIO_SM1_PINCTRL_SIDESET_BASE_BITS   _u(0x00007c00)
1360 #define PIO_SM1_PINCTRL_SIDESET_BASE_MSB    _u(14)
1361 #define PIO_SM1_PINCTRL_SIDESET_BASE_LSB    _u(10)
1362 #define PIO_SM1_PINCTRL_SIDESET_BASE_ACCESS "RW"
1363 // -----------------------------------------------------------------------------
1364 // Field       : PIO_SM1_PINCTRL_SET_BASE
1365 // Description : The lowest-numbered pin that will be affected by a SET PINS or
1366 //               SET PINDIRS instruction. The data written to this pin is the
1367 //               least-significant bit of the SET data.
1368 #define PIO_SM1_PINCTRL_SET_BASE_RESET  _u(0x00)
1369 #define PIO_SM1_PINCTRL_SET_BASE_BITS   _u(0x000003e0)
1370 #define PIO_SM1_PINCTRL_SET_BASE_MSB    _u(9)
1371 #define PIO_SM1_PINCTRL_SET_BASE_LSB    _u(5)
1372 #define PIO_SM1_PINCTRL_SET_BASE_ACCESS "RW"
1373 // -----------------------------------------------------------------------------
1374 // Field       : PIO_SM1_PINCTRL_OUT_BASE
1375 // Description : The lowest-numbered pin that will be affected by an OUT PINS,
1376 //               OUT PINDIRS or MOV PINS instruction. The data written to this
1377 //               pin will always be the least-significant bit of the OUT or MOV
1378 //               data.
1379 #define PIO_SM1_PINCTRL_OUT_BASE_RESET  _u(0x00)
1380 #define PIO_SM1_PINCTRL_OUT_BASE_BITS   _u(0x0000001f)
1381 #define PIO_SM1_PINCTRL_OUT_BASE_MSB    _u(4)
1382 #define PIO_SM1_PINCTRL_OUT_BASE_LSB    _u(0)
1383 #define PIO_SM1_PINCTRL_OUT_BASE_ACCESS "RW"
1384 // =============================================================================
1385 // Register    : PIO_SM2_CLKDIV
1386 // Description : Clock divisor register for state machine 2
1387 //               Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256)
1388 #define PIO_SM2_CLKDIV_OFFSET _u(0x000000f8)
1389 #define PIO_SM2_CLKDIV_BITS   _u(0xffffff00)
1390 #define PIO_SM2_CLKDIV_RESET  _u(0x00010000)
1391 // -----------------------------------------------------------------------------
1392 // Field       : PIO_SM2_CLKDIV_INT
1393 // Description : Effective frequency is sysclk/(int + frac/256).
1394 //               Value of 0 is interpreted as 65536. If INT is 0, FRAC must also
1395 //               be 0.
1396 #define PIO_SM2_CLKDIV_INT_RESET  _u(0x0001)
1397 #define PIO_SM2_CLKDIV_INT_BITS   _u(0xffff0000)
1398 #define PIO_SM2_CLKDIV_INT_MSB    _u(31)
1399 #define PIO_SM2_CLKDIV_INT_LSB    _u(16)
1400 #define PIO_SM2_CLKDIV_INT_ACCESS "RW"
1401 // -----------------------------------------------------------------------------
1402 // Field       : PIO_SM2_CLKDIV_FRAC
1403 // Description : Fractional part of clock divisor
1404 #define PIO_SM2_CLKDIV_FRAC_RESET  _u(0x00)
1405 #define PIO_SM2_CLKDIV_FRAC_BITS   _u(0x0000ff00)
1406 #define PIO_SM2_CLKDIV_FRAC_MSB    _u(15)
1407 #define PIO_SM2_CLKDIV_FRAC_LSB    _u(8)
1408 #define PIO_SM2_CLKDIV_FRAC_ACCESS "RW"
1409 // =============================================================================
1410 // Register    : PIO_SM2_EXECCTRL
1411 // Description : Execution/behavioural settings for state machine 2
1412 #define PIO_SM2_EXECCTRL_OFFSET _u(0x000000fc)
1413 #define PIO_SM2_EXECCTRL_BITS   _u(0xffffff9f)
1414 #define PIO_SM2_EXECCTRL_RESET  _u(0x0001f000)
1415 // -----------------------------------------------------------------------------
1416 // Field       : PIO_SM2_EXECCTRL_EXEC_STALLED
1417 // Description : If 1, an instruction written to SMx_INSTR is stalled, and
1418 //               latched by the state machine. Will clear to 0 once this
1419 //               instruction completes.
1420 #define PIO_SM2_EXECCTRL_EXEC_STALLED_RESET  _u(0x0)
1421 #define PIO_SM2_EXECCTRL_EXEC_STALLED_BITS   _u(0x80000000)
1422 #define PIO_SM2_EXECCTRL_EXEC_STALLED_MSB    _u(31)
1423 #define PIO_SM2_EXECCTRL_EXEC_STALLED_LSB    _u(31)
1424 #define PIO_SM2_EXECCTRL_EXEC_STALLED_ACCESS "RO"
1425 // -----------------------------------------------------------------------------
1426 // Field       : PIO_SM2_EXECCTRL_SIDE_EN
1427 // Description : If 1, the MSB of the Delay/Side-set instruction field is used
1428 //               as side-set enable, rather than a side-set data bit. This
1429 //               allows instructions to perform side-set optionally, rather than
1430 //               on every instruction, but the maximum possible side-set width
1431 //               is reduced from 5 to 4. Note that the value of
1432 //               PINCTRL_SIDESET_COUNT is inclusive of this enable bit.
1433 #define PIO_SM2_EXECCTRL_SIDE_EN_RESET  _u(0x0)
1434 #define PIO_SM2_EXECCTRL_SIDE_EN_BITS   _u(0x40000000)
1435 #define PIO_SM2_EXECCTRL_SIDE_EN_MSB    _u(30)
1436 #define PIO_SM2_EXECCTRL_SIDE_EN_LSB    _u(30)
1437 #define PIO_SM2_EXECCTRL_SIDE_EN_ACCESS "RW"
1438 // -----------------------------------------------------------------------------
1439 // Field       : PIO_SM2_EXECCTRL_SIDE_PINDIR
1440 // Description : If 1, side-set data is asserted to pin directions, instead of
1441 //               pin values
1442 #define PIO_SM2_EXECCTRL_SIDE_PINDIR_RESET  _u(0x0)
1443 #define PIO_SM2_EXECCTRL_SIDE_PINDIR_BITS   _u(0x20000000)
1444 #define PIO_SM2_EXECCTRL_SIDE_PINDIR_MSB    _u(29)
1445 #define PIO_SM2_EXECCTRL_SIDE_PINDIR_LSB    _u(29)
1446 #define PIO_SM2_EXECCTRL_SIDE_PINDIR_ACCESS "RW"
1447 // -----------------------------------------------------------------------------
1448 // Field       : PIO_SM2_EXECCTRL_JMP_PIN
1449 // Description : The GPIO number to use as condition for JMP PIN. Unaffected by
1450 //               input mapping.
1451 #define PIO_SM2_EXECCTRL_JMP_PIN_RESET  _u(0x00)
1452 #define PIO_SM2_EXECCTRL_JMP_PIN_BITS   _u(0x1f000000)
1453 #define PIO_SM2_EXECCTRL_JMP_PIN_MSB    _u(28)
1454 #define PIO_SM2_EXECCTRL_JMP_PIN_LSB    _u(24)
1455 #define PIO_SM2_EXECCTRL_JMP_PIN_ACCESS "RW"
1456 // -----------------------------------------------------------------------------
1457 // Field       : PIO_SM2_EXECCTRL_OUT_EN_SEL
1458 // Description : Which data bit to use for inline OUT enable
1459 #define PIO_SM2_EXECCTRL_OUT_EN_SEL_RESET  _u(0x00)
1460 #define PIO_SM2_EXECCTRL_OUT_EN_SEL_BITS   _u(0x00f80000)
1461 #define PIO_SM2_EXECCTRL_OUT_EN_SEL_MSB    _u(23)
1462 #define PIO_SM2_EXECCTRL_OUT_EN_SEL_LSB    _u(19)
1463 #define PIO_SM2_EXECCTRL_OUT_EN_SEL_ACCESS "RW"
1464 // -----------------------------------------------------------------------------
1465 // Field       : PIO_SM2_EXECCTRL_INLINE_OUT_EN
1466 // Description : If 1, use a bit of OUT data as an auxiliary write enable
1467 //               When used in conjunction with OUT_STICKY, writes with an enable
1468 //               of 0 will
1469 //               deassert the latest pin write. This can create useful
1470 //               masking/override behaviour
1471 //               due to the priority ordering of state machine pin writes (SM0 <
1472 //               SM1 < ...)
1473 #define PIO_SM2_EXECCTRL_INLINE_OUT_EN_RESET  _u(0x0)
1474 #define PIO_SM2_EXECCTRL_INLINE_OUT_EN_BITS   _u(0x00040000)
1475 #define PIO_SM2_EXECCTRL_INLINE_OUT_EN_MSB    _u(18)
1476 #define PIO_SM2_EXECCTRL_INLINE_OUT_EN_LSB    _u(18)
1477 #define PIO_SM2_EXECCTRL_INLINE_OUT_EN_ACCESS "RW"
1478 // -----------------------------------------------------------------------------
1479 // Field       : PIO_SM2_EXECCTRL_OUT_STICKY
1480 // Description : Continuously assert the most recent OUT/SET to the pins
1481 #define PIO_SM2_EXECCTRL_OUT_STICKY_RESET  _u(0x0)
1482 #define PIO_SM2_EXECCTRL_OUT_STICKY_BITS   _u(0x00020000)
1483 #define PIO_SM2_EXECCTRL_OUT_STICKY_MSB    _u(17)
1484 #define PIO_SM2_EXECCTRL_OUT_STICKY_LSB    _u(17)
1485 #define PIO_SM2_EXECCTRL_OUT_STICKY_ACCESS "RW"
1486 // -----------------------------------------------------------------------------
1487 // Field       : PIO_SM2_EXECCTRL_WRAP_TOP
1488 // Description : After reaching this address, execution is wrapped to
1489 //               wrap_bottom.
1490 //               If the instruction is a jump, and the jump condition is true,
1491 //               the jump takes priority.
1492 #define PIO_SM2_EXECCTRL_WRAP_TOP_RESET  _u(0x1f)
1493 #define PIO_SM2_EXECCTRL_WRAP_TOP_BITS   _u(0x0001f000)
1494 #define PIO_SM2_EXECCTRL_WRAP_TOP_MSB    _u(16)
1495 #define PIO_SM2_EXECCTRL_WRAP_TOP_LSB    _u(12)
1496 #define PIO_SM2_EXECCTRL_WRAP_TOP_ACCESS "RW"
1497 // -----------------------------------------------------------------------------
1498 // Field       : PIO_SM2_EXECCTRL_WRAP_BOTTOM
1499 // Description : After reaching wrap_top, execution is wrapped to this address.
1500 #define PIO_SM2_EXECCTRL_WRAP_BOTTOM_RESET  _u(0x00)
1501 #define PIO_SM2_EXECCTRL_WRAP_BOTTOM_BITS   _u(0x00000f80)
1502 #define PIO_SM2_EXECCTRL_WRAP_BOTTOM_MSB    _u(11)
1503 #define PIO_SM2_EXECCTRL_WRAP_BOTTOM_LSB    _u(7)
1504 #define PIO_SM2_EXECCTRL_WRAP_BOTTOM_ACCESS "RW"
1505 // -----------------------------------------------------------------------------
1506 // Field       : PIO_SM2_EXECCTRL_STATUS_SEL
1507 // Description : Comparison used for the MOV x, STATUS instruction.
1508 //               0x0 -> All-ones if TX FIFO level < N, otherwise all-zeroes
1509 //               0x1 -> All-ones if RX FIFO level < N, otherwise all-zeroes
1510 #define PIO_SM2_EXECCTRL_STATUS_SEL_RESET  _u(0x0)
1511 #define PIO_SM2_EXECCTRL_STATUS_SEL_BITS   _u(0x00000010)
1512 #define PIO_SM2_EXECCTRL_STATUS_SEL_MSB    _u(4)
1513 #define PIO_SM2_EXECCTRL_STATUS_SEL_LSB    _u(4)
1514 #define PIO_SM2_EXECCTRL_STATUS_SEL_ACCESS "RW"
1515 #define PIO_SM2_EXECCTRL_STATUS_SEL_VALUE_TXLEVEL _u(0x0)
1516 #define PIO_SM2_EXECCTRL_STATUS_SEL_VALUE_RXLEVEL _u(0x1)
1517 // -----------------------------------------------------------------------------
1518 // Field       : PIO_SM2_EXECCTRL_STATUS_N
1519 // Description : Comparison level for the MOV x, STATUS instruction
1520 #define PIO_SM2_EXECCTRL_STATUS_N_RESET  _u(0x0)
1521 #define PIO_SM2_EXECCTRL_STATUS_N_BITS   _u(0x0000000f)
1522 #define PIO_SM2_EXECCTRL_STATUS_N_MSB    _u(3)
1523 #define PIO_SM2_EXECCTRL_STATUS_N_LSB    _u(0)
1524 #define PIO_SM2_EXECCTRL_STATUS_N_ACCESS "RW"
1525 // =============================================================================
1526 // Register    : PIO_SM2_SHIFTCTRL
1527 // Description : Control behaviour of the input/output shift registers for state
1528 //               machine 2
1529 #define PIO_SM2_SHIFTCTRL_OFFSET _u(0x00000100)
1530 #define PIO_SM2_SHIFTCTRL_BITS   _u(0xffff0000)
1531 #define PIO_SM2_SHIFTCTRL_RESET  _u(0x000c0000)
1532 // -----------------------------------------------------------------------------
1533 // Field       : PIO_SM2_SHIFTCTRL_FJOIN_RX
1534 // Description : When 1, RX FIFO steals the TX FIFO's storage, and becomes twice
1535 //               as deep.
1536 //               TX FIFO is disabled as a result (always reads as both full and
1537 //               empty).
1538 //               FIFOs are flushed when this bit is changed.
1539 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_RESET  _u(0x0)
1540 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_BITS   _u(0x80000000)
1541 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_MSB    _u(31)
1542 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_LSB    _u(31)
1543 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_ACCESS "RW"
1544 // -----------------------------------------------------------------------------
1545 // Field       : PIO_SM2_SHIFTCTRL_FJOIN_TX
1546 // Description : When 1, TX FIFO steals the RX FIFO's storage, and becomes twice
1547 //               as deep.
1548 //               RX FIFO is disabled as a result (always reads as both full and
1549 //               empty).
1550 //               FIFOs are flushed when this bit is changed.
1551 #define PIO_SM2_SHIFTCTRL_FJOIN_TX_RESET  _u(0x0)
1552 #define PIO_SM2_SHIFTCTRL_FJOIN_TX_BITS   _u(0x40000000)
1553 #define PIO_SM2_SHIFTCTRL_FJOIN_TX_MSB    _u(30)
1554 #define PIO_SM2_SHIFTCTRL_FJOIN_TX_LSB    _u(30)
1555 #define PIO_SM2_SHIFTCTRL_FJOIN_TX_ACCESS "RW"
1556 // -----------------------------------------------------------------------------
1557 // Field       : PIO_SM2_SHIFTCTRL_PULL_THRESH
1558 // Description : Number of bits shifted out of OSR before autopull, or
1559 //               conditional pull (PULL IFEMPTY), will take place.
1560 //               Write 0 for value of 32.
1561 #define PIO_SM2_SHIFTCTRL_PULL_THRESH_RESET  _u(0x00)
1562 #define PIO_SM2_SHIFTCTRL_PULL_THRESH_BITS   _u(0x3e000000)
1563 #define PIO_SM2_SHIFTCTRL_PULL_THRESH_MSB    _u(29)
1564 #define PIO_SM2_SHIFTCTRL_PULL_THRESH_LSB    _u(25)
1565 #define PIO_SM2_SHIFTCTRL_PULL_THRESH_ACCESS "RW"
1566 // -----------------------------------------------------------------------------
1567 // Field       : PIO_SM2_SHIFTCTRL_PUSH_THRESH
1568 // Description : Number of bits shifted into ISR before autopush, or conditional
1569 //               push (PUSH IFFULL), will take place.
1570 //               Write 0 for value of 32.
1571 #define PIO_SM2_SHIFTCTRL_PUSH_THRESH_RESET  _u(0x00)
1572 #define PIO_SM2_SHIFTCTRL_PUSH_THRESH_BITS   _u(0x01f00000)
1573 #define PIO_SM2_SHIFTCTRL_PUSH_THRESH_MSB    _u(24)
1574 #define PIO_SM2_SHIFTCTRL_PUSH_THRESH_LSB    _u(20)
1575 #define PIO_SM2_SHIFTCTRL_PUSH_THRESH_ACCESS "RW"
1576 // -----------------------------------------------------------------------------
1577 // Field       : PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR
1578 // Description : 1 = shift out of output shift register to right. 0 = to left.
1579 #define PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_RESET  _u(0x1)
1580 #define PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_BITS   _u(0x00080000)
1581 #define PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_MSB    _u(19)
1582 #define PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_LSB    _u(19)
1583 #define PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_ACCESS "RW"
1584 // -----------------------------------------------------------------------------
1585 // Field       : PIO_SM2_SHIFTCTRL_IN_SHIFTDIR
1586 // Description : 1 = shift input shift register to right (data enters from
1587 //               left). 0 = to left.
1588 #define PIO_SM2_SHIFTCTRL_IN_SHIFTDIR_RESET  _u(0x1)
1589 #define PIO_SM2_SHIFTCTRL_IN_SHIFTDIR_BITS   _u(0x00040000)
1590 #define PIO_SM2_SHIFTCTRL_IN_SHIFTDIR_MSB    _u(18)
1591 #define PIO_SM2_SHIFTCTRL_IN_SHIFTDIR_LSB    _u(18)
1592 #define PIO_SM2_SHIFTCTRL_IN_SHIFTDIR_ACCESS "RW"
1593 // -----------------------------------------------------------------------------
1594 // Field       : PIO_SM2_SHIFTCTRL_AUTOPULL
1595 // Description : Pull automatically when the output shift register is emptied,
1596 //               i.e. on or following an OUT instruction which causes the output
1597 //               shift counter to reach or exceed PULL_THRESH.
1598 #define PIO_SM2_SHIFTCTRL_AUTOPULL_RESET  _u(0x0)
1599 #define PIO_SM2_SHIFTCTRL_AUTOPULL_BITS   _u(0x00020000)
1600 #define PIO_SM2_SHIFTCTRL_AUTOPULL_MSB    _u(17)
1601 #define PIO_SM2_SHIFTCTRL_AUTOPULL_LSB    _u(17)
1602 #define PIO_SM2_SHIFTCTRL_AUTOPULL_ACCESS "RW"
1603 // -----------------------------------------------------------------------------
1604 // Field       : PIO_SM2_SHIFTCTRL_AUTOPUSH
1605 // Description : Push automatically when the input shift register is filled,
1606 //               i.e. on an IN instruction which causes the input shift counter
1607 //               to reach or exceed PUSH_THRESH.
1608 #define PIO_SM2_SHIFTCTRL_AUTOPUSH_RESET  _u(0x0)
1609 #define PIO_SM2_SHIFTCTRL_AUTOPUSH_BITS   _u(0x00010000)
1610 #define PIO_SM2_SHIFTCTRL_AUTOPUSH_MSB    _u(16)
1611 #define PIO_SM2_SHIFTCTRL_AUTOPUSH_LSB    _u(16)
1612 #define PIO_SM2_SHIFTCTRL_AUTOPUSH_ACCESS "RW"
1613 // =============================================================================
1614 // Register    : PIO_SM2_ADDR
1615 // Description : Current instruction address of state machine 2
1616 #define PIO_SM2_ADDR_OFFSET _u(0x00000104)
1617 #define PIO_SM2_ADDR_BITS   _u(0x0000001f)
1618 #define PIO_SM2_ADDR_RESET  _u(0x00000000)
1619 #define PIO_SM2_ADDR_MSB    _u(4)
1620 #define PIO_SM2_ADDR_LSB    _u(0)
1621 #define PIO_SM2_ADDR_ACCESS "RO"
1622 // =============================================================================
1623 // Register    : PIO_SM2_INSTR
1624 // Description : Read to see the instruction currently addressed by state
1625 //               machine 2's program counter
1626 //               Write to execute an instruction immediately (including jumps)
1627 //               and then resume execution.
1628 #define PIO_SM2_INSTR_OFFSET _u(0x00000108)
1629 #define PIO_SM2_INSTR_BITS   _u(0x0000ffff)
1630 #define PIO_SM2_INSTR_RESET  "-"
1631 #define PIO_SM2_INSTR_MSB    _u(15)
1632 #define PIO_SM2_INSTR_LSB    _u(0)
1633 #define PIO_SM2_INSTR_ACCESS "RW"
1634 // =============================================================================
1635 // Register    : PIO_SM2_PINCTRL
1636 // Description : State machine pin control
1637 #define PIO_SM2_PINCTRL_OFFSET _u(0x0000010c)
1638 #define PIO_SM2_PINCTRL_BITS   _u(0xffffffff)
1639 #define PIO_SM2_PINCTRL_RESET  _u(0x14000000)
1640 // -----------------------------------------------------------------------------
1641 // Field       : PIO_SM2_PINCTRL_SIDESET_COUNT
1642 // Description : The number of MSBs of the Delay/Side-set instruction field
1643 //               which are used for side-set. Inclusive of the enable bit, if
1644 //               present. Minimum of 0 (all delay bits, no side-set) and maximum
1645 //               of 5 (all side-set, no delay).
1646 #define PIO_SM2_PINCTRL_SIDESET_COUNT_RESET  _u(0x0)
1647 #define PIO_SM2_PINCTRL_SIDESET_COUNT_BITS   _u(0xe0000000)
1648 #define PIO_SM2_PINCTRL_SIDESET_COUNT_MSB    _u(31)
1649 #define PIO_SM2_PINCTRL_SIDESET_COUNT_LSB    _u(29)
1650 #define PIO_SM2_PINCTRL_SIDESET_COUNT_ACCESS "RW"
1651 // -----------------------------------------------------------------------------
1652 // Field       : PIO_SM2_PINCTRL_SET_COUNT
1653 // Description : The number of pins asserted by a SET. In the range 0 to 5
1654 //               inclusive.
1655 #define PIO_SM2_PINCTRL_SET_COUNT_RESET  _u(0x5)
1656 #define PIO_SM2_PINCTRL_SET_COUNT_BITS   _u(0x1c000000)
1657 #define PIO_SM2_PINCTRL_SET_COUNT_MSB    _u(28)
1658 #define PIO_SM2_PINCTRL_SET_COUNT_LSB    _u(26)
1659 #define PIO_SM2_PINCTRL_SET_COUNT_ACCESS "RW"
1660 // -----------------------------------------------------------------------------
1661 // Field       : PIO_SM2_PINCTRL_OUT_COUNT
1662 // Description : The number of pins asserted by an OUT PINS, OUT PINDIRS or MOV
1663 //               PINS instruction. In the range 0 to 32 inclusive.
1664 #define PIO_SM2_PINCTRL_OUT_COUNT_RESET  _u(0x00)
1665 #define PIO_SM2_PINCTRL_OUT_COUNT_BITS   _u(0x03f00000)
1666 #define PIO_SM2_PINCTRL_OUT_COUNT_MSB    _u(25)
1667 #define PIO_SM2_PINCTRL_OUT_COUNT_LSB    _u(20)
1668 #define PIO_SM2_PINCTRL_OUT_COUNT_ACCESS "RW"
1669 // -----------------------------------------------------------------------------
1670 // Field       : PIO_SM2_PINCTRL_IN_BASE
1671 // Description : The pin which is mapped to the least-significant bit of a state
1672 //               machine's IN data bus. Higher-numbered pins are mapped to
1673 //               consecutively more-significant data bits, with a modulo of 32
1674 //               applied to pin number.
1675 #define PIO_SM2_PINCTRL_IN_BASE_RESET  _u(0x00)
1676 #define PIO_SM2_PINCTRL_IN_BASE_BITS   _u(0x000f8000)
1677 #define PIO_SM2_PINCTRL_IN_BASE_MSB    _u(19)
1678 #define PIO_SM2_PINCTRL_IN_BASE_LSB    _u(15)
1679 #define PIO_SM2_PINCTRL_IN_BASE_ACCESS "RW"
1680 // -----------------------------------------------------------------------------
1681 // Field       : PIO_SM2_PINCTRL_SIDESET_BASE
1682 // Description : The lowest-numbered pin that will be affected by a side-set
1683 //               operation. The MSBs of an instruction's side-set/delay field
1684 //               (up to 5, determined by SIDESET_COUNT) are used for side-set
1685 //               data, with the remaining LSBs used for delay. The least-
1686 //               significant bit of the side-set portion is the bit written to
1687 //               this pin, with more-significant bits written to higher-numbered
1688 //               pins.
1689 #define PIO_SM2_PINCTRL_SIDESET_BASE_RESET  _u(0x00)
1690 #define PIO_SM2_PINCTRL_SIDESET_BASE_BITS   _u(0x00007c00)
1691 #define PIO_SM2_PINCTRL_SIDESET_BASE_MSB    _u(14)
1692 #define PIO_SM2_PINCTRL_SIDESET_BASE_LSB    _u(10)
1693 #define PIO_SM2_PINCTRL_SIDESET_BASE_ACCESS "RW"
1694 // -----------------------------------------------------------------------------
1695 // Field       : PIO_SM2_PINCTRL_SET_BASE
1696 // Description : The lowest-numbered pin that will be affected by a SET PINS or
1697 //               SET PINDIRS instruction. The data written to this pin is the
1698 //               least-significant bit of the SET data.
1699 #define PIO_SM2_PINCTRL_SET_BASE_RESET  _u(0x00)
1700 #define PIO_SM2_PINCTRL_SET_BASE_BITS   _u(0x000003e0)
1701 #define PIO_SM2_PINCTRL_SET_BASE_MSB    _u(9)
1702 #define PIO_SM2_PINCTRL_SET_BASE_LSB    _u(5)
1703 #define PIO_SM2_PINCTRL_SET_BASE_ACCESS "RW"
1704 // -----------------------------------------------------------------------------
1705 // Field       : PIO_SM2_PINCTRL_OUT_BASE
1706 // Description : The lowest-numbered pin that will be affected by an OUT PINS,
1707 //               OUT PINDIRS or MOV PINS instruction. The data written to this
1708 //               pin will always be the least-significant bit of the OUT or MOV
1709 //               data.
1710 #define PIO_SM2_PINCTRL_OUT_BASE_RESET  _u(0x00)
1711 #define PIO_SM2_PINCTRL_OUT_BASE_BITS   _u(0x0000001f)
1712 #define PIO_SM2_PINCTRL_OUT_BASE_MSB    _u(4)
1713 #define PIO_SM2_PINCTRL_OUT_BASE_LSB    _u(0)
1714 #define PIO_SM2_PINCTRL_OUT_BASE_ACCESS "RW"
1715 // =============================================================================
1716 // Register    : PIO_SM3_CLKDIV
1717 // Description : Clock divisor register for state machine 3
1718 //               Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256)
1719 #define PIO_SM3_CLKDIV_OFFSET _u(0x00000110)
1720 #define PIO_SM3_CLKDIV_BITS   _u(0xffffff00)
1721 #define PIO_SM3_CLKDIV_RESET  _u(0x00010000)
1722 // -----------------------------------------------------------------------------
1723 // Field       : PIO_SM3_CLKDIV_INT
1724 // Description : Effective frequency is sysclk/(int + frac/256).
1725 //               Value of 0 is interpreted as 65536. If INT is 0, FRAC must also
1726 //               be 0.
1727 #define PIO_SM3_CLKDIV_INT_RESET  _u(0x0001)
1728 #define PIO_SM3_CLKDIV_INT_BITS   _u(0xffff0000)
1729 #define PIO_SM3_CLKDIV_INT_MSB    _u(31)
1730 #define PIO_SM3_CLKDIV_INT_LSB    _u(16)
1731 #define PIO_SM3_CLKDIV_INT_ACCESS "RW"
1732 // -----------------------------------------------------------------------------
1733 // Field       : PIO_SM3_CLKDIV_FRAC
1734 // Description : Fractional part of clock divisor
1735 #define PIO_SM3_CLKDIV_FRAC_RESET  _u(0x00)
1736 #define PIO_SM3_CLKDIV_FRAC_BITS   _u(0x0000ff00)
1737 #define PIO_SM3_CLKDIV_FRAC_MSB    _u(15)
1738 #define PIO_SM3_CLKDIV_FRAC_LSB    _u(8)
1739 #define PIO_SM3_CLKDIV_FRAC_ACCESS "RW"
1740 // =============================================================================
1741 // Register    : PIO_SM3_EXECCTRL
1742 // Description : Execution/behavioural settings for state machine 3
1743 #define PIO_SM3_EXECCTRL_OFFSET _u(0x00000114)
1744 #define PIO_SM3_EXECCTRL_BITS   _u(0xffffff9f)
1745 #define PIO_SM3_EXECCTRL_RESET  _u(0x0001f000)
1746 // -----------------------------------------------------------------------------
1747 // Field       : PIO_SM3_EXECCTRL_EXEC_STALLED
1748 // Description : If 1, an instruction written to SMx_INSTR is stalled, and
1749 //               latched by the state machine. Will clear to 0 once this
1750 //               instruction completes.
1751 #define PIO_SM3_EXECCTRL_EXEC_STALLED_RESET  _u(0x0)
1752 #define PIO_SM3_EXECCTRL_EXEC_STALLED_BITS   _u(0x80000000)
1753 #define PIO_SM3_EXECCTRL_EXEC_STALLED_MSB    _u(31)
1754 #define PIO_SM3_EXECCTRL_EXEC_STALLED_LSB    _u(31)
1755 #define PIO_SM3_EXECCTRL_EXEC_STALLED_ACCESS "RO"
1756 // -----------------------------------------------------------------------------
1757 // Field       : PIO_SM3_EXECCTRL_SIDE_EN
1758 // Description : If 1, the MSB of the Delay/Side-set instruction field is used
1759 //               as side-set enable, rather than a side-set data bit. This
1760 //               allows instructions to perform side-set optionally, rather than
1761 //               on every instruction, but the maximum possible side-set width
1762 //               is reduced from 5 to 4. Note that the value of
1763 //               PINCTRL_SIDESET_COUNT is inclusive of this enable bit.
1764 #define PIO_SM3_EXECCTRL_SIDE_EN_RESET  _u(0x0)
1765 #define PIO_SM3_EXECCTRL_SIDE_EN_BITS   _u(0x40000000)
1766 #define PIO_SM3_EXECCTRL_SIDE_EN_MSB    _u(30)
1767 #define PIO_SM3_EXECCTRL_SIDE_EN_LSB    _u(30)
1768 #define PIO_SM3_EXECCTRL_SIDE_EN_ACCESS "RW"
1769 // -----------------------------------------------------------------------------
1770 // Field       : PIO_SM3_EXECCTRL_SIDE_PINDIR
1771 // Description : If 1, side-set data is asserted to pin directions, instead of
1772 //               pin values
1773 #define PIO_SM3_EXECCTRL_SIDE_PINDIR_RESET  _u(0x0)
1774 #define PIO_SM3_EXECCTRL_SIDE_PINDIR_BITS   _u(0x20000000)
1775 #define PIO_SM3_EXECCTRL_SIDE_PINDIR_MSB    _u(29)
1776 #define PIO_SM3_EXECCTRL_SIDE_PINDIR_LSB    _u(29)
1777 #define PIO_SM3_EXECCTRL_SIDE_PINDIR_ACCESS "RW"
1778 // -----------------------------------------------------------------------------
1779 // Field       : PIO_SM3_EXECCTRL_JMP_PIN
1780 // Description : The GPIO number to use as condition for JMP PIN. Unaffected by
1781 //               input mapping.
1782 #define PIO_SM3_EXECCTRL_JMP_PIN_RESET  _u(0x00)
1783 #define PIO_SM3_EXECCTRL_JMP_PIN_BITS   _u(0x1f000000)
1784 #define PIO_SM3_EXECCTRL_JMP_PIN_MSB    _u(28)
1785 #define PIO_SM3_EXECCTRL_JMP_PIN_LSB    _u(24)
1786 #define PIO_SM3_EXECCTRL_JMP_PIN_ACCESS "RW"
1787 // -----------------------------------------------------------------------------
1788 // Field       : PIO_SM3_EXECCTRL_OUT_EN_SEL
1789 // Description : Which data bit to use for inline OUT enable
1790 #define PIO_SM3_EXECCTRL_OUT_EN_SEL_RESET  _u(0x00)
1791 #define PIO_SM3_EXECCTRL_OUT_EN_SEL_BITS   _u(0x00f80000)
1792 #define PIO_SM3_EXECCTRL_OUT_EN_SEL_MSB    _u(23)
1793 #define PIO_SM3_EXECCTRL_OUT_EN_SEL_LSB    _u(19)
1794 #define PIO_SM3_EXECCTRL_OUT_EN_SEL_ACCESS "RW"
1795 // -----------------------------------------------------------------------------
1796 // Field       : PIO_SM3_EXECCTRL_INLINE_OUT_EN
1797 // Description : If 1, use a bit of OUT data as an auxiliary write enable
1798 //               When used in conjunction with OUT_STICKY, writes with an enable
1799 //               of 0 will
1800 //               deassert the latest pin write. This can create useful
1801 //               masking/override behaviour
1802 //               due to the priority ordering of state machine pin writes (SM0 <
1803 //               SM1 < ...)
1804 #define PIO_SM3_EXECCTRL_INLINE_OUT_EN_RESET  _u(0x0)
1805 #define PIO_SM3_EXECCTRL_INLINE_OUT_EN_BITS   _u(0x00040000)
1806 #define PIO_SM3_EXECCTRL_INLINE_OUT_EN_MSB    _u(18)
1807 #define PIO_SM3_EXECCTRL_INLINE_OUT_EN_LSB    _u(18)
1808 #define PIO_SM3_EXECCTRL_INLINE_OUT_EN_ACCESS "RW"
1809 // -----------------------------------------------------------------------------
1810 // Field       : PIO_SM3_EXECCTRL_OUT_STICKY
1811 // Description : Continuously assert the most recent OUT/SET to the pins
1812 #define PIO_SM3_EXECCTRL_OUT_STICKY_RESET  _u(0x0)
1813 #define PIO_SM3_EXECCTRL_OUT_STICKY_BITS   _u(0x00020000)
1814 #define PIO_SM3_EXECCTRL_OUT_STICKY_MSB    _u(17)
1815 #define PIO_SM3_EXECCTRL_OUT_STICKY_LSB    _u(17)
1816 #define PIO_SM3_EXECCTRL_OUT_STICKY_ACCESS "RW"
1817 // -----------------------------------------------------------------------------
1818 // Field       : PIO_SM3_EXECCTRL_WRAP_TOP
1819 // Description : After reaching this address, execution is wrapped to
1820 //               wrap_bottom.
1821 //               If the instruction is a jump, and the jump condition is true,
1822 //               the jump takes priority.
1823 #define PIO_SM3_EXECCTRL_WRAP_TOP_RESET  _u(0x1f)
1824 #define PIO_SM3_EXECCTRL_WRAP_TOP_BITS   _u(0x0001f000)
1825 #define PIO_SM3_EXECCTRL_WRAP_TOP_MSB    _u(16)
1826 #define PIO_SM3_EXECCTRL_WRAP_TOP_LSB    _u(12)
1827 #define PIO_SM3_EXECCTRL_WRAP_TOP_ACCESS "RW"
1828 // -----------------------------------------------------------------------------
1829 // Field       : PIO_SM3_EXECCTRL_WRAP_BOTTOM
1830 // Description : After reaching wrap_top, execution is wrapped to this address.
1831 #define PIO_SM3_EXECCTRL_WRAP_BOTTOM_RESET  _u(0x00)
1832 #define PIO_SM3_EXECCTRL_WRAP_BOTTOM_BITS   _u(0x00000f80)
1833 #define PIO_SM3_EXECCTRL_WRAP_BOTTOM_MSB    _u(11)
1834 #define PIO_SM3_EXECCTRL_WRAP_BOTTOM_LSB    _u(7)
1835 #define PIO_SM3_EXECCTRL_WRAP_BOTTOM_ACCESS "RW"
1836 // -----------------------------------------------------------------------------
1837 // Field       : PIO_SM3_EXECCTRL_STATUS_SEL
1838 // Description : Comparison used for the MOV x, STATUS instruction.
1839 //               0x0 -> All-ones if TX FIFO level < N, otherwise all-zeroes
1840 //               0x1 -> All-ones if RX FIFO level < N, otherwise all-zeroes
1841 #define PIO_SM3_EXECCTRL_STATUS_SEL_RESET  _u(0x0)
1842 #define PIO_SM3_EXECCTRL_STATUS_SEL_BITS   _u(0x00000010)
1843 #define PIO_SM3_EXECCTRL_STATUS_SEL_MSB    _u(4)
1844 #define PIO_SM3_EXECCTRL_STATUS_SEL_LSB    _u(4)
1845 #define PIO_SM3_EXECCTRL_STATUS_SEL_ACCESS "RW"
1846 #define PIO_SM3_EXECCTRL_STATUS_SEL_VALUE_TXLEVEL _u(0x0)
1847 #define PIO_SM3_EXECCTRL_STATUS_SEL_VALUE_RXLEVEL _u(0x1)
1848 // -----------------------------------------------------------------------------
1849 // Field       : PIO_SM3_EXECCTRL_STATUS_N
1850 // Description : Comparison level for the MOV x, STATUS instruction
1851 #define PIO_SM3_EXECCTRL_STATUS_N_RESET  _u(0x0)
1852 #define PIO_SM3_EXECCTRL_STATUS_N_BITS   _u(0x0000000f)
1853 #define PIO_SM3_EXECCTRL_STATUS_N_MSB    _u(3)
1854 #define PIO_SM3_EXECCTRL_STATUS_N_LSB    _u(0)
1855 #define PIO_SM3_EXECCTRL_STATUS_N_ACCESS "RW"
1856 // =============================================================================
1857 // Register    : PIO_SM3_SHIFTCTRL
1858 // Description : Control behaviour of the input/output shift registers for state
1859 //               machine 3
1860 #define PIO_SM3_SHIFTCTRL_OFFSET _u(0x00000118)
1861 #define PIO_SM3_SHIFTCTRL_BITS   _u(0xffff0000)
1862 #define PIO_SM3_SHIFTCTRL_RESET  _u(0x000c0000)
1863 // -----------------------------------------------------------------------------
1864 // Field       : PIO_SM3_SHIFTCTRL_FJOIN_RX
1865 // Description : When 1, RX FIFO steals the TX FIFO's storage, and becomes twice
1866 //               as deep.
1867 //               TX FIFO is disabled as a result (always reads as both full and
1868 //               empty).
1869 //               FIFOs are flushed when this bit is changed.
1870 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_RESET  _u(0x0)
1871 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_BITS   _u(0x80000000)
1872 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_MSB    _u(31)
1873 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_LSB    _u(31)
1874 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_ACCESS "RW"
1875 // -----------------------------------------------------------------------------
1876 // Field       : PIO_SM3_SHIFTCTRL_FJOIN_TX
1877 // Description : When 1, TX FIFO steals the RX FIFO's storage, and becomes twice
1878 //               as deep.
1879 //               RX FIFO is disabled as a result (always reads as both full and
1880 //               empty).
1881 //               FIFOs are flushed when this bit is changed.
1882 #define PIO_SM3_SHIFTCTRL_FJOIN_TX_RESET  _u(0x0)
1883 #define PIO_SM3_SHIFTCTRL_FJOIN_TX_BITS   _u(0x40000000)
1884 #define PIO_SM3_SHIFTCTRL_FJOIN_TX_MSB    _u(30)
1885 #define PIO_SM3_SHIFTCTRL_FJOIN_TX_LSB    _u(30)
1886 #define PIO_SM3_SHIFTCTRL_FJOIN_TX_ACCESS "RW"
1887 // -----------------------------------------------------------------------------
1888 // Field       : PIO_SM3_SHIFTCTRL_PULL_THRESH
1889 // Description : Number of bits shifted out of OSR before autopull, or
1890 //               conditional pull (PULL IFEMPTY), will take place.
1891 //               Write 0 for value of 32.
1892 #define PIO_SM3_SHIFTCTRL_PULL_THRESH_RESET  _u(0x00)
1893 #define PIO_SM3_SHIFTCTRL_PULL_THRESH_BITS   _u(0x3e000000)
1894 #define PIO_SM3_SHIFTCTRL_PULL_THRESH_MSB    _u(29)
1895 #define PIO_SM3_SHIFTCTRL_PULL_THRESH_LSB    _u(25)
1896 #define PIO_SM3_SHIFTCTRL_PULL_THRESH_ACCESS "RW"
1897 // -----------------------------------------------------------------------------
1898 // Field       : PIO_SM3_SHIFTCTRL_PUSH_THRESH
1899 // Description : Number of bits shifted into ISR before autopush, or conditional
1900 //               push (PUSH IFFULL), will take place.
1901 //               Write 0 for value of 32.
1902 #define PIO_SM3_SHIFTCTRL_PUSH_THRESH_RESET  _u(0x00)
1903 #define PIO_SM3_SHIFTCTRL_PUSH_THRESH_BITS   _u(0x01f00000)
1904 #define PIO_SM3_SHIFTCTRL_PUSH_THRESH_MSB    _u(24)
1905 #define PIO_SM3_SHIFTCTRL_PUSH_THRESH_LSB    _u(20)
1906 #define PIO_SM3_SHIFTCTRL_PUSH_THRESH_ACCESS "RW"
1907 // -----------------------------------------------------------------------------
1908 // Field       : PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR
1909 // Description : 1 = shift out of output shift register to right. 0 = to left.
1910 #define PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_RESET  _u(0x1)
1911 #define PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_BITS   _u(0x00080000)
1912 #define PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_MSB    _u(19)
1913 #define PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_LSB    _u(19)
1914 #define PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_ACCESS "RW"
1915 // -----------------------------------------------------------------------------
1916 // Field       : PIO_SM3_SHIFTCTRL_IN_SHIFTDIR
1917 // Description : 1 = shift input shift register to right (data enters from
1918 //               left). 0 = to left.
1919 #define PIO_SM3_SHIFTCTRL_IN_SHIFTDIR_RESET  _u(0x1)
1920 #define PIO_SM3_SHIFTCTRL_IN_SHIFTDIR_BITS   _u(0x00040000)
1921 #define PIO_SM3_SHIFTCTRL_IN_SHIFTDIR_MSB    _u(18)
1922 #define PIO_SM3_SHIFTCTRL_IN_SHIFTDIR_LSB    _u(18)
1923 #define PIO_SM3_SHIFTCTRL_IN_SHIFTDIR_ACCESS "RW"
1924 // -----------------------------------------------------------------------------
1925 // Field       : PIO_SM3_SHIFTCTRL_AUTOPULL
1926 // Description : Pull automatically when the output shift register is emptied,
1927 //               i.e. on or following an OUT instruction which causes the output
1928 //               shift counter to reach or exceed PULL_THRESH.
1929 #define PIO_SM3_SHIFTCTRL_AUTOPULL_RESET  _u(0x0)
1930 #define PIO_SM3_SHIFTCTRL_AUTOPULL_BITS   _u(0x00020000)
1931 #define PIO_SM3_SHIFTCTRL_AUTOPULL_MSB    _u(17)
1932 #define PIO_SM3_SHIFTCTRL_AUTOPULL_LSB    _u(17)
1933 #define PIO_SM3_SHIFTCTRL_AUTOPULL_ACCESS "RW"
1934 // -----------------------------------------------------------------------------
1935 // Field       : PIO_SM3_SHIFTCTRL_AUTOPUSH
1936 // Description : Push automatically when the input shift register is filled,
1937 //               i.e. on an IN instruction which causes the input shift counter
1938 //               to reach or exceed PUSH_THRESH.
1939 #define PIO_SM3_SHIFTCTRL_AUTOPUSH_RESET  _u(0x0)
1940 #define PIO_SM3_SHIFTCTRL_AUTOPUSH_BITS   _u(0x00010000)
1941 #define PIO_SM3_SHIFTCTRL_AUTOPUSH_MSB    _u(16)
1942 #define PIO_SM3_SHIFTCTRL_AUTOPUSH_LSB    _u(16)
1943 #define PIO_SM3_SHIFTCTRL_AUTOPUSH_ACCESS "RW"
1944 // =============================================================================
1945 // Register    : PIO_SM3_ADDR
1946 // Description : Current instruction address of state machine 3
1947 #define PIO_SM3_ADDR_OFFSET _u(0x0000011c)
1948 #define PIO_SM3_ADDR_BITS   _u(0x0000001f)
1949 #define PIO_SM3_ADDR_RESET  _u(0x00000000)
1950 #define PIO_SM3_ADDR_MSB    _u(4)
1951 #define PIO_SM3_ADDR_LSB    _u(0)
1952 #define PIO_SM3_ADDR_ACCESS "RO"
1953 // =============================================================================
1954 // Register    : PIO_SM3_INSTR
1955 // Description : Read to see the instruction currently addressed by state
1956 //               machine 3's program counter
1957 //               Write to execute an instruction immediately (including jumps)
1958 //               and then resume execution.
1959 #define PIO_SM3_INSTR_OFFSET _u(0x00000120)
1960 #define PIO_SM3_INSTR_BITS   _u(0x0000ffff)
1961 #define PIO_SM3_INSTR_RESET  "-"
1962 #define PIO_SM3_INSTR_MSB    _u(15)
1963 #define PIO_SM3_INSTR_LSB    _u(0)
1964 #define PIO_SM3_INSTR_ACCESS "RW"
1965 // =============================================================================
1966 // Register    : PIO_SM3_PINCTRL
1967 // Description : State machine pin control
1968 #define PIO_SM3_PINCTRL_OFFSET _u(0x00000124)
1969 #define PIO_SM3_PINCTRL_BITS   _u(0xffffffff)
1970 #define PIO_SM3_PINCTRL_RESET  _u(0x14000000)
1971 // -----------------------------------------------------------------------------
1972 // Field       : PIO_SM3_PINCTRL_SIDESET_COUNT
1973 // Description : The number of MSBs of the Delay/Side-set instruction field
1974 //               which are used for side-set. Inclusive of the enable bit, if
1975 //               present. Minimum of 0 (all delay bits, no side-set) and maximum
1976 //               of 5 (all side-set, no delay).
1977 #define PIO_SM3_PINCTRL_SIDESET_COUNT_RESET  _u(0x0)
1978 #define PIO_SM3_PINCTRL_SIDESET_COUNT_BITS   _u(0xe0000000)
1979 #define PIO_SM3_PINCTRL_SIDESET_COUNT_MSB    _u(31)
1980 #define PIO_SM3_PINCTRL_SIDESET_COUNT_LSB    _u(29)
1981 #define PIO_SM3_PINCTRL_SIDESET_COUNT_ACCESS "RW"
1982 // -----------------------------------------------------------------------------
1983 // Field       : PIO_SM3_PINCTRL_SET_COUNT
1984 // Description : The number of pins asserted by a SET. In the range 0 to 5
1985 //               inclusive.
1986 #define PIO_SM3_PINCTRL_SET_COUNT_RESET  _u(0x5)
1987 #define PIO_SM3_PINCTRL_SET_COUNT_BITS   _u(0x1c000000)
1988 #define PIO_SM3_PINCTRL_SET_COUNT_MSB    _u(28)
1989 #define PIO_SM3_PINCTRL_SET_COUNT_LSB    _u(26)
1990 #define PIO_SM3_PINCTRL_SET_COUNT_ACCESS "RW"
1991 // -----------------------------------------------------------------------------
1992 // Field       : PIO_SM3_PINCTRL_OUT_COUNT
1993 // Description : The number of pins asserted by an OUT PINS, OUT PINDIRS or MOV
1994 //               PINS instruction. In the range 0 to 32 inclusive.
1995 #define PIO_SM3_PINCTRL_OUT_COUNT_RESET  _u(0x00)
1996 #define PIO_SM3_PINCTRL_OUT_COUNT_BITS   _u(0x03f00000)
1997 #define PIO_SM3_PINCTRL_OUT_COUNT_MSB    _u(25)
1998 #define PIO_SM3_PINCTRL_OUT_COUNT_LSB    _u(20)
1999 #define PIO_SM3_PINCTRL_OUT_COUNT_ACCESS "RW"
2000 // -----------------------------------------------------------------------------
2001 // Field       : PIO_SM3_PINCTRL_IN_BASE
2002 // Description : The pin which is mapped to the least-significant bit of a state
2003 //               machine's IN data bus. Higher-numbered pins are mapped to
2004 //               consecutively more-significant data bits, with a modulo of 32
2005 //               applied to pin number.
2006 #define PIO_SM3_PINCTRL_IN_BASE_RESET  _u(0x00)
2007 #define PIO_SM3_PINCTRL_IN_BASE_BITS   _u(0x000f8000)
2008 #define PIO_SM3_PINCTRL_IN_BASE_MSB    _u(19)
2009 #define PIO_SM3_PINCTRL_IN_BASE_LSB    _u(15)
2010 #define PIO_SM3_PINCTRL_IN_BASE_ACCESS "RW"
2011 // -----------------------------------------------------------------------------
2012 // Field       : PIO_SM3_PINCTRL_SIDESET_BASE
2013 // Description : The lowest-numbered pin that will be affected by a side-set
2014 //               operation. The MSBs of an instruction's side-set/delay field
2015 //               (up to 5, determined by SIDESET_COUNT) are used for side-set
2016 //               data, with the remaining LSBs used for delay. The least-
2017 //               significant bit of the side-set portion is the bit written to
2018 //               this pin, with more-significant bits written to higher-numbered
2019 //               pins.
2020 #define PIO_SM3_PINCTRL_SIDESET_BASE_RESET  _u(0x00)
2021 #define PIO_SM3_PINCTRL_SIDESET_BASE_BITS   _u(0x00007c00)
2022 #define PIO_SM3_PINCTRL_SIDESET_BASE_MSB    _u(14)
2023 #define PIO_SM3_PINCTRL_SIDESET_BASE_LSB    _u(10)
2024 #define PIO_SM3_PINCTRL_SIDESET_BASE_ACCESS "RW"
2025 // -----------------------------------------------------------------------------
2026 // Field       : PIO_SM3_PINCTRL_SET_BASE
2027 // Description : The lowest-numbered pin that will be affected by a SET PINS or
2028 //               SET PINDIRS instruction. The data written to this pin is the
2029 //               least-significant bit of the SET data.
2030 #define PIO_SM3_PINCTRL_SET_BASE_RESET  _u(0x00)
2031 #define PIO_SM3_PINCTRL_SET_BASE_BITS   _u(0x000003e0)
2032 #define PIO_SM3_PINCTRL_SET_BASE_MSB    _u(9)
2033 #define PIO_SM3_PINCTRL_SET_BASE_LSB    _u(5)
2034 #define PIO_SM3_PINCTRL_SET_BASE_ACCESS "RW"
2035 // -----------------------------------------------------------------------------
2036 // Field       : PIO_SM3_PINCTRL_OUT_BASE
2037 // Description : The lowest-numbered pin that will be affected by an OUT PINS,
2038 //               OUT PINDIRS or MOV PINS instruction. The data written to this
2039 //               pin will always be the least-significant bit of the OUT or MOV
2040 //               data.
2041 #define PIO_SM3_PINCTRL_OUT_BASE_RESET  _u(0x00)
2042 #define PIO_SM3_PINCTRL_OUT_BASE_BITS   _u(0x0000001f)
2043 #define PIO_SM3_PINCTRL_OUT_BASE_MSB    _u(4)
2044 #define PIO_SM3_PINCTRL_OUT_BASE_LSB    _u(0)
2045 #define PIO_SM3_PINCTRL_OUT_BASE_ACCESS "RW"
2046 // =============================================================================
2047 // Register    : PIO_INTR
2048 // Description : Raw Interrupts
2049 #define PIO_INTR_OFFSET _u(0x00000128)
2050 #define PIO_INTR_BITS   _u(0x00000fff)
2051 #define PIO_INTR_RESET  _u(0x00000000)
2052 // -----------------------------------------------------------------------------
2053 // Field       : PIO_INTR_SM3
2054 #define PIO_INTR_SM3_RESET  _u(0x0)
2055 #define PIO_INTR_SM3_BITS   _u(0x00000800)
2056 #define PIO_INTR_SM3_MSB    _u(11)
2057 #define PIO_INTR_SM3_LSB    _u(11)
2058 #define PIO_INTR_SM3_ACCESS "RO"
2059 // -----------------------------------------------------------------------------
2060 // Field       : PIO_INTR_SM2
2061 #define PIO_INTR_SM2_RESET  _u(0x0)
2062 #define PIO_INTR_SM2_BITS   _u(0x00000400)
2063 #define PIO_INTR_SM2_MSB    _u(10)
2064 #define PIO_INTR_SM2_LSB    _u(10)
2065 #define PIO_INTR_SM2_ACCESS "RO"
2066 // -----------------------------------------------------------------------------
2067 // Field       : PIO_INTR_SM1
2068 #define PIO_INTR_SM1_RESET  _u(0x0)
2069 #define PIO_INTR_SM1_BITS   _u(0x00000200)
2070 #define PIO_INTR_SM1_MSB    _u(9)
2071 #define PIO_INTR_SM1_LSB    _u(9)
2072 #define PIO_INTR_SM1_ACCESS "RO"
2073 // -----------------------------------------------------------------------------
2074 // Field       : PIO_INTR_SM0
2075 #define PIO_INTR_SM0_RESET  _u(0x0)
2076 #define PIO_INTR_SM0_BITS   _u(0x00000100)
2077 #define PIO_INTR_SM0_MSB    _u(8)
2078 #define PIO_INTR_SM0_LSB    _u(8)
2079 #define PIO_INTR_SM0_ACCESS "RO"
2080 // -----------------------------------------------------------------------------
2081 // Field       : PIO_INTR_SM3_TXNFULL
2082 #define PIO_INTR_SM3_TXNFULL_RESET  _u(0x0)
2083 #define PIO_INTR_SM3_TXNFULL_BITS   _u(0x00000080)
2084 #define PIO_INTR_SM3_TXNFULL_MSB    _u(7)
2085 #define PIO_INTR_SM3_TXNFULL_LSB    _u(7)
2086 #define PIO_INTR_SM3_TXNFULL_ACCESS "RO"
2087 // -----------------------------------------------------------------------------
2088 // Field       : PIO_INTR_SM2_TXNFULL
2089 #define PIO_INTR_SM2_TXNFULL_RESET  _u(0x0)
2090 #define PIO_INTR_SM2_TXNFULL_BITS   _u(0x00000040)
2091 #define PIO_INTR_SM2_TXNFULL_MSB    _u(6)
2092 #define PIO_INTR_SM2_TXNFULL_LSB    _u(6)
2093 #define PIO_INTR_SM2_TXNFULL_ACCESS "RO"
2094 // -----------------------------------------------------------------------------
2095 // Field       : PIO_INTR_SM1_TXNFULL
2096 #define PIO_INTR_SM1_TXNFULL_RESET  _u(0x0)
2097 #define PIO_INTR_SM1_TXNFULL_BITS   _u(0x00000020)
2098 #define PIO_INTR_SM1_TXNFULL_MSB    _u(5)
2099 #define PIO_INTR_SM1_TXNFULL_LSB    _u(5)
2100 #define PIO_INTR_SM1_TXNFULL_ACCESS "RO"
2101 // -----------------------------------------------------------------------------
2102 // Field       : PIO_INTR_SM0_TXNFULL
2103 #define PIO_INTR_SM0_TXNFULL_RESET  _u(0x0)
2104 #define PIO_INTR_SM0_TXNFULL_BITS   _u(0x00000010)
2105 #define PIO_INTR_SM0_TXNFULL_MSB    _u(4)
2106 #define PIO_INTR_SM0_TXNFULL_LSB    _u(4)
2107 #define PIO_INTR_SM0_TXNFULL_ACCESS "RO"
2108 // -----------------------------------------------------------------------------
2109 // Field       : PIO_INTR_SM3_RXNEMPTY
2110 #define PIO_INTR_SM3_RXNEMPTY_RESET  _u(0x0)
2111 #define PIO_INTR_SM3_RXNEMPTY_BITS   _u(0x00000008)
2112 #define PIO_INTR_SM3_RXNEMPTY_MSB    _u(3)
2113 #define PIO_INTR_SM3_RXNEMPTY_LSB    _u(3)
2114 #define PIO_INTR_SM3_RXNEMPTY_ACCESS "RO"
2115 // -----------------------------------------------------------------------------
2116 // Field       : PIO_INTR_SM2_RXNEMPTY
2117 #define PIO_INTR_SM2_RXNEMPTY_RESET  _u(0x0)
2118 #define PIO_INTR_SM2_RXNEMPTY_BITS   _u(0x00000004)
2119 #define PIO_INTR_SM2_RXNEMPTY_MSB    _u(2)
2120 #define PIO_INTR_SM2_RXNEMPTY_LSB    _u(2)
2121 #define PIO_INTR_SM2_RXNEMPTY_ACCESS "RO"
2122 // -----------------------------------------------------------------------------
2123 // Field       : PIO_INTR_SM1_RXNEMPTY
2124 #define PIO_INTR_SM1_RXNEMPTY_RESET  _u(0x0)
2125 #define PIO_INTR_SM1_RXNEMPTY_BITS   _u(0x00000002)
2126 #define PIO_INTR_SM1_RXNEMPTY_MSB    _u(1)
2127 #define PIO_INTR_SM1_RXNEMPTY_LSB    _u(1)
2128 #define PIO_INTR_SM1_RXNEMPTY_ACCESS "RO"
2129 // -----------------------------------------------------------------------------
2130 // Field       : PIO_INTR_SM0_RXNEMPTY
2131 #define PIO_INTR_SM0_RXNEMPTY_RESET  _u(0x0)
2132 #define PIO_INTR_SM0_RXNEMPTY_BITS   _u(0x00000001)
2133 #define PIO_INTR_SM0_RXNEMPTY_MSB    _u(0)
2134 #define PIO_INTR_SM0_RXNEMPTY_LSB    _u(0)
2135 #define PIO_INTR_SM0_RXNEMPTY_ACCESS "RO"
2136 // =============================================================================
2137 // Register    : PIO_IRQ0_INTE
2138 // Description : Interrupt Enable for irq0
2139 #define PIO_IRQ0_INTE_OFFSET _u(0x0000012c)
2140 #define PIO_IRQ0_INTE_BITS   _u(0x00000fff)
2141 #define PIO_IRQ0_INTE_RESET  _u(0x00000000)
2142 // -----------------------------------------------------------------------------
2143 // Field       : PIO_IRQ0_INTE_SM3
2144 #define PIO_IRQ0_INTE_SM3_RESET  _u(0x0)
2145 #define PIO_IRQ0_INTE_SM3_BITS   _u(0x00000800)
2146 #define PIO_IRQ0_INTE_SM3_MSB    _u(11)
2147 #define PIO_IRQ0_INTE_SM3_LSB    _u(11)
2148 #define PIO_IRQ0_INTE_SM3_ACCESS "RW"
2149 // -----------------------------------------------------------------------------
2150 // Field       : PIO_IRQ0_INTE_SM2
2151 #define PIO_IRQ0_INTE_SM2_RESET  _u(0x0)
2152 #define PIO_IRQ0_INTE_SM2_BITS   _u(0x00000400)
2153 #define PIO_IRQ0_INTE_SM2_MSB    _u(10)
2154 #define PIO_IRQ0_INTE_SM2_LSB    _u(10)
2155 #define PIO_IRQ0_INTE_SM2_ACCESS "RW"
2156 // -----------------------------------------------------------------------------
2157 // Field       : PIO_IRQ0_INTE_SM1
2158 #define PIO_IRQ0_INTE_SM1_RESET  _u(0x0)
2159 #define PIO_IRQ0_INTE_SM1_BITS   _u(0x00000200)
2160 #define PIO_IRQ0_INTE_SM1_MSB    _u(9)
2161 #define PIO_IRQ0_INTE_SM1_LSB    _u(9)
2162 #define PIO_IRQ0_INTE_SM1_ACCESS "RW"
2163 // -----------------------------------------------------------------------------
2164 // Field       : PIO_IRQ0_INTE_SM0
2165 #define PIO_IRQ0_INTE_SM0_RESET  _u(0x0)
2166 #define PIO_IRQ0_INTE_SM0_BITS   _u(0x00000100)
2167 #define PIO_IRQ0_INTE_SM0_MSB    _u(8)
2168 #define PIO_IRQ0_INTE_SM0_LSB    _u(8)
2169 #define PIO_IRQ0_INTE_SM0_ACCESS "RW"
2170 // -----------------------------------------------------------------------------
2171 // Field       : PIO_IRQ0_INTE_SM3_TXNFULL
2172 #define PIO_IRQ0_INTE_SM3_TXNFULL_RESET  _u(0x0)
2173 #define PIO_IRQ0_INTE_SM3_TXNFULL_BITS   _u(0x00000080)
2174 #define PIO_IRQ0_INTE_SM3_TXNFULL_MSB    _u(7)
2175 #define PIO_IRQ0_INTE_SM3_TXNFULL_LSB    _u(7)
2176 #define PIO_IRQ0_INTE_SM3_TXNFULL_ACCESS "RW"
2177 // -----------------------------------------------------------------------------
2178 // Field       : PIO_IRQ0_INTE_SM2_TXNFULL
2179 #define PIO_IRQ0_INTE_SM2_TXNFULL_RESET  _u(0x0)
2180 #define PIO_IRQ0_INTE_SM2_TXNFULL_BITS   _u(0x00000040)
2181 #define PIO_IRQ0_INTE_SM2_TXNFULL_MSB    _u(6)
2182 #define PIO_IRQ0_INTE_SM2_TXNFULL_LSB    _u(6)
2183 #define PIO_IRQ0_INTE_SM2_TXNFULL_ACCESS "RW"
2184 // -----------------------------------------------------------------------------
2185 // Field       : PIO_IRQ0_INTE_SM1_TXNFULL
2186 #define PIO_IRQ0_INTE_SM1_TXNFULL_RESET  _u(0x0)
2187 #define PIO_IRQ0_INTE_SM1_TXNFULL_BITS   _u(0x00000020)
2188 #define PIO_IRQ0_INTE_SM1_TXNFULL_MSB    _u(5)
2189 #define PIO_IRQ0_INTE_SM1_TXNFULL_LSB    _u(5)
2190 #define PIO_IRQ0_INTE_SM1_TXNFULL_ACCESS "RW"
2191 // -----------------------------------------------------------------------------
2192 // Field       : PIO_IRQ0_INTE_SM0_TXNFULL
2193 #define PIO_IRQ0_INTE_SM0_TXNFULL_RESET  _u(0x0)
2194 #define PIO_IRQ0_INTE_SM0_TXNFULL_BITS   _u(0x00000010)
2195 #define PIO_IRQ0_INTE_SM0_TXNFULL_MSB    _u(4)
2196 #define PIO_IRQ0_INTE_SM0_TXNFULL_LSB    _u(4)
2197 #define PIO_IRQ0_INTE_SM0_TXNFULL_ACCESS "RW"
2198 // -----------------------------------------------------------------------------
2199 // Field       : PIO_IRQ0_INTE_SM3_RXNEMPTY
2200 #define PIO_IRQ0_INTE_SM3_RXNEMPTY_RESET  _u(0x0)
2201 #define PIO_IRQ0_INTE_SM3_RXNEMPTY_BITS   _u(0x00000008)
2202 #define PIO_IRQ0_INTE_SM3_RXNEMPTY_MSB    _u(3)
2203 #define PIO_IRQ0_INTE_SM3_RXNEMPTY_LSB    _u(3)
2204 #define PIO_IRQ0_INTE_SM3_RXNEMPTY_ACCESS "RW"
2205 // -----------------------------------------------------------------------------
2206 // Field       : PIO_IRQ0_INTE_SM2_RXNEMPTY
2207 #define PIO_IRQ0_INTE_SM2_RXNEMPTY_RESET  _u(0x0)
2208 #define PIO_IRQ0_INTE_SM2_RXNEMPTY_BITS   _u(0x00000004)
2209 #define PIO_IRQ0_INTE_SM2_RXNEMPTY_MSB    _u(2)
2210 #define PIO_IRQ0_INTE_SM2_RXNEMPTY_LSB    _u(2)
2211 #define PIO_IRQ0_INTE_SM2_RXNEMPTY_ACCESS "RW"
2212 // -----------------------------------------------------------------------------
2213 // Field       : PIO_IRQ0_INTE_SM1_RXNEMPTY
2214 #define PIO_IRQ0_INTE_SM1_RXNEMPTY_RESET  _u(0x0)
2215 #define PIO_IRQ0_INTE_SM1_RXNEMPTY_BITS   _u(0x00000002)
2216 #define PIO_IRQ0_INTE_SM1_RXNEMPTY_MSB    _u(1)
2217 #define PIO_IRQ0_INTE_SM1_RXNEMPTY_LSB    _u(1)
2218 #define PIO_IRQ0_INTE_SM1_RXNEMPTY_ACCESS "RW"
2219 // -----------------------------------------------------------------------------
2220 // Field       : PIO_IRQ0_INTE_SM0_RXNEMPTY
2221 #define PIO_IRQ0_INTE_SM0_RXNEMPTY_RESET  _u(0x0)
2222 #define PIO_IRQ0_INTE_SM0_RXNEMPTY_BITS   _u(0x00000001)
2223 #define PIO_IRQ0_INTE_SM0_RXNEMPTY_MSB    _u(0)
2224 #define PIO_IRQ0_INTE_SM0_RXNEMPTY_LSB    _u(0)
2225 #define PIO_IRQ0_INTE_SM0_RXNEMPTY_ACCESS "RW"
2226 // =============================================================================
2227 // Register    : PIO_IRQ0_INTF
2228 // Description : Interrupt Force for irq0
2229 #define PIO_IRQ0_INTF_OFFSET _u(0x00000130)
2230 #define PIO_IRQ0_INTF_BITS   _u(0x00000fff)
2231 #define PIO_IRQ0_INTF_RESET  _u(0x00000000)
2232 // -----------------------------------------------------------------------------
2233 // Field       : PIO_IRQ0_INTF_SM3
2234 #define PIO_IRQ0_INTF_SM3_RESET  _u(0x0)
2235 #define PIO_IRQ0_INTF_SM3_BITS   _u(0x00000800)
2236 #define PIO_IRQ0_INTF_SM3_MSB    _u(11)
2237 #define PIO_IRQ0_INTF_SM3_LSB    _u(11)
2238 #define PIO_IRQ0_INTF_SM3_ACCESS "RW"
2239 // -----------------------------------------------------------------------------
2240 // Field       : PIO_IRQ0_INTF_SM2
2241 #define PIO_IRQ0_INTF_SM2_RESET  _u(0x0)
2242 #define PIO_IRQ0_INTF_SM2_BITS   _u(0x00000400)
2243 #define PIO_IRQ0_INTF_SM2_MSB    _u(10)
2244 #define PIO_IRQ0_INTF_SM2_LSB    _u(10)
2245 #define PIO_IRQ0_INTF_SM2_ACCESS "RW"
2246 // -----------------------------------------------------------------------------
2247 // Field       : PIO_IRQ0_INTF_SM1
2248 #define PIO_IRQ0_INTF_SM1_RESET  _u(0x0)
2249 #define PIO_IRQ0_INTF_SM1_BITS   _u(0x00000200)
2250 #define PIO_IRQ0_INTF_SM1_MSB    _u(9)
2251 #define PIO_IRQ0_INTF_SM1_LSB    _u(9)
2252 #define PIO_IRQ0_INTF_SM1_ACCESS "RW"
2253 // -----------------------------------------------------------------------------
2254 // Field       : PIO_IRQ0_INTF_SM0
2255 #define PIO_IRQ0_INTF_SM0_RESET  _u(0x0)
2256 #define PIO_IRQ0_INTF_SM0_BITS   _u(0x00000100)
2257 #define PIO_IRQ0_INTF_SM0_MSB    _u(8)
2258 #define PIO_IRQ0_INTF_SM0_LSB    _u(8)
2259 #define PIO_IRQ0_INTF_SM0_ACCESS "RW"
2260 // -----------------------------------------------------------------------------
2261 // Field       : PIO_IRQ0_INTF_SM3_TXNFULL
2262 #define PIO_IRQ0_INTF_SM3_TXNFULL_RESET  _u(0x0)
2263 #define PIO_IRQ0_INTF_SM3_TXNFULL_BITS   _u(0x00000080)
2264 #define PIO_IRQ0_INTF_SM3_TXNFULL_MSB    _u(7)
2265 #define PIO_IRQ0_INTF_SM3_TXNFULL_LSB    _u(7)
2266 #define PIO_IRQ0_INTF_SM3_TXNFULL_ACCESS "RW"
2267 // -----------------------------------------------------------------------------
2268 // Field       : PIO_IRQ0_INTF_SM2_TXNFULL
2269 #define PIO_IRQ0_INTF_SM2_TXNFULL_RESET  _u(0x0)
2270 #define PIO_IRQ0_INTF_SM2_TXNFULL_BITS   _u(0x00000040)
2271 #define PIO_IRQ0_INTF_SM2_TXNFULL_MSB    _u(6)
2272 #define PIO_IRQ0_INTF_SM2_TXNFULL_LSB    _u(6)
2273 #define PIO_IRQ0_INTF_SM2_TXNFULL_ACCESS "RW"
2274 // -----------------------------------------------------------------------------
2275 // Field       : PIO_IRQ0_INTF_SM1_TXNFULL
2276 #define PIO_IRQ0_INTF_SM1_TXNFULL_RESET  _u(0x0)
2277 #define PIO_IRQ0_INTF_SM1_TXNFULL_BITS   _u(0x00000020)
2278 #define PIO_IRQ0_INTF_SM1_TXNFULL_MSB    _u(5)
2279 #define PIO_IRQ0_INTF_SM1_TXNFULL_LSB    _u(5)
2280 #define PIO_IRQ0_INTF_SM1_TXNFULL_ACCESS "RW"
2281 // -----------------------------------------------------------------------------
2282 // Field       : PIO_IRQ0_INTF_SM0_TXNFULL
2283 #define PIO_IRQ0_INTF_SM0_TXNFULL_RESET  _u(0x0)
2284 #define PIO_IRQ0_INTF_SM0_TXNFULL_BITS   _u(0x00000010)
2285 #define PIO_IRQ0_INTF_SM0_TXNFULL_MSB    _u(4)
2286 #define PIO_IRQ0_INTF_SM0_TXNFULL_LSB    _u(4)
2287 #define PIO_IRQ0_INTF_SM0_TXNFULL_ACCESS "RW"
2288 // -----------------------------------------------------------------------------
2289 // Field       : PIO_IRQ0_INTF_SM3_RXNEMPTY
2290 #define PIO_IRQ0_INTF_SM3_RXNEMPTY_RESET  _u(0x0)
2291 #define PIO_IRQ0_INTF_SM3_RXNEMPTY_BITS   _u(0x00000008)
2292 #define PIO_IRQ0_INTF_SM3_RXNEMPTY_MSB    _u(3)
2293 #define PIO_IRQ0_INTF_SM3_RXNEMPTY_LSB    _u(3)
2294 #define PIO_IRQ0_INTF_SM3_RXNEMPTY_ACCESS "RW"
2295 // -----------------------------------------------------------------------------
2296 // Field       : PIO_IRQ0_INTF_SM2_RXNEMPTY
2297 #define PIO_IRQ0_INTF_SM2_RXNEMPTY_RESET  _u(0x0)
2298 #define PIO_IRQ0_INTF_SM2_RXNEMPTY_BITS   _u(0x00000004)
2299 #define PIO_IRQ0_INTF_SM2_RXNEMPTY_MSB    _u(2)
2300 #define PIO_IRQ0_INTF_SM2_RXNEMPTY_LSB    _u(2)
2301 #define PIO_IRQ0_INTF_SM2_RXNEMPTY_ACCESS "RW"
2302 // -----------------------------------------------------------------------------
2303 // Field       : PIO_IRQ0_INTF_SM1_RXNEMPTY
2304 #define PIO_IRQ0_INTF_SM1_RXNEMPTY_RESET  _u(0x0)
2305 #define PIO_IRQ0_INTF_SM1_RXNEMPTY_BITS   _u(0x00000002)
2306 #define PIO_IRQ0_INTF_SM1_RXNEMPTY_MSB    _u(1)
2307 #define PIO_IRQ0_INTF_SM1_RXNEMPTY_LSB    _u(1)
2308 #define PIO_IRQ0_INTF_SM1_RXNEMPTY_ACCESS "RW"
2309 // -----------------------------------------------------------------------------
2310 // Field       : PIO_IRQ0_INTF_SM0_RXNEMPTY
2311 #define PIO_IRQ0_INTF_SM0_RXNEMPTY_RESET  _u(0x0)
2312 #define PIO_IRQ0_INTF_SM0_RXNEMPTY_BITS   _u(0x00000001)
2313 #define PIO_IRQ0_INTF_SM0_RXNEMPTY_MSB    _u(0)
2314 #define PIO_IRQ0_INTF_SM0_RXNEMPTY_LSB    _u(0)
2315 #define PIO_IRQ0_INTF_SM0_RXNEMPTY_ACCESS "RW"
2316 // =============================================================================
2317 // Register    : PIO_IRQ0_INTS
2318 // Description : Interrupt status after masking & forcing for irq0
2319 #define PIO_IRQ0_INTS_OFFSET _u(0x00000134)
2320 #define PIO_IRQ0_INTS_BITS   _u(0x00000fff)
2321 #define PIO_IRQ0_INTS_RESET  _u(0x00000000)
2322 // -----------------------------------------------------------------------------
2323 // Field       : PIO_IRQ0_INTS_SM3
2324 #define PIO_IRQ0_INTS_SM3_RESET  _u(0x0)
2325 #define PIO_IRQ0_INTS_SM3_BITS   _u(0x00000800)
2326 #define PIO_IRQ0_INTS_SM3_MSB    _u(11)
2327 #define PIO_IRQ0_INTS_SM3_LSB    _u(11)
2328 #define PIO_IRQ0_INTS_SM3_ACCESS "RO"
2329 // -----------------------------------------------------------------------------
2330 // Field       : PIO_IRQ0_INTS_SM2
2331 #define PIO_IRQ0_INTS_SM2_RESET  _u(0x0)
2332 #define PIO_IRQ0_INTS_SM2_BITS   _u(0x00000400)
2333 #define PIO_IRQ0_INTS_SM2_MSB    _u(10)
2334 #define PIO_IRQ0_INTS_SM2_LSB    _u(10)
2335 #define PIO_IRQ0_INTS_SM2_ACCESS "RO"
2336 // -----------------------------------------------------------------------------
2337 // Field       : PIO_IRQ0_INTS_SM1
2338 #define PIO_IRQ0_INTS_SM1_RESET  _u(0x0)
2339 #define PIO_IRQ0_INTS_SM1_BITS   _u(0x00000200)
2340 #define PIO_IRQ0_INTS_SM1_MSB    _u(9)
2341 #define PIO_IRQ0_INTS_SM1_LSB    _u(9)
2342 #define PIO_IRQ0_INTS_SM1_ACCESS "RO"
2343 // -----------------------------------------------------------------------------
2344 // Field       : PIO_IRQ0_INTS_SM0
2345 #define PIO_IRQ0_INTS_SM0_RESET  _u(0x0)
2346 #define PIO_IRQ0_INTS_SM0_BITS   _u(0x00000100)
2347 #define PIO_IRQ0_INTS_SM0_MSB    _u(8)
2348 #define PIO_IRQ0_INTS_SM0_LSB    _u(8)
2349 #define PIO_IRQ0_INTS_SM0_ACCESS "RO"
2350 // -----------------------------------------------------------------------------
2351 // Field       : PIO_IRQ0_INTS_SM3_TXNFULL
2352 #define PIO_IRQ0_INTS_SM3_TXNFULL_RESET  _u(0x0)
2353 #define PIO_IRQ0_INTS_SM3_TXNFULL_BITS   _u(0x00000080)
2354 #define PIO_IRQ0_INTS_SM3_TXNFULL_MSB    _u(7)
2355 #define PIO_IRQ0_INTS_SM3_TXNFULL_LSB    _u(7)
2356 #define PIO_IRQ0_INTS_SM3_TXNFULL_ACCESS "RO"
2357 // -----------------------------------------------------------------------------
2358 // Field       : PIO_IRQ0_INTS_SM2_TXNFULL
2359 #define PIO_IRQ0_INTS_SM2_TXNFULL_RESET  _u(0x0)
2360 #define PIO_IRQ0_INTS_SM2_TXNFULL_BITS   _u(0x00000040)
2361 #define PIO_IRQ0_INTS_SM2_TXNFULL_MSB    _u(6)
2362 #define PIO_IRQ0_INTS_SM2_TXNFULL_LSB    _u(6)
2363 #define PIO_IRQ0_INTS_SM2_TXNFULL_ACCESS "RO"
2364 // -----------------------------------------------------------------------------
2365 // Field       : PIO_IRQ0_INTS_SM1_TXNFULL
2366 #define PIO_IRQ0_INTS_SM1_TXNFULL_RESET  _u(0x0)
2367 #define PIO_IRQ0_INTS_SM1_TXNFULL_BITS   _u(0x00000020)
2368 #define PIO_IRQ0_INTS_SM1_TXNFULL_MSB    _u(5)
2369 #define PIO_IRQ0_INTS_SM1_TXNFULL_LSB    _u(5)
2370 #define PIO_IRQ0_INTS_SM1_TXNFULL_ACCESS "RO"
2371 // -----------------------------------------------------------------------------
2372 // Field       : PIO_IRQ0_INTS_SM0_TXNFULL
2373 #define PIO_IRQ0_INTS_SM0_TXNFULL_RESET  _u(0x0)
2374 #define PIO_IRQ0_INTS_SM0_TXNFULL_BITS   _u(0x00000010)
2375 #define PIO_IRQ0_INTS_SM0_TXNFULL_MSB    _u(4)
2376 #define PIO_IRQ0_INTS_SM0_TXNFULL_LSB    _u(4)
2377 #define PIO_IRQ0_INTS_SM0_TXNFULL_ACCESS "RO"
2378 // -----------------------------------------------------------------------------
2379 // Field       : PIO_IRQ0_INTS_SM3_RXNEMPTY
2380 #define PIO_IRQ0_INTS_SM3_RXNEMPTY_RESET  _u(0x0)
2381 #define PIO_IRQ0_INTS_SM3_RXNEMPTY_BITS   _u(0x00000008)
2382 #define PIO_IRQ0_INTS_SM3_RXNEMPTY_MSB    _u(3)
2383 #define PIO_IRQ0_INTS_SM3_RXNEMPTY_LSB    _u(3)
2384 #define PIO_IRQ0_INTS_SM3_RXNEMPTY_ACCESS "RO"
2385 // -----------------------------------------------------------------------------
2386 // Field       : PIO_IRQ0_INTS_SM2_RXNEMPTY
2387 #define PIO_IRQ0_INTS_SM2_RXNEMPTY_RESET  _u(0x0)
2388 #define PIO_IRQ0_INTS_SM2_RXNEMPTY_BITS   _u(0x00000004)
2389 #define PIO_IRQ0_INTS_SM2_RXNEMPTY_MSB    _u(2)
2390 #define PIO_IRQ0_INTS_SM2_RXNEMPTY_LSB    _u(2)
2391 #define PIO_IRQ0_INTS_SM2_RXNEMPTY_ACCESS "RO"
2392 // -----------------------------------------------------------------------------
2393 // Field       : PIO_IRQ0_INTS_SM1_RXNEMPTY
2394 #define PIO_IRQ0_INTS_SM1_RXNEMPTY_RESET  _u(0x0)
2395 #define PIO_IRQ0_INTS_SM1_RXNEMPTY_BITS   _u(0x00000002)
2396 #define PIO_IRQ0_INTS_SM1_RXNEMPTY_MSB    _u(1)
2397 #define PIO_IRQ0_INTS_SM1_RXNEMPTY_LSB    _u(1)
2398 #define PIO_IRQ0_INTS_SM1_RXNEMPTY_ACCESS "RO"
2399 // -----------------------------------------------------------------------------
2400 // Field       : PIO_IRQ0_INTS_SM0_RXNEMPTY
2401 #define PIO_IRQ0_INTS_SM0_RXNEMPTY_RESET  _u(0x0)
2402 #define PIO_IRQ0_INTS_SM0_RXNEMPTY_BITS   _u(0x00000001)
2403 #define PIO_IRQ0_INTS_SM0_RXNEMPTY_MSB    _u(0)
2404 #define PIO_IRQ0_INTS_SM0_RXNEMPTY_LSB    _u(0)
2405 #define PIO_IRQ0_INTS_SM0_RXNEMPTY_ACCESS "RO"
2406 // =============================================================================
2407 // Register    : PIO_IRQ1_INTE
2408 // Description : Interrupt Enable for irq1
2409 #define PIO_IRQ1_INTE_OFFSET _u(0x00000138)
2410 #define PIO_IRQ1_INTE_BITS   _u(0x00000fff)
2411 #define PIO_IRQ1_INTE_RESET  _u(0x00000000)
2412 // -----------------------------------------------------------------------------
2413 // Field       : PIO_IRQ1_INTE_SM3
2414 #define PIO_IRQ1_INTE_SM3_RESET  _u(0x0)
2415 #define PIO_IRQ1_INTE_SM3_BITS   _u(0x00000800)
2416 #define PIO_IRQ1_INTE_SM3_MSB    _u(11)
2417 #define PIO_IRQ1_INTE_SM3_LSB    _u(11)
2418 #define PIO_IRQ1_INTE_SM3_ACCESS "RW"
2419 // -----------------------------------------------------------------------------
2420 // Field       : PIO_IRQ1_INTE_SM2
2421 #define PIO_IRQ1_INTE_SM2_RESET  _u(0x0)
2422 #define PIO_IRQ1_INTE_SM2_BITS   _u(0x00000400)
2423 #define PIO_IRQ1_INTE_SM2_MSB    _u(10)
2424 #define PIO_IRQ1_INTE_SM2_LSB    _u(10)
2425 #define PIO_IRQ1_INTE_SM2_ACCESS "RW"
2426 // -----------------------------------------------------------------------------
2427 // Field       : PIO_IRQ1_INTE_SM1
2428 #define PIO_IRQ1_INTE_SM1_RESET  _u(0x0)
2429 #define PIO_IRQ1_INTE_SM1_BITS   _u(0x00000200)
2430 #define PIO_IRQ1_INTE_SM1_MSB    _u(9)
2431 #define PIO_IRQ1_INTE_SM1_LSB    _u(9)
2432 #define PIO_IRQ1_INTE_SM1_ACCESS "RW"
2433 // -----------------------------------------------------------------------------
2434 // Field       : PIO_IRQ1_INTE_SM0
2435 #define PIO_IRQ1_INTE_SM0_RESET  _u(0x0)
2436 #define PIO_IRQ1_INTE_SM0_BITS   _u(0x00000100)
2437 #define PIO_IRQ1_INTE_SM0_MSB    _u(8)
2438 #define PIO_IRQ1_INTE_SM0_LSB    _u(8)
2439 #define PIO_IRQ1_INTE_SM0_ACCESS "RW"
2440 // -----------------------------------------------------------------------------
2441 // Field       : PIO_IRQ1_INTE_SM3_TXNFULL
2442 #define PIO_IRQ1_INTE_SM3_TXNFULL_RESET  _u(0x0)
2443 #define PIO_IRQ1_INTE_SM3_TXNFULL_BITS   _u(0x00000080)
2444 #define PIO_IRQ1_INTE_SM3_TXNFULL_MSB    _u(7)
2445 #define PIO_IRQ1_INTE_SM3_TXNFULL_LSB    _u(7)
2446 #define PIO_IRQ1_INTE_SM3_TXNFULL_ACCESS "RW"
2447 // -----------------------------------------------------------------------------
2448 // Field       : PIO_IRQ1_INTE_SM2_TXNFULL
2449 #define PIO_IRQ1_INTE_SM2_TXNFULL_RESET  _u(0x0)
2450 #define PIO_IRQ1_INTE_SM2_TXNFULL_BITS   _u(0x00000040)
2451 #define PIO_IRQ1_INTE_SM2_TXNFULL_MSB    _u(6)
2452 #define PIO_IRQ1_INTE_SM2_TXNFULL_LSB    _u(6)
2453 #define PIO_IRQ1_INTE_SM2_TXNFULL_ACCESS "RW"
2454 // -----------------------------------------------------------------------------
2455 // Field       : PIO_IRQ1_INTE_SM1_TXNFULL
2456 #define PIO_IRQ1_INTE_SM1_TXNFULL_RESET  _u(0x0)
2457 #define PIO_IRQ1_INTE_SM1_TXNFULL_BITS   _u(0x00000020)
2458 #define PIO_IRQ1_INTE_SM1_TXNFULL_MSB    _u(5)
2459 #define PIO_IRQ1_INTE_SM1_TXNFULL_LSB    _u(5)
2460 #define PIO_IRQ1_INTE_SM1_TXNFULL_ACCESS "RW"
2461 // -----------------------------------------------------------------------------
2462 // Field       : PIO_IRQ1_INTE_SM0_TXNFULL
2463 #define PIO_IRQ1_INTE_SM0_TXNFULL_RESET  _u(0x0)
2464 #define PIO_IRQ1_INTE_SM0_TXNFULL_BITS   _u(0x00000010)
2465 #define PIO_IRQ1_INTE_SM0_TXNFULL_MSB    _u(4)
2466 #define PIO_IRQ1_INTE_SM0_TXNFULL_LSB    _u(4)
2467 #define PIO_IRQ1_INTE_SM0_TXNFULL_ACCESS "RW"
2468 // -----------------------------------------------------------------------------
2469 // Field       : PIO_IRQ1_INTE_SM3_RXNEMPTY
2470 #define PIO_IRQ1_INTE_SM3_RXNEMPTY_RESET  _u(0x0)
2471 #define PIO_IRQ1_INTE_SM3_RXNEMPTY_BITS   _u(0x00000008)
2472 #define PIO_IRQ1_INTE_SM3_RXNEMPTY_MSB    _u(3)
2473 #define PIO_IRQ1_INTE_SM3_RXNEMPTY_LSB    _u(3)
2474 #define PIO_IRQ1_INTE_SM3_RXNEMPTY_ACCESS "RW"
2475 // -----------------------------------------------------------------------------
2476 // Field       : PIO_IRQ1_INTE_SM2_RXNEMPTY
2477 #define PIO_IRQ1_INTE_SM2_RXNEMPTY_RESET  _u(0x0)
2478 #define PIO_IRQ1_INTE_SM2_RXNEMPTY_BITS   _u(0x00000004)
2479 #define PIO_IRQ1_INTE_SM2_RXNEMPTY_MSB    _u(2)
2480 #define PIO_IRQ1_INTE_SM2_RXNEMPTY_LSB    _u(2)
2481 #define PIO_IRQ1_INTE_SM2_RXNEMPTY_ACCESS "RW"
2482 // -----------------------------------------------------------------------------
2483 // Field       : PIO_IRQ1_INTE_SM1_RXNEMPTY
2484 #define PIO_IRQ1_INTE_SM1_RXNEMPTY_RESET  _u(0x0)
2485 #define PIO_IRQ1_INTE_SM1_RXNEMPTY_BITS   _u(0x00000002)
2486 #define PIO_IRQ1_INTE_SM1_RXNEMPTY_MSB    _u(1)
2487 #define PIO_IRQ1_INTE_SM1_RXNEMPTY_LSB    _u(1)
2488 #define PIO_IRQ1_INTE_SM1_RXNEMPTY_ACCESS "RW"
2489 // -----------------------------------------------------------------------------
2490 // Field       : PIO_IRQ1_INTE_SM0_RXNEMPTY
2491 #define PIO_IRQ1_INTE_SM0_RXNEMPTY_RESET  _u(0x0)
2492 #define PIO_IRQ1_INTE_SM0_RXNEMPTY_BITS   _u(0x00000001)
2493 #define PIO_IRQ1_INTE_SM0_RXNEMPTY_MSB    _u(0)
2494 #define PIO_IRQ1_INTE_SM0_RXNEMPTY_LSB    _u(0)
2495 #define PIO_IRQ1_INTE_SM0_RXNEMPTY_ACCESS "RW"
2496 // =============================================================================
2497 // Register    : PIO_IRQ1_INTF
2498 // Description : Interrupt Force for irq1
2499 #define PIO_IRQ1_INTF_OFFSET _u(0x0000013c)
2500 #define PIO_IRQ1_INTF_BITS   _u(0x00000fff)
2501 #define PIO_IRQ1_INTF_RESET  _u(0x00000000)
2502 // -----------------------------------------------------------------------------
2503 // Field       : PIO_IRQ1_INTF_SM3
2504 #define PIO_IRQ1_INTF_SM3_RESET  _u(0x0)
2505 #define PIO_IRQ1_INTF_SM3_BITS   _u(0x00000800)
2506 #define PIO_IRQ1_INTF_SM3_MSB    _u(11)
2507 #define PIO_IRQ1_INTF_SM3_LSB    _u(11)
2508 #define PIO_IRQ1_INTF_SM3_ACCESS "RW"
2509 // -----------------------------------------------------------------------------
2510 // Field       : PIO_IRQ1_INTF_SM2
2511 #define PIO_IRQ1_INTF_SM2_RESET  _u(0x0)
2512 #define PIO_IRQ1_INTF_SM2_BITS   _u(0x00000400)
2513 #define PIO_IRQ1_INTF_SM2_MSB    _u(10)
2514 #define PIO_IRQ1_INTF_SM2_LSB    _u(10)
2515 #define PIO_IRQ1_INTF_SM2_ACCESS "RW"
2516 // -----------------------------------------------------------------------------
2517 // Field       : PIO_IRQ1_INTF_SM1
2518 #define PIO_IRQ1_INTF_SM1_RESET  _u(0x0)
2519 #define PIO_IRQ1_INTF_SM1_BITS   _u(0x00000200)
2520 #define PIO_IRQ1_INTF_SM1_MSB    _u(9)
2521 #define PIO_IRQ1_INTF_SM1_LSB    _u(9)
2522 #define PIO_IRQ1_INTF_SM1_ACCESS "RW"
2523 // -----------------------------------------------------------------------------
2524 // Field       : PIO_IRQ1_INTF_SM0
2525 #define PIO_IRQ1_INTF_SM0_RESET  _u(0x0)
2526 #define PIO_IRQ1_INTF_SM0_BITS   _u(0x00000100)
2527 #define PIO_IRQ1_INTF_SM0_MSB    _u(8)
2528 #define PIO_IRQ1_INTF_SM0_LSB    _u(8)
2529 #define PIO_IRQ1_INTF_SM0_ACCESS "RW"
2530 // -----------------------------------------------------------------------------
2531 // Field       : PIO_IRQ1_INTF_SM3_TXNFULL
2532 #define PIO_IRQ1_INTF_SM3_TXNFULL_RESET  _u(0x0)
2533 #define PIO_IRQ1_INTF_SM3_TXNFULL_BITS   _u(0x00000080)
2534 #define PIO_IRQ1_INTF_SM3_TXNFULL_MSB    _u(7)
2535 #define PIO_IRQ1_INTF_SM3_TXNFULL_LSB    _u(7)
2536 #define PIO_IRQ1_INTF_SM3_TXNFULL_ACCESS "RW"
2537 // -----------------------------------------------------------------------------
2538 // Field       : PIO_IRQ1_INTF_SM2_TXNFULL
2539 #define PIO_IRQ1_INTF_SM2_TXNFULL_RESET  _u(0x0)
2540 #define PIO_IRQ1_INTF_SM2_TXNFULL_BITS   _u(0x00000040)
2541 #define PIO_IRQ1_INTF_SM2_TXNFULL_MSB    _u(6)
2542 #define PIO_IRQ1_INTF_SM2_TXNFULL_LSB    _u(6)
2543 #define PIO_IRQ1_INTF_SM2_TXNFULL_ACCESS "RW"
2544 // -----------------------------------------------------------------------------
2545 // Field       : PIO_IRQ1_INTF_SM1_TXNFULL
2546 #define PIO_IRQ1_INTF_SM1_TXNFULL_RESET  _u(0x0)
2547 #define PIO_IRQ1_INTF_SM1_TXNFULL_BITS   _u(0x00000020)
2548 #define PIO_IRQ1_INTF_SM1_TXNFULL_MSB    _u(5)
2549 #define PIO_IRQ1_INTF_SM1_TXNFULL_LSB    _u(5)
2550 #define PIO_IRQ1_INTF_SM1_TXNFULL_ACCESS "RW"
2551 // -----------------------------------------------------------------------------
2552 // Field       : PIO_IRQ1_INTF_SM0_TXNFULL
2553 #define PIO_IRQ1_INTF_SM0_TXNFULL_RESET  _u(0x0)
2554 #define PIO_IRQ1_INTF_SM0_TXNFULL_BITS   _u(0x00000010)
2555 #define PIO_IRQ1_INTF_SM0_TXNFULL_MSB    _u(4)
2556 #define PIO_IRQ1_INTF_SM0_TXNFULL_LSB    _u(4)
2557 #define PIO_IRQ1_INTF_SM0_TXNFULL_ACCESS "RW"
2558 // -----------------------------------------------------------------------------
2559 // Field       : PIO_IRQ1_INTF_SM3_RXNEMPTY
2560 #define PIO_IRQ1_INTF_SM3_RXNEMPTY_RESET  _u(0x0)
2561 #define PIO_IRQ1_INTF_SM3_RXNEMPTY_BITS   _u(0x00000008)
2562 #define PIO_IRQ1_INTF_SM3_RXNEMPTY_MSB    _u(3)
2563 #define PIO_IRQ1_INTF_SM3_RXNEMPTY_LSB    _u(3)
2564 #define PIO_IRQ1_INTF_SM3_RXNEMPTY_ACCESS "RW"
2565 // -----------------------------------------------------------------------------
2566 // Field       : PIO_IRQ1_INTF_SM2_RXNEMPTY
2567 #define PIO_IRQ1_INTF_SM2_RXNEMPTY_RESET  _u(0x0)
2568 #define PIO_IRQ1_INTF_SM2_RXNEMPTY_BITS   _u(0x00000004)
2569 #define PIO_IRQ1_INTF_SM2_RXNEMPTY_MSB    _u(2)
2570 #define PIO_IRQ1_INTF_SM2_RXNEMPTY_LSB    _u(2)
2571 #define PIO_IRQ1_INTF_SM2_RXNEMPTY_ACCESS "RW"
2572 // -----------------------------------------------------------------------------
2573 // Field       : PIO_IRQ1_INTF_SM1_RXNEMPTY
2574 #define PIO_IRQ1_INTF_SM1_RXNEMPTY_RESET  _u(0x0)
2575 #define PIO_IRQ1_INTF_SM1_RXNEMPTY_BITS   _u(0x00000002)
2576 #define PIO_IRQ1_INTF_SM1_RXNEMPTY_MSB    _u(1)
2577 #define PIO_IRQ1_INTF_SM1_RXNEMPTY_LSB    _u(1)
2578 #define PIO_IRQ1_INTF_SM1_RXNEMPTY_ACCESS "RW"
2579 // -----------------------------------------------------------------------------
2580 // Field       : PIO_IRQ1_INTF_SM0_RXNEMPTY
2581 #define PIO_IRQ1_INTF_SM0_RXNEMPTY_RESET  _u(0x0)
2582 #define PIO_IRQ1_INTF_SM0_RXNEMPTY_BITS   _u(0x00000001)
2583 #define PIO_IRQ1_INTF_SM0_RXNEMPTY_MSB    _u(0)
2584 #define PIO_IRQ1_INTF_SM0_RXNEMPTY_LSB    _u(0)
2585 #define PIO_IRQ1_INTF_SM0_RXNEMPTY_ACCESS "RW"
2586 // =============================================================================
2587 // Register    : PIO_IRQ1_INTS
2588 // Description : Interrupt status after masking & forcing for irq1
2589 #define PIO_IRQ1_INTS_OFFSET _u(0x00000140)
2590 #define PIO_IRQ1_INTS_BITS   _u(0x00000fff)
2591 #define PIO_IRQ1_INTS_RESET  _u(0x00000000)
2592 // -----------------------------------------------------------------------------
2593 // Field       : PIO_IRQ1_INTS_SM3
2594 #define PIO_IRQ1_INTS_SM3_RESET  _u(0x0)
2595 #define PIO_IRQ1_INTS_SM3_BITS   _u(0x00000800)
2596 #define PIO_IRQ1_INTS_SM3_MSB    _u(11)
2597 #define PIO_IRQ1_INTS_SM3_LSB    _u(11)
2598 #define PIO_IRQ1_INTS_SM3_ACCESS "RO"
2599 // -----------------------------------------------------------------------------
2600 // Field       : PIO_IRQ1_INTS_SM2
2601 #define PIO_IRQ1_INTS_SM2_RESET  _u(0x0)
2602 #define PIO_IRQ1_INTS_SM2_BITS   _u(0x00000400)
2603 #define PIO_IRQ1_INTS_SM2_MSB    _u(10)
2604 #define PIO_IRQ1_INTS_SM2_LSB    _u(10)
2605 #define PIO_IRQ1_INTS_SM2_ACCESS "RO"
2606 // -----------------------------------------------------------------------------
2607 // Field       : PIO_IRQ1_INTS_SM1
2608 #define PIO_IRQ1_INTS_SM1_RESET  _u(0x0)
2609 #define PIO_IRQ1_INTS_SM1_BITS   _u(0x00000200)
2610 #define PIO_IRQ1_INTS_SM1_MSB    _u(9)
2611 #define PIO_IRQ1_INTS_SM1_LSB    _u(9)
2612 #define PIO_IRQ1_INTS_SM1_ACCESS "RO"
2613 // -----------------------------------------------------------------------------
2614 // Field       : PIO_IRQ1_INTS_SM0
2615 #define PIO_IRQ1_INTS_SM0_RESET  _u(0x0)
2616 #define PIO_IRQ1_INTS_SM0_BITS   _u(0x00000100)
2617 #define PIO_IRQ1_INTS_SM0_MSB    _u(8)
2618 #define PIO_IRQ1_INTS_SM0_LSB    _u(8)
2619 #define PIO_IRQ1_INTS_SM0_ACCESS "RO"
2620 // -----------------------------------------------------------------------------
2621 // Field       : PIO_IRQ1_INTS_SM3_TXNFULL
2622 #define PIO_IRQ1_INTS_SM3_TXNFULL_RESET  _u(0x0)
2623 #define PIO_IRQ1_INTS_SM3_TXNFULL_BITS   _u(0x00000080)
2624 #define PIO_IRQ1_INTS_SM3_TXNFULL_MSB    _u(7)
2625 #define PIO_IRQ1_INTS_SM3_TXNFULL_LSB    _u(7)
2626 #define PIO_IRQ1_INTS_SM3_TXNFULL_ACCESS "RO"
2627 // -----------------------------------------------------------------------------
2628 // Field       : PIO_IRQ1_INTS_SM2_TXNFULL
2629 #define PIO_IRQ1_INTS_SM2_TXNFULL_RESET  _u(0x0)
2630 #define PIO_IRQ1_INTS_SM2_TXNFULL_BITS   _u(0x00000040)
2631 #define PIO_IRQ1_INTS_SM2_TXNFULL_MSB    _u(6)
2632 #define PIO_IRQ1_INTS_SM2_TXNFULL_LSB    _u(6)
2633 #define PIO_IRQ1_INTS_SM2_TXNFULL_ACCESS "RO"
2634 // -----------------------------------------------------------------------------
2635 // Field       : PIO_IRQ1_INTS_SM1_TXNFULL
2636 #define PIO_IRQ1_INTS_SM1_TXNFULL_RESET  _u(0x0)
2637 #define PIO_IRQ1_INTS_SM1_TXNFULL_BITS   _u(0x00000020)
2638 #define PIO_IRQ1_INTS_SM1_TXNFULL_MSB    _u(5)
2639 #define PIO_IRQ1_INTS_SM1_TXNFULL_LSB    _u(5)
2640 #define PIO_IRQ1_INTS_SM1_TXNFULL_ACCESS "RO"
2641 // -----------------------------------------------------------------------------
2642 // Field       : PIO_IRQ1_INTS_SM0_TXNFULL
2643 #define PIO_IRQ1_INTS_SM0_TXNFULL_RESET  _u(0x0)
2644 #define PIO_IRQ1_INTS_SM0_TXNFULL_BITS   _u(0x00000010)
2645 #define PIO_IRQ1_INTS_SM0_TXNFULL_MSB    _u(4)
2646 #define PIO_IRQ1_INTS_SM0_TXNFULL_LSB    _u(4)
2647 #define PIO_IRQ1_INTS_SM0_TXNFULL_ACCESS "RO"
2648 // -----------------------------------------------------------------------------
2649 // Field       : PIO_IRQ1_INTS_SM3_RXNEMPTY
2650 #define PIO_IRQ1_INTS_SM3_RXNEMPTY_RESET  _u(0x0)
2651 #define PIO_IRQ1_INTS_SM3_RXNEMPTY_BITS   _u(0x00000008)
2652 #define PIO_IRQ1_INTS_SM3_RXNEMPTY_MSB    _u(3)
2653 #define PIO_IRQ1_INTS_SM3_RXNEMPTY_LSB    _u(3)
2654 #define PIO_IRQ1_INTS_SM3_RXNEMPTY_ACCESS "RO"
2655 // -----------------------------------------------------------------------------
2656 // Field       : PIO_IRQ1_INTS_SM2_RXNEMPTY
2657 #define PIO_IRQ1_INTS_SM2_RXNEMPTY_RESET  _u(0x0)
2658 #define PIO_IRQ1_INTS_SM2_RXNEMPTY_BITS   _u(0x00000004)
2659 #define PIO_IRQ1_INTS_SM2_RXNEMPTY_MSB    _u(2)
2660 #define PIO_IRQ1_INTS_SM2_RXNEMPTY_LSB    _u(2)
2661 #define PIO_IRQ1_INTS_SM2_RXNEMPTY_ACCESS "RO"
2662 // -----------------------------------------------------------------------------
2663 // Field       : PIO_IRQ1_INTS_SM1_RXNEMPTY
2664 #define PIO_IRQ1_INTS_SM1_RXNEMPTY_RESET  _u(0x0)
2665 #define PIO_IRQ1_INTS_SM1_RXNEMPTY_BITS   _u(0x00000002)
2666 #define PIO_IRQ1_INTS_SM1_RXNEMPTY_MSB    _u(1)
2667 #define PIO_IRQ1_INTS_SM1_RXNEMPTY_LSB    _u(1)
2668 #define PIO_IRQ1_INTS_SM1_RXNEMPTY_ACCESS "RO"
2669 // -----------------------------------------------------------------------------
2670 // Field       : PIO_IRQ1_INTS_SM0_RXNEMPTY
2671 #define PIO_IRQ1_INTS_SM0_RXNEMPTY_RESET  _u(0x0)
2672 #define PIO_IRQ1_INTS_SM0_RXNEMPTY_BITS   _u(0x00000001)
2673 #define PIO_IRQ1_INTS_SM0_RXNEMPTY_MSB    _u(0)
2674 #define PIO_IRQ1_INTS_SM0_RXNEMPTY_LSB    _u(0)
2675 #define PIO_IRQ1_INTS_SM0_RXNEMPTY_ACCESS "RO"
2676 // =============================================================================
2677 #endif // _HARDWARE_REGS_PIO_H
2678 
2679