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(0x07ff0fff) 21 #define PIO_CTRL_RESET _u(0x00000000) 22 // ----------------------------------------------------------------------------- 23 // Field : PIO_CTRL_NEXTPREV_CLKDIV_RESTART 24 // Description : Write 1 to restart the clock dividers of state machines in 25 // neighbouring PIO blocks, as specified by NEXT_PIO_MASK and 26 // PREV_PIO_MASK in the same write. 27 // 28 // This is equivalent to writing 1 to the corresponding 29 // CLKDIV_RESTART bits in those PIOs' CTRL registers. 30 #define PIO_CTRL_NEXTPREV_CLKDIV_RESTART_RESET _u(0x0) 31 #define PIO_CTRL_NEXTPREV_CLKDIV_RESTART_BITS _u(0x04000000) 32 #define PIO_CTRL_NEXTPREV_CLKDIV_RESTART_MSB _u(26) 33 #define PIO_CTRL_NEXTPREV_CLKDIV_RESTART_LSB _u(26) 34 #define PIO_CTRL_NEXTPREV_CLKDIV_RESTART_ACCESS "SC" 35 // ----------------------------------------------------------------------------- 36 // Field : PIO_CTRL_NEXTPREV_SM_DISABLE 37 // Description : Write 1 to disable state machines in neighbouring PIO blocks, 38 // as specified by NEXT_PIO_MASK and PREV_PIO_MASK in the same 39 // write. 40 // 41 // This is equivalent to clearing the corresponding SM_ENABLE bits 42 // in those PIOs' CTRL registers. 43 #define PIO_CTRL_NEXTPREV_SM_DISABLE_RESET _u(0x0) 44 #define PIO_CTRL_NEXTPREV_SM_DISABLE_BITS _u(0x02000000) 45 #define PIO_CTRL_NEXTPREV_SM_DISABLE_MSB _u(25) 46 #define PIO_CTRL_NEXTPREV_SM_DISABLE_LSB _u(25) 47 #define PIO_CTRL_NEXTPREV_SM_DISABLE_ACCESS "SC" 48 // ----------------------------------------------------------------------------- 49 // Field : PIO_CTRL_NEXTPREV_SM_ENABLE 50 // Description : Write 1 to enable state machines in neighbouring PIO blocks, as 51 // specified by NEXT_PIO_MASK and PREV_PIO_MASK in the same write. 52 // 53 // This is equivalent to setting the corresponding SM_ENABLE bits 54 // in those PIOs' CTRL registers. 55 // 56 // If both OTHERS_SM_ENABLE and OTHERS_SM_DISABLE are set, the 57 // disable takes precedence. 58 #define PIO_CTRL_NEXTPREV_SM_ENABLE_RESET _u(0x0) 59 #define PIO_CTRL_NEXTPREV_SM_ENABLE_BITS _u(0x01000000) 60 #define PIO_CTRL_NEXTPREV_SM_ENABLE_MSB _u(24) 61 #define PIO_CTRL_NEXTPREV_SM_ENABLE_LSB _u(24) 62 #define PIO_CTRL_NEXTPREV_SM_ENABLE_ACCESS "SC" 63 // ----------------------------------------------------------------------------- 64 // Field : PIO_CTRL_NEXT_PIO_MASK 65 // Description : A mask of state machines in the neighbouring higher-numbered 66 // PIO block in the system (or PIO block 0 if this is the highest- 67 // numbered PIO block) to which to apply the operations specified 68 // by NEXTPREV_CLKDIV_RESTART, NEXTPREV_SM_ENABLE, and 69 // NEXTPREV_SM_DISABLE in the same write. 70 // 71 // This allows state machines in a neighbouring PIO block to be 72 // started/stopped/clock-synced exactly simultaneously with a 73 // write to this PIO block's CTRL register. 74 // 75 // Note that in a system with two PIOs, NEXT_PIO_MASK and 76 // PREV_PIO_MASK actually indicate the same PIO block. In this 77 // case the effects are applied cumulatively (as though the masks 78 // were OR'd together). 79 // 80 // Neighbouring PIO blocks are disconnected (status signals tied 81 // to 0 and control signals ignored) if one block is accessible to 82 // NonSecure code, and one is not. 83 #define PIO_CTRL_NEXT_PIO_MASK_RESET _u(0x0) 84 #define PIO_CTRL_NEXT_PIO_MASK_BITS _u(0x00f00000) 85 #define PIO_CTRL_NEXT_PIO_MASK_MSB _u(23) 86 #define PIO_CTRL_NEXT_PIO_MASK_LSB _u(20) 87 #define PIO_CTRL_NEXT_PIO_MASK_ACCESS "SC" 88 // ----------------------------------------------------------------------------- 89 // Field : PIO_CTRL_PREV_PIO_MASK 90 // Description : A mask of state machines in the neighbouring lower-numbered PIO 91 // block in the system (or the highest-numbered PIO block if this 92 // is PIO block 0) to which to apply the operations specified by 93 // OP_CLKDIV_RESTART, OP_ENABLE, OP_DISABLE in the same write. 94 // 95 // This allows state machines in a neighbouring PIO block to be 96 // started/stopped/clock-synced exactly simultaneously with a 97 // write to this PIO block's CTRL register. 98 // 99 // Neighbouring PIO blocks are disconnected (status signals tied 100 // to 0 and control signals ignored) if one block is accessible to 101 // NonSecure code, and one is not. 102 #define PIO_CTRL_PREV_PIO_MASK_RESET _u(0x0) 103 #define PIO_CTRL_PREV_PIO_MASK_BITS _u(0x000f0000) 104 #define PIO_CTRL_PREV_PIO_MASK_MSB _u(19) 105 #define PIO_CTRL_PREV_PIO_MASK_LSB _u(16) 106 #define PIO_CTRL_PREV_PIO_MASK_ACCESS "SC" 107 // ----------------------------------------------------------------------------- 108 // Field : PIO_CTRL_CLKDIV_RESTART 109 // Description : Restart a state machine's clock divider from an initial phase 110 // of 0. Clock dividers are free-running, so once started, their 111 // output (including fractional jitter) is completely determined 112 // by the integer/fractional divisor configured in SMx_CLKDIV. 113 // This means that, if multiple clock dividers with the same 114 // divisor are restarted simultaneously, by writing multiple 1 115 // bits to this field, the execution clocks of those state 116 // machines will run in precise lockstep. 117 // 118 // Note that setting/clearing SM_ENABLE does not stop the clock 119 // divider from running, so once multiple state machines' clocks 120 // are synchronised, it is safe to disable/reenable a state 121 // machine, whilst keeping the clock dividers in sync. 122 // 123 // Note also that CLKDIV_RESTART can be written to whilst the 124 // state machine is running, and this is useful to resynchronise 125 // clock dividers after the divisors (SMx_CLKDIV) have been 126 // changed on-the-fly. 127 #define PIO_CTRL_CLKDIV_RESTART_RESET _u(0x0) 128 #define PIO_CTRL_CLKDIV_RESTART_BITS _u(0x00000f00) 129 #define PIO_CTRL_CLKDIV_RESTART_MSB _u(11) 130 #define PIO_CTRL_CLKDIV_RESTART_LSB _u(8) 131 #define PIO_CTRL_CLKDIV_RESTART_ACCESS "SC" 132 // ----------------------------------------------------------------------------- 133 // Field : PIO_CTRL_SM_RESTART 134 // Description : Write 1 to instantly clear internal SM state which may be 135 // otherwise difficult to access and will affect future execution. 136 // 137 // Specifically, the following are cleared: input and output shift 138 // counters; the contents of the input shift register; the delay 139 // counter; the waiting-on-IRQ state; any stalled instruction 140 // written to SMx_INSTR or run by OUT/MOV EXEC; any pin write left 141 // asserted due to OUT_STICKY. 142 // 143 // The contents of the output shift register and the X/Y scratch 144 // registers are not affected. 145 #define PIO_CTRL_SM_RESTART_RESET _u(0x0) 146 #define PIO_CTRL_SM_RESTART_BITS _u(0x000000f0) 147 #define PIO_CTRL_SM_RESTART_MSB _u(7) 148 #define PIO_CTRL_SM_RESTART_LSB _u(4) 149 #define PIO_CTRL_SM_RESTART_ACCESS "SC" 150 // ----------------------------------------------------------------------------- 151 // Field : PIO_CTRL_SM_ENABLE 152 // Description : Enable/disable each of the four state machines by writing 1/0 153 // to each of these four bits. When disabled, a state machine will 154 // cease executing instructions, except those written directly to 155 // SMx_INSTR by the system. Multiple bits can be set/cleared at 156 // once to run/halt multiple state machines simultaneously. 157 #define PIO_CTRL_SM_ENABLE_RESET _u(0x0) 158 #define PIO_CTRL_SM_ENABLE_BITS _u(0x0000000f) 159 #define PIO_CTRL_SM_ENABLE_MSB _u(3) 160 #define PIO_CTRL_SM_ENABLE_LSB _u(0) 161 #define PIO_CTRL_SM_ENABLE_ACCESS "RW" 162 // ============================================================================= 163 // Register : PIO_FSTAT 164 // Description : FIFO status register 165 #define PIO_FSTAT_OFFSET _u(0x00000004) 166 #define PIO_FSTAT_BITS _u(0x0f0f0f0f) 167 #define PIO_FSTAT_RESET _u(0x0f000f00) 168 // ----------------------------------------------------------------------------- 169 // Field : PIO_FSTAT_TXEMPTY 170 // Description : State machine TX FIFO is empty 171 #define PIO_FSTAT_TXEMPTY_RESET _u(0xf) 172 #define PIO_FSTAT_TXEMPTY_BITS _u(0x0f000000) 173 #define PIO_FSTAT_TXEMPTY_MSB _u(27) 174 #define PIO_FSTAT_TXEMPTY_LSB _u(24) 175 #define PIO_FSTAT_TXEMPTY_ACCESS "RO" 176 // ----------------------------------------------------------------------------- 177 // Field : PIO_FSTAT_TXFULL 178 // Description : State machine TX FIFO is full 179 #define PIO_FSTAT_TXFULL_RESET _u(0x0) 180 #define PIO_FSTAT_TXFULL_BITS _u(0x000f0000) 181 #define PIO_FSTAT_TXFULL_MSB _u(19) 182 #define PIO_FSTAT_TXFULL_LSB _u(16) 183 #define PIO_FSTAT_TXFULL_ACCESS "RO" 184 // ----------------------------------------------------------------------------- 185 // Field : PIO_FSTAT_RXEMPTY 186 // Description : State machine RX FIFO is empty 187 #define PIO_FSTAT_RXEMPTY_RESET _u(0xf) 188 #define PIO_FSTAT_RXEMPTY_BITS _u(0x00000f00) 189 #define PIO_FSTAT_RXEMPTY_MSB _u(11) 190 #define PIO_FSTAT_RXEMPTY_LSB _u(8) 191 #define PIO_FSTAT_RXEMPTY_ACCESS "RO" 192 // ----------------------------------------------------------------------------- 193 // Field : PIO_FSTAT_RXFULL 194 // Description : State machine RX FIFO is full 195 #define PIO_FSTAT_RXFULL_RESET _u(0x0) 196 #define PIO_FSTAT_RXFULL_BITS _u(0x0000000f) 197 #define PIO_FSTAT_RXFULL_MSB _u(3) 198 #define PIO_FSTAT_RXFULL_LSB _u(0) 199 #define PIO_FSTAT_RXFULL_ACCESS "RO" 200 // ============================================================================= 201 // Register : PIO_FDEBUG 202 // Description : FIFO debug register 203 #define PIO_FDEBUG_OFFSET _u(0x00000008) 204 #define PIO_FDEBUG_BITS _u(0x0f0f0f0f) 205 #define PIO_FDEBUG_RESET _u(0x00000000) 206 // ----------------------------------------------------------------------------- 207 // Field : PIO_FDEBUG_TXSTALL 208 // Description : State machine has stalled on empty TX FIFO during a blocking 209 // PULL, or an OUT with autopull enabled. Write 1 to clear. 210 #define PIO_FDEBUG_TXSTALL_RESET _u(0x0) 211 #define PIO_FDEBUG_TXSTALL_BITS _u(0x0f000000) 212 #define PIO_FDEBUG_TXSTALL_MSB _u(27) 213 #define PIO_FDEBUG_TXSTALL_LSB _u(24) 214 #define PIO_FDEBUG_TXSTALL_ACCESS "WC" 215 // ----------------------------------------------------------------------------- 216 // Field : PIO_FDEBUG_TXOVER 217 // Description : TX FIFO overflow (i.e. write-on-full by the system) has 218 // occurred. Write 1 to clear. Note that write-on-full does not 219 // alter the state or contents of the FIFO in any way, but the 220 // data that the system attempted to write is dropped, so if this 221 // flag is set, your software has quite likely dropped some data 222 // on the floor. 223 #define PIO_FDEBUG_TXOVER_RESET _u(0x0) 224 #define PIO_FDEBUG_TXOVER_BITS _u(0x000f0000) 225 #define PIO_FDEBUG_TXOVER_MSB _u(19) 226 #define PIO_FDEBUG_TXOVER_LSB _u(16) 227 #define PIO_FDEBUG_TXOVER_ACCESS "WC" 228 // ----------------------------------------------------------------------------- 229 // Field : PIO_FDEBUG_RXUNDER 230 // Description : RX FIFO underflow (i.e. read-on-empty by the system) has 231 // occurred. Write 1 to clear. Note that read-on-empty does not 232 // perturb the state of the FIFO in any way, but the data returned 233 // by reading from an empty FIFO is undefined, so this flag 234 // generally only becomes set due to some kind of software error. 235 #define PIO_FDEBUG_RXUNDER_RESET _u(0x0) 236 #define PIO_FDEBUG_RXUNDER_BITS _u(0x00000f00) 237 #define PIO_FDEBUG_RXUNDER_MSB _u(11) 238 #define PIO_FDEBUG_RXUNDER_LSB _u(8) 239 #define PIO_FDEBUG_RXUNDER_ACCESS "WC" 240 // ----------------------------------------------------------------------------- 241 // Field : PIO_FDEBUG_RXSTALL 242 // Description : State machine has stalled on full RX FIFO during a blocking 243 // PUSH, or an IN with autopush enabled. This flag is also set 244 // when a nonblocking PUSH to a full FIFO took place, in which 245 // case the state machine has dropped data. Write 1 to clear. 246 #define PIO_FDEBUG_RXSTALL_RESET _u(0x0) 247 #define PIO_FDEBUG_RXSTALL_BITS _u(0x0000000f) 248 #define PIO_FDEBUG_RXSTALL_MSB _u(3) 249 #define PIO_FDEBUG_RXSTALL_LSB _u(0) 250 #define PIO_FDEBUG_RXSTALL_ACCESS "WC" 251 // ============================================================================= 252 // Register : PIO_FLEVEL 253 // Description : FIFO levels 254 #define PIO_FLEVEL_OFFSET _u(0x0000000c) 255 #define PIO_FLEVEL_BITS _u(0xffffffff) 256 #define PIO_FLEVEL_RESET _u(0x00000000) 257 // ----------------------------------------------------------------------------- 258 // Field : PIO_FLEVEL_RX3 259 #define PIO_FLEVEL_RX3_RESET _u(0x0) 260 #define PIO_FLEVEL_RX3_BITS _u(0xf0000000) 261 #define PIO_FLEVEL_RX3_MSB _u(31) 262 #define PIO_FLEVEL_RX3_LSB _u(28) 263 #define PIO_FLEVEL_RX3_ACCESS "RO" 264 // ----------------------------------------------------------------------------- 265 // Field : PIO_FLEVEL_TX3 266 #define PIO_FLEVEL_TX3_RESET _u(0x0) 267 #define PIO_FLEVEL_TX3_BITS _u(0x0f000000) 268 #define PIO_FLEVEL_TX3_MSB _u(27) 269 #define PIO_FLEVEL_TX3_LSB _u(24) 270 #define PIO_FLEVEL_TX3_ACCESS "RO" 271 // ----------------------------------------------------------------------------- 272 // Field : PIO_FLEVEL_RX2 273 #define PIO_FLEVEL_RX2_RESET _u(0x0) 274 #define PIO_FLEVEL_RX2_BITS _u(0x00f00000) 275 #define PIO_FLEVEL_RX2_MSB _u(23) 276 #define PIO_FLEVEL_RX2_LSB _u(20) 277 #define PIO_FLEVEL_RX2_ACCESS "RO" 278 // ----------------------------------------------------------------------------- 279 // Field : PIO_FLEVEL_TX2 280 #define PIO_FLEVEL_TX2_RESET _u(0x0) 281 #define PIO_FLEVEL_TX2_BITS _u(0x000f0000) 282 #define PIO_FLEVEL_TX2_MSB _u(19) 283 #define PIO_FLEVEL_TX2_LSB _u(16) 284 #define PIO_FLEVEL_TX2_ACCESS "RO" 285 // ----------------------------------------------------------------------------- 286 // Field : PIO_FLEVEL_RX1 287 #define PIO_FLEVEL_RX1_RESET _u(0x0) 288 #define PIO_FLEVEL_RX1_BITS _u(0x0000f000) 289 #define PIO_FLEVEL_RX1_MSB _u(15) 290 #define PIO_FLEVEL_RX1_LSB _u(12) 291 #define PIO_FLEVEL_RX1_ACCESS "RO" 292 // ----------------------------------------------------------------------------- 293 // Field : PIO_FLEVEL_TX1 294 #define PIO_FLEVEL_TX1_RESET _u(0x0) 295 #define PIO_FLEVEL_TX1_BITS _u(0x00000f00) 296 #define PIO_FLEVEL_TX1_MSB _u(11) 297 #define PIO_FLEVEL_TX1_LSB _u(8) 298 #define PIO_FLEVEL_TX1_ACCESS "RO" 299 // ----------------------------------------------------------------------------- 300 // Field : PIO_FLEVEL_RX0 301 #define PIO_FLEVEL_RX0_RESET _u(0x0) 302 #define PIO_FLEVEL_RX0_BITS _u(0x000000f0) 303 #define PIO_FLEVEL_RX0_MSB _u(7) 304 #define PIO_FLEVEL_RX0_LSB _u(4) 305 #define PIO_FLEVEL_RX0_ACCESS "RO" 306 // ----------------------------------------------------------------------------- 307 // Field : PIO_FLEVEL_TX0 308 #define PIO_FLEVEL_TX0_RESET _u(0x0) 309 #define PIO_FLEVEL_TX0_BITS _u(0x0000000f) 310 #define PIO_FLEVEL_TX0_MSB _u(3) 311 #define PIO_FLEVEL_TX0_LSB _u(0) 312 #define PIO_FLEVEL_TX0_ACCESS "RO" 313 // ============================================================================= 314 // Register : PIO_TXF0 315 // Description : Direct write access to the TX FIFO for this state machine. Each 316 // write pushes one word to the FIFO. Attempting to write to a 317 // full FIFO has no effect on the FIFO state or contents, and sets 318 // the sticky FDEBUG_TXOVER error flag for this FIFO. 319 #define PIO_TXF0_OFFSET _u(0x00000010) 320 #define PIO_TXF0_BITS _u(0xffffffff) 321 #define PIO_TXF0_RESET _u(0x00000000) 322 #define PIO_TXF0_MSB _u(31) 323 #define PIO_TXF0_LSB _u(0) 324 #define PIO_TXF0_ACCESS "WF" 325 // ============================================================================= 326 // Register : PIO_TXF1 327 // Description : Direct write access to the TX FIFO for this state machine. Each 328 // write pushes one word to the FIFO. Attempting to write to a 329 // full FIFO has no effect on the FIFO state or contents, and sets 330 // the sticky FDEBUG_TXOVER error flag for this FIFO. 331 #define PIO_TXF1_OFFSET _u(0x00000014) 332 #define PIO_TXF1_BITS _u(0xffffffff) 333 #define PIO_TXF1_RESET _u(0x00000000) 334 #define PIO_TXF1_MSB _u(31) 335 #define PIO_TXF1_LSB _u(0) 336 #define PIO_TXF1_ACCESS "WF" 337 // ============================================================================= 338 // Register : PIO_TXF2 339 // Description : Direct write access to the TX FIFO for this state machine. Each 340 // write pushes one word to the FIFO. Attempting to write to a 341 // full FIFO has no effect on the FIFO state or contents, and sets 342 // the sticky FDEBUG_TXOVER error flag for this FIFO. 343 #define PIO_TXF2_OFFSET _u(0x00000018) 344 #define PIO_TXF2_BITS _u(0xffffffff) 345 #define PIO_TXF2_RESET _u(0x00000000) 346 #define PIO_TXF2_MSB _u(31) 347 #define PIO_TXF2_LSB _u(0) 348 #define PIO_TXF2_ACCESS "WF" 349 // ============================================================================= 350 // Register : PIO_TXF3 351 // Description : Direct write access to the TX FIFO for this state machine. Each 352 // write pushes one word to the FIFO. Attempting to write to a 353 // full FIFO has no effect on the FIFO state or contents, and sets 354 // the sticky FDEBUG_TXOVER error flag for this FIFO. 355 #define PIO_TXF3_OFFSET _u(0x0000001c) 356 #define PIO_TXF3_BITS _u(0xffffffff) 357 #define PIO_TXF3_RESET _u(0x00000000) 358 #define PIO_TXF3_MSB _u(31) 359 #define PIO_TXF3_LSB _u(0) 360 #define PIO_TXF3_ACCESS "WF" 361 // ============================================================================= 362 // Register : PIO_RXF0 363 // Description : Direct read access to the RX FIFO for this state machine. Each 364 // read pops one word from the FIFO. Attempting to read from an 365 // empty FIFO has no effect on the FIFO state, and sets the sticky 366 // FDEBUG_RXUNDER error flag for this FIFO. The data returned to 367 // the system on a read from an empty FIFO is undefined. 368 #define PIO_RXF0_OFFSET _u(0x00000020) 369 #define PIO_RXF0_BITS _u(0xffffffff) 370 #define PIO_RXF0_RESET "-" 371 #define PIO_RXF0_MSB _u(31) 372 #define PIO_RXF0_LSB _u(0) 373 #define PIO_RXF0_ACCESS "RF" 374 // ============================================================================= 375 // Register : PIO_RXF1 376 // Description : Direct read access to the RX FIFO for this state machine. Each 377 // read pops one word from the FIFO. Attempting to read from an 378 // empty FIFO has no effect on the FIFO state, and sets the sticky 379 // FDEBUG_RXUNDER error flag for this FIFO. The data returned to 380 // the system on a read from an empty FIFO is undefined. 381 #define PIO_RXF1_OFFSET _u(0x00000024) 382 #define PIO_RXF1_BITS _u(0xffffffff) 383 #define PIO_RXF1_RESET "-" 384 #define PIO_RXF1_MSB _u(31) 385 #define PIO_RXF1_LSB _u(0) 386 #define PIO_RXF1_ACCESS "RF" 387 // ============================================================================= 388 // Register : PIO_RXF2 389 // Description : Direct read access to the RX FIFO for this state machine. Each 390 // read pops one word from the FIFO. Attempting to read from an 391 // empty FIFO has no effect on the FIFO state, and sets the sticky 392 // FDEBUG_RXUNDER error flag for this FIFO. The data returned to 393 // the system on a read from an empty FIFO is undefined. 394 #define PIO_RXF2_OFFSET _u(0x00000028) 395 #define PIO_RXF2_BITS _u(0xffffffff) 396 #define PIO_RXF2_RESET "-" 397 #define PIO_RXF2_MSB _u(31) 398 #define PIO_RXF2_LSB _u(0) 399 #define PIO_RXF2_ACCESS "RF" 400 // ============================================================================= 401 // Register : PIO_RXF3 402 // Description : Direct read access to the RX FIFO for this state machine. Each 403 // read pops one word from the FIFO. Attempting to read from an 404 // empty FIFO has no effect on the FIFO state, and sets the sticky 405 // FDEBUG_RXUNDER error flag for this FIFO. The data returned to 406 // the system on a read from an empty FIFO is undefined. 407 #define PIO_RXF3_OFFSET _u(0x0000002c) 408 #define PIO_RXF3_BITS _u(0xffffffff) 409 #define PIO_RXF3_RESET "-" 410 #define PIO_RXF3_MSB _u(31) 411 #define PIO_RXF3_LSB _u(0) 412 #define PIO_RXF3_ACCESS "RF" 413 // ============================================================================= 414 // Register : PIO_IRQ 415 // Description : State machine IRQ flags register. Write 1 to clear. There are 416 // eight state machine IRQ flags, which can be set, cleared, and 417 // waited on by the state machines. There's no fixed association 418 // between flags and state machines -- any state machine can use 419 // any flag. 420 // 421 // Any of the eight flags can be used for timing synchronisation 422 // between state machines, using IRQ and WAIT instructions. Any 423 // combination of the eight flags can also routed out to either of 424 // the two system-level interrupt requests, alongside FIFO status 425 // interrupts -- see e.g. IRQ0_INTE. 426 #define PIO_IRQ_OFFSET _u(0x00000030) 427 #define PIO_IRQ_BITS _u(0x000000ff) 428 #define PIO_IRQ_RESET _u(0x00000000) 429 #define PIO_IRQ_MSB _u(7) 430 #define PIO_IRQ_LSB _u(0) 431 #define PIO_IRQ_ACCESS "WC" 432 // ============================================================================= 433 // Register : PIO_IRQ_FORCE 434 // Description : Writing a 1 to each of these bits will forcibly assert the 435 // corresponding IRQ. Note this is different to the INTF register: 436 // writing here affects PIO internal state. INTF just asserts the 437 // processor-facing IRQ signal for testing ISRs, and is not 438 // visible to the state machines. 439 #define PIO_IRQ_FORCE_OFFSET _u(0x00000034) 440 #define PIO_IRQ_FORCE_BITS _u(0x000000ff) 441 #define PIO_IRQ_FORCE_RESET _u(0x00000000) 442 #define PIO_IRQ_FORCE_MSB _u(7) 443 #define PIO_IRQ_FORCE_LSB _u(0) 444 #define PIO_IRQ_FORCE_ACCESS "WF" 445 // ============================================================================= 446 // Register : PIO_INPUT_SYNC_BYPASS 447 // Description : There is a 2-flipflop synchronizer on each GPIO input, which 448 // protects PIO logic from metastabilities. This increases input 449 // delay, and for fast synchronous IO (e.g. SPI) these 450 // synchronizers may need to be bypassed. Each bit in this 451 // register corresponds to one GPIO. 452 // 0 -> input is synchronized (default) 453 // 1 -> synchronizer is bypassed 454 // If in doubt, leave this register as all zeroes. 455 #define PIO_INPUT_SYNC_BYPASS_OFFSET _u(0x00000038) 456 #define PIO_INPUT_SYNC_BYPASS_BITS _u(0xffffffff) 457 #define PIO_INPUT_SYNC_BYPASS_RESET _u(0x00000000) 458 #define PIO_INPUT_SYNC_BYPASS_MSB _u(31) 459 #define PIO_INPUT_SYNC_BYPASS_LSB _u(0) 460 #define PIO_INPUT_SYNC_BYPASS_ACCESS "RW" 461 // ============================================================================= 462 // Register : PIO_DBG_PADOUT 463 // Description : Read to sample the pad output values PIO is currently driving 464 // to the GPIOs. On RP2040 there are 30 GPIOs, so the two most 465 // significant bits are hardwired to 0. 466 #define PIO_DBG_PADOUT_OFFSET _u(0x0000003c) 467 #define PIO_DBG_PADOUT_BITS _u(0xffffffff) 468 #define PIO_DBG_PADOUT_RESET _u(0x00000000) 469 #define PIO_DBG_PADOUT_MSB _u(31) 470 #define PIO_DBG_PADOUT_LSB _u(0) 471 #define PIO_DBG_PADOUT_ACCESS "RO" 472 // ============================================================================= 473 // Register : PIO_DBG_PADOE 474 // Description : Read to sample the pad output enables (direction) PIO is 475 // currently driving to the GPIOs. On RP2040 there are 30 GPIOs, 476 // so the two most significant bits are hardwired to 0. 477 #define PIO_DBG_PADOE_OFFSET _u(0x00000040) 478 #define PIO_DBG_PADOE_BITS _u(0xffffffff) 479 #define PIO_DBG_PADOE_RESET _u(0x00000000) 480 #define PIO_DBG_PADOE_MSB _u(31) 481 #define PIO_DBG_PADOE_LSB _u(0) 482 #define PIO_DBG_PADOE_ACCESS "RO" 483 // ============================================================================= 484 // Register : PIO_DBG_CFGINFO 485 // Description : The PIO hardware has some free parameters that may vary between 486 // chip products. 487 // These should be provided in the chip datasheet, but are also 488 // exposed here. 489 #define PIO_DBG_CFGINFO_OFFSET _u(0x00000044) 490 #define PIO_DBG_CFGINFO_BITS _u(0xf03f0f3f) 491 #define PIO_DBG_CFGINFO_RESET _u(0x10000000) 492 // ----------------------------------------------------------------------------- 493 // Field : PIO_DBG_CFGINFO_VERSION 494 // Description : Version of the core PIO hardware. 495 // 0x0 -> Version 0 (RP2040) 496 // 0x1 -> Version 1 (RP2350) 497 #define PIO_DBG_CFGINFO_VERSION_RESET _u(0x1) 498 #define PIO_DBG_CFGINFO_VERSION_BITS _u(0xf0000000) 499 #define PIO_DBG_CFGINFO_VERSION_MSB _u(31) 500 #define PIO_DBG_CFGINFO_VERSION_LSB _u(28) 501 #define PIO_DBG_CFGINFO_VERSION_ACCESS "RO" 502 #define PIO_DBG_CFGINFO_VERSION_VALUE_V0 _u(0x0) 503 #define PIO_DBG_CFGINFO_VERSION_VALUE_V1 _u(0x1) 504 // ----------------------------------------------------------------------------- 505 // Field : PIO_DBG_CFGINFO_IMEM_SIZE 506 // Description : The size of the instruction memory, measured in units of one 507 // instruction 508 #define PIO_DBG_CFGINFO_IMEM_SIZE_RESET "-" 509 #define PIO_DBG_CFGINFO_IMEM_SIZE_BITS _u(0x003f0000) 510 #define PIO_DBG_CFGINFO_IMEM_SIZE_MSB _u(21) 511 #define PIO_DBG_CFGINFO_IMEM_SIZE_LSB _u(16) 512 #define PIO_DBG_CFGINFO_IMEM_SIZE_ACCESS "RO" 513 // ----------------------------------------------------------------------------- 514 // Field : PIO_DBG_CFGINFO_SM_COUNT 515 // Description : The number of state machines this PIO instance is equipped 516 // with. 517 #define PIO_DBG_CFGINFO_SM_COUNT_RESET "-" 518 #define PIO_DBG_CFGINFO_SM_COUNT_BITS _u(0x00000f00) 519 #define PIO_DBG_CFGINFO_SM_COUNT_MSB _u(11) 520 #define PIO_DBG_CFGINFO_SM_COUNT_LSB _u(8) 521 #define PIO_DBG_CFGINFO_SM_COUNT_ACCESS "RO" 522 // ----------------------------------------------------------------------------- 523 // Field : PIO_DBG_CFGINFO_FIFO_DEPTH 524 // Description : The depth of the state machine TX/RX FIFOs, measured in words. 525 // Joining fifos via SHIFTCTRL_FJOIN gives one FIFO with double 526 // this depth. 527 #define PIO_DBG_CFGINFO_FIFO_DEPTH_RESET "-" 528 #define PIO_DBG_CFGINFO_FIFO_DEPTH_BITS _u(0x0000003f) 529 #define PIO_DBG_CFGINFO_FIFO_DEPTH_MSB _u(5) 530 #define PIO_DBG_CFGINFO_FIFO_DEPTH_LSB _u(0) 531 #define PIO_DBG_CFGINFO_FIFO_DEPTH_ACCESS "RO" 532 // ============================================================================= 533 // Register : PIO_INSTR_MEM0 534 // Description : Write-only access to instruction memory location 0 535 #define PIO_INSTR_MEM0_OFFSET _u(0x00000048) 536 #define PIO_INSTR_MEM0_BITS _u(0x0000ffff) 537 #define PIO_INSTR_MEM0_RESET _u(0x00000000) 538 #define PIO_INSTR_MEM0_MSB _u(15) 539 #define PIO_INSTR_MEM0_LSB _u(0) 540 #define PIO_INSTR_MEM0_ACCESS "WO" 541 // ============================================================================= 542 // Register : PIO_INSTR_MEM1 543 // Description : Write-only access to instruction memory location 1 544 #define PIO_INSTR_MEM1_OFFSET _u(0x0000004c) 545 #define PIO_INSTR_MEM1_BITS _u(0x0000ffff) 546 #define PIO_INSTR_MEM1_RESET _u(0x00000000) 547 #define PIO_INSTR_MEM1_MSB _u(15) 548 #define PIO_INSTR_MEM1_LSB _u(0) 549 #define PIO_INSTR_MEM1_ACCESS "WO" 550 // ============================================================================= 551 // Register : PIO_INSTR_MEM2 552 // Description : Write-only access to instruction memory location 2 553 #define PIO_INSTR_MEM2_OFFSET _u(0x00000050) 554 #define PIO_INSTR_MEM2_BITS _u(0x0000ffff) 555 #define PIO_INSTR_MEM2_RESET _u(0x00000000) 556 #define PIO_INSTR_MEM2_MSB _u(15) 557 #define PIO_INSTR_MEM2_LSB _u(0) 558 #define PIO_INSTR_MEM2_ACCESS "WO" 559 // ============================================================================= 560 // Register : PIO_INSTR_MEM3 561 // Description : Write-only access to instruction memory location 3 562 #define PIO_INSTR_MEM3_OFFSET _u(0x00000054) 563 #define PIO_INSTR_MEM3_BITS _u(0x0000ffff) 564 #define PIO_INSTR_MEM3_RESET _u(0x00000000) 565 #define PIO_INSTR_MEM3_MSB _u(15) 566 #define PIO_INSTR_MEM3_LSB _u(0) 567 #define PIO_INSTR_MEM3_ACCESS "WO" 568 // ============================================================================= 569 // Register : PIO_INSTR_MEM4 570 // Description : Write-only access to instruction memory location 4 571 #define PIO_INSTR_MEM4_OFFSET _u(0x00000058) 572 #define PIO_INSTR_MEM4_BITS _u(0x0000ffff) 573 #define PIO_INSTR_MEM4_RESET _u(0x00000000) 574 #define PIO_INSTR_MEM4_MSB _u(15) 575 #define PIO_INSTR_MEM4_LSB _u(0) 576 #define PIO_INSTR_MEM4_ACCESS "WO" 577 // ============================================================================= 578 // Register : PIO_INSTR_MEM5 579 // Description : Write-only access to instruction memory location 5 580 #define PIO_INSTR_MEM5_OFFSET _u(0x0000005c) 581 #define PIO_INSTR_MEM5_BITS _u(0x0000ffff) 582 #define PIO_INSTR_MEM5_RESET _u(0x00000000) 583 #define PIO_INSTR_MEM5_MSB _u(15) 584 #define PIO_INSTR_MEM5_LSB _u(0) 585 #define PIO_INSTR_MEM5_ACCESS "WO" 586 // ============================================================================= 587 // Register : PIO_INSTR_MEM6 588 // Description : Write-only access to instruction memory location 6 589 #define PIO_INSTR_MEM6_OFFSET _u(0x00000060) 590 #define PIO_INSTR_MEM6_BITS _u(0x0000ffff) 591 #define PIO_INSTR_MEM6_RESET _u(0x00000000) 592 #define PIO_INSTR_MEM6_MSB _u(15) 593 #define PIO_INSTR_MEM6_LSB _u(0) 594 #define PIO_INSTR_MEM6_ACCESS "WO" 595 // ============================================================================= 596 // Register : PIO_INSTR_MEM7 597 // Description : Write-only access to instruction memory location 7 598 #define PIO_INSTR_MEM7_OFFSET _u(0x00000064) 599 #define PIO_INSTR_MEM7_BITS _u(0x0000ffff) 600 #define PIO_INSTR_MEM7_RESET _u(0x00000000) 601 #define PIO_INSTR_MEM7_MSB _u(15) 602 #define PIO_INSTR_MEM7_LSB _u(0) 603 #define PIO_INSTR_MEM7_ACCESS "WO" 604 // ============================================================================= 605 // Register : PIO_INSTR_MEM8 606 // Description : Write-only access to instruction memory location 8 607 #define PIO_INSTR_MEM8_OFFSET _u(0x00000068) 608 #define PIO_INSTR_MEM8_BITS _u(0x0000ffff) 609 #define PIO_INSTR_MEM8_RESET _u(0x00000000) 610 #define PIO_INSTR_MEM8_MSB _u(15) 611 #define PIO_INSTR_MEM8_LSB _u(0) 612 #define PIO_INSTR_MEM8_ACCESS "WO" 613 // ============================================================================= 614 // Register : PIO_INSTR_MEM9 615 // Description : Write-only access to instruction memory location 9 616 #define PIO_INSTR_MEM9_OFFSET _u(0x0000006c) 617 #define PIO_INSTR_MEM9_BITS _u(0x0000ffff) 618 #define PIO_INSTR_MEM9_RESET _u(0x00000000) 619 #define PIO_INSTR_MEM9_MSB _u(15) 620 #define PIO_INSTR_MEM9_LSB _u(0) 621 #define PIO_INSTR_MEM9_ACCESS "WO" 622 // ============================================================================= 623 // Register : PIO_INSTR_MEM10 624 // Description : Write-only access to instruction memory location 10 625 #define PIO_INSTR_MEM10_OFFSET _u(0x00000070) 626 #define PIO_INSTR_MEM10_BITS _u(0x0000ffff) 627 #define PIO_INSTR_MEM10_RESET _u(0x00000000) 628 #define PIO_INSTR_MEM10_MSB _u(15) 629 #define PIO_INSTR_MEM10_LSB _u(0) 630 #define PIO_INSTR_MEM10_ACCESS "WO" 631 // ============================================================================= 632 // Register : PIO_INSTR_MEM11 633 // Description : Write-only access to instruction memory location 11 634 #define PIO_INSTR_MEM11_OFFSET _u(0x00000074) 635 #define PIO_INSTR_MEM11_BITS _u(0x0000ffff) 636 #define PIO_INSTR_MEM11_RESET _u(0x00000000) 637 #define PIO_INSTR_MEM11_MSB _u(15) 638 #define PIO_INSTR_MEM11_LSB _u(0) 639 #define PIO_INSTR_MEM11_ACCESS "WO" 640 // ============================================================================= 641 // Register : PIO_INSTR_MEM12 642 // Description : Write-only access to instruction memory location 12 643 #define PIO_INSTR_MEM12_OFFSET _u(0x00000078) 644 #define PIO_INSTR_MEM12_BITS _u(0x0000ffff) 645 #define PIO_INSTR_MEM12_RESET _u(0x00000000) 646 #define PIO_INSTR_MEM12_MSB _u(15) 647 #define PIO_INSTR_MEM12_LSB _u(0) 648 #define PIO_INSTR_MEM12_ACCESS "WO" 649 // ============================================================================= 650 // Register : PIO_INSTR_MEM13 651 // Description : Write-only access to instruction memory location 13 652 #define PIO_INSTR_MEM13_OFFSET _u(0x0000007c) 653 #define PIO_INSTR_MEM13_BITS _u(0x0000ffff) 654 #define PIO_INSTR_MEM13_RESET _u(0x00000000) 655 #define PIO_INSTR_MEM13_MSB _u(15) 656 #define PIO_INSTR_MEM13_LSB _u(0) 657 #define PIO_INSTR_MEM13_ACCESS "WO" 658 // ============================================================================= 659 // Register : PIO_INSTR_MEM14 660 // Description : Write-only access to instruction memory location 14 661 #define PIO_INSTR_MEM14_OFFSET _u(0x00000080) 662 #define PIO_INSTR_MEM14_BITS _u(0x0000ffff) 663 #define PIO_INSTR_MEM14_RESET _u(0x00000000) 664 #define PIO_INSTR_MEM14_MSB _u(15) 665 #define PIO_INSTR_MEM14_LSB _u(0) 666 #define PIO_INSTR_MEM14_ACCESS "WO" 667 // ============================================================================= 668 // Register : PIO_INSTR_MEM15 669 // Description : Write-only access to instruction memory location 15 670 #define PIO_INSTR_MEM15_OFFSET _u(0x00000084) 671 #define PIO_INSTR_MEM15_BITS _u(0x0000ffff) 672 #define PIO_INSTR_MEM15_RESET _u(0x00000000) 673 #define PIO_INSTR_MEM15_MSB _u(15) 674 #define PIO_INSTR_MEM15_LSB _u(0) 675 #define PIO_INSTR_MEM15_ACCESS "WO" 676 // ============================================================================= 677 // Register : PIO_INSTR_MEM16 678 // Description : Write-only access to instruction memory location 16 679 #define PIO_INSTR_MEM16_OFFSET _u(0x00000088) 680 #define PIO_INSTR_MEM16_BITS _u(0x0000ffff) 681 #define PIO_INSTR_MEM16_RESET _u(0x00000000) 682 #define PIO_INSTR_MEM16_MSB _u(15) 683 #define PIO_INSTR_MEM16_LSB _u(0) 684 #define PIO_INSTR_MEM16_ACCESS "WO" 685 // ============================================================================= 686 // Register : PIO_INSTR_MEM17 687 // Description : Write-only access to instruction memory location 17 688 #define PIO_INSTR_MEM17_OFFSET _u(0x0000008c) 689 #define PIO_INSTR_MEM17_BITS _u(0x0000ffff) 690 #define PIO_INSTR_MEM17_RESET _u(0x00000000) 691 #define PIO_INSTR_MEM17_MSB _u(15) 692 #define PIO_INSTR_MEM17_LSB _u(0) 693 #define PIO_INSTR_MEM17_ACCESS "WO" 694 // ============================================================================= 695 // Register : PIO_INSTR_MEM18 696 // Description : Write-only access to instruction memory location 18 697 #define PIO_INSTR_MEM18_OFFSET _u(0x00000090) 698 #define PIO_INSTR_MEM18_BITS _u(0x0000ffff) 699 #define PIO_INSTR_MEM18_RESET _u(0x00000000) 700 #define PIO_INSTR_MEM18_MSB _u(15) 701 #define PIO_INSTR_MEM18_LSB _u(0) 702 #define PIO_INSTR_MEM18_ACCESS "WO" 703 // ============================================================================= 704 // Register : PIO_INSTR_MEM19 705 // Description : Write-only access to instruction memory location 19 706 #define PIO_INSTR_MEM19_OFFSET _u(0x00000094) 707 #define PIO_INSTR_MEM19_BITS _u(0x0000ffff) 708 #define PIO_INSTR_MEM19_RESET _u(0x00000000) 709 #define PIO_INSTR_MEM19_MSB _u(15) 710 #define PIO_INSTR_MEM19_LSB _u(0) 711 #define PIO_INSTR_MEM19_ACCESS "WO" 712 // ============================================================================= 713 // Register : PIO_INSTR_MEM20 714 // Description : Write-only access to instruction memory location 20 715 #define PIO_INSTR_MEM20_OFFSET _u(0x00000098) 716 #define PIO_INSTR_MEM20_BITS _u(0x0000ffff) 717 #define PIO_INSTR_MEM20_RESET _u(0x00000000) 718 #define PIO_INSTR_MEM20_MSB _u(15) 719 #define PIO_INSTR_MEM20_LSB _u(0) 720 #define PIO_INSTR_MEM20_ACCESS "WO" 721 // ============================================================================= 722 // Register : PIO_INSTR_MEM21 723 // Description : Write-only access to instruction memory location 21 724 #define PIO_INSTR_MEM21_OFFSET _u(0x0000009c) 725 #define PIO_INSTR_MEM21_BITS _u(0x0000ffff) 726 #define PIO_INSTR_MEM21_RESET _u(0x00000000) 727 #define PIO_INSTR_MEM21_MSB _u(15) 728 #define PIO_INSTR_MEM21_LSB _u(0) 729 #define PIO_INSTR_MEM21_ACCESS "WO" 730 // ============================================================================= 731 // Register : PIO_INSTR_MEM22 732 // Description : Write-only access to instruction memory location 22 733 #define PIO_INSTR_MEM22_OFFSET _u(0x000000a0) 734 #define PIO_INSTR_MEM22_BITS _u(0x0000ffff) 735 #define PIO_INSTR_MEM22_RESET _u(0x00000000) 736 #define PIO_INSTR_MEM22_MSB _u(15) 737 #define PIO_INSTR_MEM22_LSB _u(0) 738 #define PIO_INSTR_MEM22_ACCESS "WO" 739 // ============================================================================= 740 // Register : PIO_INSTR_MEM23 741 // Description : Write-only access to instruction memory location 23 742 #define PIO_INSTR_MEM23_OFFSET _u(0x000000a4) 743 #define PIO_INSTR_MEM23_BITS _u(0x0000ffff) 744 #define PIO_INSTR_MEM23_RESET _u(0x00000000) 745 #define PIO_INSTR_MEM23_MSB _u(15) 746 #define PIO_INSTR_MEM23_LSB _u(0) 747 #define PIO_INSTR_MEM23_ACCESS "WO" 748 // ============================================================================= 749 // Register : PIO_INSTR_MEM24 750 // Description : Write-only access to instruction memory location 24 751 #define PIO_INSTR_MEM24_OFFSET _u(0x000000a8) 752 #define PIO_INSTR_MEM24_BITS _u(0x0000ffff) 753 #define PIO_INSTR_MEM24_RESET _u(0x00000000) 754 #define PIO_INSTR_MEM24_MSB _u(15) 755 #define PIO_INSTR_MEM24_LSB _u(0) 756 #define PIO_INSTR_MEM24_ACCESS "WO" 757 // ============================================================================= 758 // Register : PIO_INSTR_MEM25 759 // Description : Write-only access to instruction memory location 25 760 #define PIO_INSTR_MEM25_OFFSET _u(0x000000ac) 761 #define PIO_INSTR_MEM25_BITS _u(0x0000ffff) 762 #define PIO_INSTR_MEM25_RESET _u(0x00000000) 763 #define PIO_INSTR_MEM25_MSB _u(15) 764 #define PIO_INSTR_MEM25_LSB _u(0) 765 #define PIO_INSTR_MEM25_ACCESS "WO" 766 // ============================================================================= 767 // Register : PIO_INSTR_MEM26 768 // Description : Write-only access to instruction memory location 26 769 #define PIO_INSTR_MEM26_OFFSET _u(0x000000b0) 770 #define PIO_INSTR_MEM26_BITS _u(0x0000ffff) 771 #define PIO_INSTR_MEM26_RESET _u(0x00000000) 772 #define PIO_INSTR_MEM26_MSB _u(15) 773 #define PIO_INSTR_MEM26_LSB _u(0) 774 #define PIO_INSTR_MEM26_ACCESS "WO" 775 // ============================================================================= 776 // Register : PIO_INSTR_MEM27 777 // Description : Write-only access to instruction memory location 27 778 #define PIO_INSTR_MEM27_OFFSET _u(0x000000b4) 779 #define PIO_INSTR_MEM27_BITS _u(0x0000ffff) 780 #define PIO_INSTR_MEM27_RESET _u(0x00000000) 781 #define PIO_INSTR_MEM27_MSB _u(15) 782 #define PIO_INSTR_MEM27_LSB _u(0) 783 #define PIO_INSTR_MEM27_ACCESS "WO" 784 // ============================================================================= 785 // Register : PIO_INSTR_MEM28 786 // Description : Write-only access to instruction memory location 28 787 #define PIO_INSTR_MEM28_OFFSET _u(0x000000b8) 788 #define PIO_INSTR_MEM28_BITS _u(0x0000ffff) 789 #define PIO_INSTR_MEM28_RESET _u(0x00000000) 790 #define PIO_INSTR_MEM28_MSB _u(15) 791 #define PIO_INSTR_MEM28_LSB _u(0) 792 #define PIO_INSTR_MEM28_ACCESS "WO" 793 // ============================================================================= 794 // Register : PIO_INSTR_MEM29 795 // Description : Write-only access to instruction memory location 29 796 #define PIO_INSTR_MEM29_OFFSET _u(0x000000bc) 797 #define PIO_INSTR_MEM29_BITS _u(0x0000ffff) 798 #define PIO_INSTR_MEM29_RESET _u(0x00000000) 799 #define PIO_INSTR_MEM29_MSB _u(15) 800 #define PIO_INSTR_MEM29_LSB _u(0) 801 #define PIO_INSTR_MEM29_ACCESS "WO" 802 // ============================================================================= 803 // Register : PIO_INSTR_MEM30 804 // Description : Write-only access to instruction memory location 30 805 #define PIO_INSTR_MEM30_OFFSET _u(0x000000c0) 806 #define PIO_INSTR_MEM30_BITS _u(0x0000ffff) 807 #define PIO_INSTR_MEM30_RESET _u(0x00000000) 808 #define PIO_INSTR_MEM30_MSB _u(15) 809 #define PIO_INSTR_MEM30_LSB _u(0) 810 #define PIO_INSTR_MEM30_ACCESS "WO" 811 // ============================================================================= 812 // Register : PIO_INSTR_MEM31 813 // Description : Write-only access to instruction memory location 31 814 #define PIO_INSTR_MEM31_OFFSET _u(0x000000c4) 815 #define PIO_INSTR_MEM31_BITS _u(0x0000ffff) 816 #define PIO_INSTR_MEM31_RESET _u(0x00000000) 817 #define PIO_INSTR_MEM31_MSB _u(15) 818 #define PIO_INSTR_MEM31_LSB _u(0) 819 #define PIO_INSTR_MEM31_ACCESS "WO" 820 // ============================================================================= 821 // Register : PIO_SM0_CLKDIV 822 // Description : Clock divisor register for state machine 0 823 // Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256) 824 #define PIO_SM0_CLKDIV_OFFSET _u(0x000000c8) 825 #define PIO_SM0_CLKDIV_BITS _u(0xffffff00) 826 #define PIO_SM0_CLKDIV_RESET _u(0x00010000) 827 // ----------------------------------------------------------------------------- 828 // Field : PIO_SM0_CLKDIV_INT 829 // Description : Effective frequency is sysclk/(int + frac/256). 830 // Value of 0 is interpreted as 65536. If INT is 0, FRAC must also 831 // be 0. 832 #define PIO_SM0_CLKDIV_INT_RESET _u(0x0001) 833 #define PIO_SM0_CLKDIV_INT_BITS _u(0xffff0000) 834 #define PIO_SM0_CLKDIV_INT_MSB _u(31) 835 #define PIO_SM0_CLKDIV_INT_LSB _u(16) 836 #define PIO_SM0_CLKDIV_INT_ACCESS "RW" 837 // ----------------------------------------------------------------------------- 838 // Field : PIO_SM0_CLKDIV_FRAC 839 // Description : Fractional part of clock divisor 840 #define PIO_SM0_CLKDIV_FRAC_RESET _u(0x00) 841 #define PIO_SM0_CLKDIV_FRAC_BITS _u(0x0000ff00) 842 #define PIO_SM0_CLKDIV_FRAC_MSB _u(15) 843 #define PIO_SM0_CLKDIV_FRAC_LSB _u(8) 844 #define PIO_SM0_CLKDIV_FRAC_ACCESS "RW" 845 // ============================================================================= 846 // Register : PIO_SM0_EXECCTRL 847 // Description : Execution/behavioural settings for state machine 0 848 #define PIO_SM0_EXECCTRL_OFFSET _u(0x000000cc) 849 #define PIO_SM0_EXECCTRL_BITS _u(0xffffffff) 850 #define PIO_SM0_EXECCTRL_RESET _u(0x0001f000) 851 // ----------------------------------------------------------------------------- 852 // Field : PIO_SM0_EXECCTRL_EXEC_STALLED 853 // Description : If 1, an instruction written to SMx_INSTR is stalled, and 854 // latched by the state machine. Will clear to 0 once this 855 // instruction completes. 856 #define PIO_SM0_EXECCTRL_EXEC_STALLED_RESET _u(0x0) 857 #define PIO_SM0_EXECCTRL_EXEC_STALLED_BITS _u(0x80000000) 858 #define PIO_SM0_EXECCTRL_EXEC_STALLED_MSB _u(31) 859 #define PIO_SM0_EXECCTRL_EXEC_STALLED_LSB _u(31) 860 #define PIO_SM0_EXECCTRL_EXEC_STALLED_ACCESS "RO" 861 // ----------------------------------------------------------------------------- 862 // Field : PIO_SM0_EXECCTRL_SIDE_EN 863 // Description : If 1, the MSB of the Delay/Side-set instruction field is used 864 // as side-set enable, rather than a side-set data bit. This 865 // allows instructions to perform side-set optionally, rather than 866 // on every instruction, but the maximum possible side-set width 867 // is reduced from 5 to 4. Note that the value of 868 // PINCTRL_SIDESET_COUNT is inclusive of this enable bit. 869 #define PIO_SM0_EXECCTRL_SIDE_EN_RESET _u(0x0) 870 #define PIO_SM0_EXECCTRL_SIDE_EN_BITS _u(0x40000000) 871 #define PIO_SM0_EXECCTRL_SIDE_EN_MSB _u(30) 872 #define PIO_SM0_EXECCTRL_SIDE_EN_LSB _u(30) 873 #define PIO_SM0_EXECCTRL_SIDE_EN_ACCESS "RW" 874 // ----------------------------------------------------------------------------- 875 // Field : PIO_SM0_EXECCTRL_SIDE_PINDIR 876 // Description : If 1, side-set data is asserted to pin directions, instead of 877 // pin values 878 #define PIO_SM0_EXECCTRL_SIDE_PINDIR_RESET _u(0x0) 879 #define PIO_SM0_EXECCTRL_SIDE_PINDIR_BITS _u(0x20000000) 880 #define PIO_SM0_EXECCTRL_SIDE_PINDIR_MSB _u(29) 881 #define PIO_SM0_EXECCTRL_SIDE_PINDIR_LSB _u(29) 882 #define PIO_SM0_EXECCTRL_SIDE_PINDIR_ACCESS "RW" 883 // ----------------------------------------------------------------------------- 884 // Field : PIO_SM0_EXECCTRL_JMP_PIN 885 // Description : The GPIO number to use as condition for JMP PIN. Unaffected by 886 // input mapping. 887 #define PIO_SM0_EXECCTRL_JMP_PIN_RESET _u(0x00) 888 #define PIO_SM0_EXECCTRL_JMP_PIN_BITS _u(0x1f000000) 889 #define PIO_SM0_EXECCTRL_JMP_PIN_MSB _u(28) 890 #define PIO_SM0_EXECCTRL_JMP_PIN_LSB _u(24) 891 #define PIO_SM0_EXECCTRL_JMP_PIN_ACCESS "RW" 892 // ----------------------------------------------------------------------------- 893 // Field : PIO_SM0_EXECCTRL_OUT_EN_SEL 894 // Description : Which data bit to use for inline OUT enable 895 #define PIO_SM0_EXECCTRL_OUT_EN_SEL_RESET _u(0x00) 896 #define PIO_SM0_EXECCTRL_OUT_EN_SEL_BITS _u(0x00f80000) 897 #define PIO_SM0_EXECCTRL_OUT_EN_SEL_MSB _u(23) 898 #define PIO_SM0_EXECCTRL_OUT_EN_SEL_LSB _u(19) 899 #define PIO_SM0_EXECCTRL_OUT_EN_SEL_ACCESS "RW" 900 // ----------------------------------------------------------------------------- 901 // Field : PIO_SM0_EXECCTRL_INLINE_OUT_EN 902 // Description : If 1, use a bit of OUT data as an auxiliary write enable 903 // When used in conjunction with OUT_STICKY, writes with an enable 904 // of 0 will 905 // deassert the latest pin write. This can create useful 906 // masking/override behaviour 907 // due to the priority ordering of state machine pin writes (SM0 < 908 // SM1 < ...) 909 #define PIO_SM0_EXECCTRL_INLINE_OUT_EN_RESET _u(0x0) 910 #define PIO_SM0_EXECCTRL_INLINE_OUT_EN_BITS _u(0x00040000) 911 #define PIO_SM0_EXECCTRL_INLINE_OUT_EN_MSB _u(18) 912 #define PIO_SM0_EXECCTRL_INLINE_OUT_EN_LSB _u(18) 913 #define PIO_SM0_EXECCTRL_INLINE_OUT_EN_ACCESS "RW" 914 // ----------------------------------------------------------------------------- 915 // Field : PIO_SM0_EXECCTRL_OUT_STICKY 916 // Description : Continuously assert the most recent OUT/SET to the pins 917 #define PIO_SM0_EXECCTRL_OUT_STICKY_RESET _u(0x0) 918 #define PIO_SM0_EXECCTRL_OUT_STICKY_BITS _u(0x00020000) 919 #define PIO_SM0_EXECCTRL_OUT_STICKY_MSB _u(17) 920 #define PIO_SM0_EXECCTRL_OUT_STICKY_LSB _u(17) 921 #define PIO_SM0_EXECCTRL_OUT_STICKY_ACCESS "RW" 922 // ----------------------------------------------------------------------------- 923 // Field : PIO_SM0_EXECCTRL_WRAP_TOP 924 // Description : After reaching this address, execution is wrapped to 925 // wrap_bottom. 926 // If the instruction is a jump, and the jump condition is true, 927 // the jump takes priority. 928 #define PIO_SM0_EXECCTRL_WRAP_TOP_RESET _u(0x1f) 929 #define PIO_SM0_EXECCTRL_WRAP_TOP_BITS _u(0x0001f000) 930 #define PIO_SM0_EXECCTRL_WRAP_TOP_MSB _u(16) 931 #define PIO_SM0_EXECCTRL_WRAP_TOP_LSB _u(12) 932 #define PIO_SM0_EXECCTRL_WRAP_TOP_ACCESS "RW" 933 // ----------------------------------------------------------------------------- 934 // Field : PIO_SM0_EXECCTRL_WRAP_BOTTOM 935 // Description : After reaching wrap_top, execution is wrapped to this address. 936 #define PIO_SM0_EXECCTRL_WRAP_BOTTOM_RESET _u(0x00) 937 #define PIO_SM0_EXECCTRL_WRAP_BOTTOM_BITS _u(0x00000f80) 938 #define PIO_SM0_EXECCTRL_WRAP_BOTTOM_MSB _u(11) 939 #define PIO_SM0_EXECCTRL_WRAP_BOTTOM_LSB _u(7) 940 #define PIO_SM0_EXECCTRL_WRAP_BOTTOM_ACCESS "RW" 941 // ----------------------------------------------------------------------------- 942 // Field : PIO_SM0_EXECCTRL_STATUS_SEL 943 // Description : Comparison used for the MOV x, STATUS instruction. 944 // 0x0 -> All-ones if TX FIFO level < N, otherwise all-zeroes 945 // 0x1 -> All-ones if RX FIFO level < N, otherwise all-zeroes 946 // 0x2 -> All-ones if the indexed IRQ flag is raised, otherwise all-zeroes 947 #define PIO_SM0_EXECCTRL_STATUS_SEL_RESET _u(0x0) 948 #define PIO_SM0_EXECCTRL_STATUS_SEL_BITS _u(0x00000060) 949 #define PIO_SM0_EXECCTRL_STATUS_SEL_MSB _u(6) 950 #define PIO_SM0_EXECCTRL_STATUS_SEL_LSB _u(5) 951 #define PIO_SM0_EXECCTRL_STATUS_SEL_ACCESS "RW" 952 #define PIO_SM0_EXECCTRL_STATUS_SEL_VALUE_TXLEVEL _u(0x0) 953 #define PIO_SM0_EXECCTRL_STATUS_SEL_VALUE_RXLEVEL _u(0x1) 954 #define PIO_SM0_EXECCTRL_STATUS_SEL_VALUE_IRQ _u(0x2) 955 // ----------------------------------------------------------------------------- 956 // Field : PIO_SM0_EXECCTRL_STATUS_N 957 // Description : Comparison level or IRQ index for the MOV x, STATUS 958 // instruction. 959 // 960 // If STATUS_SEL is TXLEVEL or RXLEVEL, then values of STATUS_N 961 // greater than the current FIFO depth are reserved, and have 962 // undefined behaviour. 963 // 0x00 -> Index 0-7 of an IRQ flag in this PIO block 964 // 0x08 -> Index 0-7 of an IRQ flag in the next lower-numbered PIO block 965 // 0x10 -> Index 0-7 of an IRQ flag in the next higher-numbered PIO block 966 #define PIO_SM0_EXECCTRL_STATUS_N_RESET _u(0x00) 967 #define PIO_SM0_EXECCTRL_STATUS_N_BITS _u(0x0000001f) 968 #define PIO_SM0_EXECCTRL_STATUS_N_MSB _u(4) 969 #define PIO_SM0_EXECCTRL_STATUS_N_LSB _u(0) 970 #define PIO_SM0_EXECCTRL_STATUS_N_ACCESS "RW" 971 #define PIO_SM0_EXECCTRL_STATUS_N_VALUE_IRQ _u(0x00) 972 #define PIO_SM0_EXECCTRL_STATUS_N_VALUE_IRQ_PREVPIO _u(0x08) 973 #define PIO_SM0_EXECCTRL_STATUS_N_VALUE_IRQ_NEXTPIO _u(0x10) 974 // ============================================================================= 975 // Register : PIO_SM0_SHIFTCTRL 976 // Description : Control behaviour of the input/output shift registers for state 977 // machine 0 978 #define PIO_SM0_SHIFTCTRL_OFFSET _u(0x000000d0) 979 #define PIO_SM0_SHIFTCTRL_BITS _u(0xffffc01f) 980 #define PIO_SM0_SHIFTCTRL_RESET _u(0x000c0000) 981 // ----------------------------------------------------------------------------- 982 // Field : PIO_SM0_SHIFTCTRL_FJOIN_RX 983 // Description : When 1, RX FIFO steals the TX FIFO's storage, and becomes twice 984 // as deep. 985 // TX FIFO is disabled as a result (always reads as both full and 986 // empty). 987 // FIFOs are flushed when this bit is changed. 988 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_RESET _u(0x0) 989 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_BITS _u(0x80000000) 990 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_MSB _u(31) 991 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_LSB _u(31) 992 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_ACCESS "RW" 993 // ----------------------------------------------------------------------------- 994 // Field : PIO_SM0_SHIFTCTRL_FJOIN_TX 995 // Description : When 1, TX FIFO steals the RX FIFO's storage, and becomes twice 996 // as deep. 997 // RX FIFO is disabled as a result (always reads as both full and 998 // empty). 999 // FIFOs are flushed when this bit is changed. 1000 #define PIO_SM0_SHIFTCTRL_FJOIN_TX_RESET _u(0x0) 1001 #define PIO_SM0_SHIFTCTRL_FJOIN_TX_BITS _u(0x40000000) 1002 #define PIO_SM0_SHIFTCTRL_FJOIN_TX_MSB _u(30) 1003 #define PIO_SM0_SHIFTCTRL_FJOIN_TX_LSB _u(30) 1004 #define PIO_SM0_SHIFTCTRL_FJOIN_TX_ACCESS "RW" 1005 // ----------------------------------------------------------------------------- 1006 // Field : PIO_SM0_SHIFTCTRL_PULL_THRESH 1007 // Description : Number of bits shifted out of OSR before autopull, or 1008 // conditional pull (PULL IFEMPTY), will take place. 1009 // Write 0 for value of 32. 1010 #define PIO_SM0_SHIFTCTRL_PULL_THRESH_RESET _u(0x00) 1011 #define PIO_SM0_SHIFTCTRL_PULL_THRESH_BITS _u(0x3e000000) 1012 #define PIO_SM0_SHIFTCTRL_PULL_THRESH_MSB _u(29) 1013 #define PIO_SM0_SHIFTCTRL_PULL_THRESH_LSB _u(25) 1014 #define PIO_SM0_SHIFTCTRL_PULL_THRESH_ACCESS "RW" 1015 // ----------------------------------------------------------------------------- 1016 // Field : PIO_SM0_SHIFTCTRL_PUSH_THRESH 1017 // Description : Number of bits shifted into ISR before autopush, or conditional 1018 // push (PUSH IFFULL), will take place. 1019 // Write 0 for value of 32. 1020 #define PIO_SM0_SHIFTCTRL_PUSH_THRESH_RESET _u(0x00) 1021 #define PIO_SM0_SHIFTCTRL_PUSH_THRESH_BITS _u(0x01f00000) 1022 #define PIO_SM0_SHIFTCTRL_PUSH_THRESH_MSB _u(24) 1023 #define PIO_SM0_SHIFTCTRL_PUSH_THRESH_LSB _u(20) 1024 #define PIO_SM0_SHIFTCTRL_PUSH_THRESH_ACCESS "RW" 1025 // ----------------------------------------------------------------------------- 1026 // Field : PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR 1027 // Description : 1 = shift out of output shift register to right. 0 = to left. 1028 #define PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_RESET _u(0x1) 1029 #define PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_BITS _u(0x00080000) 1030 #define PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_MSB _u(19) 1031 #define PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_LSB _u(19) 1032 #define PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_ACCESS "RW" 1033 // ----------------------------------------------------------------------------- 1034 // Field : PIO_SM0_SHIFTCTRL_IN_SHIFTDIR 1035 // Description : 1 = shift input shift register to right (data enters from 1036 // left). 0 = to left. 1037 #define PIO_SM0_SHIFTCTRL_IN_SHIFTDIR_RESET _u(0x1) 1038 #define PIO_SM0_SHIFTCTRL_IN_SHIFTDIR_BITS _u(0x00040000) 1039 #define PIO_SM0_SHIFTCTRL_IN_SHIFTDIR_MSB _u(18) 1040 #define PIO_SM0_SHIFTCTRL_IN_SHIFTDIR_LSB _u(18) 1041 #define PIO_SM0_SHIFTCTRL_IN_SHIFTDIR_ACCESS "RW" 1042 // ----------------------------------------------------------------------------- 1043 // Field : PIO_SM0_SHIFTCTRL_AUTOPULL 1044 // Description : Pull automatically when the output shift register is emptied, 1045 // i.e. on or following an OUT instruction which causes the output 1046 // shift counter to reach or exceed PULL_THRESH. 1047 #define PIO_SM0_SHIFTCTRL_AUTOPULL_RESET _u(0x0) 1048 #define PIO_SM0_SHIFTCTRL_AUTOPULL_BITS _u(0x00020000) 1049 #define PIO_SM0_SHIFTCTRL_AUTOPULL_MSB _u(17) 1050 #define PIO_SM0_SHIFTCTRL_AUTOPULL_LSB _u(17) 1051 #define PIO_SM0_SHIFTCTRL_AUTOPULL_ACCESS "RW" 1052 // ----------------------------------------------------------------------------- 1053 // Field : PIO_SM0_SHIFTCTRL_AUTOPUSH 1054 // Description : Push automatically when the input shift register is filled, 1055 // i.e. on an IN instruction which causes the input shift counter 1056 // to reach or exceed PUSH_THRESH. 1057 #define PIO_SM0_SHIFTCTRL_AUTOPUSH_RESET _u(0x0) 1058 #define PIO_SM0_SHIFTCTRL_AUTOPUSH_BITS _u(0x00010000) 1059 #define PIO_SM0_SHIFTCTRL_AUTOPUSH_MSB _u(16) 1060 #define PIO_SM0_SHIFTCTRL_AUTOPUSH_LSB _u(16) 1061 #define PIO_SM0_SHIFTCTRL_AUTOPUSH_ACCESS "RW" 1062 // ----------------------------------------------------------------------------- 1063 // Field : PIO_SM0_SHIFTCTRL_FJOIN_RX_PUT 1064 // Description : If 1, disable this state machine's RX FIFO, make its storage 1065 // available for random write access by the state machine (using 1066 // the `put` instruction) and, unless FJOIN_RX_GET is also set, 1067 // random read access by the processor (through the RXFx_PUTGETy 1068 // registers). 1069 // 1070 // If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX 1071 // FIFO's registers can be randomly read/written by the state 1072 // machine, but are completely inaccessible to the processor. 1073 // 1074 // Setting this bit will clear the FJOIN_TX and FJOIN_RX bits. 1075 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_PUT_RESET _u(0x0) 1076 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_PUT_BITS _u(0x00008000) 1077 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_PUT_MSB _u(15) 1078 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_PUT_LSB _u(15) 1079 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_PUT_ACCESS "RW" 1080 // ----------------------------------------------------------------------------- 1081 // Field : PIO_SM0_SHIFTCTRL_FJOIN_RX_GET 1082 // Description : If 1, disable this state machine's RX FIFO, make its storage 1083 // available for random read access by the state machine (using 1084 // the `get` instruction) and, unless FJOIN_RX_PUT is also set, 1085 // random write access by the processor (through the RXFx_PUTGETy 1086 // registers). 1087 // 1088 // If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX 1089 // FIFO's registers can be randomly read/written by the state 1090 // machine, but are completely inaccessible to the processor. 1091 // 1092 // Setting this bit will clear the FJOIN_TX and FJOIN_RX bits. 1093 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_GET_RESET _u(0x0) 1094 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_GET_BITS _u(0x00004000) 1095 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_GET_MSB _u(14) 1096 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_GET_LSB _u(14) 1097 #define PIO_SM0_SHIFTCTRL_FJOIN_RX_GET_ACCESS "RW" 1098 // ----------------------------------------------------------------------------- 1099 // Field : PIO_SM0_SHIFTCTRL_IN_COUNT 1100 // Description : Set the number of pins which are not masked to 0 when read by 1101 // an IN PINS, WAIT PIN or MOV x, PINS instruction. 1102 // 1103 // For example, an IN_COUNT of 5 means that the 5 LSBs of the IN 1104 // pin group are visible (bits 4:0), but the remaining 27 MSBs are 1105 // masked to 0. A count of 32 is encoded with a field value of 0, 1106 // so the default behaviour is to not perform any masking. 1107 // 1108 // Note this masking is applied in addition to the masking usually 1109 // performed by the IN instruction. This is mainly useful for the 1110 // MOV x, PINS instruction, which otherwise has no way of masking 1111 // pins. 1112 #define PIO_SM0_SHIFTCTRL_IN_COUNT_RESET _u(0x00) 1113 #define PIO_SM0_SHIFTCTRL_IN_COUNT_BITS _u(0x0000001f) 1114 #define PIO_SM0_SHIFTCTRL_IN_COUNT_MSB _u(4) 1115 #define PIO_SM0_SHIFTCTRL_IN_COUNT_LSB _u(0) 1116 #define PIO_SM0_SHIFTCTRL_IN_COUNT_ACCESS "RW" 1117 // ============================================================================= 1118 // Register : PIO_SM0_ADDR 1119 // Description : Current instruction address of state machine 0 1120 #define PIO_SM0_ADDR_OFFSET _u(0x000000d4) 1121 #define PIO_SM0_ADDR_BITS _u(0x0000001f) 1122 #define PIO_SM0_ADDR_RESET _u(0x00000000) 1123 #define PIO_SM0_ADDR_MSB _u(4) 1124 #define PIO_SM0_ADDR_LSB _u(0) 1125 #define PIO_SM0_ADDR_ACCESS "RO" 1126 // ============================================================================= 1127 // Register : PIO_SM0_INSTR 1128 // Description : Read to see the instruction currently addressed by state 1129 // machine 0's program counter 1130 // Write to execute an instruction immediately (including jumps) 1131 // and then resume execution. 1132 #define PIO_SM0_INSTR_OFFSET _u(0x000000d8) 1133 #define PIO_SM0_INSTR_BITS _u(0x0000ffff) 1134 #define PIO_SM0_INSTR_RESET "-" 1135 #define PIO_SM0_INSTR_MSB _u(15) 1136 #define PIO_SM0_INSTR_LSB _u(0) 1137 #define PIO_SM0_INSTR_ACCESS "RW" 1138 // ============================================================================= 1139 // Register : PIO_SM0_PINCTRL 1140 // Description : State machine pin control 1141 #define PIO_SM0_PINCTRL_OFFSET _u(0x000000dc) 1142 #define PIO_SM0_PINCTRL_BITS _u(0xffffffff) 1143 #define PIO_SM0_PINCTRL_RESET _u(0x14000000) 1144 // ----------------------------------------------------------------------------- 1145 // Field : PIO_SM0_PINCTRL_SIDESET_COUNT 1146 // Description : The number of MSBs of the Delay/Side-set instruction field 1147 // which are used for side-set. Inclusive of the enable bit, if 1148 // present. Minimum of 0 (all delay bits, no side-set) and maximum 1149 // of 5 (all side-set, no delay). 1150 #define PIO_SM0_PINCTRL_SIDESET_COUNT_RESET _u(0x0) 1151 #define PIO_SM0_PINCTRL_SIDESET_COUNT_BITS _u(0xe0000000) 1152 #define PIO_SM0_PINCTRL_SIDESET_COUNT_MSB _u(31) 1153 #define PIO_SM0_PINCTRL_SIDESET_COUNT_LSB _u(29) 1154 #define PIO_SM0_PINCTRL_SIDESET_COUNT_ACCESS "RW" 1155 // ----------------------------------------------------------------------------- 1156 // Field : PIO_SM0_PINCTRL_SET_COUNT 1157 // Description : The number of pins asserted by a SET. In the range 0 to 5 1158 // inclusive. 1159 #define PIO_SM0_PINCTRL_SET_COUNT_RESET _u(0x5) 1160 #define PIO_SM0_PINCTRL_SET_COUNT_BITS _u(0x1c000000) 1161 #define PIO_SM0_PINCTRL_SET_COUNT_MSB _u(28) 1162 #define PIO_SM0_PINCTRL_SET_COUNT_LSB _u(26) 1163 #define PIO_SM0_PINCTRL_SET_COUNT_ACCESS "RW" 1164 // ----------------------------------------------------------------------------- 1165 // Field : PIO_SM0_PINCTRL_OUT_COUNT 1166 // Description : The number of pins asserted by an OUT PINS, OUT PINDIRS or MOV 1167 // PINS instruction. In the range 0 to 32 inclusive. 1168 #define PIO_SM0_PINCTRL_OUT_COUNT_RESET _u(0x00) 1169 #define PIO_SM0_PINCTRL_OUT_COUNT_BITS _u(0x03f00000) 1170 #define PIO_SM0_PINCTRL_OUT_COUNT_MSB _u(25) 1171 #define PIO_SM0_PINCTRL_OUT_COUNT_LSB _u(20) 1172 #define PIO_SM0_PINCTRL_OUT_COUNT_ACCESS "RW" 1173 // ----------------------------------------------------------------------------- 1174 // Field : PIO_SM0_PINCTRL_IN_BASE 1175 // Description : The pin which is mapped to the least-significant bit of a state 1176 // machine's IN data bus. Higher-numbered pins are mapped to 1177 // consecutively more-significant data bits, with a modulo of 32 1178 // applied to pin number. 1179 #define PIO_SM0_PINCTRL_IN_BASE_RESET _u(0x00) 1180 #define PIO_SM0_PINCTRL_IN_BASE_BITS _u(0x000f8000) 1181 #define PIO_SM0_PINCTRL_IN_BASE_MSB _u(19) 1182 #define PIO_SM0_PINCTRL_IN_BASE_LSB _u(15) 1183 #define PIO_SM0_PINCTRL_IN_BASE_ACCESS "RW" 1184 // ----------------------------------------------------------------------------- 1185 // Field : PIO_SM0_PINCTRL_SIDESET_BASE 1186 // Description : The lowest-numbered pin that will be affected by a side-set 1187 // operation. The MSBs of an instruction's side-set/delay field 1188 // (up to 5, determined by SIDESET_COUNT) are used for side-set 1189 // data, with the remaining LSBs used for delay. The least- 1190 // significant bit of the side-set portion is the bit written to 1191 // this pin, with more-significant bits written to higher-numbered 1192 // pins. 1193 #define PIO_SM0_PINCTRL_SIDESET_BASE_RESET _u(0x00) 1194 #define PIO_SM0_PINCTRL_SIDESET_BASE_BITS _u(0x00007c00) 1195 #define PIO_SM0_PINCTRL_SIDESET_BASE_MSB _u(14) 1196 #define PIO_SM0_PINCTRL_SIDESET_BASE_LSB _u(10) 1197 #define PIO_SM0_PINCTRL_SIDESET_BASE_ACCESS "RW" 1198 // ----------------------------------------------------------------------------- 1199 // Field : PIO_SM0_PINCTRL_SET_BASE 1200 // Description : The lowest-numbered pin that will be affected by a SET PINS or 1201 // SET PINDIRS instruction. The data written to this pin is the 1202 // least-significant bit of the SET data. 1203 #define PIO_SM0_PINCTRL_SET_BASE_RESET _u(0x00) 1204 #define PIO_SM0_PINCTRL_SET_BASE_BITS _u(0x000003e0) 1205 #define PIO_SM0_PINCTRL_SET_BASE_MSB _u(9) 1206 #define PIO_SM0_PINCTRL_SET_BASE_LSB _u(5) 1207 #define PIO_SM0_PINCTRL_SET_BASE_ACCESS "RW" 1208 // ----------------------------------------------------------------------------- 1209 // Field : PIO_SM0_PINCTRL_OUT_BASE 1210 // Description : The lowest-numbered pin that will be affected by an OUT PINS, 1211 // OUT PINDIRS or MOV PINS instruction. The data written to this 1212 // pin will always be the least-significant bit of the OUT or MOV 1213 // data. 1214 #define PIO_SM0_PINCTRL_OUT_BASE_RESET _u(0x00) 1215 #define PIO_SM0_PINCTRL_OUT_BASE_BITS _u(0x0000001f) 1216 #define PIO_SM0_PINCTRL_OUT_BASE_MSB _u(4) 1217 #define PIO_SM0_PINCTRL_OUT_BASE_LSB _u(0) 1218 #define PIO_SM0_PINCTRL_OUT_BASE_ACCESS "RW" 1219 // ============================================================================= 1220 // Register : PIO_SM1_CLKDIV 1221 // Description : Clock divisor register for state machine 1 1222 // Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256) 1223 #define PIO_SM1_CLKDIV_OFFSET _u(0x000000e0) 1224 #define PIO_SM1_CLKDIV_BITS _u(0xffffff00) 1225 #define PIO_SM1_CLKDIV_RESET _u(0x00010000) 1226 // ----------------------------------------------------------------------------- 1227 // Field : PIO_SM1_CLKDIV_INT 1228 // Description : Effective frequency is sysclk/(int + frac/256). 1229 // Value of 0 is interpreted as 65536. If INT is 0, FRAC must also 1230 // be 0. 1231 #define PIO_SM1_CLKDIV_INT_RESET _u(0x0001) 1232 #define PIO_SM1_CLKDIV_INT_BITS _u(0xffff0000) 1233 #define PIO_SM1_CLKDIV_INT_MSB _u(31) 1234 #define PIO_SM1_CLKDIV_INT_LSB _u(16) 1235 #define PIO_SM1_CLKDIV_INT_ACCESS "RW" 1236 // ----------------------------------------------------------------------------- 1237 // Field : PIO_SM1_CLKDIV_FRAC 1238 // Description : Fractional part of clock divisor 1239 #define PIO_SM1_CLKDIV_FRAC_RESET _u(0x00) 1240 #define PIO_SM1_CLKDIV_FRAC_BITS _u(0x0000ff00) 1241 #define PIO_SM1_CLKDIV_FRAC_MSB _u(15) 1242 #define PIO_SM1_CLKDIV_FRAC_LSB _u(8) 1243 #define PIO_SM1_CLKDIV_FRAC_ACCESS "RW" 1244 // ============================================================================= 1245 // Register : PIO_SM1_EXECCTRL 1246 // Description : Execution/behavioural settings for state machine 1 1247 #define PIO_SM1_EXECCTRL_OFFSET _u(0x000000e4) 1248 #define PIO_SM1_EXECCTRL_BITS _u(0xffffffff) 1249 #define PIO_SM1_EXECCTRL_RESET _u(0x0001f000) 1250 // ----------------------------------------------------------------------------- 1251 // Field : PIO_SM1_EXECCTRL_EXEC_STALLED 1252 // Description : If 1, an instruction written to SMx_INSTR is stalled, and 1253 // latched by the state machine. Will clear to 0 once this 1254 // instruction completes. 1255 #define PIO_SM1_EXECCTRL_EXEC_STALLED_RESET _u(0x0) 1256 #define PIO_SM1_EXECCTRL_EXEC_STALLED_BITS _u(0x80000000) 1257 #define PIO_SM1_EXECCTRL_EXEC_STALLED_MSB _u(31) 1258 #define PIO_SM1_EXECCTRL_EXEC_STALLED_LSB _u(31) 1259 #define PIO_SM1_EXECCTRL_EXEC_STALLED_ACCESS "RO" 1260 // ----------------------------------------------------------------------------- 1261 // Field : PIO_SM1_EXECCTRL_SIDE_EN 1262 // Description : If 1, the MSB of the Delay/Side-set instruction field is used 1263 // as side-set enable, rather than a side-set data bit. This 1264 // allows instructions to perform side-set optionally, rather than 1265 // on every instruction, but the maximum possible side-set width 1266 // is reduced from 5 to 4. Note that the value of 1267 // PINCTRL_SIDESET_COUNT is inclusive of this enable bit. 1268 #define PIO_SM1_EXECCTRL_SIDE_EN_RESET _u(0x0) 1269 #define PIO_SM1_EXECCTRL_SIDE_EN_BITS _u(0x40000000) 1270 #define PIO_SM1_EXECCTRL_SIDE_EN_MSB _u(30) 1271 #define PIO_SM1_EXECCTRL_SIDE_EN_LSB _u(30) 1272 #define PIO_SM1_EXECCTRL_SIDE_EN_ACCESS "RW" 1273 // ----------------------------------------------------------------------------- 1274 // Field : PIO_SM1_EXECCTRL_SIDE_PINDIR 1275 // Description : If 1, side-set data is asserted to pin directions, instead of 1276 // pin values 1277 #define PIO_SM1_EXECCTRL_SIDE_PINDIR_RESET _u(0x0) 1278 #define PIO_SM1_EXECCTRL_SIDE_PINDIR_BITS _u(0x20000000) 1279 #define PIO_SM1_EXECCTRL_SIDE_PINDIR_MSB _u(29) 1280 #define PIO_SM1_EXECCTRL_SIDE_PINDIR_LSB _u(29) 1281 #define PIO_SM1_EXECCTRL_SIDE_PINDIR_ACCESS "RW" 1282 // ----------------------------------------------------------------------------- 1283 // Field : PIO_SM1_EXECCTRL_JMP_PIN 1284 // Description : The GPIO number to use as condition for JMP PIN. Unaffected by 1285 // input mapping. 1286 #define PIO_SM1_EXECCTRL_JMP_PIN_RESET _u(0x00) 1287 #define PIO_SM1_EXECCTRL_JMP_PIN_BITS _u(0x1f000000) 1288 #define PIO_SM1_EXECCTRL_JMP_PIN_MSB _u(28) 1289 #define PIO_SM1_EXECCTRL_JMP_PIN_LSB _u(24) 1290 #define PIO_SM1_EXECCTRL_JMP_PIN_ACCESS "RW" 1291 // ----------------------------------------------------------------------------- 1292 // Field : PIO_SM1_EXECCTRL_OUT_EN_SEL 1293 // Description : Which data bit to use for inline OUT enable 1294 #define PIO_SM1_EXECCTRL_OUT_EN_SEL_RESET _u(0x00) 1295 #define PIO_SM1_EXECCTRL_OUT_EN_SEL_BITS _u(0x00f80000) 1296 #define PIO_SM1_EXECCTRL_OUT_EN_SEL_MSB _u(23) 1297 #define PIO_SM1_EXECCTRL_OUT_EN_SEL_LSB _u(19) 1298 #define PIO_SM1_EXECCTRL_OUT_EN_SEL_ACCESS "RW" 1299 // ----------------------------------------------------------------------------- 1300 // Field : PIO_SM1_EXECCTRL_INLINE_OUT_EN 1301 // Description : If 1, use a bit of OUT data as an auxiliary write enable 1302 // When used in conjunction with OUT_STICKY, writes with an enable 1303 // of 0 will 1304 // deassert the latest pin write. This can create useful 1305 // masking/override behaviour 1306 // due to the priority ordering of state machine pin writes (SM0 < 1307 // SM1 < ...) 1308 #define PIO_SM1_EXECCTRL_INLINE_OUT_EN_RESET _u(0x0) 1309 #define PIO_SM1_EXECCTRL_INLINE_OUT_EN_BITS _u(0x00040000) 1310 #define PIO_SM1_EXECCTRL_INLINE_OUT_EN_MSB _u(18) 1311 #define PIO_SM1_EXECCTRL_INLINE_OUT_EN_LSB _u(18) 1312 #define PIO_SM1_EXECCTRL_INLINE_OUT_EN_ACCESS "RW" 1313 // ----------------------------------------------------------------------------- 1314 // Field : PIO_SM1_EXECCTRL_OUT_STICKY 1315 // Description : Continuously assert the most recent OUT/SET to the pins 1316 #define PIO_SM1_EXECCTRL_OUT_STICKY_RESET _u(0x0) 1317 #define PIO_SM1_EXECCTRL_OUT_STICKY_BITS _u(0x00020000) 1318 #define PIO_SM1_EXECCTRL_OUT_STICKY_MSB _u(17) 1319 #define PIO_SM1_EXECCTRL_OUT_STICKY_LSB _u(17) 1320 #define PIO_SM1_EXECCTRL_OUT_STICKY_ACCESS "RW" 1321 // ----------------------------------------------------------------------------- 1322 // Field : PIO_SM1_EXECCTRL_WRAP_TOP 1323 // Description : After reaching this address, execution is wrapped to 1324 // wrap_bottom. 1325 // If the instruction is a jump, and the jump condition is true, 1326 // the jump takes priority. 1327 #define PIO_SM1_EXECCTRL_WRAP_TOP_RESET _u(0x1f) 1328 #define PIO_SM1_EXECCTRL_WRAP_TOP_BITS _u(0x0001f000) 1329 #define PIO_SM1_EXECCTRL_WRAP_TOP_MSB _u(16) 1330 #define PIO_SM1_EXECCTRL_WRAP_TOP_LSB _u(12) 1331 #define PIO_SM1_EXECCTRL_WRAP_TOP_ACCESS "RW" 1332 // ----------------------------------------------------------------------------- 1333 // Field : PIO_SM1_EXECCTRL_WRAP_BOTTOM 1334 // Description : After reaching wrap_top, execution is wrapped to this address. 1335 #define PIO_SM1_EXECCTRL_WRAP_BOTTOM_RESET _u(0x00) 1336 #define PIO_SM1_EXECCTRL_WRAP_BOTTOM_BITS _u(0x00000f80) 1337 #define PIO_SM1_EXECCTRL_WRAP_BOTTOM_MSB _u(11) 1338 #define PIO_SM1_EXECCTRL_WRAP_BOTTOM_LSB _u(7) 1339 #define PIO_SM1_EXECCTRL_WRAP_BOTTOM_ACCESS "RW" 1340 // ----------------------------------------------------------------------------- 1341 // Field : PIO_SM1_EXECCTRL_STATUS_SEL 1342 // Description : Comparison used for the MOV x, STATUS instruction. 1343 // 0x0 -> All-ones if TX FIFO level < N, otherwise all-zeroes 1344 // 0x1 -> All-ones if RX FIFO level < N, otherwise all-zeroes 1345 // 0x2 -> All-ones if the indexed IRQ flag is raised, otherwise all-zeroes 1346 #define PIO_SM1_EXECCTRL_STATUS_SEL_RESET _u(0x0) 1347 #define PIO_SM1_EXECCTRL_STATUS_SEL_BITS _u(0x00000060) 1348 #define PIO_SM1_EXECCTRL_STATUS_SEL_MSB _u(6) 1349 #define PIO_SM1_EXECCTRL_STATUS_SEL_LSB _u(5) 1350 #define PIO_SM1_EXECCTRL_STATUS_SEL_ACCESS "RW" 1351 #define PIO_SM1_EXECCTRL_STATUS_SEL_VALUE_TXLEVEL _u(0x0) 1352 #define PIO_SM1_EXECCTRL_STATUS_SEL_VALUE_RXLEVEL _u(0x1) 1353 #define PIO_SM1_EXECCTRL_STATUS_SEL_VALUE_IRQ _u(0x2) 1354 // ----------------------------------------------------------------------------- 1355 // Field : PIO_SM1_EXECCTRL_STATUS_N 1356 // Description : Comparison level or IRQ index for the MOV x, STATUS 1357 // instruction. 1358 // 1359 // If STATUS_SEL is TXLEVEL or RXLEVEL, then values of STATUS_N 1360 // greater than the current FIFO depth are reserved, and have 1361 // undefined behaviour. 1362 // 0x00 -> Index 0-7 of an IRQ flag in this PIO block 1363 // 0x08 -> Index 0-7 of an IRQ flag in the next lower-numbered PIO block 1364 // 0x10 -> Index 0-7 of an IRQ flag in the next higher-numbered PIO block 1365 #define PIO_SM1_EXECCTRL_STATUS_N_RESET _u(0x00) 1366 #define PIO_SM1_EXECCTRL_STATUS_N_BITS _u(0x0000001f) 1367 #define PIO_SM1_EXECCTRL_STATUS_N_MSB _u(4) 1368 #define PIO_SM1_EXECCTRL_STATUS_N_LSB _u(0) 1369 #define PIO_SM1_EXECCTRL_STATUS_N_ACCESS "RW" 1370 #define PIO_SM1_EXECCTRL_STATUS_N_VALUE_IRQ _u(0x00) 1371 #define PIO_SM1_EXECCTRL_STATUS_N_VALUE_IRQ_PREVPIO _u(0x08) 1372 #define PIO_SM1_EXECCTRL_STATUS_N_VALUE_IRQ_NEXTPIO _u(0x10) 1373 // ============================================================================= 1374 // Register : PIO_SM1_SHIFTCTRL 1375 // Description : Control behaviour of the input/output shift registers for state 1376 // machine 1 1377 #define PIO_SM1_SHIFTCTRL_OFFSET _u(0x000000e8) 1378 #define PIO_SM1_SHIFTCTRL_BITS _u(0xffffc01f) 1379 #define PIO_SM1_SHIFTCTRL_RESET _u(0x000c0000) 1380 // ----------------------------------------------------------------------------- 1381 // Field : PIO_SM1_SHIFTCTRL_FJOIN_RX 1382 // Description : When 1, RX FIFO steals the TX FIFO's storage, and becomes twice 1383 // as deep. 1384 // TX FIFO is disabled as a result (always reads as both full and 1385 // empty). 1386 // FIFOs are flushed when this bit is changed. 1387 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_RESET _u(0x0) 1388 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_BITS _u(0x80000000) 1389 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_MSB _u(31) 1390 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_LSB _u(31) 1391 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_ACCESS "RW" 1392 // ----------------------------------------------------------------------------- 1393 // Field : PIO_SM1_SHIFTCTRL_FJOIN_TX 1394 // Description : When 1, TX FIFO steals the RX FIFO's storage, and becomes twice 1395 // as deep. 1396 // RX FIFO is disabled as a result (always reads as both full and 1397 // empty). 1398 // FIFOs are flushed when this bit is changed. 1399 #define PIO_SM1_SHIFTCTRL_FJOIN_TX_RESET _u(0x0) 1400 #define PIO_SM1_SHIFTCTRL_FJOIN_TX_BITS _u(0x40000000) 1401 #define PIO_SM1_SHIFTCTRL_FJOIN_TX_MSB _u(30) 1402 #define PIO_SM1_SHIFTCTRL_FJOIN_TX_LSB _u(30) 1403 #define PIO_SM1_SHIFTCTRL_FJOIN_TX_ACCESS "RW" 1404 // ----------------------------------------------------------------------------- 1405 // Field : PIO_SM1_SHIFTCTRL_PULL_THRESH 1406 // Description : Number of bits shifted out of OSR before autopull, or 1407 // conditional pull (PULL IFEMPTY), will take place. 1408 // Write 0 for value of 32. 1409 #define PIO_SM1_SHIFTCTRL_PULL_THRESH_RESET _u(0x00) 1410 #define PIO_SM1_SHIFTCTRL_PULL_THRESH_BITS _u(0x3e000000) 1411 #define PIO_SM1_SHIFTCTRL_PULL_THRESH_MSB _u(29) 1412 #define PIO_SM1_SHIFTCTRL_PULL_THRESH_LSB _u(25) 1413 #define PIO_SM1_SHIFTCTRL_PULL_THRESH_ACCESS "RW" 1414 // ----------------------------------------------------------------------------- 1415 // Field : PIO_SM1_SHIFTCTRL_PUSH_THRESH 1416 // Description : Number of bits shifted into ISR before autopush, or conditional 1417 // push (PUSH IFFULL), will take place. 1418 // Write 0 for value of 32. 1419 #define PIO_SM1_SHIFTCTRL_PUSH_THRESH_RESET _u(0x00) 1420 #define PIO_SM1_SHIFTCTRL_PUSH_THRESH_BITS _u(0x01f00000) 1421 #define PIO_SM1_SHIFTCTRL_PUSH_THRESH_MSB _u(24) 1422 #define PIO_SM1_SHIFTCTRL_PUSH_THRESH_LSB _u(20) 1423 #define PIO_SM1_SHIFTCTRL_PUSH_THRESH_ACCESS "RW" 1424 // ----------------------------------------------------------------------------- 1425 // Field : PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR 1426 // Description : 1 = shift out of output shift register to right. 0 = to left. 1427 #define PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_RESET _u(0x1) 1428 #define PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_BITS _u(0x00080000) 1429 #define PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_MSB _u(19) 1430 #define PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_LSB _u(19) 1431 #define PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_ACCESS "RW" 1432 // ----------------------------------------------------------------------------- 1433 // Field : PIO_SM1_SHIFTCTRL_IN_SHIFTDIR 1434 // Description : 1 = shift input shift register to right (data enters from 1435 // left). 0 = to left. 1436 #define PIO_SM1_SHIFTCTRL_IN_SHIFTDIR_RESET _u(0x1) 1437 #define PIO_SM1_SHIFTCTRL_IN_SHIFTDIR_BITS _u(0x00040000) 1438 #define PIO_SM1_SHIFTCTRL_IN_SHIFTDIR_MSB _u(18) 1439 #define PIO_SM1_SHIFTCTRL_IN_SHIFTDIR_LSB _u(18) 1440 #define PIO_SM1_SHIFTCTRL_IN_SHIFTDIR_ACCESS "RW" 1441 // ----------------------------------------------------------------------------- 1442 // Field : PIO_SM1_SHIFTCTRL_AUTOPULL 1443 // Description : Pull automatically when the output shift register is emptied, 1444 // i.e. on or following an OUT instruction which causes the output 1445 // shift counter to reach or exceed PULL_THRESH. 1446 #define PIO_SM1_SHIFTCTRL_AUTOPULL_RESET _u(0x0) 1447 #define PIO_SM1_SHIFTCTRL_AUTOPULL_BITS _u(0x00020000) 1448 #define PIO_SM1_SHIFTCTRL_AUTOPULL_MSB _u(17) 1449 #define PIO_SM1_SHIFTCTRL_AUTOPULL_LSB _u(17) 1450 #define PIO_SM1_SHIFTCTRL_AUTOPULL_ACCESS "RW" 1451 // ----------------------------------------------------------------------------- 1452 // Field : PIO_SM1_SHIFTCTRL_AUTOPUSH 1453 // Description : Push automatically when the input shift register is filled, 1454 // i.e. on an IN instruction which causes the input shift counter 1455 // to reach or exceed PUSH_THRESH. 1456 #define PIO_SM1_SHIFTCTRL_AUTOPUSH_RESET _u(0x0) 1457 #define PIO_SM1_SHIFTCTRL_AUTOPUSH_BITS _u(0x00010000) 1458 #define PIO_SM1_SHIFTCTRL_AUTOPUSH_MSB _u(16) 1459 #define PIO_SM1_SHIFTCTRL_AUTOPUSH_LSB _u(16) 1460 #define PIO_SM1_SHIFTCTRL_AUTOPUSH_ACCESS "RW" 1461 // ----------------------------------------------------------------------------- 1462 // Field : PIO_SM1_SHIFTCTRL_FJOIN_RX_PUT 1463 // Description : If 1, disable this state machine's RX FIFO, make its storage 1464 // available for random write access by the state machine (using 1465 // the `put` instruction) and, unless FJOIN_RX_GET is also set, 1466 // random read access by the processor (through the RXFx_PUTGETy 1467 // registers). 1468 // 1469 // If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX 1470 // FIFO's registers can be randomly read/written by the state 1471 // machine, but are completely inaccessible to the processor. 1472 // 1473 // Setting this bit will clear the FJOIN_TX and FJOIN_RX bits. 1474 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_PUT_RESET _u(0x0) 1475 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_PUT_BITS _u(0x00008000) 1476 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_PUT_MSB _u(15) 1477 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_PUT_LSB _u(15) 1478 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_PUT_ACCESS "RW" 1479 // ----------------------------------------------------------------------------- 1480 // Field : PIO_SM1_SHIFTCTRL_FJOIN_RX_GET 1481 // Description : If 1, disable this state machine's RX FIFO, make its storage 1482 // available for random read access by the state machine (using 1483 // the `get` instruction) and, unless FJOIN_RX_PUT is also set, 1484 // random write access by the processor (through the RXFx_PUTGETy 1485 // registers). 1486 // 1487 // If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX 1488 // FIFO's registers can be randomly read/written by the state 1489 // machine, but are completely inaccessible to the processor. 1490 // 1491 // Setting this bit will clear the FJOIN_TX and FJOIN_RX bits. 1492 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_GET_RESET _u(0x0) 1493 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_GET_BITS _u(0x00004000) 1494 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_GET_MSB _u(14) 1495 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_GET_LSB _u(14) 1496 #define PIO_SM1_SHIFTCTRL_FJOIN_RX_GET_ACCESS "RW" 1497 // ----------------------------------------------------------------------------- 1498 // Field : PIO_SM1_SHIFTCTRL_IN_COUNT 1499 // Description : Set the number of pins which are not masked to 0 when read by 1500 // an IN PINS, WAIT PIN or MOV x, PINS instruction. 1501 // 1502 // For example, an IN_COUNT of 5 means that the 5 LSBs of the IN 1503 // pin group are visible (bits 4:0), but the remaining 27 MSBs are 1504 // masked to 0. A count of 32 is encoded with a field value of 0, 1505 // so the default behaviour is to not perform any masking. 1506 // 1507 // Note this masking is applied in addition to the masking usually 1508 // performed by the IN instruction. This is mainly useful for the 1509 // MOV x, PINS instruction, which otherwise has no way of masking 1510 // pins. 1511 #define PIO_SM1_SHIFTCTRL_IN_COUNT_RESET _u(0x00) 1512 #define PIO_SM1_SHIFTCTRL_IN_COUNT_BITS _u(0x0000001f) 1513 #define PIO_SM1_SHIFTCTRL_IN_COUNT_MSB _u(4) 1514 #define PIO_SM1_SHIFTCTRL_IN_COUNT_LSB _u(0) 1515 #define PIO_SM1_SHIFTCTRL_IN_COUNT_ACCESS "RW" 1516 // ============================================================================= 1517 // Register : PIO_SM1_ADDR 1518 // Description : Current instruction address of state machine 1 1519 #define PIO_SM1_ADDR_OFFSET _u(0x000000ec) 1520 #define PIO_SM1_ADDR_BITS _u(0x0000001f) 1521 #define PIO_SM1_ADDR_RESET _u(0x00000000) 1522 #define PIO_SM1_ADDR_MSB _u(4) 1523 #define PIO_SM1_ADDR_LSB _u(0) 1524 #define PIO_SM1_ADDR_ACCESS "RO" 1525 // ============================================================================= 1526 // Register : PIO_SM1_INSTR 1527 // Description : Read to see the instruction currently addressed by state 1528 // machine 1's program counter 1529 // Write to execute an instruction immediately (including jumps) 1530 // and then resume execution. 1531 #define PIO_SM1_INSTR_OFFSET _u(0x000000f0) 1532 #define PIO_SM1_INSTR_BITS _u(0x0000ffff) 1533 #define PIO_SM1_INSTR_RESET "-" 1534 #define PIO_SM1_INSTR_MSB _u(15) 1535 #define PIO_SM1_INSTR_LSB _u(0) 1536 #define PIO_SM1_INSTR_ACCESS "RW" 1537 // ============================================================================= 1538 // Register : PIO_SM1_PINCTRL 1539 // Description : State machine pin control 1540 #define PIO_SM1_PINCTRL_OFFSET _u(0x000000f4) 1541 #define PIO_SM1_PINCTRL_BITS _u(0xffffffff) 1542 #define PIO_SM1_PINCTRL_RESET _u(0x14000000) 1543 // ----------------------------------------------------------------------------- 1544 // Field : PIO_SM1_PINCTRL_SIDESET_COUNT 1545 // Description : The number of MSBs of the Delay/Side-set instruction field 1546 // which are used for side-set. Inclusive of the enable bit, if 1547 // present. Minimum of 0 (all delay bits, no side-set) and maximum 1548 // of 5 (all side-set, no delay). 1549 #define PIO_SM1_PINCTRL_SIDESET_COUNT_RESET _u(0x0) 1550 #define PIO_SM1_PINCTRL_SIDESET_COUNT_BITS _u(0xe0000000) 1551 #define PIO_SM1_PINCTRL_SIDESET_COUNT_MSB _u(31) 1552 #define PIO_SM1_PINCTRL_SIDESET_COUNT_LSB _u(29) 1553 #define PIO_SM1_PINCTRL_SIDESET_COUNT_ACCESS "RW" 1554 // ----------------------------------------------------------------------------- 1555 // Field : PIO_SM1_PINCTRL_SET_COUNT 1556 // Description : The number of pins asserted by a SET. In the range 0 to 5 1557 // inclusive. 1558 #define PIO_SM1_PINCTRL_SET_COUNT_RESET _u(0x5) 1559 #define PIO_SM1_PINCTRL_SET_COUNT_BITS _u(0x1c000000) 1560 #define PIO_SM1_PINCTRL_SET_COUNT_MSB _u(28) 1561 #define PIO_SM1_PINCTRL_SET_COUNT_LSB _u(26) 1562 #define PIO_SM1_PINCTRL_SET_COUNT_ACCESS "RW" 1563 // ----------------------------------------------------------------------------- 1564 // Field : PIO_SM1_PINCTRL_OUT_COUNT 1565 // Description : The number of pins asserted by an OUT PINS, OUT PINDIRS or MOV 1566 // PINS instruction. In the range 0 to 32 inclusive. 1567 #define PIO_SM1_PINCTRL_OUT_COUNT_RESET _u(0x00) 1568 #define PIO_SM1_PINCTRL_OUT_COUNT_BITS _u(0x03f00000) 1569 #define PIO_SM1_PINCTRL_OUT_COUNT_MSB _u(25) 1570 #define PIO_SM1_PINCTRL_OUT_COUNT_LSB _u(20) 1571 #define PIO_SM1_PINCTRL_OUT_COUNT_ACCESS "RW" 1572 // ----------------------------------------------------------------------------- 1573 // Field : PIO_SM1_PINCTRL_IN_BASE 1574 // Description : The pin which is mapped to the least-significant bit of a state 1575 // machine's IN data bus. Higher-numbered pins are mapped to 1576 // consecutively more-significant data bits, with a modulo of 32 1577 // applied to pin number. 1578 #define PIO_SM1_PINCTRL_IN_BASE_RESET _u(0x00) 1579 #define PIO_SM1_PINCTRL_IN_BASE_BITS _u(0x000f8000) 1580 #define PIO_SM1_PINCTRL_IN_BASE_MSB _u(19) 1581 #define PIO_SM1_PINCTRL_IN_BASE_LSB _u(15) 1582 #define PIO_SM1_PINCTRL_IN_BASE_ACCESS "RW" 1583 // ----------------------------------------------------------------------------- 1584 // Field : PIO_SM1_PINCTRL_SIDESET_BASE 1585 // Description : The lowest-numbered pin that will be affected by a side-set 1586 // operation. The MSBs of an instruction's side-set/delay field 1587 // (up to 5, determined by SIDESET_COUNT) are used for side-set 1588 // data, with the remaining LSBs used for delay. The least- 1589 // significant bit of the side-set portion is the bit written to 1590 // this pin, with more-significant bits written to higher-numbered 1591 // pins. 1592 #define PIO_SM1_PINCTRL_SIDESET_BASE_RESET _u(0x00) 1593 #define PIO_SM1_PINCTRL_SIDESET_BASE_BITS _u(0x00007c00) 1594 #define PIO_SM1_PINCTRL_SIDESET_BASE_MSB _u(14) 1595 #define PIO_SM1_PINCTRL_SIDESET_BASE_LSB _u(10) 1596 #define PIO_SM1_PINCTRL_SIDESET_BASE_ACCESS "RW" 1597 // ----------------------------------------------------------------------------- 1598 // Field : PIO_SM1_PINCTRL_SET_BASE 1599 // Description : The lowest-numbered pin that will be affected by a SET PINS or 1600 // SET PINDIRS instruction. The data written to this pin is the 1601 // least-significant bit of the SET data. 1602 #define PIO_SM1_PINCTRL_SET_BASE_RESET _u(0x00) 1603 #define PIO_SM1_PINCTRL_SET_BASE_BITS _u(0x000003e0) 1604 #define PIO_SM1_PINCTRL_SET_BASE_MSB _u(9) 1605 #define PIO_SM1_PINCTRL_SET_BASE_LSB _u(5) 1606 #define PIO_SM1_PINCTRL_SET_BASE_ACCESS "RW" 1607 // ----------------------------------------------------------------------------- 1608 // Field : PIO_SM1_PINCTRL_OUT_BASE 1609 // Description : The lowest-numbered pin that will be affected by an OUT PINS, 1610 // OUT PINDIRS or MOV PINS instruction. The data written to this 1611 // pin will always be the least-significant bit of the OUT or MOV 1612 // data. 1613 #define PIO_SM1_PINCTRL_OUT_BASE_RESET _u(0x00) 1614 #define PIO_SM1_PINCTRL_OUT_BASE_BITS _u(0x0000001f) 1615 #define PIO_SM1_PINCTRL_OUT_BASE_MSB _u(4) 1616 #define PIO_SM1_PINCTRL_OUT_BASE_LSB _u(0) 1617 #define PIO_SM1_PINCTRL_OUT_BASE_ACCESS "RW" 1618 // ============================================================================= 1619 // Register : PIO_SM2_CLKDIV 1620 // Description : Clock divisor register for state machine 2 1621 // Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256) 1622 #define PIO_SM2_CLKDIV_OFFSET _u(0x000000f8) 1623 #define PIO_SM2_CLKDIV_BITS _u(0xffffff00) 1624 #define PIO_SM2_CLKDIV_RESET _u(0x00010000) 1625 // ----------------------------------------------------------------------------- 1626 // Field : PIO_SM2_CLKDIV_INT 1627 // Description : Effective frequency is sysclk/(int + frac/256). 1628 // Value of 0 is interpreted as 65536. If INT is 0, FRAC must also 1629 // be 0. 1630 #define PIO_SM2_CLKDIV_INT_RESET _u(0x0001) 1631 #define PIO_SM2_CLKDIV_INT_BITS _u(0xffff0000) 1632 #define PIO_SM2_CLKDIV_INT_MSB _u(31) 1633 #define PIO_SM2_CLKDIV_INT_LSB _u(16) 1634 #define PIO_SM2_CLKDIV_INT_ACCESS "RW" 1635 // ----------------------------------------------------------------------------- 1636 // Field : PIO_SM2_CLKDIV_FRAC 1637 // Description : Fractional part of clock divisor 1638 #define PIO_SM2_CLKDIV_FRAC_RESET _u(0x00) 1639 #define PIO_SM2_CLKDIV_FRAC_BITS _u(0x0000ff00) 1640 #define PIO_SM2_CLKDIV_FRAC_MSB _u(15) 1641 #define PIO_SM2_CLKDIV_FRAC_LSB _u(8) 1642 #define PIO_SM2_CLKDIV_FRAC_ACCESS "RW" 1643 // ============================================================================= 1644 // Register : PIO_SM2_EXECCTRL 1645 // Description : Execution/behavioural settings for state machine 2 1646 #define PIO_SM2_EXECCTRL_OFFSET _u(0x000000fc) 1647 #define PIO_SM2_EXECCTRL_BITS _u(0xffffffff) 1648 #define PIO_SM2_EXECCTRL_RESET _u(0x0001f000) 1649 // ----------------------------------------------------------------------------- 1650 // Field : PIO_SM2_EXECCTRL_EXEC_STALLED 1651 // Description : If 1, an instruction written to SMx_INSTR is stalled, and 1652 // latched by the state machine. Will clear to 0 once this 1653 // instruction completes. 1654 #define PIO_SM2_EXECCTRL_EXEC_STALLED_RESET _u(0x0) 1655 #define PIO_SM2_EXECCTRL_EXEC_STALLED_BITS _u(0x80000000) 1656 #define PIO_SM2_EXECCTRL_EXEC_STALLED_MSB _u(31) 1657 #define PIO_SM2_EXECCTRL_EXEC_STALLED_LSB _u(31) 1658 #define PIO_SM2_EXECCTRL_EXEC_STALLED_ACCESS "RO" 1659 // ----------------------------------------------------------------------------- 1660 // Field : PIO_SM2_EXECCTRL_SIDE_EN 1661 // Description : If 1, the MSB of the Delay/Side-set instruction field is used 1662 // as side-set enable, rather than a side-set data bit. This 1663 // allows instructions to perform side-set optionally, rather than 1664 // on every instruction, but the maximum possible side-set width 1665 // is reduced from 5 to 4. Note that the value of 1666 // PINCTRL_SIDESET_COUNT is inclusive of this enable bit. 1667 #define PIO_SM2_EXECCTRL_SIDE_EN_RESET _u(0x0) 1668 #define PIO_SM2_EXECCTRL_SIDE_EN_BITS _u(0x40000000) 1669 #define PIO_SM2_EXECCTRL_SIDE_EN_MSB _u(30) 1670 #define PIO_SM2_EXECCTRL_SIDE_EN_LSB _u(30) 1671 #define PIO_SM2_EXECCTRL_SIDE_EN_ACCESS "RW" 1672 // ----------------------------------------------------------------------------- 1673 // Field : PIO_SM2_EXECCTRL_SIDE_PINDIR 1674 // Description : If 1, side-set data is asserted to pin directions, instead of 1675 // pin values 1676 #define PIO_SM2_EXECCTRL_SIDE_PINDIR_RESET _u(0x0) 1677 #define PIO_SM2_EXECCTRL_SIDE_PINDIR_BITS _u(0x20000000) 1678 #define PIO_SM2_EXECCTRL_SIDE_PINDIR_MSB _u(29) 1679 #define PIO_SM2_EXECCTRL_SIDE_PINDIR_LSB _u(29) 1680 #define PIO_SM2_EXECCTRL_SIDE_PINDIR_ACCESS "RW" 1681 // ----------------------------------------------------------------------------- 1682 // Field : PIO_SM2_EXECCTRL_JMP_PIN 1683 // Description : The GPIO number to use as condition for JMP PIN. Unaffected by 1684 // input mapping. 1685 #define PIO_SM2_EXECCTRL_JMP_PIN_RESET _u(0x00) 1686 #define PIO_SM2_EXECCTRL_JMP_PIN_BITS _u(0x1f000000) 1687 #define PIO_SM2_EXECCTRL_JMP_PIN_MSB _u(28) 1688 #define PIO_SM2_EXECCTRL_JMP_PIN_LSB _u(24) 1689 #define PIO_SM2_EXECCTRL_JMP_PIN_ACCESS "RW" 1690 // ----------------------------------------------------------------------------- 1691 // Field : PIO_SM2_EXECCTRL_OUT_EN_SEL 1692 // Description : Which data bit to use for inline OUT enable 1693 #define PIO_SM2_EXECCTRL_OUT_EN_SEL_RESET _u(0x00) 1694 #define PIO_SM2_EXECCTRL_OUT_EN_SEL_BITS _u(0x00f80000) 1695 #define PIO_SM2_EXECCTRL_OUT_EN_SEL_MSB _u(23) 1696 #define PIO_SM2_EXECCTRL_OUT_EN_SEL_LSB _u(19) 1697 #define PIO_SM2_EXECCTRL_OUT_EN_SEL_ACCESS "RW" 1698 // ----------------------------------------------------------------------------- 1699 // Field : PIO_SM2_EXECCTRL_INLINE_OUT_EN 1700 // Description : If 1, use a bit of OUT data as an auxiliary write enable 1701 // When used in conjunction with OUT_STICKY, writes with an enable 1702 // of 0 will 1703 // deassert the latest pin write. This can create useful 1704 // masking/override behaviour 1705 // due to the priority ordering of state machine pin writes (SM0 < 1706 // SM1 < ...) 1707 #define PIO_SM2_EXECCTRL_INLINE_OUT_EN_RESET _u(0x0) 1708 #define PIO_SM2_EXECCTRL_INLINE_OUT_EN_BITS _u(0x00040000) 1709 #define PIO_SM2_EXECCTRL_INLINE_OUT_EN_MSB _u(18) 1710 #define PIO_SM2_EXECCTRL_INLINE_OUT_EN_LSB _u(18) 1711 #define PIO_SM2_EXECCTRL_INLINE_OUT_EN_ACCESS "RW" 1712 // ----------------------------------------------------------------------------- 1713 // Field : PIO_SM2_EXECCTRL_OUT_STICKY 1714 // Description : Continuously assert the most recent OUT/SET to the pins 1715 #define PIO_SM2_EXECCTRL_OUT_STICKY_RESET _u(0x0) 1716 #define PIO_SM2_EXECCTRL_OUT_STICKY_BITS _u(0x00020000) 1717 #define PIO_SM2_EXECCTRL_OUT_STICKY_MSB _u(17) 1718 #define PIO_SM2_EXECCTRL_OUT_STICKY_LSB _u(17) 1719 #define PIO_SM2_EXECCTRL_OUT_STICKY_ACCESS "RW" 1720 // ----------------------------------------------------------------------------- 1721 // Field : PIO_SM2_EXECCTRL_WRAP_TOP 1722 // Description : After reaching this address, execution is wrapped to 1723 // wrap_bottom. 1724 // If the instruction is a jump, and the jump condition is true, 1725 // the jump takes priority. 1726 #define PIO_SM2_EXECCTRL_WRAP_TOP_RESET _u(0x1f) 1727 #define PIO_SM2_EXECCTRL_WRAP_TOP_BITS _u(0x0001f000) 1728 #define PIO_SM2_EXECCTRL_WRAP_TOP_MSB _u(16) 1729 #define PIO_SM2_EXECCTRL_WRAP_TOP_LSB _u(12) 1730 #define PIO_SM2_EXECCTRL_WRAP_TOP_ACCESS "RW" 1731 // ----------------------------------------------------------------------------- 1732 // Field : PIO_SM2_EXECCTRL_WRAP_BOTTOM 1733 // Description : After reaching wrap_top, execution is wrapped to this address. 1734 #define PIO_SM2_EXECCTRL_WRAP_BOTTOM_RESET _u(0x00) 1735 #define PIO_SM2_EXECCTRL_WRAP_BOTTOM_BITS _u(0x00000f80) 1736 #define PIO_SM2_EXECCTRL_WRAP_BOTTOM_MSB _u(11) 1737 #define PIO_SM2_EXECCTRL_WRAP_BOTTOM_LSB _u(7) 1738 #define PIO_SM2_EXECCTRL_WRAP_BOTTOM_ACCESS "RW" 1739 // ----------------------------------------------------------------------------- 1740 // Field : PIO_SM2_EXECCTRL_STATUS_SEL 1741 // Description : Comparison used for the MOV x, STATUS instruction. 1742 // 0x0 -> All-ones if TX FIFO level < N, otherwise all-zeroes 1743 // 0x1 -> All-ones if RX FIFO level < N, otherwise all-zeroes 1744 // 0x2 -> All-ones if the indexed IRQ flag is raised, otherwise all-zeroes 1745 #define PIO_SM2_EXECCTRL_STATUS_SEL_RESET _u(0x0) 1746 #define PIO_SM2_EXECCTRL_STATUS_SEL_BITS _u(0x00000060) 1747 #define PIO_SM2_EXECCTRL_STATUS_SEL_MSB _u(6) 1748 #define PIO_SM2_EXECCTRL_STATUS_SEL_LSB _u(5) 1749 #define PIO_SM2_EXECCTRL_STATUS_SEL_ACCESS "RW" 1750 #define PIO_SM2_EXECCTRL_STATUS_SEL_VALUE_TXLEVEL _u(0x0) 1751 #define PIO_SM2_EXECCTRL_STATUS_SEL_VALUE_RXLEVEL _u(0x1) 1752 #define PIO_SM2_EXECCTRL_STATUS_SEL_VALUE_IRQ _u(0x2) 1753 // ----------------------------------------------------------------------------- 1754 // Field : PIO_SM2_EXECCTRL_STATUS_N 1755 // Description : Comparison level or IRQ index for the MOV x, STATUS 1756 // instruction. 1757 // 1758 // If STATUS_SEL is TXLEVEL or RXLEVEL, then values of STATUS_N 1759 // greater than the current FIFO depth are reserved, and have 1760 // undefined behaviour. 1761 // 0x00 -> Index 0-7 of an IRQ flag in this PIO block 1762 // 0x08 -> Index 0-7 of an IRQ flag in the next lower-numbered PIO block 1763 // 0x10 -> Index 0-7 of an IRQ flag in the next higher-numbered PIO block 1764 #define PIO_SM2_EXECCTRL_STATUS_N_RESET _u(0x00) 1765 #define PIO_SM2_EXECCTRL_STATUS_N_BITS _u(0x0000001f) 1766 #define PIO_SM2_EXECCTRL_STATUS_N_MSB _u(4) 1767 #define PIO_SM2_EXECCTRL_STATUS_N_LSB _u(0) 1768 #define PIO_SM2_EXECCTRL_STATUS_N_ACCESS "RW" 1769 #define PIO_SM2_EXECCTRL_STATUS_N_VALUE_IRQ _u(0x00) 1770 #define PIO_SM2_EXECCTRL_STATUS_N_VALUE_IRQ_PREVPIO _u(0x08) 1771 #define PIO_SM2_EXECCTRL_STATUS_N_VALUE_IRQ_NEXTPIO _u(0x10) 1772 // ============================================================================= 1773 // Register : PIO_SM2_SHIFTCTRL 1774 // Description : Control behaviour of the input/output shift registers for state 1775 // machine 2 1776 #define PIO_SM2_SHIFTCTRL_OFFSET _u(0x00000100) 1777 #define PIO_SM2_SHIFTCTRL_BITS _u(0xffffc01f) 1778 #define PIO_SM2_SHIFTCTRL_RESET _u(0x000c0000) 1779 // ----------------------------------------------------------------------------- 1780 // Field : PIO_SM2_SHIFTCTRL_FJOIN_RX 1781 // Description : When 1, RX FIFO steals the TX FIFO's storage, and becomes twice 1782 // as deep. 1783 // TX FIFO is disabled as a result (always reads as both full and 1784 // empty). 1785 // FIFOs are flushed when this bit is changed. 1786 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_RESET _u(0x0) 1787 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_BITS _u(0x80000000) 1788 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_MSB _u(31) 1789 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_LSB _u(31) 1790 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_ACCESS "RW" 1791 // ----------------------------------------------------------------------------- 1792 // Field : PIO_SM2_SHIFTCTRL_FJOIN_TX 1793 // Description : When 1, TX FIFO steals the RX FIFO's storage, and becomes twice 1794 // as deep. 1795 // RX FIFO is disabled as a result (always reads as both full and 1796 // empty). 1797 // FIFOs are flushed when this bit is changed. 1798 #define PIO_SM2_SHIFTCTRL_FJOIN_TX_RESET _u(0x0) 1799 #define PIO_SM2_SHIFTCTRL_FJOIN_TX_BITS _u(0x40000000) 1800 #define PIO_SM2_SHIFTCTRL_FJOIN_TX_MSB _u(30) 1801 #define PIO_SM2_SHIFTCTRL_FJOIN_TX_LSB _u(30) 1802 #define PIO_SM2_SHIFTCTRL_FJOIN_TX_ACCESS "RW" 1803 // ----------------------------------------------------------------------------- 1804 // Field : PIO_SM2_SHIFTCTRL_PULL_THRESH 1805 // Description : Number of bits shifted out of OSR before autopull, or 1806 // conditional pull (PULL IFEMPTY), will take place. 1807 // Write 0 for value of 32. 1808 #define PIO_SM2_SHIFTCTRL_PULL_THRESH_RESET _u(0x00) 1809 #define PIO_SM2_SHIFTCTRL_PULL_THRESH_BITS _u(0x3e000000) 1810 #define PIO_SM2_SHIFTCTRL_PULL_THRESH_MSB _u(29) 1811 #define PIO_SM2_SHIFTCTRL_PULL_THRESH_LSB _u(25) 1812 #define PIO_SM2_SHIFTCTRL_PULL_THRESH_ACCESS "RW" 1813 // ----------------------------------------------------------------------------- 1814 // Field : PIO_SM2_SHIFTCTRL_PUSH_THRESH 1815 // Description : Number of bits shifted into ISR before autopush, or conditional 1816 // push (PUSH IFFULL), will take place. 1817 // Write 0 for value of 32. 1818 #define PIO_SM2_SHIFTCTRL_PUSH_THRESH_RESET _u(0x00) 1819 #define PIO_SM2_SHIFTCTRL_PUSH_THRESH_BITS _u(0x01f00000) 1820 #define PIO_SM2_SHIFTCTRL_PUSH_THRESH_MSB _u(24) 1821 #define PIO_SM2_SHIFTCTRL_PUSH_THRESH_LSB _u(20) 1822 #define PIO_SM2_SHIFTCTRL_PUSH_THRESH_ACCESS "RW" 1823 // ----------------------------------------------------------------------------- 1824 // Field : PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR 1825 // Description : 1 = shift out of output shift register to right. 0 = to left. 1826 #define PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_RESET _u(0x1) 1827 #define PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_BITS _u(0x00080000) 1828 #define PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_MSB _u(19) 1829 #define PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_LSB _u(19) 1830 #define PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_ACCESS "RW" 1831 // ----------------------------------------------------------------------------- 1832 // Field : PIO_SM2_SHIFTCTRL_IN_SHIFTDIR 1833 // Description : 1 = shift input shift register to right (data enters from 1834 // left). 0 = to left. 1835 #define PIO_SM2_SHIFTCTRL_IN_SHIFTDIR_RESET _u(0x1) 1836 #define PIO_SM2_SHIFTCTRL_IN_SHIFTDIR_BITS _u(0x00040000) 1837 #define PIO_SM2_SHIFTCTRL_IN_SHIFTDIR_MSB _u(18) 1838 #define PIO_SM2_SHIFTCTRL_IN_SHIFTDIR_LSB _u(18) 1839 #define PIO_SM2_SHIFTCTRL_IN_SHIFTDIR_ACCESS "RW" 1840 // ----------------------------------------------------------------------------- 1841 // Field : PIO_SM2_SHIFTCTRL_AUTOPULL 1842 // Description : Pull automatically when the output shift register is emptied, 1843 // i.e. on or following an OUT instruction which causes the output 1844 // shift counter to reach or exceed PULL_THRESH. 1845 #define PIO_SM2_SHIFTCTRL_AUTOPULL_RESET _u(0x0) 1846 #define PIO_SM2_SHIFTCTRL_AUTOPULL_BITS _u(0x00020000) 1847 #define PIO_SM2_SHIFTCTRL_AUTOPULL_MSB _u(17) 1848 #define PIO_SM2_SHIFTCTRL_AUTOPULL_LSB _u(17) 1849 #define PIO_SM2_SHIFTCTRL_AUTOPULL_ACCESS "RW" 1850 // ----------------------------------------------------------------------------- 1851 // Field : PIO_SM2_SHIFTCTRL_AUTOPUSH 1852 // Description : Push automatically when the input shift register is filled, 1853 // i.e. on an IN instruction which causes the input shift counter 1854 // to reach or exceed PUSH_THRESH. 1855 #define PIO_SM2_SHIFTCTRL_AUTOPUSH_RESET _u(0x0) 1856 #define PIO_SM2_SHIFTCTRL_AUTOPUSH_BITS _u(0x00010000) 1857 #define PIO_SM2_SHIFTCTRL_AUTOPUSH_MSB _u(16) 1858 #define PIO_SM2_SHIFTCTRL_AUTOPUSH_LSB _u(16) 1859 #define PIO_SM2_SHIFTCTRL_AUTOPUSH_ACCESS "RW" 1860 // ----------------------------------------------------------------------------- 1861 // Field : PIO_SM2_SHIFTCTRL_FJOIN_RX_PUT 1862 // Description : If 1, disable this state machine's RX FIFO, make its storage 1863 // available for random write access by the state machine (using 1864 // the `put` instruction) and, unless FJOIN_RX_GET is also set, 1865 // random read access by the processor (through the RXFx_PUTGETy 1866 // registers). 1867 // 1868 // If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX 1869 // FIFO's registers can be randomly read/written by the state 1870 // machine, but are completely inaccessible to the processor. 1871 // 1872 // Setting this bit will clear the FJOIN_TX and FJOIN_RX bits. 1873 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_PUT_RESET _u(0x0) 1874 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_PUT_BITS _u(0x00008000) 1875 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_PUT_MSB _u(15) 1876 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_PUT_LSB _u(15) 1877 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_PUT_ACCESS "RW" 1878 // ----------------------------------------------------------------------------- 1879 // Field : PIO_SM2_SHIFTCTRL_FJOIN_RX_GET 1880 // Description : If 1, disable this state machine's RX FIFO, make its storage 1881 // available for random read access by the state machine (using 1882 // the `get` instruction) and, unless FJOIN_RX_PUT is also set, 1883 // random write access by the processor (through the RXFx_PUTGETy 1884 // registers). 1885 // 1886 // If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX 1887 // FIFO's registers can be randomly read/written by the state 1888 // machine, but are completely inaccessible to the processor. 1889 // 1890 // Setting this bit will clear the FJOIN_TX and FJOIN_RX bits. 1891 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_GET_RESET _u(0x0) 1892 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_GET_BITS _u(0x00004000) 1893 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_GET_MSB _u(14) 1894 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_GET_LSB _u(14) 1895 #define PIO_SM2_SHIFTCTRL_FJOIN_RX_GET_ACCESS "RW" 1896 // ----------------------------------------------------------------------------- 1897 // Field : PIO_SM2_SHIFTCTRL_IN_COUNT 1898 // Description : Set the number of pins which are not masked to 0 when read by 1899 // an IN PINS, WAIT PIN or MOV x, PINS instruction. 1900 // 1901 // For example, an IN_COUNT of 5 means that the 5 LSBs of the IN 1902 // pin group are visible (bits 4:0), but the remaining 27 MSBs are 1903 // masked to 0. A count of 32 is encoded with a field value of 0, 1904 // so the default behaviour is to not perform any masking. 1905 // 1906 // Note this masking is applied in addition to the masking usually 1907 // performed by the IN instruction. This is mainly useful for the 1908 // MOV x, PINS instruction, which otherwise has no way of masking 1909 // pins. 1910 #define PIO_SM2_SHIFTCTRL_IN_COUNT_RESET _u(0x00) 1911 #define PIO_SM2_SHIFTCTRL_IN_COUNT_BITS _u(0x0000001f) 1912 #define PIO_SM2_SHIFTCTRL_IN_COUNT_MSB _u(4) 1913 #define PIO_SM2_SHIFTCTRL_IN_COUNT_LSB _u(0) 1914 #define PIO_SM2_SHIFTCTRL_IN_COUNT_ACCESS "RW" 1915 // ============================================================================= 1916 // Register : PIO_SM2_ADDR 1917 // Description : Current instruction address of state machine 2 1918 #define PIO_SM2_ADDR_OFFSET _u(0x00000104) 1919 #define PIO_SM2_ADDR_BITS _u(0x0000001f) 1920 #define PIO_SM2_ADDR_RESET _u(0x00000000) 1921 #define PIO_SM2_ADDR_MSB _u(4) 1922 #define PIO_SM2_ADDR_LSB _u(0) 1923 #define PIO_SM2_ADDR_ACCESS "RO" 1924 // ============================================================================= 1925 // Register : PIO_SM2_INSTR 1926 // Description : Read to see the instruction currently addressed by state 1927 // machine 2's program counter 1928 // Write to execute an instruction immediately (including jumps) 1929 // and then resume execution. 1930 #define PIO_SM2_INSTR_OFFSET _u(0x00000108) 1931 #define PIO_SM2_INSTR_BITS _u(0x0000ffff) 1932 #define PIO_SM2_INSTR_RESET "-" 1933 #define PIO_SM2_INSTR_MSB _u(15) 1934 #define PIO_SM2_INSTR_LSB _u(0) 1935 #define PIO_SM2_INSTR_ACCESS "RW" 1936 // ============================================================================= 1937 // Register : PIO_SM2_PINCTRL 1938 // Description : State machine pin control 1939 #define PIO_SM2_PINCTRL_OFFSET _u(0x0000010c) 1940 #define PIO_SM2_PINCTRL_BITS _u(0xffffffff) 1941 #define PIO_SM2_PINCTRL_RESET _u(0x14000000) 1942 // ----------------------------------------------------------------------------- 1943 // Field : PIO_SM2_PINCTRL_SIDESET_COUNT 1944 // Description : The number of MSBs of the Delay/Side-set instruction field 1945 // which are used for side-set. Inclusive of the enable bit, if 1946 // present. Minimum of 0 (all delay bits, no side-set) and maximum 1947 // of 5 (all side-set, no delay). 1948 #define PIO_SM2_PINCTRL_SIDESET_COUNT_RESET _u(0x0) 1949 #define PIO_SM2_PINCTRL_SIDESET_COUNT_BITS _u(0xe0000000) 1950 #define PIO_SM2_PINCTRL_SIDESET_COUNT_MSB _u(31) 1951 #define PIO_SM2_PINCTRL_SIDESET_COUNT_LSB _u(29) 1952 #define PIO_SM2_PINCTRL_SIDESET_COUNT_ACCESS "RW" 1953 // ----------------------------------------------------------------------------- 1954 // Field : PIO_SM2_PINCTRL_SET_COUNT 1955 // Description : The number of pins asserted by a SET. In the range 0 to 5 1956 // inclusive. 1957 #define PIO_SM2_PINCTRL_SET_COUNT_RESET _u(0x5) 1958 #define PIO_SM2_PINCTRL_SET_COUNT_BITS _u(0x1c000000) 1959 #define PIO_SM2_PINCTRL_SET_COUNT_MSB _u(28) 1960 #define PIO_SM2_PINCTRL_SET_COUNT_LSB _u(26) 1961 #define PIO_SM2_PINCTRL_SET_COUNT_ACCESS "RW" 1962 // ----------------------------------------------------------------------------- 1963 // Field : PIO_SM2_PINCTRL_OUT_COUNT 1964 // Description : The number of pins asserted by an OUT PINS, OUT PINDIRS or MOV 1965 // PINS instruction. In the range 0 to 32 inclusive. 1966 #define PIO_SM2_PINCTRL_OUT_COUNT_RESET _u(0x00) 1967 #define PIO_SM2_PINCTRL_OUT_COUNT_BITS _u(0x03f00000) 1968 #define PIO_SM2_PINCTRL_OUT_COUNT_MSB _u(25) 1969 #define PIO_SM2_PINCTRL_OUT_COUNT_LSB _u(20) 1970 #define PIO_SM2_PINCTRL_OUT_COUNT_ACCESS "RW" 1971 // ----------------------------------------------------------------------------- 1972 // Field : PIO_SM2_PINCTRL_IN_BASE 1973 // Description : The pin which is mapped to the least-significant bit of a state 1974 // machine's IN data bus. Higher-numbered pins are mapped to 1975 // consecutively more-significant data bits, with a modulo of 32 1976 // applied to pin number. 1977 #define PIO_SM2_PINCTRL_IN_BASE_RESET _u(0x00) 1978 #define PIO_SM2_PINCTRL_IN_BASE_BITS _u(0x000f8000) 1979 #define PIO_SM2_PINCTRL_IN_BASE_MSB _u(19) 1980 #define PIO_SM2_PINCTRL_IN_BASE_LSB _u(15) 1981 #define PIO_SM2_PINCTRL_IN_BASE_ACCESS "RW" 1982 // ----------------------------------------------------------------------------- 1983 // Field : PIO_SM2_PINCTRL_SIDESET_BASE 1984 // Description : The lowest-numbered pin that will be affected by a side-set 1985 // operation. The MSBs of an instruction's side-set/delay field 1986 // (up to 5, determined by SIDESET_COUNT) are used for side-set 1987 // data, with the remaining LSBs used for delay. The least- 1988 // significant bit of the side-set portion is the bit written to 1989 // this pin, with more-significant bits written to higher-numbered 1990 // pins. 1991 #define PIO_SM2_PINCTRL_SIDESET_BASE_RESET _u(0x00) 1992 #define PIO_SM2_PINCTRL_SIDESET_BASE_BITS _u(0x00007c00) 1993 #define PIO_SM2_PINCTRL_SIDESET_BASE_MSB _u(14) 1994 #define PIO_SM2_PINCTRL_SIDESET_BASE_LSB _u(10) 1995 #define PIO_SM2_PINCTRL_SIDESET_BASE_ACCESS "RW" 1996 // ----------------------------------------------------------------------------- 1997 // Field : PIO_SM2_PINCTRL_SET_BASE 1998 // Description : The lowest-numbered pin that will be affected by a SET PINS or 1999 // SET PINDIRS instruction. The data written to this pin is the 2000 // least-significant bit of the SET data. 2001 #define PIO_SM2_PINCTRL_SET_BASE_RESET _u(0x00) 2002 #define PIO_SM2_PINCTRL_SET_BASE_BITS _u(0x000003e0) 2003 #define PIO_SM2_PINCTRL_SET_BASE_MSB _u(9) 2004 #define PIO_SM2_PINCTRL_SET_BASE_LSB _u(5) 2005 #define PIO_SM2_PINCTRL_SET_BASE_ACCESS "RW" 2006 // ----------------------------------------------------------------------------- 2007 // Field : PIO_SM2_PINCTRL_OUT_BASE 2008 // Description : The lowest-numbered pin that will be affected by an OUT PINS, 2009 // OUT PINDIRS or MOV PINS instruction. The data written to this 2010 // pin will always be the least-significant bit of the OUT or MOV 2011 // data. 2012 #define PIO_SM2_PINCTRL_OUT_BASE_RESET _u(0x00) 2013 #define PIO_SM2_PINCTRL_OUT_BASE_BITS _u(0x0000001f) 2014 #define PIO_SM2_PINCTRL_OUT_BASE_MSB _u(4) 2015 #define PIO_SM2_PINCTRL_OUT_BASE_LSB _u(0) 2016 #define PIO_SM2_PINCTRL_OUT_BASE_ACCESS "RW" 2017 // ============================================================================= 2018 // Register : PIO_SM3_CLKDIV 2019 // Description : Clock divisor register for state machine 3 2020 // Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256) 2021 #define PIO_SM3_CLKDIV_OFFSET _u(0x00000110) 2022 #define PIO_SM3_CLKDIV_BITS _u(0xffffff00) 2023 #define PIO_SM3_CLKDIV_RESET _u(0x00010000) 2024 // ----------------------------------------------------------------------------- 2025 // Field : PIO_SM3_CLKDIV_INT 2026 // Description : Effective frequency is sysclk/(int + frac/256). 2027 // Value of 0 is interpreted as 65536. If INT is 0, FRAC must also 2028 // be 0. 2029 #define PIO_SM3_CLKDIV_INT_RESET _u(0x0001) 2030 #define PIO_SM3_CLKDIV_INT_BITS _u(0xffff0000) 2031 #define PIO_SM3_CLKDIV_INT_MSB _u(31) 2032 #define PIO_SM3_CLKDIV_INT_LSB _u(16) 2033 #define PIO_SM3_CLKDIV_INT_ACCESS "RW" 2034 // ----------------------------------------------------------------------------- 2035 // Field : PIO_SM3_CLKDIV_FRAC 2036 // Description : Fractional part of clock divisor 2037 #define PIO_SM3_CLKDIV_FRAC_RESET _u(0x00) 2038 #define PIO_SM3_CLKDIV_FRAC_BITS _u(0x0000ff00) 2039 #define PIO_SM3_CLKDIV_FRAC_MSB _u(15) 2040 #define PIO_SM3_CLKDIV_FRAC_LSB _u(8) 2041 #define PIO_SM3_CLKDIV_FRAC_ACCESS "RW" 2042 // ============================================================================= 2043 // Register : PIO_SM3_EXECCTRL 2044 // Description : Execution/behavioural settings for state machine 3 2045 #define PIO_SM3_EXECCTRL_OFFSET _u(0x00000114) 2046 #define PIO_SM3_EXECCTRL_BITS _u(0xffffffff) 2047 #define PIO_SM3_EXECCTRL_RESET _u(0x0001f000) 2048 // ----------------------------------------------------------------------------- 2049 // Field : PIO_SM3_EXECCTRL_EXEC_STALLED 2050 // Description : If 1, an instruction written to SMx_INSTR is stalled, and 2051 // latched by the state machine. Will clear to 0 once this 2052 // instruction completes. 2053 #define PIO_SM3_EXECCTRL_EXEC_STALLED_RESET _u(0x0) 2054 #define PIO_SM3_EXECCTRL_EXEC_STALLED_BITS _u(0x80000000) 2055 #define PIO_SM3_EXECCTRL_EXEC_STALLED_MSB _u(31) 2056 #define PIO_SM3_EXECCTRL_EXEC_STALLED_LSB _u(31) 2057 #define PIO_SM3_EXECCTRL_EXEC_STALLED_ACCESS "RO" 2058 // ----------------------------------------------------------------------------- 2059 // Field : PIO_SM3_EXECCTRL_SIDE_EN 2060 // Description : If 1, the MSB of the Delay/Side-set instruction field is used 2061 // as side-set enable, rather than a side-set data bit. This 2062 // allows instructions to perform side-set optionally, rather than 2063 // on every instruction, but the maximum possible side-set width 2064 // is reduced from 5 to 4. Note that the value of 2065 // PINCTRL_SIDESET_COUNT is inclusive of this enable bit. 2066 #define PIO_SM3_EXECCTRL_SIDE_EN_RESET _u(0x0) 2067 #define PIO_SM3_EXECCTRL_SIDE_EN_BITS _u(0x40000000) 2068 #define PIO_SM3_EXECCTRL_SIDE_EN_MSB _u(30) 2069 #define PIO_SM3_EXECCTRL_SIDE_EN_LSB _u(30) 2070 #define PIO_SM3_EXECCTRL_SIDE_EN_ACCESS "RW" 2071 // ----------------------------------------------------------------------------- 2072 // Field : PIO_SM3_EXECCTRL_SIDE_PINDIR 2073 // Description : If 1, side-set data is asserted to pin directions, instead of 2074 // pin values 2075 #define PIO_SM3_EXECCTRL_SIDE_PINDIR_RESET _u(0x0) 2076 #define PIO_SM3_EXECCTRL_SIDE_PINDIR_BITS _u(0x20000000) 2077 #define PIO_SM3_EXECCTRL_SIDE_PINDIR_MSB _u(29) 2078 #define PIO_SM3_EXECCTRL_SIDE_PINDIR_LSB _u(29) 2079 #define PIO_SM3_EXECCTRL_SIDE_PINDIR_ACCESS "RW" 2080 // ----------------------------------------------------------------------------- 2081 // Field : PIO_SM3_EXECCTRL_JMP_PIN 2082 // Description : The GPIO number to use as condition for JMP PIN. Unaffected by 2083 // input mapping. 2084 #define PIO_SM3_EXECCTRL_JMP_PIN_RESET _u(0x00) 2085 #define PIO_SM3_EXECCTRL_JMP_PIN_BITS _u(0x1f000000) 2086 #define PIO_SM3_EXECCTRL_JMP_PIN_MSB _u(28) 2087 #define PIO_SM3_EXECCTRL_JMP_PIN_LSB _u(24) 2088 #define PIO_SM3_EXECCTRL_JMP_PIN_ACCESS "RW" 2089 // ----------------------------------------------------------------------------- 2090 // Field : PIO_SM3_EXECCTRL_OUT_EN_SEL 2091 // Description : Which data bit to use for inline OUT enable 2092 #define PIO_SM3_EXECCTRL_OUT_EN_SEL_RESET _u(0x00) 2093 #define PIO_SM3_EXECCTRL_OUT_EN_SEL_BITS _u(0x00f80000) 2094 #define PIO_SM3_EXECCTRL_OUT_EN_SEL_MSB _u(23) 2095 #define PIO_SM3_EXECCTRL_OUT_EN_SEL_LSB _u(19) 2096 #define PIO_SM3_EXECCTRL_OUT_EN_SEL_ACCESS "RW" 2097 // ----------------------------------------------------------------------------- 2098 // Field : PIO_SM3_EXECCTRL_INLINE_OUT_EN 2099 // Description : If 1, use a bit of OUT data as an auxiliary write enable 2100 // When used in conjunction with OUT_STICKY, writes with an enable 2101 // of 0 will 2102 // deassert the latest pin write. This can create useful 2103 // masking/override behaviour 2104 // due to the priority ordering of state machine pin writes (SM0 < 2105 // SM1 < ...) 2106 #define PIO_SM3_EXECCTRL_INLINE_OUT_EN_RESET _u(0x0) 2107 #define PIO_SM3_EXECCTRL_INLINE_OUT_EN_BITS _u(0x00040000) 2108 #define PIO_SM3_EXECCTRL_INLINE_OUT_EN_MSB _u(18) 2109 #define PIO_SM3_EXECCTRL_INLINE_OUT_EN_LSB _u(18) 2110 #define PIO_SM3_EXECCTRL_INLINE_OUT_EN_ACCESS "RW" 2111 // ----------------------------------------------------------------------------- 2112 // Field : PIO_SM3_EXECCTRL_OUT_STICKY 2113 // Description : Continuously assert the most recent OUT/SET to the pins 2114 #define PIO_SM3_EXECCTRL_OUT_STICKY_RESET _u(0x0) 2115 #define PIO_SM3_EXECCTRL_OUT_STICKY_BITS _u(0x00020000) 2116 #define PIO_SM3_EXECCTRL_OUT_STICKY_MSB _u(17) 2117 #define PIO_SM3_EXECCTRL_OUT_STICKY_LSB _u(17) 2118 #define PIO_SM3_EXECCTRL_OUT_STICKY_ACCESS "RW" 2119 // ----------------------------------------------------------------------------- 2120 // Field : PIO_SM3_EXECCTRL_WRAP_TOP 2121 // Description : After reaching this address, execution is wrapped to 2122 // wrap_bottom. 2123 // If the instruction is a jump, and the jump condition is true, 2124 // the jump takes priority. 2125 #define PIO_SM3_EXECCTRL_WRAP_TOP_RESET _u(0x1f) 2126 #define PIO_SM3_EXECCTRL_WRAP_TOP_BITS _u(0x0001f000) 2127 #define PIO_SM3_EXECCTRL_WRAP_TOP_MSB _u(16) 2128 #define PIO_SM3_EXECCTRL_WRAP_TOP_LSB _u(12) 2129 #define PIO_SM3_EXECCTRL_WRAP_TOP_ACCESS "RW" 2130 // ----------------------------------------------------------------------------- 2131 // Field : PIO_SM3_EXECCTRL_WRAP_BOTTOM 2132 // Description : After reaching wrap_top, execution is wrapped to this address. 2133 #define PIO_SM3_EXECCTRL_WRAP_BOTTOM_RESET _u(0x00) 2134 #define PIO_SM3_EXECCTRL_WRAP_BOTTOM_BITS _u(0x00000f80) 2135 #define PIO_SM3_EXECCTRL_WRAP_BOTTOM_MSB _u(11) 2136 #define PIO_SM3_EXECCTRL_WRAP_BOTTOM_LSB _u(7) 2137 #define PIO_SM3_EXECCTRL_WRAP_BOTTOM_ACCESS "RW" 2138 // ----------------------------------------------------------------------------- 2139 // Field : PIO_SM3_EXECCTRL_STATUS_SEL 2140 // Description : Comparison used for the MOV x, STATUS instruction. 2141 // 0x0 -> All-ones if TX FIFO level < N, otherwise all-zeroes 2142 // 0x1 -> All-ones if RX FIFO level < N, otherwise all-zeroes 2143 // 0x2 -> All-ones if the indexed IRQ flag is raised, otherwise all-zeroes 2144 #define PIO_SM3_EXECCTRL_STATUS_SEL_RESET _u(0x0) 2145 #define PIO_SM3_EXECCTRL_STATUS_SEL_BITS _u(0x00000060) 2146 #define PIO_SM3_EXECCTRL_STATUS_SEL_MSB _u(6) 2147 #define PIO_SM3_EXECCTRL_STATUS_SEL_LSB _u(5) 2148 #define PIO_SM3_EXECCTRL_STATUS_SEL_ACCESS "RW" 2149 #define PIO_SM3_EXECCTRL_STATUS_SEL_VALUE_TXLEVEL _u(0x0) 2150 #define PIO_SM3_EXECCTRL_STATUS_SEL_VALUE_RXLEVEL _u(0x1) 2151 #define PIO_SM3_EXECCTRL_STATUS_SEL_VALUE_IRQ _u(0x2) 2152 // ----------------------------------------------------------------------------- 2153 // Field : PIO_SM3_EXECCTRL_STATUS_N 2154 // Description : Comparison level or IRQ index for the MOV x, STATUS 2155 // instruction. 2156 // 2157 // If STATUS_SEL is TXLEVEL or RXLEVEL, then values of STATUS_N 2158 // greater than the current FIFO depth are reserved, and have 2159 // undefined behaviour. 2160 // 0x00 -> Index 0-7 of an IRQ flag in this PIO block 2161 // 0x08 -> Index 0-7 of an IRQ flag in the next lower-numbered PIO block 2162 // 0x10 -> Index 0-7 of an IRQ flag in the next higher-numbered PIO block 2163 #define PIO_SM3_EXECCTRL_STATUS_N_RESET _u(0x00) 2164 #define PIO_SM3_EXECCTRL_STATUS_N_BITS _u(0x0000001f) 2165 #define PIO_SM3_EXECCTRL_STATUS_N_MSB _u(4) 2166 #define PIO_SM3_EXECCTRL_STATUS_N_LSB _u(0) 2167 #define PIO_SM3_EXECCTRL_STATUS_N_ACCESS "RW" 2168 #define PIO_SM3_EXECCTRL_STATUS_N_VALUE_IRQ _u(0x00) 2169 #define PIO_SM3_EXECCTRL_STATUS_N_VALUE_IRQ_PREVPIO _u(0x08) 2170 #define PIO_SM3_EXECCTRL_STATUS_N_VALUE_IRQ_NEXTPIO _u(0x10) 2171 // ============================================================================= 2172 // Register : PIO_SM3_SHIFTCTRL 2173 // Description : Control behaviour of the input/output shift registers for state 2174 // machine 3 2175 #define PIO_SM3_SHIFTCTRL_OFFSET _u(0x00000118) 2176 #define PIO_SM3_SHIFTCTRL_BITS _u(0xffffc01f) 2177 #define PIO_SM3_SHIFTCTRL_RESET _u(0x000c0000) 2178 // ----------------------------------------------------------------------------- 2179 // Field : PIO_SM3_SHIFTCTRL_FJOIN_RX 2180 // Description : When 1, RX FIFO steals the TX FIFO's storage, and becomes twice 2181 // as deep. 2182 // TX FIFO is disabled as a result (always reads as both full and 2183 // empty). 2184 // FIFOs are flushed when this bit is changed. 2185 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_RESET _u(0x0) 2186 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_BITS _u(0x80000000) 2187 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_MSB _u(31) 2188 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_LSB _u(31) 2189 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_ACCESS "RW" 2190 // ----------------------------------------------------------------------------- 2191 // Field : PIO_SM3_SHIFTCTRL_FJOIN_TX 2192 // Description : When 1, TX FIFO steals the RX FIFO's storage, and becomes twice 2193 // as deep. 2194 // RX FIFO is disabled as a result (always reads as both full and 2195 // empty). 2196 // FIFOs are flushed when this bit is changed. 2197 #define PIO_SM3_SHIFTCTRL_FJOIN_TX_RESET _u(0x0) 2198 #define PIO_SM3_SHIFTCTRL_FJOIN_TX_BITS _u(0x40000000) 2199 #define PIO_SM3_SHIFTCTRL_FJOIN_TX_MSB _u(30) 2200 #define PIO_SM3_SHIFTCTRL_FJOIN_TX_LSB _u(30) 2201 #define PIO_SM3_SHIFTCTRL_FJOIN_TX_ACCESS "RW" 2202 // ----------------------------------------------------------------------------- 2203 // Field : PIO_SM3_SHIFTCTRL_PULL_THRESH 2204 // Description : Number of bits shifted out of OSR before autopull, or 2205 // conditional pull (PULL IFEMPTY), will take place. 2206 // Write 0 for value of 32. 2207 #define PIO_SM3_SHIFTCTRL_PULL_THRESH_RESET _u(0x00) 2208 #define PIO_SM3_SHIFTCTRL_PULL_THRESH_BITS _u(0x3e000000) 2209 #define PIO_SM3_SHIFTCTRL_PULL_THRESH_MSB _u(29) 2210 #define PIO_SM3_SHIFTCTRL_PULL_THRESH_LSB _u(25) 2211 #define PIO_SM3_SHIFTCTRL_PULL_THRESH_ACCESS "RW" 2212 // ----------------------------------------------------------------------------- 2213 // Field : PIO_SM3_SHIFTCTRL_PUSH_THRESH 2214 // Description : Number of bits shifted into ISR before autopush, or conditional 2215 // push (PUSH IFFULL), will take place. 2216 // Write 0 for value of 32. 2217 #define PIO_SM3_SHIFTCTRL_PUSH_THRESH_RESET _u(0x00) 2218 #define PIO_SM3_SHIFTCTRL_PUSH_THRESH_BITS _u(0x01f00000) 2219 #define PIO_SM3_SHIFTCTRL_PUSH_THRESH_MSB _u(24) 2220 #define PIO_SM3_SHIFTCTRL_PUSH_THRESH_LSB _u(20) 2221 #define PIO_SM3_SHIFTCTRL_PUSH_THRESH_ACCESS "RW" 2222 // ----------------------------------------------------------------------------- 2223 // Field : PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR 2224 // Description : 1 = shift out of output shift register to right. 0 = to left. 2225 #define PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_RESET _u(0x1) 2226 #define PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_BITS _u(0x00080000) 2227 #define PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_MSB _u(19) 2228 #define PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_LSB _u(19) 2229 #define PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_ACCESS "RW" 2230 // ----------------------------------------------------------------------------- 2231 // Field : PIO_SM3_SHIFTCTRL_IN_SHIFTDIR 2232 // Description : 1 = shift input shift register to right (data enters from 2233 // left). 0 = to left. 2234 #define PIO_SM3_SHIFTCTRL_IN_SHIFTDIR_RESET _u(0x1) 2235 #define PIO_SM3_SHIFTCTRL_IN_SHIFTDIR_BITS _u(0x00040000) 2236 #define PIO_SM3_SHIFTCTRL_IN_SHIFTDIR_MSB _u(18) 2237 #define PIO_SM3_SHIFTCTRL_IN_SHIFTDIR_LSB _u(18) 2238 #define PIO_SM3_SHIFTCTRL_IN_SHIFTDIR_ACCESS "RW" 2239 // ----------------------------------------------------------------------------- 2240 // Field : PIO_SM3_SHIFTCTRL_AUTOPULL 2241 // Description : Pull automatically when the output shift register is emptied, 2242 // i.e. on or following an OUT instruction which causes the output 2243 // shift counter to reach or exceed PULL_THRESH. 2244 #define PIO_SM3_SHIFTCTRL_AUTOPULL_RESET _u(0x0) 2245 #define PIO_SM3_SHIFTCTRL_AUTOPULL_BITS _u(0x00020000) 2246 #define PIO_SM3_SHIFTCTRL_AUTOPULL_MSB _u(17) 2247 #define PIO_SM3_SHIFTCTRL_AUTOPULL_LSB _u(17) 2248 #define PIO_SM3_SHIFTCTRL_AUTOPULL_ACCESS "RW" 2249 // ----------------------------------------------------------------------------- 2250 // Field : PIO_SM3_SHIFTCTRL_AUTOPUSH 2251 // Description : Push automatically when the input shift register is filled, 2252 // i.e. on an IN instruction which causes the input shift counter 2253 // to reach or exceed PUSH_THRESH. 2254 #define PIO_SM3_SHIFTCTRL_AUTOPUSH_RESET _u(0x0) 2255 #define PIO_SM3_SHIFTCTRL_AUTOPUSH_BITS _u(0x00010000) 2256 #define PIO_SM3_SHIFTCTRL_AUTOPUSH_MSB _u(16) 2257 #define PIO_SM3_SHIFTCTRL_AUTOPUSH_LSB _u(16) 2258 #define PIO_SM3_SHIFTCTRL_AUTOPUSH_ACCESS "RW" 2259 // ----------------------------------------------------------------------------- 2260 // Field : PIO_SM3_SHIFTCTRL_FJOIN_RX_PUT 2261 // Description : If 1, disable this state machine's RX FIFO, make its storage 2262 // available for random write access by the state machine (using 2263 // the `put` instruction) and, unless FJOIN_RX_GET is also set, 2264 // random read access by the processor (through the RXFx_PUTGETy 2265 // registers). 2266 // 2267 // If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX 2268 // FIFO's registers can be randomly read/written by the state 2269 // machine, but are completely inaccessible to the processor. 2270 // 2271 // Setting this bit will clear the FJOIN_TX and FJOIN_RX bits. 2272 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_PUT_RESET _u(0x0) 2273 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_PUT_BITS _u(0x00008000) 2274 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_PUT_MSB _u(15) 2275 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_PUT_LSB _u(15) 2276 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_PUT_ACCESS "RW" 2277 // ----------------------------------------------------------------------------- 2278 // Field : PIO_SM3_SHIFTCTRL_FJOIN_RX_GET 2279 // Description : If 1, disable this state machine's RX FIFO, make its storage 2280 // available for random read access by the state machine (using 2281 // the `get` instruction) and, unless FJOIN_RX_PUT is also set, 2282 // random write access by the processor (through the RXFx_PUTGETy 2283 // registers). 2284 // 2285 // If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX 2286 // FIFO's registers can be randomly read/written by the state 2287 // machine, but are completely inaccessible to the processor. 2288 // 2289 // Setting this bit will clear the FJOIN_TX and FJOIN_RX bits. 2290 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_GET_RESET _u(0x0) 2291 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_GET_BITS _u(0x00004000) 2292 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_GET_MSB _u(14) 2293 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_GET_LSB _u(14) 2294 #define PIO_SM3_SHIFTCTRL_FJOIN_RX_GET_ACCESS "RW" 2295 // ----------------------------------------------------------------------------- 2296 // Field : PIO_SM3_SHIFTCTRL_IN_COUNT 2297 // Description : Set the number of pins which are not masked to 0 when read by 2298 // an IN PINS, WAIT PIN or MOV x, PINS instruction. 2299 // 2300 // For example, an IN_COUNT of 5 means that the 5 LSBs of the IN 2301 // pin group are visible (bits 4:0), but the remaining 27 MSBs are 2302 // masked to 0. A count of 32 is encoded with a field value of 0, 2303 // so the default behaviour is to not perform any masking. 2304 // 2305 // Note this masking is applied in addition to the masking usually 2306 // performed by the IN instruction. This is mainly useful for the 2307 // MOV x, PINS instruction, which otherwise has no way of masking 2308 // pins. 2309 #define PIO_SM3_SHIFTCTRL_IN_COUNT_RESET _u(0x00) 2310 #define PIO_SM3_SHIFTCTRL_IN_COUNT_BITS _u(0x0000001f) 2311 #define PIO_SM3_SHIFTCTRL_IN_COUNT_MSB _u(4) 2312 #define PIO_SM3_SHIFTCTRL_IN_COUNT_LSB _u(0) 2313 #define PIO_SM3_SHIFTCTRL_IN_COUNT_ACCESS "RW" 2314 // ============================================================================= 2315 // Register : PIO_SM3_ADDR 2316 // Description : Current instruction address of state machine 3 2317 #define PIO_SM3_ADDR_OFFSET _u(0x0000011c) 2318 #define PIO_SM3_ADDR_BITS _u(0x0000001f) 2319 #define PIO_SM3_ADDR_RESET _u(0x00000000) 2320 #define PIO_SM3_ADDR_MSB _u(4) 2321 #define PIO_SM3_ADDR_LSB _u(0) 2322 #define PIO_SM3_ADDR_ACCESS "RO" 2323 // ============================================================================= 2324 // Register : PIO_SM3_INSTR 2325 // Description : Read to see the instruction currently addressed by state 2326 // machine 3's program counter 2327 // Write to execute an instruction immediately (including jumps) 2328 // and then resume execution. 2329 #define PIO_SM3_INSTR_OFFSET _u(0x00000120) 2330 #define PIO_SM3_INSTR_BITS _u(0x0000ffff) 2331 #define PIO_SM3_INSTR_RESET "-" 2332 #define PIO_SM3_INSTR_MSB _u(15) 2333 #define PIO_SM3_INSTR_LSB _u(0) 2334 #define PIO_SM3_INSTR_ACCESS "RW" 2335 // ============================================================================= 2336 // Register : PIO_SM3_PINCTRL 2337 // Description : State machine pin control 2338 #define PIO_SM3_PINCTRL_OFFSET _u(0x00000124) 2339 #define PIO_SM3_PINCTRL_BITS _u(0xffffffff) 2340 #define PIO_SM3_PINCTRL_RESET _u(0x14000000) 2341 // ----------------------------------------------------------------------------- 2342 // Field : PIO_SM3_PINCTRL_SIDESET_COUNT 2343 // Description : The number of MSBs of the Delay/Side-set instruction field 2344 // which are used for side-set. Inclusive of the enable bit, if 2345 // present. Minimum of 0 (all delay bits, no side-set) and maximum 2346 // of 5 (all side-set, no delay). 2347 #define PIO_SM3_PINCTRL_SIDESET_COUNT_RESET _u(0x0) 2348 #define PIO_SM3_PINCTRL_SIDESET_COUNT_BITS _u(0xe0000000) 2349 #define PIO_SM3_PINCTRL_SIDESET_COUNT_MSB _u(31) 2350 #define PIO_SM3_PINCTRL_SIDESET_COUNT_LSB _u(29) 2351 #define PIO_SM3_PINCTRL_SIDESET_COUNT_ACCESS "RW" 2352 // ----------------------------------------------------------------------------- 2353 // Field : PIO_SM3_PINCTRL_SET_COUNT 2354 // Description : The number of pins asserted by a SET. In the range 0 to 5 2355 // inclusive. 2356 #define PIO_SM3_PINCTRL_SET_COUNT_RESET _u(0x5) 2357 #define PIO_SM3_PINCTRL_SET_COUNT_BITS _u(0x1c000000) 2358 #define PIO_SM3_PINCTRL_SET_COUNT_MSB _u(28) 2359 #define PIO_SM3_PINCTRL_SET_COUNT_LSB _u(26) 2360 #define PIO_SM3_PINCTRL_SET_COUNT_ACCESS "RW" 2361 // ----------------------------------------------------------------------------- 2362 // Field : PIO_SM3_PINCTRL_OUT_COUNT 2363 // Description : The number of pins asserted by an OUT PINS, OUT PINDIRS or MOV 2364 // PINS instruction. In the range 0 to 32 inclusive. 2365 #define PIO_SM3_PINCTRL_OUT_COUNT_RESET _u(0x00) 2366 #define PIO_SM3_PINCTRL_OUT_COUNT_BITS _u(0x03f00000) 2367 #define PIO_SM3_PINCTRL_OUT_COUNT_MSB _u(25) 2368 #define PIO_SM3_PINCTRL_OUT_COUNT_LSB _u(20) 2369 #define PIO_SM3_PINCTRL_OUT_COUNT_ACCESS "RW" 2370 // ----------------------------------------------------------------------------- 2371 // Field : PIO_SM3_PINCTRL_IN_BASE 2372 // Description : The pin which is mapped to the least-significant bit of a state 2373 // machine's IN data bus. Higher-numbered pins are mapped to 2374 // consecutively more-significant data bits, with a modulo of 32 2375 // applied to pin number. 2376 #define PIO_SM3_PINCTRL_IN_BASE_RESET _u(0x00) 2377 #define PIO_SM3_PINCTRL_IN_BASE_BITS _u(0x000f8000) 2378 #define PIO_SM3_PINCTRL_IN_BASE_MSB _u(19) 2379 #define PIO_SM3_PINCTRL_IN_BASE_LSB _u(15) 2380 #define PIO_SM3_PINCTRL_IN_BASE_ACCESS "RW" 2381 // ----------------------------------------------------------------------------- 2382 // Field : PIO_SM3_PINCTRL_SIDESET_BASE 2383 // Description : The lowest-numbered pin that will be affected by a side-set 2384 // operation. The MSBs of an instruction's side-set/delay field 2385 // (up to 5, determined by SIDESET_COUNT) are used for side-set 2386 // data, with the remaining LSBs used for delay. The least- 2387 // significant bit of the side-set portion is the bit written to 2388 // this pin, with more-significant bits written to higher-numbered 2389 // pins. 2390 #define PIO_SM3_PINCTRL_SIDESET_BASE_RESET _u(0x00) 2391 #define PIO_SM3_PINCTRL_SIDESET_BASE_BITS _u(0x00007c00) 2392 #define PIO_SM3_PINCTRL_SIDESET_BASE_MSB _u(14) 2393 #define PIO_SM3_PINCTRL_SIDESET_BASE_LSB _u(10) 2394 #define PIO_SM3_PINCTRL_SIDESET_BASE_ACCESS "RW" 2395 // ----------------------------------------------------------------------------- 2396 // Field : PIO_SM3_PINCTRL_SET_BASE 2397 // Description : The lowest-numbered pin that will be affected by a SET PINS or 2398 // SET PINDIRS instruction. The data written to this pin is the 2399 // least-significant bit of the SET data. 2400 #define PIO_SM3_PINCTRL_SET_BASE_RESET _u(0x00) 2401 #define PIO_SM3_PINCTRL_SET_BASE_BITS _u(0x000003e0) 2402 #define PIO_SM3_PINCTRL_SET_BASE_MSB _u(9) 2403 #define PIO_SM3_PINCTRL_SET_BASE_LSB _u(5) 2404 #define PIO_SM3_PINCTRL_SET_BASE_ACCESS "RW" 2405 // ----------------------------------------------------------------------------- 2406 // Field : PIO_SM3_PINCTRL_OUT_BASE 2407 // Description : The lowest-numbered pin that will be affected by an OUT PINS, 2408 // OUT PINDIRS or MOV PINS instruction. The data written to this 2409 // pin will always be the least-significant bit of the OUT or MOV 2410 // data. 2411 #define PIO_SM3_PINCTRL_OUT_BASE_RESET _u(0x00) 2412 #define PIO_SM3_PINCTRL_OUT_BASE_BITS _u(0x0000001f) 2413 #define PIO_SM3_PINCTRL_OUT_BASE_MSB _u(4) 2414 #define PIO_SM3_PINCTRL_OUT_BASE_LSB _u(0) 2415 #define PIO_SM3_PINCTRL_OUT_BASE_ACCESS "RW" 2416 // ============================================================================= 2417 // Register : PIO_RXF0_PUTGET0 2418 // Description : Direct read/write access to entry 0 of SM0's RX FIFO, if 2419 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2420 #define PIO_RXF0_PUTGET0_OFFSET _u(0x00000128) 2421 #define PIO_RXF0_PUTGET0_BITS _u(0xffffffff) 2422 #define PIO_RXF0_PUTGET0_RESET _u(0x00000000) 2423 #define PIO_RXF0_PUTGET0_MSB _u(31) 2424 #define PIO_RXF0_PUTGET0_LSB _u(0) 2425 #define PIO_RXF0_PUTGET0_ACCESS "RW" 2426 // ============================================================================= 2427 // Register : PIO_RXF0_PUTGET1 2428 // Description : Direct read/write access to entry 1 of SM0's RX FIFO, if 2429 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2430 #define PIO_RXF0_PUTGET1_OFFSET _u(0x0000012c) 2431 #define PIO_RXF0_PUTGET1_BITS _u(0xffffffff) 2432 #define PIO_RXF0_PUTGET1_RESET _u(0x00000000) 2433 #define PIO_RXF0_PUTGET1_MSB _u(31) 2434 #define PIO_RXF0_PUTGET1_LSB _u(0) 2435 #define PIO_RXF0_PUTGET1_ACCESS "RW" 2436 // ============================================================================= 2437 // Register : PIO_RXF0_PUTGET2 2438 // Description : Direct read/write access to entry 2 of SM0's RX FIFO, if 2439 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2440 #define PIO_RXF0_PUTGET2_OFFSET _u(0x00000130) 2441 #define PIO_RXF0_PUTGET2_BITS _u(0xffffffff) 2442 #define PIO_RXF0_PUTGET2_RESET _u(0x00000000) 2443 #define PIO_RXF0_PUTGET2_MSB _u(31) 2444 #define PIO_RXF0_PUTGET2_LSB _u(0) 2445 #define PIO_RXF0_PUTGET2_ACCESS "RW" 2446 // ============================================================================= 2447 // Register : PIO_RXF0_PUTGET3 2448 // Description : Direct read/write access to entry 3 of SM0's RX FIFO, if 2449 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2450 #define PIO_RXF0_PUTGET3_OFFSET _u(0x00000134) 2451 #define PIO_RXF0_PUTGET3_BITS _u(0xffffffff) 2452 #define PIO_RXF0_PUTGET3_RESET _u(0x00000000) 2453 #define PIO_RXF0_PUTGET3_MSB _u(31) 2454 #define PIO_RXF0_PUTGET3_LSB _u(0) 2455 #define PIO_RXF0_PUTGET3_ACCESS "RW" 2456 // ============================================================================= 2457 // Register : PIO_RXF1_PUTGET0 2458 // Description : Direct read/write access to entry 0 of SM1's RX FIFO, if 2459 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2460 #define PIO_RXF1_PUTGET0_OFFSET _u(0x00000138) 2461 #define PIO_RXF1_PUTGET0_BITS _u(0xffffffff) 2462 #define PIO_RXF1_PUTGET0_RESET _u(0x00000000) 2463 #define PIO_RXF1_PUTGET0_MSB _u(31) 2464 #define PIO_RXF1_PUTGET0_LSB _u(0) 2465 #define PIO_RXF1_PUTGET0_ACCESS "RW" 2466 // ============================================================================= 2467 // Register : PIO_RXF1_PUTGET1 2468 // Description : Direct read/write access to entry 1 of SM1's RX FIFO, if 2469 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2470 #define PIO_RXF1_PUTGET1_OFFSET _u(0x0000013c) 2471 #define PIO_RXF1_PUTGET1_BITS _u(0xffffffff) 2472 #define PIO_RXF1_PUTGET1_RESET _u(0x00000000) 2473 #define PIO_RXF1_PUTGET1_MSB _u(31) 2474 #define PIO_RXF1_PUTGET1_LSB _u(0) 2475 #define PIO_RXF1_PUTGET1_ACCESS "RW" 2476 // ============================================================================= 2477 // Register : PIO_RXF1_PUTGET2 2478 // Description : Direct read/write access to entry 2 of SM1's RX FIFO, if 2479 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2480 #define PIO_RXF1_PUTGET2_OFFSET _u(0x00000140) 2481 #define PIO_RXF1_PUTGET2_BITS _u(0xffffffff) 2482 #define PIO_RXF1_PUTGET2_RESET _u(0x00000000) 2483 #define PIO_RXF1_PUTGET2_MSB _u(31) 2484 #define PIO_RXF1_PUTGET2_LSB _u(0) 2485 #define PIO_RXF1_PUTGET2_ACCESS "RW" 2486 // ============================================================================= 2487 // Register : PIO_RXF1_PUTGET3 2488 // Description : Direct read/write access to entry 3 of SM1's RX FIFO, if 2489 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2490 #define PIO_RXF1_PUTGET3_OFFSET _u(0x00000144) 2491 #define PIO_RXF1_PUTGET3_BITS _u(0xffffffff) 2492 #define PIO_RXF1_PUTGET3_RESET _u(0x00000000) 2493 #define PIO_RXF1_PUTGET3_MSB _u(31) 2494 #define PIO_RXF1_PUTGET3_LSB _u(0) 2495 #define PIO_RXF1_PUTGET3_ACCESS "RW" 2496 // ============================================================================= 2497 // Register : PIO_RXF2_PUTGET0 2498 // Description : Direct read/write access to entry 0 of SM2's RX FIFO, if 2499 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2500 #define PIO_RXF2_PUTGET0_OFFSET _u(0x00000148) 2501 #define PIO_RXF2_PUTGET0_BITS _u(0xffffffff) 2502 #define PIO_RXF2_PUTGET0_RESET _u(0x00000000) 2503 #define PIO_RXF2_PUTGET0_MSB _u(31) 2504 #define PIO_RXF2_PUTGET0_LSB _u(0) 2505 #define PIO_RXF2_PUTGET0_ACCESS "RW" 2506 // ============================================================================= 2507 // Register : PIO_RXF2_PUTGET1 2508 // Description : Direct read/write access to entry 1 of SM2's RX FIFO, if 2509 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2510 #define PIO_RXF2_PUTGET1_OFFSET _u(0x0000014c) 2511 #define PIO_RXF2_PUTGET1_BITS _u(0xffffffff) 2512 #define PIO_RXF2_PUTGET1_RESET _u(0x00000000) 2513 #define PIO_RXF2_PUTGET1_MSB _u(31) 2514 #define PIO_RXF2_PUTGET1_LSB _u(0) 2515 #define PIO_RXF2_PUTGET1_ACCESS "RW" 2516 // ============================================================================= 2517 // Register : PIO_RXF2_PUTGET2 2518 // Description : Direct read/write access to entry 2 of SM2's RX FIFO, if 2519 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2520 #define PIO_RXF2_PUTGET2_OFFSET _u(0x00000150) 2521 #define PIO_RXF2_PUTGET2_BITS _u(0xffffffff) 2522 #define PIO_RXF2_PUTGET2_RESET _u(0x00000000) 2523 #define PIO_RXF2_PUTGET2_MSB _u(31) 2524 #define PIO_RXF2_PUTGET2_LSB _u(0) 2525 #define PIO_RXF2_PUTGET2_ACCESS "RW" 2526 // ============================================================================= 2527 // Register : PIO_RXF2_PUTGET3 2528 // Description : Direct read/write access to entry 3 of SM2's RX FIFO, if 2529 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2530 #define PIO_RXF2_PUTGET3_OFFSET _u(0x00000154) 2531 #define PIO_RXF2_PUTGET3_BITS _u(0xffffffff) 2532 #define PIO_RXF2_PUTGET3_RESET _u(0x00000000) 2533 #define PIO_RXF2_PUTGET3_MSB _u(31) 2534 #define PIO_RXF2_PUTGET3_LSB _u(0) 2535 #define PIO_RXF2_PUTGET3_ACCESS "RW" 2536 // ============================================================================= 2537 // Register : PIO_RXF3_PUTGET0 2538 // Description : Direct read/write access to entry 0 of SM3's RX FIFO, if 2539 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2540 #define PIO_RXF3_PUTGET0_OFFSET _u(0x00000158) 2541 #define PIO_RXF3_PUTGET0_BITS _u(0xffffffff) 2542 #define PIO_RXF3_PUTGET0_RESET _u(0x00000000) 2543 #define PIO_RXF3_PUTGET0_MSB _u(31) 2544 #define PIO_RXF3_PUTGET0_LSB _u(0) 2545 #define PIO_RXF3_PUTGET0_ACCESS "RW" 2546 // ============================================================================= 2547 // Register : PIO_RXF3_PUTGET1 2548 // Description : Direct read/write access to entry 1 of SM3's RX FIFO, if 2549 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2550 #define PIO_RXF3_PUTGET1_OFFSET _u(0x0000015c) 2551 #define PIO_RXF3_PUTGET1_BITS _u(0xffffffff) 2552 #define PIO_RXF3_PUTGET1_RESET _u(0x00000000) 2553 #define PIO_RXF3_PUTGET1_MSB _u(31) 2554 #define PIO_RXF3_PUTGET1_LSB _u(0) 2555 #define PIO_RXF3_PUTGET1_ACCESS "RW" 2556 // ============================================================================= 2557 // Register : PIO_RXF3_PUTGET2 2558 // Description : Direct read/write access to entry 2 of SM3's RX FIFO, if 2559 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2560 #define PIO_RXF3_PUTGET2_OFFSET _u(0x00000160) 2561 #define PIO_RXF3_PUTGET2_BITS _u(0xffffffff) 2562 #define PIO_RXF3_PUTGET2_RESET _u(0x00000000) 2563 #define PIO_RXF3_PUTGET2_MSB _u(31) 2564 #define PIO_RXF3_PUTGET2_LSB _u(0) 2565 #define PIO_RXF3_PUTGET2_ACCESS "RW" 2566 // ============================================================================= 2567 // Register : PIO_RXF3_PUTGET3 2568 // Description : Direct read/write access to entry 3 of SM3's RX FIFO, if 2569 // SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set. 2570 #define PIO_RXF3_PUTGET3_OFFSET _u(0x00000164) 2571 #define PIO_RXF3_PUTGET3_BITS _u(0xffffffff) 2572 #define PIO_RXF3_PUTGET3_RESET _u(0x00000000) 2573 #define PIO_RXF3_PUTGET3_MSB _u(31) 2574 #define PIO_RXF3_PUTGET3_LSB _u(0) 2575 #define PIO_RXF3_PUTGET3_ACCESS "RW" 2576 // ============================================================================= 2577 // Register : PIO_GPIOBASE 2578 // Description : Relocate GPIO 0 (from PIO's point of view) in the system GPIO 2579 // numbering, to access more than 32 GPIOs from PIO. 2580 // 2581 // Only the values 0 and 16 are supported (only bit 4 is 2582 // writable). 2583 #define PIO_GPIOBASE_OFFSET _u(0x00000168) 2584 #define PIO_GPIOBASE_BITS _u(0x00000010) 2585 #define PIO_GPIOBASE_RESET _u(0x00000000) 2586 #define PIO_GPIOBASE_MSB _u(4) 2587 #define PIO_GPIOBASE_LSB _u(4) 2588 #define PIO_GPIOBASE_ACCESS "RW" 2589 // ============================================================================= 2590 // Register : PIO_INTR 2591 // Description : Raw Interrupts 2592 #define PIO_INTR_OFFSET _u(0x0000016c) 2593 #define PIO_INTR_BITS _u(0x0000ffff) 2594 #define PIO_INTR_RESET _u(0x00000000) 2595 // ----------------------------------------------------------------------------- 2596 // Field : PIO_INTR_SM7 2597 #define PIO_INTR_SM7_RESET _u(0x0) 2598 #define PIO_INTR_SM7_BITS _u(0x00008000) 2599 #define PIO_INTR_SM7_MSB _u(15) 2600 #define PIO_INTR_SM7_LSB _u(15) 2601 #define PIO_INTR_SM7_ACCESS "RO" 2602 // ----------------------------------------------------------------------------- 2603 // Field : PIO_INTR_SM6 2604 #define PIO_INTR_SM6_RESET _u(0x0) 2605 #define PIO_INTR_SM6_BITS _u(0x00004000) 2606 #define PIO_INTR_SM6_MSB _u(14) 2607 #define PIO_INTR_SM6_LSB _u(14) 2608 #define PIO_INTR_SM6_ACCESS "RO" 2609 // ----------------------------------------------------------------------------- 2610 // Field : PIO_INTR_SM5 2611 #define PIO_INTR_SM5_RESET _u(0x0) 2612 #define PIO_INTR_SM5_BITS _u(0x00002000) 2613 #define PIO_INTR_SM5_MSB _u(13) 2614 #define PIO_INTR_SM5_LSB _u(13) 2615 #define PIO_INTR_SM5_ACCESS "RO" 2616 // ----------------------------------------------------------------------------- 2617 // Field : PIO_INTR_SM4 2618 #define PIO_INTR_SM4_RESET _u(0x0) 2619 #define PIO_INTR_SM4_BITS _u(0x00001000) 2620 #define PIO_INTR_SM4_MSB _u(12) 2621 #define PIO_INTR_SM4_LSB _u(12) 2622 #define PIO_INTR_SM4_ACCESS "RO" 2623 // ----------------------------------------------------------------------------- 2624 // Field : PIO_INTR_SM3 2625 #define PIO_INTR_SM3_RESET _u(0x0) 2626 #define PIO_INTR_SM3_BITS _u(0x00000800) 2627 #define PIO_INTR_SM3_MSB _u(11) 2628 #define PIO_INTR_SM3_LSB _u(11) 2629 #define PIO_INTR_SM3_ACCESS "RO" 2630 // ----------------------------------------------------------------------------- 2631 // Field : PIO_INTR_SM2 2632 #define PIO_INTR_SM2_RESET _u(0x0) 2633 #define PIO_INTR_SM2_BITS _u(0x00000400) 2634 #define PIO_INTR_SM2_MSB _u(10) 2635 #define PIO_INTR_SM2_LSB _u(10) 2636 #define PIO_INTR_SM2_ACCESS "RO" 2637 // ----------------------------------------------------------------------------- 2638 // Field : PIO_INTR_SM1 2639 #define PIO_INTR_SM1_RESET _u(0x0) 2640 #define PIO_INTR_SM1_BITS _u(0x00000200) 2641 #define PIO_INTR_SM1_MSB _u(9) 2642 #define PIO_INTR_SM1_LSB _u(9) 2643 #define PIO_INTR_SM1_ACCESS "RO" 2644 // ----------------------------------------------------------------------------- 2645 // Field : PIO_INTR_SM0 2646 #define PIO_INTR_SM0_RESET _u(0x0) 2647 #define PIO_INTR_SM0_BITS _u(0x00000100) 2648 #define PIO_INTR_SM0_MSB _u(8) 2649 #define PIO_INTR_SM0_LSB _u(8) 2650 #define PIO_INTR_SM0_ACCESS "RO" 2651 // ----------------------------------------------------------------------------- 2652 // Field : PIO_INTR_SM3_TXNFULL 2653 #define PIO_INTR_SM3_TXNFULL_RESET _u(0x0) 2654 #define PIO_INTR_SM3_TXNFULL_BITS _u(0x00000080) 2655 #define PIO_INTR_SM3_TXNFULL_MSB _u(7) 2656 #define PIO_INTR_SM3_TXNFULL_LSB _u(7) 2657 #define PIO_INTR_SM3_TXNFULL_ACCESS "RO" 2658 // ----------------------------------------------------------------------------- 2659 // Field : PIO_INTR_SM2_TXNFULL 2660 #define PIO_INTR_SM2_TXNFULL_RESET _u(0x0) 2661 #define PIO_INTR_SM2_TXNFULL_BITS _u(0x00000040) 2662 #define PIO_INTR_SM2_TXNFULL_MSB _u(6) 2663 #define PIO_INTR_SM2_TXNFULL_LSB _u(6) 2664 #define PIO_INTR_SM2_TXNFULL_ACCESS "RO" 2665 // ----------------------------------------------------------------------------- 2666 // Field : PIO_INTR_SM1_TXNFULL 2667 #define PIO_INTR_SM1_TXNFULL_RESET _u(0x0) 2668 #define PIO_INTR_SM1_TXNFULL_BITS _u(0x00000020) 2669 #define PIO_INTR_SM1_TXNFULL_MSB _u(5) 2670 #define PIO_INTR_SM1_TXNFULL_LSB _u(5) 2671 #define PIO_INTR_SM1_TXNFULL_ACCESS "RO" 2672 // ----------------------------------------------------------------------------- 2673 // Field : PIO_INTR_SM0_TXNFULL 2674 #define PIO_INTR_SM0_TXNFULL_RESET _u(0x0) 2675 #define PIO_INTR_SM0_TXNFULL_BITS _u(0x00000010) 2676 #define PIO_INTR_SM0_TXNFULL_MSB _u(4) 2677 #define PIO_INTR_SM0_TXNFULL_LSB _u(4) 2678 #define PIO_INTR_SM0_TXNFULL_ACCESS "RO" 2679 // ----------------------------------------------------------------------------- 2680 // Field : PIO_INTR_SM3_RXNEMPTY 2681 #define PIO_INTR_SM3_RXNEMPTY_RESET _u(0x0) 2682 #define PIO_INTR_SM3_RXNEMPTY_BITS _u(0x00000008) 2683 #define PIO_INTR_SM3_RXNEMPTY_MSB _u(3) 2684 #define PIO_INTR_SM3_RXNEMPTY_LSB _u(3) 2685 #define PIO_INTR_SM3_RXNEMPTY_ACCESS "RO" 2686 // ----------------------------------------------------------------------------- 2687 // Field : PIO_INTR_SM2_RXNEMPTY 2688 #define PIO_INTR_SM2_RXNEMPTY_RESET _u(0x0) 2689 #define PIO_INTR_SM2_RXNEMPTY_BITS _u(0x00000004) 2690 #define PIO_INTR_SM2_RXNEMPTY_MSB _u(2) 2691 #define PIO_INTR_SM2_RXNEMPTY_LSB _u(2) 2692 #define PIO_INTR_SM2_RXNEMPTY_ACCESS "RO" 2693 // ----------------------------------------------------------------------------- 2694 // Field : PIO_INTR_SM1_RXNEMPTY 2695 #define PIO_INTR_SM1_RXNEMPTY_RESET _u(0x0) 2696 #define PIO_INTR_SM1_RXNEMPTY_BITS _u(0x00000002) 2697 #define PIO_INTR_SM1_RXNEMPTY_MSB _u(1) 2698 #define PIO_INTR_SM1_RXNEMPTY_LSB _u(1) 2699 #define PIO_INTR_SM1_RXNEMPTY_ACCESS "RO" 2700 // ----------------------------------------------------------------------------- 2701 // Field : PIO_INTR_SM0_RXNEMPTY 2702 #define PIO_INTR_SM0_RXNEMPTY_RESET _u(0x0) 2703 #define PIO_INTR_SM0_RXNEMPTY_BITS _u(0x00000001) 2704 #define PIO_INTR_SM0_RXNEMPTY_MSB _u(0) 2705 #define PIO_INTR_SM0_RXNEMPTY_LSB _u(0) 2706 #define PIO_INTR_SM0_RXNEMPTY_ACCESS "RO" 2707 // ============================================================================= 2708 // Register : PIO_IRQ0_INTE 2709 // Description : Interrupt Enable for irq0 2710 #define PIO_IRQ0_INTE_OFFSET _u(0x00000170) 2711 #define PIO_IRQ0_INTE_BITS _u(0x0000ffff) 2712 #define PIO_IRQ0_INTE_RESET _u(0x00000000) 2713 // ----------------------------------------------------------------------------- 2714 // Field : PIO_IRQ0_INTE_SM7 2715 #define PIO_IRQ0_INTE_SM7_RESET _u(0x0) 2716 #define PIO_IRQ0_INTE_SM7_BITS _u(0x00008000) 2717 #define PIO_IRQ0_INTE_SM7_MSB _u(15) 2718 #define PIO_IRQ0_INTE_SM7_LSB _u(15) 2719 #define PIO_IRQ0_INTE_SM7_ACCESS "RW" 2720 // ----------------------------------------------------------------------------- 2721 // Field : PIO_IRQ0_INTE_SM6 2722 #define PIO_IRQ0_INTE_SM6_RESET _u(0x0) 2723 #define PIO_IRQ0_INTE_SM6_BITS _u(0x00004000) 2724 #define PIO_IRQ0_INTE_SM6_MSB _u(14) 2725 #define PIO_IRQ0_INTE_SM6_LSB _u(14) 2726 #define PIO_IRQ0_INTE_SM6_ACCESS "RW" 2727 // ----------------------------------------------------------------------------- 2728 // Field : PIO_IRQ0_INTE_SM5 2729 #define PIO_IRQ0_INTE_SM5_RESET _u(0x0) 2730 #define PIO_IRQ0_INTE_SM5_BITS _u(0x00002000) 2731 #define PIO_IRQ0_INTE_SM5_MSB _u(13) 2732 #define PIO_IRQ0_INTE_SM5_LSB _u(13) 2733 #define PIO_IRQ0_INTE_SM5_ACCESS "RW" 2734 // ----------------------------------------------------------------------------- 2735 // Field : PIO_IRQ0_INTE_SM4 2736 #define PIO_IRQ0_INTE_SM4_RESET _u(0x0) 2737 #define PIO_IRQ0_INTE_SM4_BITS _u(0x00001000) 2738 #define PIO_IRQ0_INTE_SM4_MSB _u(12) 2739 #define PIO_IRQ0_INTE_SM4_LSB _u(12) 2740 #define PIO_IRQ0_INTE_SM4_ACCESS "RW" 2741 // ----------------------------------------------------------------------------- 2742 // Field : PIO_IRQ0_INTE_SM3 2743 #define PIO_IRQ0_INTE_SM3_RESET _u(0x0) 2744 #define PIO_IRQ0_INTE_SM3_BITS _u(0x00000800) 2745 #define PIO_IRQ0_INTE_SM3_MSB _u(11) 2746 #define PIO_IRQ0_INTE_SM3_LSB _u(11) 2747 #define PIO_IRQ0_INTE_SM3_ACCESS "RW" 2748 // ----------------------------------------------------------------------------- 2749 // Field : PIO_IRQ0_INTE_SM2 2750 #define PIO_IRQ0_INTE_SM2_RESET _u(0x0) 2751 #define PIO_IRQ0_INTE_SM2_BITS _u(0x00000400) 2752 #define PIO_IRQ0_INTE_SM2_MSB _u(10) 2753 #define PIO_IRQ0_INTE_SM2_LSB _u(10) 2754 #define PIO_IRQ0_INTE_SM2_ACCESS "RW" 2755 // ----------------------------------------------------------------------------- 2756 // Field : PIO_IRQ0_INTE_SM1 2757 #define PIO_IRQ0_INTE_SM1_RESET _u(0x0) 2758 #define PIO_IRQ0_INTE_SM1_BITS _u(0x00000200) 2759 #define PIO_IRQ0_INTE_SM1_MSB _u(9) 2760 #define PIO_IRQ0_INTE_SM1_LSB _u(9) 2761 #define PIO_IRQ0_INTE_SM1_ACCESS "RW" 2762 // ----------------------------------------------------------------------------- 2763 // Field : PIO_IRQ0_INTE_SM0 2764 #define PIO_IRQ0_INTE_SM0_RESET _u(0x0) 2765 #define PIO_IRQ0_INTE_SM0_BITS _u(0x00000100) 2766 #define PIO_IRQ0_INTE_SM0_MSB _u(8) 2767 #define PIO_IRQ0_INTE_SM0_LSB _u(8) 2768 #define PIO_IRQ0_INTE_SM0_ACCESS "RW" 2769 // ----------------------------------------------------------------------------- 2770 // Field : PIO_IRQ0_INTE_SM3_TXNFULL 2771 #define PIO_IRQ0_INTE_SM3_TXNFULL_RESET _u(0x0) 2772 #define PIO_IRQ0_INTE_SM3_TXNFULL_BITS _u(0x00000080) 2773 #define PIO_IRQ0_INTE_SM3_TXNFULL_MSB _u(7) 2774 #define PIO_IRQ0_INTE_SM3_TXNFULL_LSB _u(7) 2775 #define PIO_IRQ0_INTE_SM3_TXNFULL_ACCESS "RW" 2776 // ----------------------------------------------------------------------------- 2777 // Field : PIO_IRQ0_INTE_SM2_TXNFULL 2778 #define PIO_IRQ0_INTE_SM2_TXNFULL_RESET _u(0x0) 2779 #define PIO_IRQ0_INTE_SM2_TXNFULL_BITS _u(0x00000040) 2780 #define PIO_IRQ0_INTE_SM2_TXNFULL_MSB _u(6) 2781 #define PIO_IRQ0_INTE_SM2_TXNFULL_LSB _u(6) 2782 #define PIO_IRQ0_INTE_SM2_TXNFULL_ACCESS "RW" 2783 // ----------------------------------------------------------------------------- 2784 // Field : PIO_IRQ0_INTE_SM1_TXNFULL 2785 #define PIO_IRQ0_INTE_SM1_TXNFULL_RESET _u(0x0) 2786 #define PIO_IRQ0_INTE_SM1_TXNFULL_BITS _u(0x00000020) 2787 #define PIO_IRQ0_INTE_SM1_TXNFULL_MSB _u(5) 2788 #define PIO_IRQ0_INTE_SM1_TXNFULL_LSB _u(5) 2789 #define PIO_IRQ0_INTE_SM1_TXNFULL_ACCESS "RW" 2790 // ----------------------------------------------------------------------------- 2791 // Field : PIO_IRQ0_INTE_SM0_TXNFULL 2792 #define PIO_IRQ0_INTE_SM0_TXNFULL_RESET _u(0x0) 2793 #define PIO_IRQ0_INTE_SM0_TXNFULL_BITS _u(0x00000010) 2794 #define PIO_IRQ0_INTE_SM0_TXNFULL_MSB _u(4) 2795 #define PIO_IRQ0_INTE_SM0_TXNFULL_LSB _u(4) 2796 #define PIO_IRQ0_INTE_SM0_TXNFULL_ACCESS "RW" 2797 // ----------------------------------------------------------------------------- 2798 // Field : PIO_IRQ0_INTE_SM3_RXNEMPTY 2799 #define PIO_IRQ0_INTE_SM3_RXNEMPTY_RESET _u(0x0) 2800 #define PIO_IRQ0_INTE_SM3_RXNEMPTY_BITS _u(0x00000008) 2801 #define PIO_IRQ0_INTE_SM3_RXNEMPTY_MSB _u(3) 2802 #define PIO_IRQ0_INTE_SM3_RXNEMPTY_LSB _u(3) 2803 #define PIO_IRQ0_INTE_SM3_RXNEMPTY_ACCESS "RW" 2804 // ----------------------------------------------------------------------------- 2805 // Field : PIO_IRQ0_INTE_SM2_RXNEMPTY 2806 #define PIO_IRQ0_INTE_SM2_RXNEMPTY_RESET _u(0x0) 2807 #define PIO_IRQ0_INTE_SM2_RXNEMPTY_BITS _u(0x00000004) 2808 #define PIO_IRQ0_INTE_SM2_RXNEMPTY_MSB _u(2) 2809 #define PIO_IRQ0_INTE_SM2_RXNEMPTY_LSB _u(2) 2810 #define PIO_IRQ0_INTE_SM2_RXNEMPTY_ACCESS "RW" 2811 // ----------------------------------------------------------------------------- 2812 // Field : PIO_IRQ0_INTE_SM1_RXNEMPTY 2813 #define PIO_IRQ0_INTE_SM1_RXNEMPTY_RESET _u(0x0) 2814 #define PIO_IRQ0_INTE_SM1_RXNEMPTY_BITS _u(0x00000002) 2815 #define PIO_IRQ0_INTE_SM1_RXNEMPTY_MSB _u(1) 2816 #define PIO_IRQ0_INTE_SM1_RXNEMPTY_LSB _u(1) 2817 #define PIO_IRQ0_INTE_SM1_RXNEMPTY_ACCESS "RW" 2818 // ----------------------------------------------------------------------------- 2819 // Field : PIO_IRQ0_INTE_SM0_RXNEMPTY 2820 #define PIO_IRQ0_INTE_SM0_RXNEMPTY_RESET _u(0x0) 2821 #define PIO_IRQ0_INTE_SM0_RXNEMPTY_BITS _u(0x00000001) 2822 #define PIO_IRQ0_INTE_SM0_RXNEMPTY_MSB _u(0) 2823 #define PIO_IRQ0_INTE_SM0_RXNEMPTY_LSB _u(0) 2824 #define PIO_IRQ0_INTE_SM0_RXNEMPTY_ACCESS "RW" 2825 // ============================================================================= 2826 // Register : PIO_IRQ0_INTF 2827 // Description : Interrupt Force for irq0 2828 #define PIO_IRQ0_INTF_OFFSET _u(0x00000174) 2829 #define PIO_IRQ0_INTF_BITS _u(0x0000ffff) 2830 #define PIO_IRQ0_INTF_RESET _u(0x00000000) 2831 // ----------------------------------------------------------------------------- 2832 // Field : PIO_IRQ0_INTF_SM7 2833 #define PIO_IRQ0_INTF_SM7_RESET _u(0x0) 2834 #define PIO_IRQ0_INTF_SM7_BITS _u(0x00008000) 2835 #define PIO_IRQ0_INTF_SM7_MSB _u(15) 2836 #define PIO_IRQ0_INTF_SM7_LSB _u(15) 2837 #define PIO_IRQ0_INTF_SM7_ACCESS "RW" 2838 // ----------------------------------------------------------------------------- 2839 // Field : PIO_IRQ0_INTF_SM6 2840 #define PIO_IRQ0_INTF_SM6_RESET _u(0x0) 2841 #define PIO_IRQ0_INTF_SM6_BITS _u(0x00004000) 2842 #define PIO_IRQ0_INTF_SM6_MSB _u(14) 2843 #define PIO_IRQ0_INTF_SM6_LSB _u(14) 2844 #define PIO_IRQ0_INTF_SM6_ACCESS "RW" 2845 // ----------------------------------------------------------------------------- 2846 // Field : PIO_IRQ0_INTF_SM5 2847 #define PIO_IRQ0_INTF_SM5_RESET _u(0x0) 2848 #define PIO_IRQ0_INTF_SM5_BITS _u(0x00002000) 2849 #define PIO_IRQ0_INTF_SM5_MSB _u(13) 2850 #define PIO_IRQ0_INTF_SM5_LSB _u(13) 2851 #define PIO_IRQ0_INTF_SM5_ACCESS "RW" 2852 // ----------------------------------------------------------------------------- 2853 // Field : PIO_IRQ0_INTF_SM4 2854 #define PIO_IRQ0_INTF_SM4_RESET _u(0x0) 2855 #define PIO_IRQ0_INTF_SM4_BITS _u(0x00001000) 2856 #define PIO_IRQ0_INTF_SM4_MSB _u(12) 2857 #define PIO_IRQ0_INTF_SM4_LSB _u(12) 2858 #define PIO_IRQ0_INTF_SM4_ACCESS "RW" 2859 // ----------------------------------------------------------------------------- 2860 // Field : PIO_IRQ0_INTF_SM3 2861 #define PIO_IRQ0_INTF_SM3_RESET _u(0x0) 2862 #define PIO_IRQ0_INTF_SM3_BITS _u(0x00000800) 2863 #define PIO_IRQ0_INTF_SM3_MSB _u(11) 2864 #define PIO_IRQ0_INTF_SM3_LSB _u(11) 2865 #define PIO_IRQ0_INTF_SM3_ACCESS "RW" 2866 // ----------------------------------------------------------------------------- 2867 // Field : PIO_IRQ0_INTF_SM2 2868 #define PIO_IRQ0_INTF_SM2_RESET _u(0x0) 2869 #define PIO_IRQ0_INTF_SM2_BITS _u(0x00000400) 2870 #define PIO_IRQ0_INTF_SM2_MSB _u(10) 2871 #define PIO_IRQ0_INTF_SM2_LSB _u(10) 2872 #define PIO_IRQ0_INTF_SM2_ACCESS "RW" 2873 // ----------------------------------------------------------------------------- 2874 // Field : PIO_IRQ0_INTF_SM1 2875 #define PIO_IRQ0_INTF_SM1_RESET _u(0x0) 2876 #define PIO_IRQ0_INTF_SM1_BITS _u(0x00000200) 2877 #define PIO_IRQ0_INTF_SM1_MSB _u(9) 2878 #define PIO_IRQ0_INTF_SM1_LSB _u(9) 2879 #define PIO_IRQ0_INTF_SM1_ACCESS "RW" 2880 // ----------------------------------------------------------------------------- 2881 // Field : PIO_IRQ0_INTF_SM0 2882 #define PIO_IRQ0_INTF_SM0_RESET _u(0x0) 2883 #define PIO_IRQ0_INTF_SM0_BITS _u(0x00000100) 2884 #define PIO_IRQ0_INTF_SM0_MSB _u(8) 2885 #define PIO_IRQ0_INTF_SM0_LSB _u(8) 2886 #define PIO_IRQ0_INTF_SM0_ACCESS "RW" 2887 // ----------------------------------------------------------------------------- 2888 // Field : PIO_IRQ0_INTF_SM3_TXNFULL 2889 #define PIO_IRQ0_INTF_SM3_TXNFULL_RESET _u(0x0) 2890 #define PIO_IRQ0_INTF_SM3_TXNFULL_BITS _u(0x00000080) 2891 #define PIO_IRQ0_INTF_SM3_TXNFULL_MSB _u(7) 2892 #define PIO_IRQ0_INTF_SM3_TXNFULL_LSB _u(7) 2893 #define PIO_IRQ0_INTF_SM3_TXNFULL_ACCESS "RW" 2894 // ----------------------------------------------------------------------------- 2895 // Field : PIO_IRQ0_INTF_SM2_TXNFULL 2896 #define PIO_IRQ0_INTF_SM2_TXNFULL_RESET _u(0x0) 2897 #define PIO_IRQ0_INTF_SM2_TXNFULL_BITS _u(0x00000040) 2898 #define PIO_IRQ0_INTF_SM2_TXNFULL_MSB _u(6) 2899 #define PIO_IRQ0_INTF_SM2_TXNFULL_LSB _u(6) 2900 #define PIO_IRQ0_INTF_SM2_TXNFULL_ACCESS "RW" 2901 // ----------------------------------------------------------------------------- 2902 // Field : PIO_IRQ0_INTF_SM1_TXNFULL 2903 #define PIO_IRQ0_INTF_SM1_TXNFULL_RESET _u(0x0) 2904 #define PIO_IRQ0_INTF_SM1_TXNFULL_BITS _u(0x00000020) 2905 #define PIO_IRQ0_INTF_SM1_TXNFULL_MSB _u(5) 2906 #define PIO_IRQ0_INTF_SM1_TXNFULL_LSB _u(5) 2907 #define PIO_IRQ0_INTF_SM1_TXNFULL_ACCESS "RW" 2908 // ----------------------------------------------------------------------------- 2909 // Field : PIO_IRQ0_INTF_SM0_TXNFULL 2910 #define PIO_IRQ0_INTF_SM0_TXNFULL_RESET _u(0x0) 2911 #define PIO_IRQ0_INTF_SM0_TXNFULL_BITS _u(0x00000010) 2912 #define PIO_IRQ0_INTF_SM0_TXNFULL_MSB _u(4) 2913 #define PIO_IRQ0_INTF_SM0_TXNFULL_LSB _u(4) 2914 #define PIO_IRQ0_INTF_SM0_TXNFULL_ACCESS "RW" 2915 // ----------------------------------------------------------------------------- 2916 // Field : PIO_IRQ0_INTF_SM3_RXNEMPTY 2917 #define PIO_IRQ0_INTF_SM3_RXNEMPTY_RESET _u(0x0) 2918 #define PIO_IRQ0_INTF_SM3_RXNEMPTY_BITS _u(0x00000008) 2919 #define PIO_IRQ0_INTF_SM3_RXNEMPTY_MSB _u(3) 2920 #define PIO_IRQ0_INTF_SM3_RXNEMPTY_LSB _u(3) 2921 #define PIO_IRQ0_INTF_SM3_RXNEMPTY_ACCESS "RW" 2922 // ----------------------------------------------------------------------------- 2923 // Field : PIO_IRQ0_INTF_SM2_RXNEMPTY 2924 #define PIO_IRQ0_INTF_SM2_RXNEMPTY_RESET _u(0x0) 2925 #define PIO_IRQ0_INTF_SM2_RXNEMPTY_BITS _u(0x00000004) 2926 #define PIO_IRQ0_INTF_SM2_RXNEMPTY_MSB _u(2) 2927 #define PIO_IRQ0_INTF_SM2_RXNEMPTY_LSB _u(2) 2928 #define PIO_IRQ0_INTF_SM2_RXNEMPTY_ACCESS "RW" 2929 // ----------------------------------------------------------------------------- 2930 // Field : PIO_IRQ0_INTF_SM1_RXNEMPTY 2931 #define PIO_IRQ0_INTF_SM1_RXNEMPTY_RESET _u(0x0) 2932 #define PIO_IRQ0_INTF_SM1_RXNEMPTY_BITS _u(0x00000002) 2933 #define PIO_IRQ0_INTF_SM1_RXNEMPTY_MSB _u(1) 2934 #define PIO_IRQ0_INTF_SM1_RXNEMPTY_LSB _u(1) 2935 #define PIO_IRQ0_INTF_SM1_RXNEMPTY_ACCESS "RW" 2936 // ----------------------------------------------------------------------------- 2937 // Field : PIO_IRQ0_INTF_SM0_RXNEMPTY 2938 #define PIO_IRQ0_INTF_SM0_RXNEMPTY_RESET _u(0x0) 2939 #define PIO_IRQ0_INTF_SM0_RXNEMPTY_BITS _u(0x00000001) 2940 #define PIO_IRQ0_INTF_SM0_RXNEMPTY_MSB _u(0) 2941 #define PIO_IRQ0_INTF_SM0_RXNEMPTY_LSB _u(0) 2942 #define PIO_IRQ0_INTF_SM0_RXNEMPTY_ACCESS "RW" 2943 // ============================================================================= 2944 // Register : PIO_IRQ0_INTS 2945 // Description : Interrupt status after masking & forcing for irq0 2946 #define PIO_IRQ0_INTS_OFFSET _u(0x00000178) 2947 #define PIO_IRQ0_INTS_BITS _u(0x0000ffff) 2948 #define PIO_IRQ0_INTS_RESET _u(0x00000000) 2949 // ----------------------------------------------------------------------------- 2950 // Field : PIO_IRQ0_INTS_SM7 2951 #define PIO_IRQ0_INTS_SM7_RESET _u(0x0) 2952 #define PIO_IRQ0_INTS_SM7_BITS _u(0x00008000) 2953 #define PIO_IRQ0_INTS_SM7_MSB _u(15) 2954 #define PIO_IRQ0_INTS_SM7_LSB _u(15) 2955 #define PIO_IRQ0_INTS_SM7_ACCESS "RO" 2956 // ----------------------------------------------------------------------------- 2957 // Field : PIO_IRQ0_INTS_SM6 2958 #define PIO_IRQ0_INTS_SM6_RESET _u(0x0) 2959 #define PIO_IRQ0_INTS_SM6_BITS _u(0x00004000) 2960 #define PIO_IRQ0_INTS_SM6_MSB _u(14) 2961 #define PIO_IRQ0_INTS_SM6_LSB _u(14) 2962 #define PIO_IRQ0_INTS_SM6_ACCESS "RO" 2963 // ----------------------------------------------------------------------------- 2964 // Field : PIO_IRQ0_INTS_SM5 2965 #define PIO_IRQ0_INTS_SM5_RESET _u(0x0) 2966 #define PIO_IRQ0_INTS_SM5_BITS _u(0x00002000) 2967 #define PIO_IRQ0_INTS_SM5_MSB _u(13) 2968 #define PIO_IRQ0_INTS_SM5_LSB _u(13) 2969 #define PIO_IRQ0_INTS_SM5_ACCESS "RO" 2970 // ----------------------------------------------------------------------------- 2971 // Field : PIO_IRQ0_INTS_SM4 2972 #define PIO_IRQ0_INTS_SM4_RESET _u(0x0) 2973 #define PIO_IRQ0_INTS_SM4_BITS _u(0x00001000) 2974 #define PIO_IRQ0_INTS_SM4_MSB _u(12) 2975 #define PIO_IRQ0_INTS_SM4_LSB _u(12) 2976 #define PIO_IRQ0_INTS_SM4_ACCESS "RO" 2977 // ----------------------------------------------------------------------------- 2978 // Field : PIO_IRQ0_INTS_SM3 2979 #define PIO_IRQ0_INTS_SM3_RESET _u(0x0) 2980 #define PIO_IRQ0_INTS_SM3_BITS _u(0x00000800) 2981 #define PIO_IRQ0_INTS_SM3_MSB _u(11) 2982 #define PIO_IRQ0_INTS_SM3_LSB _u(11) 2983 #define PIO_IRQ0_INTS_SM3_ACCESS "RO" 2984 // ----------------------------------------------------------------------------- 2985 // Field : PIO_IRQ0_INTS_SM2 2986 #define PIO_IRQ0_INTS_SM2_RESET _u(0x0) 2987 #define PIO_IRQ0_INTS_SM2_BITS _u(0x00000400) 2988 #define PIO_IRQ0_INTS_SM2_MSB _u(10) 2989 #define PIO_IRQ0_INTS_SM2_LSB _u(10) 2990 #define PIO_IRQ0_INTS_SM2_ACCESS "RO" 2991 // ----------------------------------------------------------------------------- 2992 // Field : PIO_IRQ0_INTS_SM1 2993 #define PIO_IRQ0_INTS_SM1_RESET _u(0x0) 2994 #define PIO_IRQ0_INTS_SM1_BITS _u(0x00000200) 2995 #define PIO_IRQ0_INTS_SM1_MSB _u(9) 2996 #define PIO_IRQ0_INTS_SM1_LSB _u(9) 2997 #define PIO_IRQ0_INTS_SM1_ACCESS "RO" 2998 // ----------------------------------------------------------------------------- 2999 // Field : PIO_IRQ0_INTS_SM0 3000 #define PIO_IRQ0_INTS_SM0_RESET _u(0x0) 3001 #define PIO_IRQ0_INTS_SM0_BITS _u(0x00000100) 3002 #define PIO_IRQ0_INTS_SM0_MSB _u(8) 3003 #define PIO_IRQ0_INTS_SM0_LSB _u(8) 3004 #define PIO_IRQ0_INTS_SM0_ACCESS "RO" 3005 // ----------------------------------------------------------------------------- 3006 // Field : PIO_IRQ0_INTS_SM3_TXNFULL 3007 #define PIO_IRQ0_INTS_SM3_TXNFULL_RESET _u(0x0) 3008 #define PIO_IRQ0_INTS_SM3_TXNFULL_BITS _u(0x00000080) 3009 #define PIO_IRQ0_INTS_SM3_TXNFULL_MSB _u(7) 3010 #define PIO_IRQ0_INTS_SM3_TXNFULL_LSB _u(7) 3011 #define PIO_IRQ0_INTS_SM3_TXNFULL_ACCESS "RO" 3012 // ----------------------------------------------------------------------------- 3013 // Field : PIO_IRQ0_INTS_SM2_TXNFULL 3014 #define PIO_IRQ0_INTS_SM2_TXNFULL_RESET _u(0x0) 3015 #define PIO_IRQ0_INTS_SM2_TXNFULL_BITS _u(0x00000040) 3016 #define PIO_IRQ0_INTS_SM2_TXNFULL_MSB _u(6) 3017 #define PIO_IRQ0_INTS_SM2_TXNFULL_LSB _u(6) 3018 #define PIO_IRQ0_INTS_SM2_TXNFULL_ACCESS "RO" 3019 // ----------------------------------------------------------------------------- 3020 // Field : PIO_IRQ0_INTS_SM1_TXNFULL 3021 #define PIO_IRQ0_INTS_SM1_TXNFULL_RESET _u(0x0) 3022 #define PIO_IRQ0_INTS_SM1_TXNFULL_BITS _u(0x00000020) 3023 #define PIO_IRQ0_INTS_SM1_TXNFULL_MSB _u(5) 3024 #define PIO_IRQ0_INTS_SM1_TXNFULL_LSB _u(5) 3025 #define PIO_IRQ0_INTS_SM1_TXNFULL_ACCESS "RO" 3026 // ----------------------------------------------------------------------------- 3027 // Field : PIO_IRQ0_INTS_SM0_TXNFULL 3028 #define PIO_IRQ0_INTS_SM0_TXNFULL_RESET _u(0x0) 3029 #define PIO_IRQ0_INTS_SM0_TXNFULL_BITS _u(0x00000010) 3030 #define PIO_IRQ0_INTS_SM0_TXNFULL_MSB _u(4) 3031 #define PIO_IRQ0_INTS_SM0_TXNFULL_LSB _u(4) 3032 #define PIO_IRQ0_INTS_SM0_TXNFULL_ACCESS "RO" 3033 // ----------------------------------------------------------------------------- 3034 // Field : PIO_IRQ0_INTS_SM3_RXNEMPTY 3035 #define PIO_IRQ0_INTS_SM3_RXNEMPTY_RESET _u(0x0) 3036 #define PIO_IRQ0_INTS_SM3_RXNEMPTY_BITS _u(0x00000008) 3037 #define PIO_IRQ0_INTS_SM3_RXNEMPTY_MSB _u(3) 3038 #define PIO_IRQ0_INTS_SM3_RXNEMPTY_LSB _u(3) 3039 #define PIO_IRQ0_INTS_SM3_RXNEMPTY_ACCESS "RO" 3040 // ----------------------------------------------------------------------------- 3041 // Field : PIO_IRQ0_INTS_SM2_RXNEMPTY 3042 #define PIO_IRQ0_INTS_SM2_RXNEMPTY_RESET _u(0x0) 3043 #define PIO_IRQ0_INTS_SM2_RXNEMPTY_BITS _u(0x00000004) 3044 #define PIO_IRQ0_INTS_SM2_RXNEMPTY_MSB _u(2) 3045 #define PIO_IRQ0_INTS_SM2_RXNEMPTY_LSB _u(2) 3046 #define PIO_IRQ0_INTS_SM2_RXNEMPTY_ACCESS "RO" 3047 // ----------------------------------------------------------------------------- 3048 // Field : PIO_IRQ0_INTS_SM1_RXNEMPTY 3049 #define PIO_IRQ0_INTS_SM1_RXNEMPTY_RESET _u(0x0) 3050 #define PIO_IRQ0_INTS_SM1_RXNEMPTY_BITS _u(0x00000002) 3051 #define PIO_IRQ0_INTS_SM1_RXNEMPTY_MSB _u(1) 3052 #define PIO_IRQ0_INTS_SM1_RXNEMPTY_LSB _u(1) 3053 #define PIO_IRQ0_INTS_SM1_RXNEMPTY_ACCESS "RO" 3054 // ----------------------------------------------------------------------------- 3055 // Field : PIO_IRQ0_INTS_SM0_RXNEMPTY 3056 #define PIO_IRQ0_INTS_SM0_RXNEMPTY_RESET _u(0x0) 3057 #define PIO_IRQ0_INTS_SM0_RXNEMPTY_BITS _u(0x00000001) 3058 #define PIO_IRQ0_INTS_SM0_RXNEMPTY_MSB _u(0) 3059 #define PIO_IRQ0_INTS_SM0_RXNEMPTY_LSB _u(0) 3060 #define PIO_IRQ0_INTS_SM0_RXNEMPTY_ACCESS "RO" 3061 // ============================================================================= 3062 // Register : PIO_IRQ1_INTE 3063 // Description : Interrupt Enable for irq1 3064 #define PIO_IRQ1_INTE_OFFSET _u(0x0000017c) 3065 #define PIO_IRQ1_INTE_BITS _u(0x0000ffff) 3066 #define PIO_IRQ1_INTE_RESET _u(0x00000000) 3067 // ----------------------------------------------------------------------------- 3068 // Field : PIO_IRQ1_INTE_SM7 3069 #define PIO_IRQ1_INTE_SM7_RESET _u(0x0) 3070 #define PIO_IRQ1_INTE_SM7_BITS _u(0x00008000) 3071 #define PIO_IRQ1_INTE_SM7_MSB _u(15) 3072 #define PIO_IRQ1_INTE_SM7_LSB _u(15) 3073 #define PIO_IRQ1_INTE_SM7_ACCESS "RW" 3074 // ----------------------------------------------------------------------------- 3075 // Field : PIO_IRQ1_INTE_SM6 3076 #define PIO_IRQ1_INTE_SM6_RESET _u(0x0) 3077 #define PIO_IRQ1_INTE_SM6_BITS _u(0x00004000) 3078 #define PIO_IRQ1_INTE_SM6_MSB _u(14) 3079 #define PIO_IRQ1_INTE_SM6_LSB _u(14) 3080 #define PIO_IRQ1_INTE_SM6_ACCESS "RW" 3081 // ----------------------------------------------------------------------------- 3082 // Field : PIO_IRQ1_INTE_SM5 3083 #define PIO_IRQ1_INTE_SM5_RESET _u(0x0) 3084 #define PIO_IRQ1_INTE_SM5_BITS _u(0x00002000) 3085 #define PIO_IRQ1_INTE_SM5_MSB _u(13) 3086 #define PIO_IRQ1_INTE_SM5_LSB _u(13) 3087 #define PIO_IRQ1_INTE_SM5_ACCESS "RW" 3088 // ----------------------------------------------------------------------------- 3089 // Field : PIO_IRQ1_INTE_SM4 3090 #define PIO_IRQ1_INTE_SM4_RESET _u(0x0) 3091 #define PIO_IRQ1_INTE_SM4_BITS _u(0x00001000) 3092 #define PIO_IRQ1_INTE_SM4_MSB _u(12) 3093 #define PIO_IRQ1_INTE_SM4_LSB _u(12) 3094 #define PIO_IRQ1_INTE_SM4_ACCESS "RW" 3095 // ----------------------------------------------------------------------------- 3096 // Field : PIO_IRQ1_INTE_SM3 3097 #define PIO_IRQ1_INTE_SM3_RESET _u(0x0) 3098 #define PIO_IRQ1_INTE_SM3_BITS _u(0x00000800) 3099 #define PIO_IRQ1_INTE_SM3_MSB _u(11) 3100 #define PIO_IRQ1_INTE_SM3_LSB _u(11) 3101 #define PIO_IRQ1_INTE_SM3_ACCESS "RW" 3102 // ----------------------------------------------------------------------------- 3103 // Field : PIO_IRQ1_INTE_SM2 3104 #define PIO_IRQ1_INTE_SM2_RESET _u(0x0) 3105 #define PIO_IRQ1_INTE_SM2_BITS _u(0x00000400) 3106 #define PIO_IRQ1_INTE_SM2_MSB _u(10) 3107 #define PIO_IRQ1_INTE_SM2_LSB _u(10) 3108 #define PIO_IRQ1_INTE_SM2_ACCESS "RW" 3109 // ----------------------------------------------------------------------------- 3110 // Field : PIO_IRQ1_INTE_SM1 3111 #define PIO_IRQ1_INTE_SM1_RESET _u(0x0) 3112 #define PIO_IRQ1_INTE_SM1_BITS _u(0x00000200) 3113 #define PIO_IRQ1_INTE_SM1_MSB _u(9) 3114 #define PIO_IRQ1_INTE_SM1_LSB _u(9) 3115 #define PIO_IRQ1_INTE_SM1_ACCESS "RW" 3116 // ----------------------------------------------------------------------------- 3117 // Field : PIO_IRQ1_INTE_SM0 3118 #define PIO_IRQ1_INTE_SM0_RESET _u(0x0) 3119 #define PIO_IRQ1_INTE_SM0_BITS _u(0x00000100) 3120 #define PIO_IRQ1_INTE_SM0_MSB _u(8) 3121 #define PIO_IRQ1_INTE_SM0_LSB _u(8) 3122 #define PIO_IRQ1_INTE_SM0_ACCESS "RW" 3123 // ----------------------------------------------------------------------------- 3124 // Field : PIO_IRQ1_INTE_SM3_TXNFULL 3125 #define PIO_IRQ1_INTE_SM3_TXNFULL_RESET _u(0x0) 3126 #define PIO_IRQ1_INTE_SM3_TXNFULL_BITS _u(0x00000080) 3127 #define PIO_IRQ1_INTE_SM3_TXNFULL_MSB _u(7) 3128 #define PIO_IRQ1_INTE_SM3_TXNFULL_LSB _u(7) 3129 #define PIO_IRQ1_INTE_SM3_TXNFULL_ACCESS "RW" 3130 // ----------------------------------------------------------------------------- 3131 // Field : PIO_IRQ1_INTE_SM2_TXNFULL 3132 #define PIO_IRQ1_INTE_SM2_TXNFULL_RESET _u(0x0) 3133 #define PIO_IRQ1_INTE_SM2_TXNFULL_BITS _u(0x00000040) 3134 #define PIO_IRQ1_INTE_SM2_TXNFULL_MSB _u(6) 3135 #define PIO_IRQ1_INTE_SM2_TXNFULL_LSB _u(6) 3136 #define PIO_IRQ1_INTE_SM2_TXNFULL_ACCESS "RW" 3137 // ----------------------------------------------------------------------------- 3138 // Field : PIO_IRQ1_INTE_SM1_TXNFULL 3139 #define PIO_IRQ1_INTE_SM1_TXNFULL_RESET _u(0x0) 3140 #define PIO_IRQ1_INTE_SM1_TXNFULL_BITS _u(0x00000020) 3141 #define PIO_IRQ1_INTE_SM1_TXNFULL_MSB _u(5) 3142 #define PIO_IRQ1_INTE_SM1_TXNFULL_LSB _u(5) 3143 #define PIO_IRQ1_INTE_SM1_TXNFULL_ACCESS "RW" 3144 // ----------------------------------------------------------------------------- 3145 // Field : PIO_IRQ1_INTE_SM0_TXNFULL 3146 #define PIO_IRQ1_INTE_SM0_TXNFULL_RESET _u(0x0) 3147 #define PIO_IRQ1_INTE_SM0_TXNFULL_BITS _u(0x00000010) 3148 #define PIO_IRQ1_INTE_SM0_TXNFULL_MSB _u(4) 3149 #define PIO_IRQ1_INTE_SM0_TXNFULL_LSB _u(4) 3150 #define PIO_IRQ1_INTE_SM0_TXNFULL_ACCESS "RW" 3151 // ----------------------------------------------------------------------------- 3152 // Field : PIO_IRQ1_INTE_SM3_RXNEMPTY 3153 #define PIO_IRQ1_INTE_SM3_RXNEMPTY_RESET _u(0x0) 3154 #define PIO_IRQ1_INTE_SM3_RXNEMPTY_BITS _u(0x00000008) 3155 #define PIO_IRQ1_INTE_SM3_RXNEMPTY_MSB _u(3) 3156 #define PIO_IRQ1_INTE_SM3_RXNEMPTY_LSB _u(3) 3157 #define PIO_IRQ1_INTE_SM3_RXNEMPTY_ACCESS "RW" 3158 // ----------------------------------------------------------------------------- 3159 // Field : PIO_IRQ1_INTE_SM2_RXNEMPTY 3160 #define PIO_IRQ1_INTE_SM2_RXNEMPTY_RESET _u(0x0) 3161 #define PIO_IRQ1_INTE_SM2_RXNEMPTY_BITS _u(0x00000004) 3162 #define PIO_IRQ1_INTE_SM2_RXNEMPTY_MSB _u(2) 3163 #define PIO_IRQ1_INTE_SM2_RXNEMPTY_LSB _u(2) 3164 #define PIO_IRQ1_INTE_SM2_RXNEMPTY_ACCESS "RW" 3165 // ----------------------------------------------------------------------------- 3166 // Field : PIO_IRQ1_INTE_SM1_RXNEMPTY 3167 #define PIO_IRQ1_INTE_SM1_RXNEMPTY_RESET _u(0x0) 3168 #define PIO_IRQ1_INTE_SM1_RXNEMPTY_BITS _u(0x00000002) 3169 #define PIO_IRQ1_INTE_SM1_RXNEMPTY_MSB _u(1) 3170 #define PIO_IRQ1_INTE_SM1_RXNEMPTY_LSB _u(1) 3171 #define PIO_IRQ1_INTE_SM1_RXNEMPTY_ACCESS "RW" 3172 // ----------------------------------------------------------------------------- 3173 // Field : PIO_IRQ1_INTE_SM0_RXNEMPTY 3174 #define PIO_IRQ1_INTE_SM0_RXNEMPTY_RESET _u(0x0) 3175 #define PIO_IRQ1_INTE_SM0_RXNEMPTY_BITS _u(0x00000001) 3176 #define PIO_IRQ1_INTE_SM0_RXNEMPTY_MSB _u(0) 3177 #define PIO_IRQ1_INTE_SM0_RXNEMPTY_LSB _u(0) 3178 #define PIO_IRQ1_INTE_SM0_RXNEMPTY_ACCESS "RW" 3179 // ============================================================================= 3180 // Register : PIO_IRQ1_INTF 3181 // Description : Interrupt Force for irq1 3182 #define PIO_IRQ1_INTF_OFFSET _u(0x00000180) 3183 #define PIO_IRQ1_INTF_BITS _u(0x0000ffff) 3184 #define PIO_IRQ1_INTF_RESET _u(0x00000000) 3185 // ----------------------------------------------------------------------------- 3186 // Field : PIO_IRQ1_INTF_SM7 3187 #define PIO_IRQ1_INTF_SM7_RESET _u(0x0) 3188 #define PIO_IRQ1_INTF_SM7_BITS _u(0x00008000) 3189 #define PIO_IRQ1_INTF_SM7_MSB _u(15) 3190 #define PIO_IRQ1_INTF_SM7_LSB _u(15) 3191 #define PIO_IRQ1_INTF_SM7_ACCESS "RW" 3192 // ----------------------------------------------------------------------------- 3193 // Field : PIO_IRQ1_INTF_SM6 3194 #define PIO_IRQ1_INTF_SM6_RESET _u(0x0) 3195 #define PIO_IRQ1_INTF_SM6_BITS _u(0x00004000) 3196 #define PIO_IRQ1_INTF_SM6_MSB _u(14) 3197 #define PIO_IRQ1_INTF_SM6_LSB _u(14) 3198 #define PIO_IRQ1_INTF_SM6_ACCESS "RW" 3199 // ----------------------------------------------------------------------------- 3200 // Field : PIO_IRQ1_INTF_SM5 3201 #define PIO_IRQ1_INTF_SM5_RESET _u(0x0) 3202 #define PIO_IRQ1_INTF_SM5_BITS _u(0x00002000) 3203 #define PIO_IRQ1_INTF_SM5_MSB _u(13) 3204 #define PIO_IRQ1_INTF_SM5_LSB _u(13) 3205 #define PIO_IRQ1_INTF_SM5_ACCESS "RW" 3206 // ----------------------------------------------------------------------------- 3207 // Field : PIO_IRQ1_INTF_SM4 3208 #define PIO_IRQ1_INTF_SM4_RESET _u(0x0) 3209 #define PIO_IRQ1_INTF_SM4_BITS _u(0x00001000) 3210 #define PIO_IRQ1_INTF_SM4_MSB _u(12) 3211 #define PIO_IRQ1_INTF_SM4_LSB _u(12) 3212 #define PIO_IRQ1_INTF_SM4_ACCESS "RW" 3213 // ----------------------------------------------------------------------------- 3214 // Field : PIO_IRQ1_INTF_SM3 3215 #define PIO_IRQ1_INTF_SM3_RESET _u(0x0) 3216 #define PIO_IRQ1_INTF_SM3_BITS _u(0x00000800) 3217 #define PIO_IRQ1_INTF_SM3_MSB _u(11) 3218 #define PIO_IRQ1_INTF_SM3_LSB _u(11) 3219 #define PIO_IRQ1_INTF_SM3_ACCESS "RW" 3220 // ----------------------------------------------------------------------------- 3221 // Field : PIO_IRQ1_INTF_SM2 3222 #define PIO_IRQ1_INTF_SM2_RESET _u(0x0) 3223 #define PIO_IRQ1_INTF_SM2_BITS _u(0x00000400) 3224 #define PIO_IRQ1_INTF_SM2_MSB _u(10) 3225 #define PIO_IRQ1_INTF_SM2_LSB _u(10) 3226 #define PIO_IRQ1_INTF_SM2_ACCESS "RW" 3227 // ----------------------------------------------------------------------------- 3228 // Field : PIO_IRQ1_INTF_SM1 3229 #define PIO_IRQ1_INTF_SM1_RESET _u(0x0) 3230 #define PIO_IRQ1_INTF_SM1_BITS _u(0x00000200) 3231 #define PIO_IRQ1_INTF_SM1_MSB _u(9) 3232 #define PIO_IRQ1_INTF_SM1_LSB _u(9) 3233 #define PIO_IRQ1_INTF_SM1_ACCESS "RW" 3234 // ----------------------------------------------------------------------------- 3235 // Field : PIO_IRQ1_INTF_SM0 3236 #define PIO_IRQ1_INTF_SM0_RESET _u(0x0) 3237 #define PIO_IRQ1_INTF_SM0_BITS _u(0x00000100) 3238 #define PIO_IRQ1_INTF_SM0_MSB _u(8) 3239 #define PIO_IRQ1_INTF_SM0_LSB _u(8) 3240 #define PIO_IRQ1_INTF_SM0_ACCESS "RW" 3241 // ----------------------------------------------------------------------------- 3242 // Field : PIO_IRQ1_INTF_SM3_TXNFULL 3243 #define PIO_IRQ1_INTF_SM3_TXNFULL_RESET _u(0x0) 3244 #define PIO_IRQ1_INTF_SM3_TXNFULL_BITS _u(0x00000080) 3245 #define PIO_IRQ1_INTF_SM3_TXNFULL_MSB _u(7) 3246 #define PIO_IRQ1_INTF_SM3_TXNFULL_LSB _u(7) 3247 #define PIO_IRQ1_INTF_SM3_TXNFULL_ACCESS "RW" 3248 // ----------------------------------------------------------------------------- 3249 // Field : PIO_IRQ1_INTF_SM2_TXNFULL 3250 #define PIO_IRQ1_INTF_SM2_TXNFULL_RESET _u(0x0) 3251 #define PIO_IRQ1_INTF_SM2_TXNFULL_BITS _u(0x00000040) 3252 #define PIO_IRQ1_INTF_SM2_TXNFULL_MSB _u(6) 3253 #define PIO_IRQ1_INTF_SM2_TXNFULL_LSB _u(6) 3254 #define PIO_IRQ1_INTF_SM2_TXNFULL_ACCESS "RW" 3255 // ----------------------------------------------------------------------------- 3256 // Field : PIO_IRQ1_INTF_SM1_TXNFULL 3257 #define PIO_IRQ1_INTF_SM1_TXNFULL_RESET _u(0x0) 3258 #define PIO_IRQ1_INTF_SM1_TXNFULL_BITS _u(0x00000020) 3259 #define PIO_IRQ1_INTF_SM1_TXNFULL_MSB _u(5) 3260 #define PIO_IRQ1_INTF_SM1_TXNFULL_LSB _u(5) 3261 #define PIO_IRQ1_INTF_SM1_TXNFULL_ACCESS "RW" 3262 // ----------------------------------------------------------------------------- 3263 // Field : PIO_IRQ1_INTF_SM0_TXNFULL 3264 #define PIO_IRQ1_INTF_SM0_TXNFULL_RESET _u(0x0) 3265 #define PIO_IRQ1_INTF_SM0_TXNFULL_BITS _u(0x00000010) 3266 #define PIO_IRQ1_INTF_SM0_TXNFULL_MSB _u(4) 3267 #define PIO_IRQ1_INTF_SM0_TXNFULL_LSB _u(4) 3268 #define PIO_IRQ1_INTF_SM0_TXNFULL_ACCESS "RW" 3269 // ----------------------------------------------------------------------------- 3270 // Field : PIO_IRQ1_INTF_SM3_RXNEMPTY 3271 #define PIO_IRQ1_INTF_SM3_RXNEMPTY_RESET _u(0x0) 3272 #define PIO_IRQ1_INTF_SM3_RXNEMPTY_BITS _u(0x00000008) 3273 #define PIO_IRQ1_INTF_SM3_RXNEMPTY_MSB _u(3) 3274 #define PIO_IRQ1_INTF_SM3_RXNEMPTY_LSB _u(3) 3275 #define PIO_IRQ1_INTF_SM3_RXNEMPTY_ACCESS "RW" 3276 // ----------------------------------------------------------------------------- 3277 // Field : PIO_IRQ1_INTF_SM2_RXNEMPTY 3278 #define PIO_IRQ1_INTF_SM2_RXNEMPTY_RESET _u(0x0) 3279 #define PIO_IRQ1_INTF_SM2_RXNEMPTY_BITS _u(0x00000004) 3280 #define PIO_IRQ1_INTF_SM2_RXNEMPTY_MSB _u(2) 3281 #define PIO_IRQ1_INTF_SM2_RXNEMPTY_LSB _u(2) 3282 #define PIO_IRQ1_INTF_SM2_RXNEMPTY_ACCESS "RW" 3283 // ----------------------------------------------------------------------------- 3284 // Field : PIO_IRQ1_INTF_SM1_RXNEMPTY 3285 #define PIO_IRQ1_INTF_SM1_RXNEMPTY_RESET _u(0x0) 3286 #define PIO_IRQ1_INTF_SM1_RXNEMPTY_BITS _u(0x00000002) 3287 #define PIO_IRQ1_INTF_SM1_RXNEMPTY_MSB _u(1) 3288 #define PIO_IRQ1_INTF_SM1_RXNEMPTY_LSB _u(1) 3289 #define PIO_IRQ1_INTF_SM1_RXNEMPTY_ACCESS "RW" 3290 // ----------------------------------------------------------------------------- 3291 // Field : PIO_IRQ1_INTF_SM0_RXNEMPTY 3292 #define PIO_IRQ1_INTF_SM0_RXNEMPTY_RESET _u(0x0) 3293 #define PIO_IRQ1_INTF_SM0_RXNEMPTY_BITS _u(0x00000001) 3294 #define PIO_IRQ1_INTF_SM0_RXNEMPTY_MSB _u(0) 3295 #define PIO_IRQ1_INTF_SM0_RXNEMPTY_LSB _u(0) 3296 #define PIO_IRQ1_INTF_SM0_RXNEMPTY_ACCESS "RW" 3297 // ============================================================================= 3298 // Register : PIO_IRQ1_INTS 3299 // Description : Interrupt status after masking & forcing for irq1 3300 #define PIO_IRQ1_INTS_OFFSET _u(0x00000184) 3301 #define PIO_IRQ1_INTS_BITS _u(0x0000ffff) 3302 #define PIO_IRQ1_INTS_RESET _u(0x00000000) 3303 // ----------------------------------------------------------------------------- 3304 // Field : PIO_IRQ1_INTS_SM7 3305 #define PIO_IRQ1_INTS_SM7_RESET _u(0x0) 3306 #define PIO_IRQ1_INTS_SM7_BITS _u(0x00008000) 3307 #define PIO_IRQ1_INTS_SM7_MSB _u(15) 3308 #define PIO_IRQ1_INTS_SM7_LSB _u(15) 3309 #define PIO_IRQ1_INTS_SM7_ACCESS "RO" 3310 // ----------------------------------------------------------------------------- 3311 // Field : PIO_IRQ1_INTS_SM6 3312 #define PIO_IRQ1_INTS_SM6_RESET _u(0x0) 3313 #define PIO_IRQ1_INTS_SM6_BITS _u(0x00004000) 3314 #define PIO_IRQ1_INTS_SM6_MSB _u(14) 3315 #define PIO_IRQ1_INTS_SM6_LSB _u(14) 3316 #define PIO_IRQ1_INTS_SM6_ACCESS "RO" 3317 // ----------------------------------------------------------------------------- 3318 // Field : PIO_IRQ1_INTS_SM5 3319 #define PIO_IRQ1_INTS_SM5_RESET _u(0x0) 3320 #define PIO_IRQ1_INTS_SM5_BITS _u(0x00002000) 3321 #define PIO_IRQ1_INTS_SM5_MSB _u(13) 3322 #define PIO_IRQ1_INTS_SM5_LSB _u(13) 3323 #define PIO_IRQ1_INTS_SM5_ACCESS "RO" 3324 // ----------------------------------------------------------------------------- 3325 // Field : PIO_IRQ1_INTS_SM4 3326 #define PIO_IRQ1_INTS_SM4_RESET _u(0x0) 3327 #define PIO_IRQ1_INTS_SM4_BITS _u(0x00001000) 3328 #define PIO_IRQ1_INTS_SM4_MSB _u(12) 3329 #define PIO_IRQ1_INTS_SM4_LSB _u(12) 3330 #define PIO_IRQ1_INTS_SM4_ACCESS "RO" 3331 // ----------------------------------------------------------------------------- 3332 // Field : PIO_IRQ1_INTS_SM3 3333 #define PIO_IRQ1_INTS_SM3_RESET _u(0x0) 3334 #define PIO_IRQ1_INTS_SM3_BITS _u(0x00000800) 3335 #define PIO_IRQ1_INTS_SM3_MSB _u(11) 3336 #define PIO_IRQ1_INTS_SM3_LSB _u(11) 3337 #define PIO_IRQ1_INTS_SM3_ACCESS "RO" 3338 // ----------------------------------------------------------------------------- 3339 // Field : PIO_IRQ1_INTS_SM2 3340 #define PIO_IRQ1_INTS_SM2_RESET _u(0x0) 3341 #define PIO_IRQ1_INTS_SM2_BITS _u(0x00000400) 3342 #define PIO_IRQ1_INTS_SM2_MSB _u(10) 3343 #define PIO_IRQ1_INTS_SM2_LSB _u(10) 3344 #define PIO_IRQ1_INTS_SM2_ACCESS "RO" 3345 // ----------------------------------------------------------------------------- 3346 // Field : PIO_IRQ1_INTS_SM1 3347 #define PIO_IRQ1_INTS_SM1_RESET _u(0x0) 3348 #define PIO_IRQ1_INTS_SM1_BITS _u(0x00000200) 3349 #define PIO_IRQ1_INTS_SM1_MSB _u(9) 3350 #define PIO_IRQ1_INTS_SM1_LSB _u(9) 3351 #define PIO_IRQ1_INTS_SM1_ACCESS "RO" 3352 // ----------------------------------------------------------------------------- 3353 // Field : PIO_IRQ1_INTS_SM0 3354 #define PIO_IRQ1_INTS_SM0_RESET _u(0x0) 3355 #define PIO_IRQ1_INTS_SM0_BITS _u(0x00000100) 3356 #define PIO_IRQ1_INTS_SM0_MSB _u(8) 3357 #define PIO_IRQ1_INTS_SM0_LSB _u(8) 3358 #define PIO_IRQ1_INTS_SM0_ACCESS "RO" 3359 // ----------------------------------------------------------------------------- 3360 // Field : PIO_IRQ1_INTS_SM3_TXNFULL 3361 #define PIO_IRQ1_INTS_SM3_TXNFULL_RESET _u(0x0) 3362 #define PIO_IRQ1_INTS_SM3_TXNFULL_BITS _u(0x00000080) 3363 #define PIO_IRQ1_INTS_SM3_TXNFULL_MSB _u(7) 3364 #define PIO_IRQ1_INTS_SM3_TXNFULL_LSB _u(7) 3365 #define PIO_IRQ1_INTS_SM3_TXNFULL_ACCESS "RO" 3366 // ----------------------------------------------------------------------------- 3367 // Field : PIO_IRQ1_INTS_SM2_TXNFULL 3368 #define PIO_IRQ1_INTS_SM2_TXNFULL_RESET _u(0x0) 3369 #define PIO_IRQ1_INTS_SM2_TXNFULL_BITS _u(0x00000040) 3370 #define PIO_IRQ1_INTS_SM2_TXNFULL_MSB _u(6) 3371 #define PIO_IRQ1_INTS_SM2_TXNFULL_LSB _u(6) 3372 #define PIO_IRQ1_INTS_SM2_TXNFULL_ACCESS "RO" 3373 // ----------------------------------------------------------------------------- 3374 // Field : PIO_IRQ1_INTS_SM1_TXNFULL 3375 #define PIO_IRQ1_INTS_SM1_TXNFULL_RESET _u(0x0) 3376 #define PIO_IRQ1_INTS_SM1_TXNFULL_BITS _u(0x00000020) 3377 #define PIO_IRQ1_INTS_SM1_TXNFULL_MSB _u(5) 3378 #define PIO_IRQ1_INTS_SM1_TXNFULL_LSB _u(5) 3379 #define PIO_IRQ1_INTS_SM1_TXNFULL_ACCESS "RO" 3380 // ----------------------------------------------------------------------------- 3381 // Field : PIO_IRQ1_INTS_SM0_TXNFULL 3382 #define PIO_IRQ1_INTS_SM0_TXNFULL_RESET _u(0x0) 3383 #define PIO_IRQ1_INTS_SM0_TXNFULL_BITS _u(0x00000010) 3384 #define PIO_IRQ1_INTS_SM0_TXNFULL_MSB _u(4) 3385 #define PIO_IRQ1_INTS_SM0_TXNFULL_LSB _u(4) 3386 #define PIO_IRQ1_INTS_SM0_TXNFULL_ACCESS "RO" 3387 // ----------------------------------------------------------------------------- 3388 // Field : PIO_IRQ1_INTS_SM3_RXNEMPTY 3389 #define PIO_IRQ1_INTS_SM3_RXNEMPTY_RESET _u(0x0) 3390 #define PIO_IRQ1_INTS_SM3_RXNEMPTY_BITS _u(0x00000008) 3391 #define PIO_IRQ1_INTS_SM3_RXNEMPTY_MSB _u(3) 3392 #define PIO_IRQ1_INTS_SM3_RXNEMPTY_LSB _u(3) 3393 #define PIO_IRQ1_INTS_SM3_RXNEMPTY_ACCESS "RO" 3394 // ----------------------------------------------------------------------------- 3395 // Field : PIO_IRQ1_INTS_SM2_RXNEMPTY 3396 #define PIO_IRQ1_INTS_SM2_RXNEMPTY_RESET _u(0x0) 3397 #define PIO_IRQ1_INTS_SM2_RXNEMPTY_BITS _u(0x00000004) 3398 #define PIO_IRQ1_INTS_SM2_RXNEMPTY_MSB _u(2) 3399 #define PIO_IRQ1_INTS_SM2_RXNEMPTY_LSB _u(2) 3400 #define PIO_IRQ1_INTS_SM2_RXNEMPTY_ACCESS "RO" 3401 // ----------------------------------------------------------------------------- 3402 // Field : PIO_IRQ1_INTS_SM1_RXNEMPTY 3403 #define PIO_IRQ1_INTS_SM1_RXNEMPTY_RESET _u(0x0) 3404 #define PIO_IRQ1_INTS_SM1_RXNEMPTY_BITS _u(0x00000002) 3405 #define PIO_IRQ1_INTS_SM1_RXNEMPTY_MSB _u(1) 3406 #define PIO_IRQ1_INTS_SM1_RXNEMPTY_LSB _u(1) 3407 #define PIO_IRQ1_INTS_SM1_RXNEMPTY_ACCESS "RO" 3408 // ----------------------------------------------------------------------------- 3409 // Field : PIO_IRQ1_INTS_SM0_RXNEMPTY 3410 #define PIO_IRQ1_INTS_SM0_RXNEMPTY_RESET _u(0x0) 3411 #define PIO_IRQ1_INTS_SM0_RXNEMPTY_BITS _u(0x00000001) 3412 #define PIO_IRQ1_INTS_SM0_RXNEMPTY_MSB _u(0) 3413 #define PIO_IRQ1_INTS_SM0_RXNEMPTY_LSB _u(0) 3414 #define PIO_IRQ1_INTS_SM0_RXNEMPTY_ACCESS "RO" 3415 // ============================================================================= 3416 #endif // _HARDWARE_REGS_PIO_H 3417 3418