// THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT/** * Copyright (c) 2024 Raspberry Pi Ltd. * * SPDX-License-Identifier: BSD-3-Clause *//* ... */// =============================================================================// Register block : PIO// Version : 1// Bus type : ahbl// Description : Programmable IO block// =============================================================================#ifndef_HARDWARE_REGS_PIO_H#define_HARDWARE_REGS_PIO_H// =============================================================================// Register : PIO_CTRL// Description : PIO control register#definePIO_CTRL_OFFSET_u(0x00000000)#definePIO_CTRL_BITS_u(0x07ff0fff)#definePIO_CTRL_RESET_u(0x00000000)// -----------------------------------------------------------------------------// Field : PIO_CTRL_NEXTPREV_CLKDIV_RESTART// Description : Write 1 to restart the clock dividers of state machines in// neighbouring PIO blocks, as specified by NEXT_PIO_MASK and// PREV_PIO_MASK in the same write.//// This is equivalent to writing 1 to the corresponding// CLKDIV_RESTART bits in those PIOs' CTRL registers.#definePIO_CTRL_NEXTPREV_CLKDIV_RESTART_RESET_u(0x0)#definePIO_CTRL_NEXTPREV_CLKDIV_RESTART_BITS_u(0x04000000)#definePIO_CTRL_NEXTPREV_CLKDIV_RESTART_MSB_u(26)#definePIO_CTRL_NEXTPREV_CLKDIV_RESTART_LSB_u(26)#definePIO_CTRL_NEXTPREV_CLKDIV_RESTART_ACCESS"SC"// -----------------------------------------------------------------------------// Field : PIO_CTRL_NEXTPREV_SM_DISABLE// Description : Write 1 to disable state machines in neighbouring PIO blocks,// as specified by NEXT_PIO_MASK and PREV_PIO_MASK in the same// write.//// This is equivalent to clearing the corresponding SM_ENABLE bits// in those PIOs' CTRL registers.#definePIO_CTRL_NEXTPREV_SM_DISABLE_RESET_u(0x0)#definePIO_CTRL_NEXTPREV_SM_DISABLE_BITS_u(0x02000000)#definePIO_CTRL_NEXTPREV_SM_DISABLE_MSB_u(25)#definePIO_CTRL_NEXTPREV_SM_DISABLE_LSB_u(25)#definePIO_CTRL_NEXTPREV_SM_DISABLE_ACCESS"SC"// -----------------------------------------------------------------------------// Field : PIO_CTRL_NEXTPREV_SM_ENABLE// Description : Write 1 to enable state machines in neighbouring PIO blocks, as// specified by NEXT_PIO_MASK and PREV_PIO_MASK in the same write.//// This is equivalent to setting the corresponding SM_ENABLE bits// in those PIOs' CTRL registers.//// If both OTHERS_SM_ENABLE and OTHERS_SM_DISABLE are set, the// disable takes precedence.#definePIO_CTRL_NEXTPREV_SM_ENABLE_RESET_u(0x0)#definePIO_CTRL_NEXTPREV_SM_ENABLE_BITS_u(0x01000000)#definePIO_CTRL_NEXTPREV_SM_ENABLE_MSB_u(24)#definePIO_CTRL_NEXTPREV_SM_ENABLE_LSB_u(24)#definePIO_CTRL_NEXTPREV_SM_ENABLE_ACCESS"SC"// -----------------------------------------------------------------------------// Field : PIO_CTRL_NEXT_PIO_MASK// Description : A mask of state machines in the neighbouring higher-numbered// PIO block in the system (or PIO block 0 if this is the highest-// numbered PIO block) to which to apply the operations specified// by NEXTPREV_CLKDIV_RESTART, NEXTPREV_SM_ENABLE, and// NEXTPREV_SM_DISABLE in the same write.//// This allows state machines in a neighbouring PIO block to be// started/stopped/clock-synced exactly simultaneously with a// write to this PIO block's CTRL register.//// Note that in a system with two PIOs, NEXT_PIO_MASK and// PREV_PIO_MASK actually indicate the same PIO block. In this// case the effects are applied cumulatively (as though the masks// were OR'd together).//// Neighbouring PIO blocks are disconnected (status signals tied// to 0 and control signals ignored) if one block is accessible to// NonSecure code, and one is not.#definePIO_CTRL_NEXT_PIO_MASK_RESET_u(0x0)#definePIO_CTRL_NEXT_PIO_MASK_BITS_u(0x00f00000)#definePIO_CTRL_NEXT_PIO_MASK_MSB_u(23)#definePIO_CTRL_NEXT_PIO_MASK_LSB_u(20)#definePIO_CTRL_NEXT_PIO_MASK_ACCESS"SC"// -----------------------------------------------------------------------------// Field : PIO_CTRL_PREV_PIO_MASK// Description : A mask of state machines in the neighbouring lower-numbered PIO// block in the system (or the highest-numbered PIO block if this// is PIO block 0) to which to apply the operations specified by// OP_CLKDIV_RESTART, OP_ENABLE, OP_DISABLE in the same write.//// This allows state machines in a neighbouring PIO block to be// started/stopped/clock-synced exactly simultaneously with a// write to this PIO block's CTRL register.//// Neighbouring PIO blocks are disconnected (status signals tied// to 0 and control signals ignored) if one block is accessible to// NonSecure code, and one is not.#definePIO_CTRL_PREV_PIO_MASK_RESET_u(0x0)#definePIO_CTRL_PREV_PIO_MASK_BITS_u(0x000f0000)#definePIO_CTRL_PREV_PIO_MASK_MSB_u(19)#definePIO_CTRL_PREV_PIO_MASK_LSB_u(16)#definePIO_CTRL_PREV_PIO_MASK_ACCESS"SC"// -----------------------------------------------------------------------------// Field : PIO_CTRL_CLKDIV_RESTART// Description : Restart a state machine's clock divider from an initial phase// of 0. Clock dividers are free-running, so once started, their// output (including fractional jitter) is completely determined// by the integer/fractional divisor configured in SMx_CLKDIV.// This means that, if multiple clock dividers with the same// divisor are restarted simultaneously, by writing multiple 1// bits to this field, the execution clocks of those state// machines will run in precise lockstep.//// Note that setting/clearing SM_ENABLE does not stop the clock// divider from running, so once multiple state machines' clocks// are synchronised, it is safe to disable/reenable a state// machine, whilst keeping the clock dividers in sync.//// Note also that CLKDIV_RESTART can be written to whilst the// state machine is running, and this is useful to resynchronise// clock dividers after the divisors (SMx_CLKDIV) have been// changed on-the-fly.#definePIO_CTRL_CLKDIV_RESTART_RESET_u(0x0)#definePIO_CTRL_CLKDIV_RESTART_BITS_u(0x00000f00)#definePIO_CTRL_CLKDIV_RESTART_MSB_u(11)#definePIO_CTRL_CLKDIV_RESTART_LSB_u(8)#definePIO_CTRL_CLKDIV_RESTART_ACCESS"SC"// -----------------------------------------------------------------------------// Field : PIO_CTRL_SM_RESTART// Description : Write 1 to instantly clear internal SM state which may be// otherwise difficult to access and will affect future execution.//// Specifically, the following are cleared: input and output shift// counters; the contents of the input shift register; the delay// counter; the waiting-on-IRQ state; any stalled instruction// written to SMx_INSTR or run by OUT/MOV EXEC; any pin write left// asserted due to OUT_STICKY.//// The contents of the output shift register and the X/Y scratch// registers are not affected.#definePIO_CTRL_SM_RESTART_RESET_u(0x0)#definePIO_CTRL_SM_RESTART_BITS_u(0x000000f0)#definePIO_CTRL_SM_RESTART_MSB_u(7)#definePIO_CTRL_SM_RESTART_LSB_u(4)#definePIO_CTRL_SM_RESTART_ACCESS"SC"// -----------------------------------------------------------------------------// Field : PIO_CTRL_SM_ENABLE// Description : Enable/disable each of the four state machines by writing 1/0// to each of these four bits. When disabled, a state machine will// cease executing instructions, except those written directly to// SMx_INSTR by the system. Multiple bits can be set/cleared at// once to run/halt multiple state machines simultaneously.#definePIO_CTRL_SM_ENABLE_RESET_u(0x0)#definePIO_CTRL_SM_ENABLE_BITS_u(0x0000000f)#definePIO_CTRL_SM_ENABLE_MSB_u(3)#definePIO_CTRL_SM_ENABLE_LSB_u(0)#definePIO_CTRL_SM_ENABLE_ACCESS"RW"// =============================================================================// Register : PIO_FSTAT// Description : FIFO status register#definePIO_FSTAT_OFFSET_u(0x00000004)#definePIO_FSTAT_BITS_u(0x0f0f0f0f)#definePIO_FSTAT_RESET_u(0x0f000f00)// -----------------------------------------------------------------------------// Field : PIO_FSTAT_TXEMPTY// Description : State machine TX FIFO is empty#definePIO_FSTAT_TXEMPTY_RESET_u(0xf)#definePIO_FSTAT_TXEMPTY_BITS_u(0x0f000000)#definePIO_FSTAT_TXEMPTY_MSB_u(27)#definePIO_FSTAT_TXEMPTY_LSB_u(24)#definePIO_FSTAT_TXEMPTY_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_FSTAT_TXFULL// Description : State machine TX FIFO is full#definePIO_FSTAT_TXFULL_RESET_u(0x0)#definePIO_FSTAT_TXFULL_BITS_u(0x000f0000)#definePIO_FSTAT_TXFULL_MSB_u(19)#definePIO_FSTAT_TXFULL_LSB_u(16)#definePIO_FSTAT_TXFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_FSTAT_RXEMPTY// Description : State machine RX FIFO is empty#definePIO_FSTAT_RXEMPTY_RESET_u(0xf)#definePIO_FSTAT_RXEMPTY_BITS_u(0x00000f00)#definePIO_FSTAT_RXEMPTY_MSB_u(11)#definePIO_FSTAT_RXEMPTY_LSB_u(8)#definePIO_FSTAT_RXEMPTY_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_FSTAT_RXFULL// Description : State machine RX FIFO is full#definePIO_FSTAT_RXFULL_RESET_u(0x0)#definePIO_FSTAT_RXFULL_BITS_u(0x0000000f)#definePIO_FSTAT_RXFULL_MSB_u(3)#definePIO_FSTAT_RXFULL_LSB_u(0)#definePIO_FSTAT_RXFULL_ACCESS"RO"// =============================================================================// Register : PIO_FDEBUG// Description : FIFO debug register#definePIO_FDEBUG_OFFSET_u(0x00000008)#definePIO_FDEBUG_BITS_u(0x0f0f0f0f)#definePIO_FDEBUG_RESET_u(0x00000000)// -----------------------------------------------------------------------------// Field : PIO_FDEBUG_TXSTALL// Description : State machine has stalled on empty TX FIFO during a blocking// PULL, or an OUT with autopull enabled. Write 1 to clear.#definePIO_FDEBUG_TXSTALL_RESET_u(0x0)#definePIO_FDEBUG_TXSTALL_BITS_u(0x0f000000)#definePIO_FDEBUG_TXSTALL_MSB_u(27)#definePIO_FDEBUG_TXSTALL_LSB_u(24)#definePIO_FDEBUG_TXSTALL_ACCESS"WC"// -----------------------------------------------------------------------------// Field : PIO_FDEBUG_TXOVER// Description : TX FIFO overflow (i.e. write-on-full by the system) has// occurred. Write 1 to clear. Note that write-on-full does not// alter the state or contents of the FIFO in any way, but the// data that the system attempted to write is dropped, so if this// flag is set, your software has quite likely dropped some data// on the floor.#definePIO_FDEBUG_TXOVER_RESET_u(0x0)#definePIO_FDEBUG_TXOVER_BITS_u(0x000f0000)#definePIO_FDEBUG_TXOVER_MSB_u(19)#definePIO_FDEBUG_TXOVER_LSB_u(16)#definePIO_FDEBUG_TXOVER_ACCESS"WC"// -----------------------------------------------------------------------------// Field : PIO_FDEBUG_RXUNDER// Description : RX FIFO underflow (i.e. read-on-empty by the system) has// occurred. Write 1 to clear. Note that read-on-empty does not// perturb the state of the FIFO in any way, but the data returned// by reading from an empty FIFO is undefined, so this flag// generally only becomes set due to some kind of software error.#definePIO_FDEBUG_RXUNDER_RESET_u(0x0)#definePIO_FDEBUG_RXUNDER_BITS_u(0x00000f00)#definePIO_FDEBUG_RXUNDER_MSB_u(11)#definePIO_FDEBUG_RXUNDER_LSB_u(8)#definePIO_FDEBUG_RXUNDER_ACCESS"WC"// -----------------------------------------------------------------------------// Field : PIO_FDEBUG_RXSTALL// Description : State machine has stalled on full RX FIFO during a blocking// PUSH, or an IN with autopush enabled. This flag is also set// when a nonblocking PUSH to a full FIFO took place, in which// case the state machine has dropped data. Write 1 to clear.#definePIO_FDEBUG_RXSTALL_RESET_u(0x0)#definePIO_FDEBUG_RXSTALL_BITS_u(0x0000000f)#definePIO_FDEBUG_RXSTALL_MSB_u(3)#definePIO_FDEBUG_RXSTALL_LSB_u(0)#definePIO_FDEBUG_RXSTALL_ACCESS"WC"// =============================================================================// Register : PIO_FLEVEL// Description : FIFO levels#definePIO_FLEVEL_OFFSET_u(0x0000000c)#definePIO_FLEVEL_BITS_u(0xffffffff)#definePIO_FLEVEL_RESET_u(0x00000000)// -----------------------------------------------------------------------------// Field : PIO_FLEVEL_RX3#definePIO_FLEVEL_RX3_RESET_u(0x0)#definePIO_FLEVEL_RX3_BITS_u(0xf0000000)#definePIO_FLEVEL_RX3_MSB_u(31)#definePIO_FLEVEL_RX3_LSB_u(28)#definePIO_FLEVEL_RX3_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_FLEVEL_TX3#definePIO_FLEVEL_TX3_RESET_u(0x0)#definePIO_FLEVEL_TX3_BITS_u(0x0f000000)#definePIO_FLEVEL_TX3_MSB_u(27)#definePIO_FLEVEL_TX3_LSB_u(24)#definePIO_FLEVEL_TX3_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_FLEVEL_RX2#definePIO_FLEVEL_RX2_RESET_u(0x0)#definePIO_FLEVEL_RX2_BITS_u(0x00f00000)#definePIO_FLEVEL_RX2_MSB_u(23)#definePIO_FLEVEL_RX2_LSB_u(20)#definePIO_FLEVEL_RX2_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_FLEVEL_TX2#definePIO_FLEVEL_TX2_RESET_u(0x0)#definePIO_FLEVEL_TX2_BITS_u(0x000f0000)#definePIO_FLEVEL_TX2_MSB_u(19)#definePIO_FLEVEL_TX2_LSB_u(16)#definePIO_FLEVEL_TX2_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_FLEVEL_RX1#definePIO_FLEVEL_RX1_RESET_u(0x0)#definePIO_FLEVEL_RX1_BITS_u(0x0000f000)#definePIO_FLEVEL_RX1_MSB_u(15)#definePIO_FLEVEL_RX1_LSB_u(12)#definePIO_FLEVEL_RX1_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_FLEVEL_TX1#definePIO_FLEVEL_TX1_RESET_u(0x0)#definePIO_FLEVEL_TX1_BITS_u(0x00000f00)#definePIO_FLEVEL_TX1_MSB_u(11)#definePIO_FLEVEL_TX1_LSB_u(8)#definePIO_FLEVEL_TX1_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_FLEVEL_RX0#definePIO_FLEVEL_RX0_RESET_u(0x0)#definePIO_FLEVEL_RX0_BITS_u(0x000000f0)#definePIO_FLEVEL_RX0_MSB_u(7)#definePIO_FLEVEL_RX0_LSB_u(4)#definePIO_FLEVEL_RX0_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_FLEVEL_TX0#definePIO_FLEVEL_TX0_RESET_u(0x0)#definePIO_FLEVEL_TX0_BITS_u(0x0000000f)#definePIO_FLEVEL_TX0_MSB_u(3)#definePIO_FLEVEL_TX0_LSB_u(0)#definePIO_FLEVEL_TX0_ACCESS"RO"// =============================================================================// Register : PIO_TXF0// Description : Direct write access to the TX FIFO for this state machine. Each// write pushes one word to the FIFO. Attempting to write to a// full FIFO has no effect on the FIFO state or contents, and sets// the sticky FDEBUG_TXOVER error flag for this FIFO.#definePIO_TXF0_OFFSET_u(0x00000010)#definePIO_TXF0_BITS_u(0xffffffff)#definePIO_TXF0_RESET_u(0x00000000)#definePIO_TXF0_MSB_u(31)#definePIO_TXF0_LSB_u(0)#definePIO_TXF0_ACCESS"WF"// =============================================================================// Register : PIO_TXF1// Description : Direct write access to the TX FIFO for this state machine. Each// write pushes one word to the FIFO. Attempting to write to a// full FIFO has no effect on the FIFO state or contents, and sets// the sticky FDEBUG_TXOVER error flag for this FIFO.#definePIO_TXF1_OFFSET_u(0x00000014)#definePIO_TXF1_BITS_u(0xffffffff)#definePIO_TXF1_RESET_u(0x00000000)#definePIO_TXF1_MSB_u(31)#definePIO_TXF1_LSB_u(0)#definePIO_TXF1_ACCESS"WF"// =============================================================================// Register : PIO_TXF2// Description : Direct write access to the TX FIFO for this state machine. Each// write pushes one word to the FIFO. Attempting to write to a// full FIFO has no effect on the FIFO state or contents, and sets// the sticky FDEBUG_TXOVER error flag for this FIFO.#definePIO_TXF2_OFFSET_u(0x00000018)#definePIO_TXF2_BITS_u(0xffffffff)#definePIO_TXF2_RESET_u(0x00000000)#definePIO_TXF2_MSB_u(31)#definePIO_TXF2_LSB_u(0)#definePIO_TXF2_ACCESS"WF"// =============================================================================// Register : PIO_TXF3// Description : Direct write access to the TX FIFO for this state machine. Each// write pushes one word to the FIFO. Attempting to write to a// full FIFO has no effect on the FIFO state or contents, and sets// the sticky FDEBUG_TXOVER error flag for this FIFO.#definePIO_TXF3_OFFSET_u(0x0000001c)#definePIO_TXF3_BITS_u(0xffffffff)#definePIO_TXF3_RESET_u(0x00000000)#definePIO_TXF3_MSB_u(31)#definePIO_TXF3_LSB_u(0)#definePIO_TXF3_ACCESS"WF"// =============================================================================// Register : PIO_RXF0// Description : Direct read access to the RX FIFO for this state machine. Each// read pops one word from the FIFO. Attempting to read from an// empty FIFO has no effect on the FIFO state, and sets the sticky// FDEBUG_RXUNDER error flag for this FIFO. The data returned to// the system on a read from an empty FIFO is undefined.#definePIO_RXF0_OFFSET_u(0x00000020)#definePIO_RXF0_BITS_u(0xffffffff)#definePIO_RXF0_RESET"-"#definePIO_RXF0_MSB_u(31)#definePIO_RXF0_LSB_u(0)#definePIO_RXF0_ACCESS"RF"// =============================================================================// Register : PIO_RXF1// Description : Direct read access to the RX FIFO for this state machine. Each// read pops one word from the FIFO. Attempting to read from an// empty FIFO has no effect on the FIFO state, and sets the sticky// FDEBUG_RXUNDER error flag for this FIFO. The data returned to// the system on a read from an empty FIFO is undefined.#definePIO_RXF1_OFFSET_u(0x00000024)#definePIO_RXF1_BITS_u(0xffffffff)#definePIO_RXF1_RESET"-"#definePIO_RXF1_MSB_u(31)#definePIO_RXF1_LSB_u(0)#definePIO_RXF1_ACCESS"RF"// =============================================================================// Register : PIO_RXF2// Description : Direct read access to the RX FIFO for this state machine. Each// read pops one word from the FIFO. Attempting to read from an// empty FIFO has no effect on the FIFO state, and sets the sticky// FDEBUG_RXUNDER error flag for this FIFO. The data returned to// the system on a read from an empty FIFO is undefined.#definePIO_RXF2_OFFSET_u(0x00000028)#definePIO_RXF2_BITS_u(0xffffffff)#definePIO_RXF2_RESET"-"#definePIO_RXF2_MSB_u(31)#definePIO_RXF2_LSB_u(0)#definePIO_RXF2_ACCESS"RF"// =============================================================================// Register : PIO_RXF3// Description : Direct read access to the RX FIFO for this state machine. Each// read pops one word from the FIFO. Attempting to read from an// empty FIFO has no effect on the FIFO state, and sets the sticky// FDEBUG_RXUNDER error flag for this FIFO. The data returned to// the system on a read from an empty FIFO is undefined.#definePIO_RXF3_OFFSET_u(0x0000002c)#definePIO_RXF3_BITS_u(0xffffffff)#definePIO_RXF3_RESET"-"#definePIO_RXF3_MSB_u(31)#definePIO_RXF3_LSB_u(0)#definePIO_RXF3_ACCESS"RF"// =============================================================================// Register : PIO_IRQ// Description : State machine IRQ flags register. Write 1 to clear. There are// eight state machine IRQ flags, which can be set, cleared, and// waited on by the state machines. There's no fixed association// between flags and state machines -- any state machine can use// any flag.//// Any of the eight flags can be used for timing synchronisation// between state machines, using IRQ and WAIT instructions. Any// combination of the eight flags can also routed out to either of// the two system-level interrupt requests, alongside FIFO status// interrupts -- see e.g. IRQ0_INTE.#definePIO_IRQ_OFFSET_u(0x00000030)#definePIO_IRQ_BITS_u(0x000000ff)#definePIO_IRQ_RESET_u(0x00000000)#definePIO_IRQ_MSB_u(7)#definePIO_IRQ_LSB_u(0)#definePIO_IRQ_ACCESS"WC"// =============================================================================// Register : PIO_IRQ_FORCE// Description : Writing a 1 to each of these bits will forcibly assert the// corresponding IRQ. Note this is different to the INTF register:// writing here affects PIO internal state. INTF just asserts the// processor-facing IRQ signal for testing ISRs, and is not// visible to the state machines.#definePIO_IRQ_FORCE_OFFSET_u(0x00000034)#definePIO_IRQ_FORCE_BITS_u(0x000000ff)#definePIO_IRQ_FORCE_RESET_u(0x00000000)#definePIO_IRQ_FORCE_MSB_u(7)#definePIO_IRQ_FORCE_LSB_u(0)#definePIO_IRQ_FORCE_ACCESS"WF"// =============================================================================// Register : PIO_INPUT_SYNC_BYPASS// Description : There is a 2-flipflop synchronizer on each GPIO input, which// protects PIO logic from metastabilities. This increases input// delay, and for fast synchronous IO (e.g. SPI) these// synchronizers may need to be bypassed. Each bit in this// register corresponds to one GPIO.// 0 -> input is synchronized (default)// 1 -> synchronizer is bypassed// If in doubt, leave this register as all zeroes.#definePIO_INPUT_SYNC_BYPASS_OFFSET_u(0x00000038)#definePIO_INPUT_SYNC_BYPASS_BITS_u(0xffffffff)#definePIO_INPUT_SYNC_BYPASS_RESET_u(0x00000000)#definePIO_INPUT_SYNC_BYPASS_MSB_u(31)#definePIO_INPUT_SYNC_BYPASS_LSB_u(0)#definePIO_INPUT_SYNC_BYPASS_ACCESS"RW"// =============================================================================// Register : PIO_DBG_PADOUT// Description : Read to sample the pad output values PIO is currently driving// to the GPIOs. On RP2040 there are 30 GPIOs, so the two most// significant bits are hardwired to 0.#definePIO_DBG_PADOUT_OFFSET_u(0x0000003c)#definePIO_DBG_PADOUT_BITS_u(0xffffffff)#definePIO_DBG_PADOUT_RESET_u(0x00000000)#definePIO_DBG_PADOUT_MSB_u(31)#definePIO_DBG_PADOUT_LSB_u(0)#definePIO_DBG_PADOUT_ACCESS"RO"// =============================================================================// Register : PIO_DBG_PADOE// Description : Read to sample the pad output enables (direction) PIO is// currently driving to the GPIOs. On RP2040 there are 30 GPIOs,// so the two most significant bits are hardwired to 0.#definePIO_DBG_PADOE_OFFSET_u(0x00000040)#definePIO_DBG_PADOE_BITS_u(0xffffffff)#definePIO_DBG_PADOE_RESET_u(0x00000000)#definePIO_DBG_PADOE_MSB_u(31)#definePIO_DBG_PADOE_LSB_u(0)#definePIO_DBG_PADOE_ACCESS"RO"// =============================================================================// Register : PIO_DBG_CFGINFO// Description : The PIO hardware has some free parameters that may vary between// chip products.// These should be provided in the chip datasheet, but are also// exposed here.#definePIO_DBG_CFGINFO_OFFSET_u(0x00000044)#definePIO_DBG_CFGINFO_BITS_u(0xf03f0f3f)#definePIO_DBG_CFGINFO_RESET_u(0x10000000)// -----------------------------------------------------------------------------// Field : PIO_DBG_CFGINFO_VERSION// Description : Version of the core PIO hardware.// 0x0 -> Version 0 (RP2040)// 0x1 -> Version 1 (RP2350)#definePIO_DBG_CFGINFO_VERSION_RESET_u(0x1)#definePIO_DBG_CFGINFO_VERSION_BITS_u(0xf0000000)#definePIO_DBG_CFGINFO_VERSION_MSB_u(31)#definePIO_DBG_CFGINFO_VERSION_LSB_u(28)#definePIO_DBG_CFGINFO_VERSION_ACCESS"RO"#definePIO_DBG_CFGINFO_VERSION_VALUE_V0_u(0x0)#definePIO_DBG_CFGINFO_VERSION_VALUE_V1_u(0x1)// -----------------------------------------------------------------------------// Field : PIO_DBG_CFGINFO_IMEM_SIZE// Description : The size of the instruction memory, measured in units of one// instruction#definePIO_DBG_CFGINFO_IMEM_SIZE_RESET"-"#definePIO_DBG_CFGINFO_IMEM_SIZE_BITS_u(0x003f0000)#definePIO_DBG_CFGINFO_IMEM_SIZE_MSB_u(21)#definePIO_DBG_CFGINFO_IMEM_SIZE_LSB_u(16)#definePIO_DBG_CFGINFO_IMEM_SIZE_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_DBG_CFGINFO_SM_COUNT// Description : The number of state machines this PIO instance is equipped// with.#definePIO_DBG_CFGINFO_SM_COUNT_RESET"-"#definePIO_DBG_CFGINFO_SM_COUNT_BITS_u(0x00000f00)#definePIO_DBG_CFGINFO_SM_COUNT_MSB_u(11)#definePIO_DBG_CFGINFO_SM_COUNT_LSB_u(8)#definePIO_DBG_CFGINFO_SM_COUNT_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_DBG_CFGINFO_FIFO_DEPTH// Description : The depth of the state machine TX/RX FIFOs, measured in words.// Joining fifos via SHIFTCTRL_FJOIN gives one FIFO with double// this depth.#definePIO_DBG_CFGINFO_FIFO_DEPTH_RESET"-"#definePIO_DBG_CFGINFO_FIFO_DEPTH_BITS_u(0x0000003f)#definePIO_DBG_CFGINFO_FIFO_DEPTH_MSB_u(5)#definePIO_DBG_CFGINFO_FIFO_DEPTH_LSB_u(0)#definePIO_DBG_CFGINFO_FIFO_DEPTH_ACCESS"RO"// =============================================================================// Register : PIO_INSTR_MEM0// Description : Write-only access to instruction memory location 0#definePIO_INSTR_MEM0_OFFSET_u(0x00000048)#definePIO_INSTR_MEM0_BITS_u(0x0000ffff)#definePIO_INSTR_MEM0_RESET_u(0x00000000)#definePIO_INSTR_MEM0_MSB_u(15)#definePIO_INSTR_MEM0_LSB_u(0)#definePIO_INSTR_MEM0_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM1// Description : Write-only access to instruction memory location 1#definePIO_INSTR_MEM1_OFFSET_u(0x0000004c)#definePIO_INSTR_MEM1_BITS_u(0x0000ffff)#definePIO_INSTR_MEM1_RESET_u(0x00000000)#definePIO_INSTR_MEM1_MSB_u(15)#definePIO_INSTR_MEM1_LSB_u(0)#definePIO_INSTR_MEM1_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM2// Description : Write-only access to instruction memory location 2#definePIO_INSTR_MEM2_OFFSET_u(0x00000050)#definePIO_INSTR_MEM2_BITS_u(0x0000ffff)#definePIO_INSTR_MEM2_RESET_u(0x00000000)#definePIO_INSTR_MEM2_MSB_u(15)#definePIO_INSTR_MEM2_LSB_u(0)#definePIO_INSTR_MEM2_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM3// Description : Write-only access to instruction memory location 3#definePIO_INSTR_MEM3_OFFSET_u(0x00000054)#definePIO_INSTR_MEM3_BITS_u(0x0000ffff)#definePIO_INSTR_MEM3_RESET_u(0x00000000)#definePIO_INSTR_MEM3_MSB_u(15)#definePIO_INSTR_MEM3_LSB_u(0)#definePIO_INSTR_MEM3_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM4// Description : Write-only access to instruction memory location 4#definePIO_INSTR_MEM4_OFFSET_u(0x00000058)#definePIO_INSTR_MEM4_BITS_u(0x0000ffff)#definePIO_INSTR_MEM4_RESET_u(0x00000000)#definePIO_INSTR_MEM4_MSB_u(15)#definePIO_INSTR_MEM4_LSB_u(0)#definePIO_INSTR_MEM4_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM5// Description : Write-only access to instruction memory location 5#definePIO_INSTR_MEM5_OFFSET_u(0x0000005c)#definePIO_INSTR_MEM5_BITS_u(0x0000ffff)#definePIO_INSTR_MEM5_RESET_u(0x00000000)#definePIO_INSTR_MEM5_MSB_u(15)#definePIO_INSTR_MEM5_LSB_u(0)#definePIO_INSTR_MEM5_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM6// Description : Write-only access to instruction memory location 6#definePIO_INSTR_MEM6_OFFSET_u(0x00000060)#definePIO_INSTR_MEM6_BITS_u(0x0000ffff)#definePIO_INSTR_MEM6_RESET_u(0x00000000)#definePIO_INSTR_MEM6_MSB_u(15)#definePIO_INSTR_MEM6_LSB_u(0)#definePIO_INSTR_MEM6_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM7// Description : Write-only access to instruction memory location 7#definePIO_INSTR_MEM7_OFFSET_u(0x00000064)#definePIO_INSTR_MEM7_BITS_u(0x0000ffff)#definePIO_INSTR_MEM7_RESET_u(0x00000000)#definePIO_INSTR_MEM7_MSB_u(15)#definePIO_INSTR_MEM7_LSB_u(0)#definePIO_INSTR_MEM7_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM8// Description : Write-only access to instruction memory location 8#definePIO_INSTR_MEM8_OFFSET_u(0x00000068)#definePIO_INSTR_MEM8_BITS_u(0x0000ffff)#definePIO_INSTR_MEM8_RESET_u(0x00000000)#definePIO_INSTR_MEM8_MSB_u(15)#definePIO_INSTR_MEM8_LSB_u(0)#definePIO_INSTR_MEM8_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM9// Description : Write-only access to instruction memory location 9#definePIO_INSTR_MEM9_OFFSET_u(0x0000006c)#definePIO_INSTR_MEM9_BITS_u(0x0000ffff)#definePIO_INSTR_MEM9_RESET_u(0x00000000)#definePIO_INSTR_MEM9_MSB_u(15)#definePIO_INSTR_MEM9_LSB_u(0)#definePIO_INSTR_MEM9_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM10// Description : Write-only access to instruction memory location 10#definePIO_INSTR_MEM10_OFFSET_u(0x00000070)#definePIO_INSTR_MEM10_BITS_u(0x0000ffff)#definePIO_INSTR_MEM10_RESET_u(0x00000000)#definePIO_INSTR_MEM10_MSB_u(15)#definePIO_INSTR_MEM10_LSB_u(0)#definePIO_INSTR_MEM10_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM11// Description : Write-only access to instruction memory location 11#definePIO_INSTR_MEM11_OFFSET_u(0x00000074)#definePIO_INSTR_MEM11_BITS_u(0x0000ffff)#definePIO_INSTR_MEM11_RESET_u(0x00000000)#definePIO_INSTR_MEM11_MSB_u(15)#definePIO_INSTR_MEM11_LSB_u(0)#definePIO_INSTR_MEM11_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM12// Description : Write-only access to instruction memory location 12#definePIO_INSTR_MEM12_OFFSET_u(0x00000078)#definePIO_INSTR_MEM12_BITS_u(0x0000ffff)#definePIO_INSTR_MEM12_RESET_u(0x00000000)#definePIO_INSTR_MEM12_MSB_u(15)#definePIO_INSTR_MEM12_LSB_u(0)#definePIO_INSTR_MEM12_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM13// Description : Write-only access to instruction memory location 13#definePIO_INSTR_MEM13_OFFSET_u(0x0000007c)#definePIO_INSTR_MEM13_BITS_u(0x0000ffff)#definePIO_INSTR_MEM13_RESET_u(0x00000000)#definePIO_INSTR_MEM13_MSB_u(15)#definePIO_INSTR_MEM13_LSB_u(0)#definePIO_INSTR_MEM13_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM14// Description : Write-only access to instruction memory location 14#definePIO_INSTR_MEM14_OFFSET_u(0x00000080)#definePIO_INSTR_MEM14_BITS_u(0x0000ffff)#definePIO_INSTR_MEM14_RESET_u(0x00000000)#definePIO_INSTR_MEM14_MSB_u(15)#definePIO_INSTR_MEM14_LSB_u(0)#definePIO_INSTR_MEM14_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM15// Description : Write-only access to instruction memory location 15#definePIO_INSTR_MEM15_OFFSET_u(0x00000084)#definePIO_INSTR_MEM15_BITS_u(0x0000ffff)#definePIO_INSTR_MEM15_RESET_u(0x00000000)#definePIO_INSTR_MEM15_MSB_u(15)#definePIO_INSTR_MEM15_LSB_u(0)#definePIO_INSTR_MEM15_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM16// Description : Write-only access to instruction memory location 16#definePIO_INSTR_MEM16_OFFSET_u(0x00000088)#definePIO_INSTR_MEM16_BITS_u(0x0000ffff)#definePIO_INSTR_MEM16_RESET_u(0x00000000)#definePIO_INSTR_MEM16_MSB_u(15)#definePIO_INSTR_MEM16_LSB_u(0)#definePIO_INSTR_MEM16_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM17// Description : Write-only access to instruction memory location 17#definePIO_INSTR_MEM17_OFFSET_u(0x0000008c)#definePIO_INSTR_MEM17_BITS_u(0x0000ffff)#definePIO_INSTR_MEM17_RESET_u(0x00000000)#definePIO_INSTR_MEM17_MSB_u(15)#definePIO_INSTR_MEM17_LSB_u(0)#definePIO_INSTR_MEM17_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM18// Description : Write-only access to instruction memory location 18#definePIO_INSTR_MEM18_OFFSET_u(0x00000090)#definePIO_INSTR_MEM18_BITS_u(0x0000ffff)#definePIO_INSTR_MEM18_RESET_u(0x00000000)#definePIO_INSTR_MEM18_MSB_u(15)#definePIO_INSTR_MEM18_LSB_u(0)#definePIO_INSTR_MEM18_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM19// Description : Write-only access to instruction memory location 19#definePIO_INSTR_MEM19_OFFSET_u(0x00000094)#definePIO_INSTR_MEM19_BITS_u(0x0000ffff)#definePIO_INSTR_MEM19_RESET_u(0x00000000)#definePIO_INSTR_MEM19_MSB_u(15)#definePIO_INSTR_MEM19_LSB_u(0)#definePIO_INSTR_MEM19_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM20// Description : Write-only access to instruction memory location 20#definePIO_INSTR_MEM20_OFFSET_u(0x00000098)#definePIO_INSTR_MEM20_BITS_u(0x0000ffff)#definePIO_INSTR_MEM20_RESET_u(0x00000000)#definePIO_INSTR_MEM20_MSB_u(15)#definePIO_INSTR_MEM20_LSB_u(0)#definePIO_INSTR_MEM20_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM21// Description : Write-only access to instruction memory location 21#definePIO_INSTR_MEM21_OFFSET_u(0x0000009c)#definePIO_INSTR_MEM21_BITS_u(0x0000ffff)#definePIO_INSTR_MEM21_RESET_u(0x00000000)#definePIO_INSTR_MEM21_MSB_u(15)#definePIO_INSTR_MEM21_LSB_u(0)#definePIO_INSTR_MEM21_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM22// Description : Write-only access to instruction memory location 22#definePIO_INSTR_MEM22_OFFSET_u(0x000000a0)#definePIO_INSTR_MEM22_BITS_u(0x0000ffff)#definePIO_INSTR_MEM22_RESET_u(0x00000000)#definePIO_INSTR_MEM22_MSB_u(15)#definePIO_INSTR_MEM22_LSB_u(0)#definePIO_INSTR_MEM22_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM23// Description : Write-only access to instruction memory location 23#definePIO_INSTR_MEM23_OFFSET_u(0x000000a4)#definePIO_INSTR_MEM23_BITS_u(0x0000ffff)#definePIO_INSTR_MEM23_RESET_u(0x00000000)#definePIO_INSTR_MEM23_MSB_u(15)#definePIO_INSTR_MEM23_LSB_u(0)#definePIO_INSTR_MEM23_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM24// Description : Write-only access to instruction memory location 24#definePIO_INSTR_MEM24_OFFSET_u(0x000000a8)#definePIO_INSTR_MEM24_BITS_u(0x0000ffff)#definePIO_INSTR_MEM24_RESET_u(0x00000000)#definePIO_INSTR_MEM24_MSB_u(15)#definePIO_INSTR_MEM24_LSB_u(0)#definePIO_INSTR_MEM24_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM25// Description : Write-only access to instruction memory location 25#definePIO_INSTR_MEM25_OFFSET_u(0x000000ac)#definePIO_INSTR_MEM25_BITS_u(0x0000ffff)#definePIO_INSTR_MEM25_RESET_u(0x00000000)#definePIO_INSTR_MEM25_MSB_u(15)#definePIO_INSTR_MEM25_LSB_u(0)#definePIO_INSTR_MEM25_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM26// Description : Write-only access to instruction memory location 26#definePIO_INSTR_MEM26_OFFSET_u(0x000000b0)#definePIO_INSTR_MEM26_BITS_u(0x0000ffff)#definePIO_INSTR_MEM26_RESET_u(0x00000000)#definePIO_INSTR_MEM26_MSB_u(15)#definePIO_INSTR_MEM26_LSB_u(0)#definePIO_INSTR_MEM26_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM27// Description : Write-only access to instruction memory location 27#definePIO_INSTR_MEM27_OFFSET_u(0x000000b4)#definePIO_INSTR_MEM27_BITS_u(0x0000ffff)#definePIO_INSTR_MEM27_RESET_u(0x00000000)#definePIO_INSTR_MEM27_MSB_u(15)#definePIO_INSTR_MEM27_LSB_u(0)#definePIO_INSTR_MEM27_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM28// Description : Write-only access to instruction memory location 28#definePIO_INSTR_MEM28_OFFSET_u(0x000000b8)#definePIO_INSTR_MEM28_BITS_u(0x0000ffff)#definePIO_INSTR_MEM28_RESET_u(0x00000000)#definePIO_INSTR_MEM28_MSB_u(15)#definePIO_INSTR_MEM28_LSB_u(0)#definePIO_INSTR_MEM28_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM29// Description : Write-only access to instruction memory location 29#definePIO_INSTR_MEM29_OFFSET_u(0x000000bc)#definePIO_INSTR_MEM29_BITS_u(0x0000ffff)#definePIO_INSTR_MEM29_RESET_u(0x00000000)#definePIO_INSTR_MEM29_MSB_u(15)#definePIO_INSTR_MEM29_LSB_u(0)#definePIO_INSTR_MEM29_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM30// Description : Write-only access to instruction memory location 30#definePIO_INSTR_MEM30_OFFSET_u(0x000000c0)#definePIO_INSTR_MEM30_BITS_u(0x0000ffff)#definePIO_INSTR_MEM30_RESET_u(0x00000000)#definePIO_INSTR_MEM30_MSB_u(15)#definePIO_INSTR_MEM30_LSB_u(0)#definePIO_INSTR_MEM30_ACCESS"WO"// =============================================================================// Register : PIO_INSTR_MEM31// Description : Write-only access to instruction memory location 31#definePIO_INSTR_MEM31_OFFSET_u(0x000000c4)#definePIO_INSTR_MEM31_BITS_u(0x0000ffff)#definePIO_INSTR_MEM31_RESET_u(0x00000000)#definePIO_INSTR_MEM31_MSB_u(15)#definePIO_INSTR_MEM31_LSB_u(0)#definePIO_INSTR_MEM31_ACCESS"WO"// =============================================================================// Register : PIO_SM0_CLKDIV// Description : Clock divisor register for state machine 0// Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256)#definePIO_SM0_CLKDIV_OFFSET_u(0x000000c8)#definePIO_SM0_CLKDIV_BITS_u(0xffffff00)#definePIO_SM0_CLKDIV_RESET_u(0x00010000)// -----------------------------------------------------------------------------// Field : PIO_SM0_CLKDIV_INT// Description : Effective frequency is sysclk/(int + frac/256).// Value of 0 is interpreted as 65536. If INT is 0, FRAC must also// be 0.#definePIO_SM0_CLKDIV_INT_RESET_u(0x0001)#definePIO_SM0_CLKDIV_INT_BITS_u(0xffff0000)#definePIO_SM0_CLKDIV_INT_MSB_u(31)#definePIO_SM0_CLKDIV_INT_LSB_u(16)#definePIO_SM0_CLKDIV_INT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_CLKDIV_FRAC// Description : Fractional part of clock divisor#definePIO_SM0_CLKDIV_FRAC_RESET_u(0x00)#definePIO_SM0_CLKDIV_FRAC_BITS_u(0x0000ff00)#definePIO_SM0_CLKDIV_FRAC_MSB_u(15)#definePIO_SM0_CLKDIV_FRAC_LSB_u(8)#definePIO_SM0_CLKDIV_FRAC_ACCESS"RW"// =============================================================================// Register : PIO_SM0_EXECCTRL// Description : Execution/behavioural settings for state machine 0#definePIO_SM0_EXECCTRL_OFFSET_u(0x000000cc)#definePIO_SM0_EXECCTRL_BITS_u(0xffffffff)#definePIO_SM0_EXECCTRL_RESET_u(0x0001f000)// -----------------------------------------------------------------------------// Field : PIO_SM0_EXECCTRL_EXEC_STALLED// Description : If 1, an instruction written to SMx_INSTR is stalled, and// latched by the state machine. Will clear to 0 once this// instruction completes.#definePIO_SM0_EXECCTRL_EXEC_STALLED_RESET_u(0x0)#definePIO_SM0_EXECCTRL_EXEC_STALLED_BITS_u(0x80000000)#definePIO_SM0_EXECCTRL_EXEC_STALLED_MSB_u(31)#definePIO_SM0_EXECCTRL_EXEC_STALLED_LSB_u(31)#definePIO_SM0_EXECCTRL_EXEC_STALLED_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_SM0_EXECCTRL_SIDE_EN// Description : If 1, the MSB of the Delay/Side-set instruction field is used// as side-set enable, rather than a side-set data bit. This// allows instructions to perform side-set optionally, rather than// on every instruction, but the maximum possible side-set width// is reduced from 5 to 4. Note that the value of// PINCTRL_SIDESET_COUNT is inclusive of this enable bit.#definePIO_SM0_EXECCTRL_SIDE_EN_RESET_u(0x0)#definePIO_SM0_EXECCTRL_SIDE_EN_BITS_u(0x40000000)#definePIO_SM0_EXECCTRL_SIDE_EN_MSB_u(30)#definePIO_SM0_EXECCTRL_SIDE_EN_LSB_u(30)#definePIO_SM0_EXECCTRL_SIDE_EN_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_EXECCTRL_SIDE_PINDIR// Description : If 1, side-set data is asserted to pin directions, instead of// pin values#definePIO_SM0_EXECCTRL_SIDE_PINDIR_RESET_u(0x0)#definePIO_SM0_EXECCTRL_SIDE_PINDIR_BITS_u(0x20000000)#definePIO_SM0_EXECCTRL_SIDE_PINDIR_MSB_u(29)#definePIO_SM0_EXECCTRL_SIDE_PINDIR_LSB_u(29)#definePIO_SM0_EXECCTRL_SIDE_PINDIR_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_EXECCTRL_JMP_PIN// Description : The GPIO number to use as condition for JMP PIN. Unaffected by// input mapping.#definePIO_SM0_EXECCTRL_JMP_PIN_RESET_u(0x00)#definePIO_SM0_EXECCTRL_JMP_PIN_BITS_u(0x1f000000)#definePIO_SM0_EXECCTRL_JMP_PIN_MSB_u(28)#definePIO_SM0_EXECCTRL_JMP_PIN_LSB_u(24)#definePIO_SM0_EXECCTRL_JMP_PIN_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_EXECCTRL_OUT_EN_SEL// Description : Which data bit to use for inline OUT enable#definePIO_SM0_EXECCTRL_OUT_EN_SEL_RESET_u(0x00)#definePIO_SM0_EXECCTRL_OUT_EN_SEL_BITS_u(0x00f80000)#definePIO_SM0_EXECCTRL_OUT_EN_SEL_MSB_u(23)#definePIO_SM0_EXECCTRL_OUT_EN_SEL_LSB_u(19)#definePIO_SM0_EXECCTRL_OUT_EN_SEL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_EXECCTRL_INLINE_OUT_EN// Description : If 1, use a bit of OUT data as an auxiliary write enable// When used in conjunction with OUT_STICKY, writes with an enable// of 0 will// deassert the latest pin write. This can create useful// masking/override behaviour// due to the priority ordering of state machine pin writes (SM0 <// SM1 < ...)#definePIO_SM0_EXECCTRL_INLINE_OUT_EN_RESET_u(0x0)#definePIO_SM0_EXECCTRL_INLINE_OUT_EN_BITS_u(0x00040000)#definePIO_SM0_EXECCTRL_INLINE_OUT_EN_MSB_u(18)#definePIO_SM0_EXECCTRL_INLINE_OUT_EN_LSB_u(18)#definePIO_SM0_EXECCTRL_INLINE_OUT_EN_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_EXECCTRL_OUT_STICKY// Description : Continuously assert the most recent OUT/SET to the pins#definePIO_SM0_EXECCTRL_OUT_STICKY_RESET_u(0x0)#definePIO_SM0_EXECCTRL_OUT_STICKY_BITS_u(0x00020000)#definePIO_SM0_EXECCTRL_OUT_STICKY_MSB_u(17)#definePIO_SM0_EXECCTRL_OUT_STICKY_LSB_u(17)#definePIO_SM0_EXECCTRL_OUT_STICKY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_EXECCTRL_WRAP_TOP// Description : After reaching this address, execution is wrapped to// wrap_bottom.// If the instruction is a jump, and the jump condition is true,// the jump takes priority.#definePIO_SM0_EXECCTRL_WRAP_TOP_RESET_u(0x1f)#definePIO_SM0_EXECCTRL_WRAP_TOP_BITS_u(0x0001f000)#definePIO_SM0_EXECCTRL_WRAP_TOP_MSB_u(16)#definePIO_SM0_EXECCTRL_WRAP_TOP_LSB_u(12)#definePIO_SM0_EXECCTRL_WRAP_TOP_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_EXECCTRL_WRAP_BOTTOM// Description : After reaching wrap_top, execution is wrapped to this address.#definePIO_SM0_EXECCTRL_WRAP_BOTTOM_RESET_u(0x00)#definePIO_SM0_EXECCTRL_WRAP_BOTTOM_BITS_u(0x00000f80)#definePIO_SM0_EXECCTRL_WRAP_BOTTOM_MSB_u(11)#definePIO_SM0_EXECCTRL_WRAP_BOTTOM_LSB_u(7)#definePIO_SM0_EXECCTRL_WRAP_BOTTOM_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_EXECCTRL_STATUS_SEL// Description : Comparison used for the MOV x, STATUS instruction.// 0x0 -> All-ones if TX FIFO level < N, otherwise all-zeroes// 0x1 -> All-ones if RX FIFO level < N, otherwise all-zeroes// 0x2 -> All-ones if the indexed IRQ flag is raised, otherwise all-zeroes#definePIO_SM0_EXECCTRL_STATUS_SEL_RESET_u(0x0)#definePIO_SM0_EXECCTRL_STATUS_SEL_BITS_u(0x00000060)#definePIO_SM0_EXECCTRL_STATUS_SEL_MSB_u(6)#definePIO_SM0_EXECCTRL_STATUS_SEL_LSB_u(5)#definePIO_SM0_EXECCTRL_STATUS_SEL_ACCESS"RW"#definePIO_SM0_EXECCTRL_STATUS_SEL_VALUE_TXLEVEL_u(0x0)#definePIO_SM0_EXECCTRL_STATUS_SEL_VALUE_RXLEVEL_u(0x1)#definePIO_SM0_EXECCTRL_STATUS_SEL_VALUE_IRQ_u(0x2)// -----------------------------------------------------------------------------// Field : PIO_SM0_EXECCTRL_STATUS_N// Description : Comparison level or IRQ index for the MOV x, STATUS// instruction.//// If STATUS_SEL is TXLEVEL or RXLEVEL, then values of STATUS_N// greater than the current FIFO depth are reserved, and have// undefined behaviour.// 0x00 -> Index 0-7 of an IRQ flag in this PIO block// 0x08 -> Index 0-7 of an IRQ flag in the next lower-numbered PIO block// 0x10 -> Index 0-7 of an IRQ flag in the next higher-numbered PIO block#definePIO_SM0_EXECCTRL_STATUS_N_RESET_u(0x00)#definePIO_SM0_EXECCTRL_STATUS_N_BITS_u(0x0000001f)#definePIO_SM0_EXECCTRL_STATUS_N_MSB_u(4)#definePIO_SM0_EXECCTRL_STATUS_N_LSB_u(0)#definePIO_SM0_EXECCTRL_STATUS_N_ACCESS"RW"#definePIO_SM0_EXECCTRL_STATUS_N_VALUE_IRQ_u(0x00)#definePIO_SM0_EXECCTRL_STATUS_N_VALUE_IRQ_PREVPIO_u(0x08)#definePIO_SM0_EXECCTRL_STATUS_N_VALUE_IRQ_NEXTPIO_u(0x10)// =============================================================================// Register : PIO_SM0_SHIFTCTRL// Description : Control behaviour of the input/output shift registers for state// machine 0#definePIO_SM0_SHIFTCTRL_OFFSET_u(0x000000d0)#definePIO_SM0_SHIFTCTRL_BITS_u(0xffffc01f)#definePIO_SM0_SHIFTCTRL_RESET_u(0x000c0000)// -----------------------------------------------------------------------------// Field : PIO_SM0_SHIFTCTRL_FJOIN_RX// Description : When 1, RX FIFO steals the TX FIFO's storage, and becomes twice// as deep.// TX FIFO is disabled as a result (always reads as both full and// empty).// FIFOs are flushed when this bit is changed.#definePIO_SM0_SHIFTCTRL_FJOIN_RX_RESET_u(0x0)#definePIO_SM0_SHIFTCTRL_FJOIN_RX_BITS_u(0x80000000)#definePIO_SM0_SHIFTCTRL_FJOIN_RX_MSB_u(31)#definePIO_SM0_SHIFTCTRL_FJOIN_RX_LSB_u(31)#definePIO_SM0_SHIFTCTRL_FJOIN_RX_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_SHIFTCTRL_FJOIN_TX// Description : When 1, TX FIFO steals the RX FIFO's storage, and becomes twice// as deep.// RX FIFO is disabled as a result (always reads as both full and// empty).// FIFOs are flushed when this bit is changed.#definePIO_SM0_SHIFTCTRL_FJOIN_TX_RESET_u(0x0)#definePIO_SM0_SHIFTCTRL_FJOIN_TX_BITS_u(0x40000000)#definePIO_SM0_SHIFTCTRL_FJOIN_TX_MSB_u(30)#definePIO_SM0_SHIFTCTRL_FJOIN_TX_LSB_u(30)#definePIO_SM0_SHIFTCTRL_FJOIN_TX_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_SHIFTCTRL_PULL_THRESH// Description : Number of bits shifted out of OSR before autopull, or// conditional pull (PULL IFEMPTY), will take place.// Write 0 for value of 32.#definePIO_SM0_SHIFTCTRL_PULL_THRESH_RESET_u(0x00)#definePIO_SM0_SHIFTCTRL_PULL_THRESH_BITS_u(0x3e000000)#definePIO_SM0_SHIFTCTRL_PULL_THRESH_MSB_u(29)#definePIO_SM0_SHIFTCTRL_PULL_THRESH_LSB_u(25)#definePIO_SM0_SHIFTCTRL_PULL_THRESH_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_SHIFTCTRL_PUSH_THRESH// Description : Number of bits shifted into ISR before autopush, or conditional// push (PUSH IFFULL), will take place.// Write 0 for value of 32.#definePIO_SM0_SHIFTCTRL_PUSH_THRESH_RESET_u(0x00)#definePIO_SM0_SHIFTCTRL_PUSH_THRESH_BITS_u(0x01f00000)#definePIO_SM0_SHIFTCTRL_PUSH_THRESH_MSB_u(24)#definePIO_SM0_SHIFTCTRL_PUSH_THRESH_LSB_u(20)#definePIO_SM0_SHIFTCTRL_PUSH_THRESH_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_SHIFTCTRL_OUT_SHIFTDIR// Description : 1 = shift out of output shift register to right. 0 = to left.#definePIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_RESET_u(0x1)#definePIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_BITS_u(0x00080000)#definePIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_MSB_u(19)#definePIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_LSB_u(19)#definePIO_SM0_SHIFTCTRL_OUT_SHIFTDIR_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_SHIFTCTRL_IN_SHIFTDIR// Description : 1 = shift input shift register to right (data enters from// left). 0 = to left.#definePIO_SM0_SHIFTCTRL_IN_SHIFTDIR_RESET_u(0x1)#definePIO_SM0_SHIFTCTRL_IN_SHIFTDIR_BITS_u(0x00040000)#definePIO_SM0_SHIFTCTRL_IN_SHIFTDIR_MSB_u(18)#definePIO_SM0_SHIFTCTRL_IN_SHIFTDIR_LSB_u(18)#definePIO_SM0_SHIFTCTRL_IN_SHIFTDIR_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_SHIFTCTRL_AUTOPULL// Description : Pull automatically when the output shift register is emptied,// i.e. on or following an OUT instruction which causes the output// shift counter to reach or exceed PULL_THRESH.#definePIO_SM0_SHIFTCTRL_AUTOPULL_RESET_u(0x0)#definePIO_SM0_SHIFTCTRL_AUTOPULL_BITS_u(0x00020000)#definePIO_SM0_SHIFTCTRL_AUTOPULL_MSB_u(17)#definePIO_SM0_SHIFTCTRL_AUTOPULL_LSB_u(17)#definePIO_SM0_SHIFTCTRL_AUTOPULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_SHIFTCTRL_AUTOPUSH// Description : Push automatically when the input shift register is filled,// i.e. on an IN instruction which causes the input shift counter// to reach or exceed PUSH_THRESH.#definePIO_SM0_SHIFTCTRL_AUTOPUSH_RESET_u(0x0)#definePIO_SM0_SHIFTCTRL_AUTOPUSH_BITS_u(0x00010000)#definePIO_SM0_SHIFTCTRL_AUTOPUSH_MSB_u(16)#definePIO_SM0_SHIFTCTRL_AUTOPUSH_LSB_u(16)#definePIO_SM0_SHIFTCTRL_AUTOPUSH_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_SHIFTCTRL_FJOIN_RX_PUT// Description : If 1, disable this state machine's RX FIFO, make its storage// available for random write access by the state machine (using// the `put` instruction) and, unless FJOIN_RX_GET is also set,// random read access by the processor (through the RXFx_PUTGETy// registers).//// If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX// FIFO's registers can be randomly read/written by the state// machine, but are completely inaccessible to the processor.//// Setting this bit will clear the FJOIN_TX and FJOIN_RX bits.#definePIO_SM0_SHIFTCTRL_FJOIN_RX_PUT_RESET_u(0x0)#definePIO_SM0_SHIFTCTRL_FJOIN_RX_PUT_BITS_u(0x00008000)#definePIO_SM0_SHIFTCTRL_FJOIN_RX_PUT_MSB_u(15)#definePIO_SM0_SHIFTCTRL_FJOIN_RX_PUT_LSB_u(15)#definePIO_SM0_SHIFTCTRL_FJOIN_RX_PUT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_SHIFTCTRL_FJOIN_RX_GET// Description : If 1, disable this state machine's RX FIFO, make its storage// available for random read access by the state machine (using// the `get` instruction) and, unless FJOIN_RX_PUT is also set,// random write access by the processor (through the RXFx_PUTGETy// registers).//// If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX// FIFO's registers can be randomly read/written by the state// machine, but are completely inaccessible to the processor.//// Setting this bit will clear the FJOIN_TX and FJOIN_RX bits.#definePIO_SM0_SHIFTCTRL_FJOIN_RX_GET_RESET_u(0x0)#definePIO_SM0_SHIFTCTRL_FJOIN_RX_GET_BITS_u(0x00004000)#definePIO_SM0_SHIFTCTRL_FJOIN_RX_GET_MSB_u(14)#definePIO_SM0_SHIFTCTRL_FJOIN_RX_GET_LSB_u(14)#definePIO_SM0_SHIFTCTRL_FJOIN_RX_GET_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_SHIFTCTRL_IN_COUNT// Description : Set the number of pins which are not masked to 0 when read by// an IN PINS, WAIT PIN or MOV x, PINS instruction.//// For example, an IN_COUNT of 5 means that the 5 LSBs of the IN// pin group are visible (bits 4:0), but the remaining 27 MSBs are// masked to 0. A count of 32 is encoded with a field value of 0,// so the default behaviour is to not perform any masking.//// Note this masking is applied in addition to the masking usually// performed by the IN instruction. This is mainly useful for the// MOV x, PINS instruction, which otherwise has no way of masking// pins.#definePIO_SM0_SHIFTCTRL_IN_COUNT_RESET_u(0x00)#definePIO_SM0_SHIFTCTRL_IN_COUNT_BITS_u(0x0000001f)#definePIO_SM0_SHIFTCTRL_IN_COUNT_MSB_u(4)#definePIO_SM0_SHIFTCTRL_IN_COUNT_LSB_u(0)#definePIO_SM0_SHIFTCTRL_IN_COUNT_ACCESS"RW"// =============================================================================// Register : PIO_SM0_ADDR// Description : Current instruction address of state machine 0#definePIO_SM0_ADDR_OFFSET_u(0x000000d4)#definePIO_SM0_ADDR_BITS_u(0x0000001f)#definePIO_SM0_ADDR_RESET_u(0x00000000)#definePIO_SM0_ADDR_MSB_u(4)#definePIO_SM0_ADDR_LSB_u(0)#definePIO_SM0_ADDR_ACCESS"RO"// =============================================================================// Register : PIO_SM0_INSTR// Description : Read to see the instruction currently addressed by state// machine 0's program counter// Write to execute an instruction immediately (including jumps)// and then resume execution.#definePIO_SM0_INSTR_OFFSET_u(0x000000d8)#definePIO_SM0_INSTR_BITS_u(0x0000ffff)#definePIO_SM0_INSTR_RESET"-"#definePIO_SM0_INSTR_MSB_u(15)#definePIO_SM0_INSTR_LSB_u(0)#definePIO_SM0_INSTR_ACCESS"RW"// =============================================================================// Register : PIO_SM0_PINCTRL// Description : State machine pin control#definePIO_SM0_PINCTRL_OFFSET_u(0x000000dc)#definePIO_SM0_PINCTRL_BITS_u(0xffffffff)#definePIO_SM0_PINCTRL_RESET_u(0x14000000)// -----------------------------------------------------------------------------// Field : PIO_SM0_PINCTRL_SIDESET_COUNT// Description : The number of MSBs of the Delay/Side-set instruction field// which are used for side-set. Inclusive of the enable bit, if// present. Minimum of 0 (all delay bits, no side-set) and maximum// of 5 (all side-set, no delay).#definePIO_SM0_PINCTRL_SIDESET_COUNT_RESET_u(0x0)#definePIO_SM0_PINCTRL_SIDESET_COUNT_BITS_u(0xe0000000)#definePIO_SM0_PINCTRL_SIDESET_COUNT_MSB_u(31)#definePIO_SM0_PINCTRL_SIDESET_COUNT_LSB_u(29)#definePIO_SM0_PINCTRL_SIDESET_COUNT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_PINCTRL_SET_COUNT// Description : The number of pins asserted by a SET. In the range 0 to 5// inclusive.#definePIO_SM0_PINCTRL_SET_COUNT_RESET_u(0x5)#definePIO_SM0_PINCTRL_SET_COUNT_BITS_u(0x1c000000)#definePIO_SM0_PINCTRL_SET_COUNT_MSB_u(28)#definePIO_SM0_PINCTRL_SET_COUNT_LSB_u(26)#definePIO_SM0_PINCTRL_SET_COUNT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_PINCTRL_OUT_COUNT// Description : The number of pins asserted by an OUT PINS, OUT PINDIRS or MOV// PINS instruction. In the range 0 to 32 inclusive.#definePIO_SM0_PINCTRL_OUT_COUNT_RESET_u(0x00)#definePIO_SM0_PINCTRL_OUT_COUNT_BITS_u(0x03f00000)#definePIO_SM0_PINCTRL_OUT_COUNT_MSB_u(25)#definePIO_SM0_PINCTRL_OUT_COUNT_LSB_u(20)#definePIO_SM0_PINCTRL_OUT_COUNT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_PINCTRL_IN_BASE// Description : The pin which is mapped to the least-significant bit of a state// machine's IN data bus. Higher-numbered pins are mapped to// consecutively more-significant data bits, with a modulo of 32// applied to pin number.#definePIO_SM0_PINCTRL_IN_BASE_RESET_u(0x00)#definePIO_SM0_PINCTRL_IN_BASE_BITS_u(0x000f8000)#definePIO_SM0_PINCTRL_IN_BASE_MSB_u(19)#definePIO_SM0_PINCTRL_IN_BASE_LSB_u(15)#definePIO_SM0_PINCTRL_IN_BASE_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_PINCTRL_SIDESET_BASE// Description : The lowest-numbered pin that will be affected by a side-set// operation. The MSBs of an instruction's side-set/delay field// (up to 5, determined by SIDESET_COUNT) are used for side-set// data, with the remaining LSBs used for delay. The least-// significant bit of the side-set portion is the bit written to// this pin, with more-significant bits written to higher-numbered// pins.#definePIO_SM0_PINCTRL_SIDESET_BASE_RESET_u(0x00)#definePIO_SM0_PINCTRL_SIDESET_BASE_BITS_u(0x00007c00)#definePIO_SM0_PINCTRL_SIDESET_BASE_MSB_u(14)#definePIO_SM0_PINCTRL_SIDESET_BASE_LSB_u(10)#definePIO_SM0_PINCTRL_SIDESET_BASE_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_PINCTRL_SET_BASE// Description : The lowest-numbered pin that will be affected by a SET PINS or// SET PINDIRS instruction. The data written to this pin is the// least-significant bit of the SET data.#definePIO_SM0_PINCTRL_SET_BASE_RESET_u(0x00)#definePIO_SM0_PINCTRL_SET_BASE_BITS_u(0x000003e0)#definePIO_SM0_PINCTRL_SET_BASE_MSB_u(9)#definePIO_SM0_PINCTRL_SET_BASE_LSB_u(5)#definePIO_SM0_PINCTRL_SET_BASE_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM0_PINCTRL_OUT_BASE// Description : The lowest-numbered pin that will be affected by an OUT PINS,// OUT PINDIRS or MOV PINS instruction. The data written to this// pin will always be the least-significant bit of the OUT or MOV// data.#definePIO_SM0_PINCTRL_OUT_BASE_RESET_u(0x00)#definePIO_SM0_PINCTRL_OUT_BASE_BITS_u(0x0000001f)#definePIO_SM0_PINCTRL_OUT_BASE_MSB_u(4)#definePIO_SM0_PINCTRL_OUT_BASE_LSB_u(0)#definePIO_SM0_PINCTRL_OUT_BASE_ACCESS"RW"// =============================================================================// Register : PIO_SM1_CLKDIV// Description : Clock divisor register for state machine 1// Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256)#definePIO_SM1_CLKDIV_OFFSET_u(0x000000e0)#definePIO_SM1_CLKDIV_BITS_u(0xffffff00)#definePIO_SM1_CLKDIV_RESET_u(0x00010000)// -----------------------------------------------------------------------------// Field : PIO_SM1_CLKDIV_INT// Description : Effective frequency is sysclk/(int + frac/256).// Value of 0 is interpreted as 65536. If INT is 0, FRAC must also// be 0.#definePIO_SM1_CLKDIV_INT_RESET_u(0x0001)#definePIO_SM1_CLKDIV_INT_BITS_u(0xffff0000)#definePIO_SM1_CLKDIV_INT_MSB_u(31)#definePIO_SM1_CLKDIV_INT_LSB_u(16)#definePIO_SM1_CLKDIV_INT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_CLKDIV_FRAC// Description : Fractional part of clock divisor#definePIO_SM1_CLKDIV_FRAC_RESET_u(0x00)#definePIO_SM1_CLKDIV_FRAC_BITS_u(0x0000ff00)#definePIO_SM1_CLKDIV_FRAC_MSB_u(15)#definePIO_SM1_CLKDIV_FRAC_LSB_u(8)#definePIO_SM1_CLKDIV_FRAC_ACCESS"RW"// =============================================================================// Register : PIO_SM1_EXECCTRL// Description : Execution/behavioural settings for state machine 1#definePIO_SM1_EXECCTRL_OFFSET_u(0x000000e4)#definePIO_SM1_EXECCTRL_BITS_u(0xffffffff)#definePIO_SM1_EXECCTRL_RESET_u(0x0001f000)// -----------------------------------------------------------------------------// Field : PIO_SM1_EXECCTRL_EXEC_STALLED// Description : If 1, an instruction written to SMx_INSTR is stalled, and// latched by the state machine. Will clear to 0 once this// instruction completes.#definePIO_SM1_EXECCTRL_EXEC_STALLED_RESET_u(0x0)#definePIO_SM1_EXECCTRL_EXEC_STALLED_BITS_u(0x80000000)#definePIO_SM1_EXECCTRL_EXEC_STALLED_MSB_u(31)#definePIO_SM1_EXECCTRL_EXEC_STALLED_LSB_u(31)#definePIO_SM1_EXECCTRL_EXEC_STALLED_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_SM1_EXECCTRL_SIDE_EN// Description : If 1, the MSB of the Delay/Side-set instruction field is used// as side-set enable, rather than a side-set data bit. This// allows instructions to perform side-set optionally, rather than// on every instruction, but the maximum possible side-set width// is reduced from 5 to 4. Note that the value of// PINCTRL_SIDESET_COUNT is inclusive of this enable bit.#definePIO_SM1_EXECCTRL_SIDE_EN_RESET_u(0x0)#definePIO_SM1_EXECCTRL_SIDE_EN_BITS_u(0x40000000)#definePIO_SM1_EXECCTRL_SIDE_EN_MSB_u(30)#definePIO_SM1_EXECCTRL_SIDE_EN_LSB_u(30)#definePIO_SM1_EXECCTRL_SIDE_EN_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_EXECCTRL_SIDE_PINDIR// Description : If 1, side-set data is asserted to pin directions, instead of// pin values#definePIO_SM1_EXECCTRL_SIDE_PINDIR_RESET_u(0x0)#definePIO_SM1_EXECCTRL_SIDE_PINDIR_BITS_u(0x20000000)#definePIO_SM1_EXECCTRL_SIDE_PINDIR_MSB_u(29)#definePIO_SM1_EXECCTRL_SIDE_PINDIR_LSB_u(29)#definePIO_SM1_EXECCTRL_SIDE_PINDIR_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_EXECCTRL_JMP_PIN// Description : The GPIO number to use as condition for JMP PIN. Unaffected by// input mapping.#definePIO_SM1_EXECCTRL_JMP_PIN_RESET_u(0x00)#definePIO_SM1_EXECCTRL_JMP_PIN_BITS_u(0x1f000000)#definePIO_SM1_EXECCTRL_JMP_PIN_MSB_u(28)#definePIO_SM1_EXECCTRL_JMP_PIN_LSB_u(24)#definePIO_SM1_EXECCTRL_JMP_PIN_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_EXECCTRL_OUT_EN_SEL// Description : Which data bit to use for inline OUT enable#definePIO_SM1_EXECCTRL_OUT_EN_SEL_RESET_u(0x00)#definePIO_SM1_EXECCTRL_OUT_EN_SEL_BITS_u(0x00f80000)#definePIO_SM1_EXECCTRL_OUT_EN_SEL_MSB_u(23)#definePIO_SM1_EXECCTRL_OUT_EN_SEL_LSB_u(19)#definePIO_SM1_EXECCTRL_OUT_EN_SEL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_EXECCTRL_INLINE_OUT_EN// Description : If 1, use a bit of OUT data as an auxiliary write enable// When used in conjunction with OUT_STICKY, writes with an enable// of 0 will// deassert the latest pin write. This can create useful// masking/override behaviour// due to the priority ordering of state machine pin writes (SM0 <// SM1 < ...)#definePIO_SM1_EXECCTRL_INLINE_OUT_EN_RESET_u(0x0)#definePIO_SM1_EXECCTRL_INLINE_OUT_EN_BITS_u(0x00040000)#definePIO_SM1_EXECCTRL_INLINE_OUT_EN_MSB_u(18)#definePIO_SM1_EXECCTRL_INLINE_OUT_EN_LSB_u(18)#definePIO_SM1_EXECCTRL_INLINE_OUT_EN_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_EXECCTRL_OUT_STICKY// Description : Continuously assert the most recent OUT/SET to the pins#definePIO_SM1_EXECCTRL_OUT_STICKY_RESET_u(0x0)#definePIO_SM1_EXECCTRL_OUT_STICKY_BITS_u(0x00020000)#definePIO_SM1_EXECCTRL_OUT_STICKY_MSB_u(17)#definePIO_SM1_EXECCTRL_OUT_STICKY_LSB_u(17)#definePIO_SM1_EXECCTRL_OUT_STICKY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_EXECCTRL_WRAP_TOP// Description : After reaching this address, execution is wrapped to// wrap_bottom.// If the instruction is a jump, and the jump condition is true,// the jump takes priority.#definePIO_SM1_EXECCTRL_WRAP_TOP_RESET_u(0x1f)#definePIO_SM1_EXECCTRL_WRAP_TOP_BITS_u(0x0001f000)#definePIO_SM1_EXECCTRL_WRAP_TOP_MSB_u(16)#definePIO_SM1_EXECCTRL_WRAP_TOP_LSB_u(12)#definePIO_SM1_EXECCTRL_WRAP_TOP_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_EXECCTRL_WRAP_BOTTOM// Description : After reaching wrap_top, execution is wrapped to this address.#definePIO_SM1_EXECCTRL_WRAP_BOTTOM_RESET_u(0x00)#definePIO_SM1_EXECCTRL_WRAP_BOTTOM_BITS_u(0x00000f80)#definePIO_SM1_EXECCTRL_WRAP_BOTTOM_MSB_u(11)#definePIO_SM1_EXECCTRL_WRAP_BOTTOM_LSB_u(7)#definePIO_SM1_EXECCTRL_WRAP_BOTTOM_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_EXECCTRL_STATUS_SEL// Description : Comparison used for the MOV x, STATUS instruction.// 0x0 -> All-ones if TX FIFO level < N, otherwise all-zeroes// 0x1 -> All-ones if RX FIFO level < N, otherwise all-zeroes// 0x2 -> All-ones if the indexed IRQ flag is raised, otherwise all-zeroes#definePIO_SM1_EXECCTRL_STATUS_SEL_RESET_u(0x0)#definePIO_SM1_EXECCTRL_STATUS_SEL_BITS_u(0x00000060)#definePIO_SM1_EXECCTRL_STATUS_SEL_MSB_u(6)#definePIO_SM1_EXECCTRL_STATUS_SEL_LSB_u(5)#definePIO_SM1_EXECCTRL_STATUS_SEL_ACCESS"RW"#definePIO_SM1_EXECCTRL_STATUS_SEL_VALUE_TXLEVEL_u(0x0)#definePIO_SM1_EXECCTRL_STATUS_SEL_VALUE_RXLEVEL_u(0x1)#definePIO_SM1_EXECCTRL_STATUS_SEL_VALUE_IRQ_u(0x2)// -----------------------------------------------------------------------------// Field : PIO_SM1_EXECCTRL_STATUS_N// Description : Comparison level or IRQ index for the MOV x, STATUS// instruction.//// If STATUS_SEL is TXLEVEL or RXLEVEL, then values of STATUS_N// greater than the current FIFO depth are reserved, and have// undefined behaviour.// 0x00 -> Index 0-7 of an IRQ flag in this PIO block// 0x08 -> Index 0-7 of an IRQ flag in the next lower-numbered PIO block// 0x10 -> Index 0-7 of an IRQ flag in the next higher-numbered PIO block#definePIO_SM1_EXECCTRL_STATUS_N_RESET_u(0x00)#definePIO_SM1_EXECCTRL_STATUS_N_BITS_u(0x0000001f)#definePIO_SM1_EXECCTRL_STATUS_N_MSB_u(4)#definePIO_SM1_EXECCTRL_STATUS_N_LSB_u(0)#definePIO_SM1_EXECCTRL_STATUS_N_ACCESS"RW"#definePIO_SM1_EXECCTRL_STATUS_N_VALUE_IRQ_u(0x00)#definePIO_SM1_EXECCTRL_STATUS_N_VALUE_IRQ_PREVPIO_u(0x08)#definePIO_SM1_EXECCTRL_STATUS_N_VALUE_IRQ_NEXTPIO_u(0x10)// =============================================================================// Register : PIO_SM1_SHIFTCTRL// Description : Control behaviour of the input/output shift registers for state// machine 1#definePIO_SM1_SHIFTCTRL_OFFSET_u(0x000000e8)#definePIO_SM1_SHIFTCTRL_BITS_u(0xffffc01f)#definePIO_SM1_SHIFTCTRL_RESET_u(0x000c0000)// -----------------------------------------------------------------------------// Field : PIO_SM1_SHIFTCTRL_FJOIN_RX// Description : When 1, RX FIFO steals the TX FIFO's storage, and becomes twice// as deep.// TX FIFO is disabled as a result (always reads as both full and// empty).// FIFOs are flushed when this bit is changed.#definePIO_SM1_SHIFTCTRL_FJOIN_RX_RESET_u(0x0)#definePIO_SM1_SHIFTCTRL_FJOIN_RX_BITS_u(0x80000000)#definePIO_SM1_SHIFTCTRL_FJOIN_RX_MSB_u(31)#definePIO_SM1_SHIFTCTRL_FJOIN_RX_LSB_u(31)#definePIO_SM1_SHIFTCTRL_FJOIN_RX_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_SHIFTCTRL_FJOIN_TX// Description : When 1, TX FIFO steals the RX FIFO's storage, and becomes twice// as deep.// RX FIFO is disabled as a result (always reads as both full and// empty).// FIFOs are flushed when this bit is changed.#definePIO_SM1_SHIFTCTRL_FJOIN_TX_RESET_u(0x0)#definePIO_SM1_SHIFTCTRL_FJOIN_TX_BITS_u(0x40000000)#definePIO_SM1_SHIFTCTRL_FJOIN_TX_MSB_u(30)#definePIO_SM1_SHIFTCTRL_FJOIN_TX_LSB_u(30)#definePIO_SM1_SHIFTCTRL_FJOIN_TX_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_SHIFTCTRL_PULL_THRESH// Description : Number of bits shifted out of OSR before autopull, or// conditional pull (PULL IFEMPTY), will take place.// Write 0 for value of 32.#definePIO_SM1_SHIFTCTRL_PULL_THRESH_RESET_u(0x00)#definePIO_SM1_SHIFTCTRL_PULL_THRESH_BITS_u(0x3e000000)#definePIO_SM1_SHIFTCTRL_PULL_THRESH_MSB_u(29)#definePIO_SM1_SHIFTCTRL_PULL_THRESH_LSB_u(25)#definePIO_SM1_SHIFTCTRL_PULL_THRESH_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_SHIFTCTRL_PUSH_THRESH// Description : Number of bits shifted into ISR before autopush, or conditional// push (PUSH IFFULL), will take place.// Write 0 for value of 32.#definePIO_SM1_SHIFTCTRL_PUSH_THRESH_RESET_u(0x00)#definePIO_SM1_SHIFTCTRL_PUSH_THRESH_BITS_u(0x01f00000)#definePIO_SM1_SHIFTCTRL_PUSH_THRESH_MSB_u(24)#definePIO_SM1_SHIFTCTRL_PUSH_THRESH_LSB_u(20)#definePIO_SM1_SHIFTCTRL_PUSH_THRESH_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_SHIFTCTRL_OUT_SHIFTDIR// Description : 1 = shift out of output shift register to right. 0 = to left.#definePIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_RESET_u(0x1)#definePIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_BITS_u(0x00080000)#definePIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_MSB_u(19)#definePIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_LSB_u(19)#definePIO_SM1_SHIFTCTRL_OUT_SHIFTDIR_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_SHIFTCTRL_IN_SHIFTDIR// Description : 1 = shift input shift register to right (data enters from// left). 0 = to left.#definePIO_SM1_SHIFTCTRL_IN_SHIFTDIR_RESET_u(0x1)#definePIO_SM1_SHIFTCTRL_IN_SHIFTDIR_BITS_u(0x00040000)#definePIO_SM1_SHIFTCTRL_IN_SHIFTDIR_MSB_u(18)#definePIO_SM1_SHIFTCTRL_IN_SHIFTDIR_LSB_u(18)#definePIO_SM1_SHIFTCTRL_IN_SHIFTDIR_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_SHIFTCTRL_AUTOPULL// Description : Pull automatically when the output shift register is emptied,// i.e. on or following an OUT instruction which causes the output// shift counter to reach or exceed PULL_THRESH.#definePIO_SM1_SHIFTCTRL_AUTOPULL_RESET_u(0x0)#definePIO_SM1_SHIFTCTRL_AUTOPULL_BITS_u(0x00020000)#definePIO_SM1_SHIFTCTRL_AUTOPULL_MSB_u(17)#definePIO_SM1_SHIFTCTRL_AUTOPULL_LSB_u(17)#definePIO_SM1_SHIFTCTRL_AUTOPULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_SHIFTCTRL_AUTOPUSH// Description : Push automatically when the input shift register is filled,// i.e. on an IN instruction which causes the input shift counter// to reach or exceed PUSH_THRESH.#definePIO_SM1_SHIFTCTRL_AUTOPUSH_RESET_u(0x0)#definePIO_SM1_SHIFTCTRL_AUTOPUSH_BITS_u(0x00010000)#definePIO_SM1_SHIFTCTRL_AUTOPUSH_MSB_u(16)#definePIO_SM1_SHIFTCTRL_AUTOPUSH_LSB_u(16)#definePIO_SM1_SHIFTCTRL_AUTOPUSH_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_SHIFTCTRL_FJOIN_RX_PUT// Description : If 1, disable this state machine's RX FIFO, make its storage// available for random write access by the state machine (using// the `put` instruction) and, unless FJOIN_RX_GET is also set,// random read access by the processor (through the RXFx_PUTGETy// registers).//// If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX// FIFO's registers can be randomly read/written by the state// machine, but are completely inaccessible to the processor.//// Setting this bit will clear the FJOIN_TX and FJOIN_RX bits.#definePIO_SM1_SHIFTCTRL_FJOIN_RX_PUT_RESET_u(0x0)#definePIO_SM1_SHIFTCTRL_FJOIN_RX_PUT_BITS_u(0x00008000)#definePIO_SM1_SHIFTCTRL_FJOIN_RX_PUT_MSB_u(15)#definePIO_SM1_SHIFTCTRL_FJOIN_RX_PUT_LSB_u(15)#definePIO_SM1_SHIFTCTRL_FJOIN_RX_PUT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_SHIFTCTRL_FJOIN_RX_GET// Description : If 1, disable this state machine's RX FIFO, make its storage// available for random read access by the state machine (using// the `get` instruction) and, unless FJOIN_RX_PUT is also set,// random write access by the processor (through the RXFx_PUTGETy// registers).//// If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX// FIFO's registers can be randomly read/written by the state// machine, but are completely inaccessible to the processor.//// Setting this bit will clear the FJOIN_TX and FJOIN_RX bits.#definePIO_SM1_SHIFTCTRL_FJOIN_RX_GET_RESET_u(0x0)#definePIO_SM1_SHIFTCTRL_FJOIN_RX_GET_BITS_u(0x00004000)#definePIO_SM1_SHIFTCTRL_FJOIN_RX_GET_MSB_u(14)#definePIO_SM1_SHIFTCTRL_FJOIN_RX_GET_LSB_u(14)#definePIO_SM1_SHIFTCTRL_FJOIN_RX_GET_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_SHIFTCTRL_IN_COUNT// Description : Set the number of pins which are not masked to 0 when read by// an IN PINS, WAIT PIN or MOV x, PINS instruction.//// For example, an IN_COUNT of 5 means that the 5 LSBs of the IN// pin group are visible (bits 4:0), but the remaining 27 MSBs are// masked to 0. A count of 32 is encoded with a field value of 0,// so the default behaviour is to not perform any masking.//// Note this masking is applied in addition to the masking usually// performed by the IN instruction. This is mainly useful for the// MOV x, PINS instruction, which otherwise has no way of masking// pins.#definePIO_SM1_SHIFTCTRL_IN_COUNT_RESET_u(0x00)#definePIO_SM1_SHIFTCTRL_IN_COUNT_BITS_u(0x0000001f)#definePIO_SM1_SHIFTCTRL_IN_COUNT_MSB_u(4)#definePIO_SM1_SHIFTCTRL_IN_COUNT_LSB_u(0)#definePIO_SM1_SHIFTCTRL_IN_COUNT_ACCESS"RW"// =============================================================================// Register : PIO_SM1_ADDR// Description : Current instruction address of state machine 1#definePIO_SM1_ADDR_OFFSET_u(0x000000ec)#definePIO_SM1_ADDR_BITS_u(0x0000001f)#definePIO_SM1_ADDR_RESET_u(0x00000000)#definePIO_SM1_ADDR_MSB_u(4)#definePIO_SM1_ADDR_LSB_u(0)#definePIO_SM1_ADDR_ACCESS"RO"// =============================================================================// Register : PIO_SM1_INSTR// Description : Read to see the instruction currently addressed by state// machine 1's program counter// Write to execute an instruction immediately (including jumps)// and then resume execution.#definePIO_SM1_INSTR_OFFSET_u(0x000000f0)#definePIO_SM1_INSTR_BITS_u(0x0000ffff)#definePIO_SM1_INSTR_RESET"-"#definePIO_SM1_INSTR_MSB_u(15)#definePIO_SM1_INSTR_LSB_u(0)#definePIO_SM1_INSTR_ACCESS"RW"// =============================================================================// Register : PIO_SM1_PINCTRL// Description : State machine pin control#definePIO_SM1_PINCTRL_OFFSET_u(0x000000f4)#definePIO_SM1_PINCTRL_BITS_u(0xffffffff)#definePIO_SM1_PINCTRL_RESET_u(0x14000000)// -----------------------------------------------------------------------------// Field : PIO_SM1_PINCTRL_SIDESET_COUNT// Description : The number of MSBs of the Delay/Side-set instruction field// which are used for side-set. Inclusive of the enable bit, if// present. Minimum of 0 (all delay bits, no side-set) and maximum// of 5 (all side-set, no delay).#definePIO_SM1_PINCTRL_SIDESET_COUNT_RESET_u(0x0)#definePIO_SM1_PINCTRL_SIDESET_COUNT_BITS_u(0xe0000000)#definePIO_SM1_PINCTRL_SIDESET_COUNT_MSB_u(31)#definePIO_SM1_PINCTRL_SIDESET_COUNT_LSB_u(29)#definePIO_SM1_PINCTRL_SIDESET_COUNT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_PINCTRL_SET_COUNT// Description : The number of pins asserted by a SET. In the range 0 to 5// inclusive.#definePIO_SM1_PINCTRL_SET_COUNT_RESET_u(0x5)#definePIO_SM1_PINCTRL_SET_COUNT_BITS_u(0x1c000000)#definePIO_SM1_PINCTRL_SET_COUNT_MSB_u(28)#definePIO_SM1_PINCTRL_SET_COUNT_LSB_u(26)#definePIO_SM1_PINCTRL_SET_COUNT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_PINCTRL_OUT_COUNT// Description : The number of pins asserted by an OUT PINS, OUT PINDIRS or MOV// PINS instruction. In the range 0 to 32 inclusive.#definePIO_SM1_PINCTRL_OUT_COUNT_RESET_u(0x00)#definePIO_SM1_PINCTRL_OUT_COUNT_BITS_u(0x03f00000)#definePIO_SM1_PINCTRL_OUT_COUNT_MSB_u(25)#definePIO_SM1_PINCTRL_OUT_COUNT_LSB_u(20)#definePIO_SM1_PINCTRL_OUT_COUNT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_PINCTRL_IN_BASE// Description : The pin which is mapped to the least-significant bit of a state// machine's IN data bus. Higher-numbered pins are mapped to// consecutively more-significant data bits, with a modulo of 32// applied to pin number.#definePIO_SM1_PINCTRL_IN_BASE_RESET_u(0x00)#definePIO_SM1_PINCTRL_IN_BASE_BITS_u(0x000f8000)#definePIO_SM1_PINCTRL_IN_BASE_MSB_u(19)#definePIO_SM1_PINCTRL_IN_BASE_LSB_u(15)#definePIO_SM1_PINCTRL_IN_BASE_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_PINCTRL_SIDESET_BASE// Description : The lowest-numbered pin that will be affected by a side-set// operation. The MSBs of an instruction's side-set/delay field// (up to 5, determined by SIDESET_COUNT) are used for side-set// data, with the remaining LSBs used for delay. The least-// significant bit of the side-set portion is the bit written to// this pin, with more-significant bits written to higher-numbered// pins.#definePIO_SM1_PINCTRL_SIDESET_BASE_RESET_u(0x00)#definePIO_SM1_PINCTRL_SIDESET_BASE_BITS_u(0x00007c00)#definePIO_SM1_PINCTRL_SIDESET_BASE_MSB_u(14)#definePIO_SM1_PINCTRL_SIDESET_BASE_LSB_u(10)#definePIO_SM1_PINCTRL_SIDESET_BASE_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_PINCTRL_SET_BASE// Description : The lowest-numbered pin that will be affected by a SET PINS or// SET PINDIRS instruction. The data written to this pin is the// least-significant bit of the SET data.#definePIO_SM1_PINCTRL_SET_BASE_RESET_u(0x00)#definePIO_SM1_PINCTRL_SET_BASE_BITS_u(0x000003e0)#definePIO_SM1_PINCTRL_SET_BASE_MSB_u(9)#definePIO_SM1_PINCTRL_SET_BASE_LSB_u(5)#definePIO_SM1_PINCTRL_SET_BASE_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM1_PINCTRL_OUT_BASE// Description : The lowest-numbered pin that will be affected by an OUT PINS,// OUT PINDIRS or MOV PINS instruction. The data written to this// pin will always be the least-significant bit of the OUT or MOV// data.#definePIO_SM1_PINCTRL_OUT_BASE_RESET_u(0x00)#definePIO_SM1_PINCTRL_OUT_BASE_BITS_u(0x0000001f)#definePIO_SM1_PINCTRL_OUT_BASE_MSB_u(4)#definePIO_SM1_PINCTRL_OUT_BASE_LSB_u(0)#definePIO_SM1_PINCTRL_OUT_BASE_ACCESS"RW"// =============================================================================// Register : PIO_SM2_CLKDIV// Description : Clock divisor register for state machine 2// Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256)#definePIO_SM2_CLKDIV_OFFSET_u(0x000000f8)#definePIO_SM2_CLKDIV_BITS_u(0xffffff00)#definePIO_SM2_CLKDIV_RESET_u(0x00010000)// -----------------------------------------------------------------------------// Field : PIO_SM2_CLKDIV_INT// Description : Effective frequency is sysclk/(int + frac/256).// Value of 0 is interpreted as 65536. If INT is 0, FRAC must also// be 0.#definePIO_SM2_CLKDIV_INT_RESET_u(0x0001)#definePIO_SM2_CLKDIV_INT_BITS_u(0xffff0000)#definePIO_SM2_CLKDIV_INT_MSB_u(31)#definePIO_SM2_CLKDIV_INT_LSB_u(16)#definePIO_SM2_CLKDIV_INT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_CLKDIV_FRAC// Description : Fractional part of clock divisor#definePIO_SM2_CLKDIV_FRAC_RESET_u(0x00)#definePIO_SM2_CLKDIV_FRAC_BITS_u(0x0000ff00)#definePIO_SM2_CLKDIV_FRAC_MSB_u(15)#definePIO_SM2_CLKDIV_FRAC_LSB_u(8)#definePIO_SM2_CLKDIV_FRAC_ACCESS"RW"// =============================================================================// Register : PIO_SM2_EXECCTRL// Description : Execution/behavioural settings for state machine 2#definePIO_SM2_EXECCTRL_OFFSET_u(0x000000fc)#definePIO_SM2_EXECCTRL_BITS_u(0xffffffff)#definePIO_SM2_EXECCTRL_RESET_u(0x0001f000)// -----------------------------------------------------------------------------// Field : PIO_SM2_EXECCTRL_EXEC_STALLED// Description : If 1, an instruction written to SMx_INSTR is stalled, and// latched by the state machine. Will clear to 0 once this// instruction completes.#definePIO_SM2_EXECCTRL_EXEC_STALLED_RESET_u(0x0)#definePIO_SM2_EXECCTRL_EXEC_STALLED_BITS_u(0x80000000)#definePIO_SM2_EXECCTRL_EXEC_STALLED_MSB_u(31)#definePIO_SM2_EXECCTRL_EXEC_STALLED_LSB_u(31)#definePIO_SM2_EXECCTRL_EXEC_STALLED_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_SM2_EXECCTRL_SIDE_EN// Description : If 1, the MSB of the Delay/Side-set instruction field is used// as side-set enable, rather than a side-set data bit. This// allows instructions to perform side-set optionally, rather than// on every instruction, but the maximum possible side-set width// is reduced from 5 to 4. Note that the value of// PINCTRL_SIDESET_COUNT is inclusive of this enable bit.#definePIO_SM2_EXECCTRL_SIDE_EN_RESET_u(0x0)#definePIO_SM2_EXECCTRL_SIDE_EN_BITS_u(0x40000000)#definePIO_SM2_EXECCTRL_SIDE_EN_MSB_u(30)#definePIO_SM2_EXECCTRL_SIDE_EN_LSB_u(30)#definePIO_SM2_EXECCTRL_SIDE_EN_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_EXECCTRL_SIDE_PINDIR// Description : If 1, side-set data is asserted to pin directions, instead of// pin values#definePIO_SM2_EXECCTRL_SIDE_PINDIR_RESET_u(0x0)#definePIO_SM2_EXECCTRL_SIDE_PINDIR_BITS_u(0x20000000)#definePIO_SM2_EXECCTRL_SIDE_PINDIR_MSB_u(29)#definePIO_SM2_EXECCTRL_SIDE_PINDIR_LSB_u(29)#definePIO_SM2_EXECCTRL_SIDE_PINDIR_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_EXECCTRL_JMP_PIN// Description : The GPIO number to use as condition for JMP PIN. Unaffected by// input mapping.#definePIO_SM2_EXECCTRL_JMP_PIN_RESET_u(0x00)#definePIO_SM2_EXECCTRL_JMP_PIN_BITS_u(0x1f000000)#definePIO_SM2_EXECCTRL_JMP_PIN_MSB_u(28)#definePIO_SM2_EXECCTRL_JMP_PIN_LSB_u(24)#definePIO_SM2_EXECCTRL_JMP_PIN_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_EXECCTRL_OUT_EN_SEL// Description : Which data bit to use for inline OUT enable#definePIO_SM2_EXECCTRL_OUT_EN_SEL_RESET_u(0x00)#definePIO_SM2_EXECCTRL_OUT_EN_SEL_BITS_u(0x00f80000)#definePIO_SM2_EXECCTRL_OUT_EN_SEL_MSB_u(23)#definePIO_SM2_EXECCTRL_OUT_EN_SEL_LSB_u(19)#definePIO_SM2_EXECCTRL_OUT_EN_SEL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_EXECCTRL_INLINE_OUT_EN// Description : If 1, use a bit of OUT data as an auxiliary write enable// When used in conjunction with OUT_STICKY, writes with an enable// of 0 will// deassert the latest pin write. This can create useful// masking/override behaviour// due to the priority ordering of state machine pin writes (SM0 <// SM1 < ...)#definePIO_SM2_EXECCTRL_INLINE_OUT_EN_RESET_u(0x0)#definePIO_SM2_EXECCTRL_INLINE_OUT_EN_BITS_u(0x00040000)#definePIO_SM2_EXECCTRL_INLINE_OUT_EN_MSB_u(18)#definePIO_SM2_EXECCTRL_INLINE_OUT_EN_LSB_u(18)#definePIO_SM2_EXECCTRL_INLINE_OUT_EN_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_EXECCTRL_OUT_STICKY// Description : Continuously assert the most recent OUT/SET to the pins#definePIO_SM2_EXECCTRL_OUT_STICKY_RESET_u(0x0)#definePIO_SM2_EXECCTRL_OUT_STICKY_BITS_u(0x00020000)#definePIO_SM2_EXECCTRL_OUT_STICKY_MSB_u(17)#definePIO_SM2_EXECCTRL_OUT_STICKY_LSB_u(17)#definePIO_SM2_EXECCTRL_OUT_STICKY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_EXECCTRL_WRAP_TOP// Description : After reaching this address, execution is wrapped to// wrap_bottom.// If the instruction is a jump, and the jump condition is true,// the jump takes priority.#definePIO_SM2_EXECCTRL_WRAP_TOP_RESET_u(0x1f)#definePIO_SM2_EXECCTRL_WRAP_TOP_BITS_u(0x0001f000)#definePIO_SM2_EXECCTRL_WRAP_TOP_MSB_u(16)#definePIO_SM2_EXECCTRL_WRAP_TOP_LSB_u(12)#definePIO_SM2_EXECCTRL_WRAP_TOP_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_EXECCTRL_WRAP_BOTTOM// Description : After reaching wrap_top, execution is wrapped to this address.#definePIO_SM2_EXECCTRL_WRAP_BOTTOM_RESET_u(0x00)#definePIO_SM2_EXECCTRL_WRAP_BOTTOM_BITS_u(0x00000f80)#definePIO_SM2_EXECCTRL_WRAP_BOTTOM_MSB_u(11)#definePIO_SM2_EXECCTRL_WRAP_BOTTOM_LSB_u(7)#definePIO_SM2_EXECCTRL_WRAP_BOTTOM_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_EXECCTRL_STATUS_SEL// Description : Comparison used for the MOV x, STATUS instruction.// 0x0 -> All-ones if TX FIFO level < N, otherwise all-zeroes// 0x1 -> All-ones if RX FIFO level < N, otherwise all-zeroes// 0x2 -> All-ones if the indexed IRQ flag is raised, otherwise all-zeroes#definePIO_SM2_EXECCTRL_STATUS_SEL_RESET_u(0x0)#definePIO_SM2_EXECCTRL_STATUS_SEL_BITS_u(0x00000060)#definePIO_SM2_EXECCTRL_STATUS_SEL_MSB_u(6)#definePIO_SM2_EXECCTRL_STATUS_SEL_LSB_u(5)#definePIO_SM2_EXECCTRL_STATUS_SEL_ACCESS"RW"#definePIO_SM2_EXECCTRL_STATUS_SEL_VALUE_TXLEVEL_u(0x0)#definePIO_SM2_EXECCTRL_STATUS_SEL_VALUE_RXLEVEL_u(0x1)#definePIO_SM2_EXECCTRL_STATUS_SEL_VALUE_IRQ_u(0x2)// -----------------------------------------------------------------------------// Field : PIO_SM2_EXECCTRL_STATUS_N// Description : Comparison level or IRQ index for the MOV x, STATUS// instruction.//// If STATUS_SEL is TXLEVEL or RXLEVEL, then values of STATUS_N// greater than the current FIFO depth are reserved, and have// undefined behaviour.// 0x00 -> Index 0-7 of an IRQ flag in this PIO block// 0x08 -> Index 0-7 of an IRQ flag in the next lower-numbered PIO block// 0x10 -> Index 0-7 of an IRQ flag in the next higher-numbered PIO block#definePIO_SM2_EXECCTRL_STATUS_N_RESET_u(0x00)#definePIO_SM2_EXECCTRL_STATUS_N_BITS_u(0x0000001f)#definePIO_SM2_EXECCTRL_STATUS_N_MSB_u(4)#definePIO_SM2_EXECCTRL_STATUS_N_LSB_u(0)#definePIO_SM2_EXECCTRL_STATUS_N_ACCESS"RW"#definePIO_SM2_EXECCTRL_STATUS_N_VALUE_IRQ_u(0x00)#definePIO_SM2_EXECCTRL_STATUS_N_VALUE_IRQ_PREVPIO_u(0x08)#definePIO_SM2_EXECCTRL_STATUS_N_VALUE_IRQ_NEXTPIO_u(0x10)// =============================================================================// Register : PIO_SM2_SHIFTCTRL// Description : Control behaviour of the input/output shift registers for state// machine 2#definePIO_SM2_SHIFTCTRL_OFFSET_u(0x00000100)#definePIO_SM2_SHIFTCTRL_BITS_u(0xffffc01f)#definePIO_SM2_SHIFTCTRL_RESET_u(0x000c0000)// -----------------------------------------------------------------------------// Field : PIO_SM2_SHIFTCTRL_FJOIN_RX// Description : When 1, RX FIFO steals the TX FIFO's storage, and becomes twice// as deep.// TX FIFO is disabled as a result (always reads as both full and// empty).// FIFOs are flushed when this bit is changed.#definePIO_SM2_SHIFTCTRL_FJOIN_RX_RESET_u(0x0)#definePIO_SM2_SHIFTCTRL_FJOIN_RX_BITS_u(0x80000000)#definePIO_SM2_SHIFTCTRL_FJOIN_RX_MSB_u(31)#definePIO_SM2_SHIFTCTRL_FJOIN_RX_LSB_u(31)#definePIO_SM2_SHIFTCTRL_FJOIN_RX_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_SHIFTCTRL_FJOIN_TX// Description : When 1, TX FIFO steals the RX FIFO's storage, and becomes twice// as deep.// RX FIFO is disabled as a result (always reads as both full and// empty).// FIFOs are flushed when this bit is changed.#definePIO_SM2_SHIFTCTRL_FJOIN_TX_RESET_u(0x0)#definePIO_SM2_SHIFTCTRL_FJOIN_TX_BITS_u(0x40000000)#definePIO_SM2_SHIFTCTRL_FJOIN_TX_MSB_u(30)#definePIO_SM2_SHIFTCTRL_FJOIN_TX_LSB_u(30)#definePIO_SM2_SHIFTCTRL_FJOIN_TX_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_SHIFTCTRL_PULL_THRESH// Description : Number of bits shifted out of OSR before autopull, or// conditional pull (PULL IFEMPTY), will take place.// Write 0 for value of 32.#definePIO_SM2_SHIFTCTRL_PULL_THRESH_RESET_u(0x00)#definePIO_SM2_SHIFTCTRL_PULL_THRESH_BITS_u(0x3e000000)#definePIO_SM2_SHIFTCTRL_PULL_THRESH_MSB_u(29)#definePIO_SM2_SHIFTCTRL_PULL_THRESH_LSB_u(25)#definePIO_SM2_SHIFTCTRL_PULL_THRESH_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_SHIFTCTRL_PUSH_THRESH// Description : Number of bits shifted into ISR before autopush, or conditional// push (PUSH IFFULL), will take place.// Write 0 for value of 32.#definePIO_SM2_SHIFTCTRL_PUSH_THRESH_RESET_u(0x00)#definePIO_SM2_SHIFTCTRL_PUSH_THRESH_BITS_u(0x01f00000)#definePIO_SM2_SHIFTCTRL_PUSH_THRESH_MSB_u(24)#definePIO_SM2_SHIFTCTRL_PUSH_THRESH_LSB_u(20)#definePIO_SM2_SHIFTCTRL_PUSH_THRESH_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_SHIFTCTRL_OUT_SHIFTDIR// Description : 1 = shift out of output shift register to right. 0 = to left.#definePIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_RESET_u(0x1)#definePIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_BITS_u(0x00080000)#definePIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_MSB_u(19)#definePIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_LSB_u(19)#definePIO_SM2_SHIFTCTRL_OUT_SHIFTDIR_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_SHIFTCTRL_IN_SHIFTDIR// Description : 1 = shift input shift register to right (data enters from// left). 0 = to left.#definePIO_SM2_SHIFTCTRL_IN_SHIFTDIR_RESET_u(0x1)#definePIO_SM2_SHIFTCTRL_IN_SHIFTDIR_BITS_u(0x00040000)#definePIO_SM2_SHIFTCTRL_IN_SHIFTDIR_MSB_u(18)#definePIO_SM2_SHIFTCTRL_IN_SHIFTDIR_LSB_u(18)#definePIO_SM2_SHIFTCTRL_IN_SHIFTDIR_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_SHIFTCTRL_AUTOPULL// Description : Pull automatically when the output shift register is emptied,// i.e. on or following an OUT instruction which causes the output// shift counter to reach or exceed PULL_THRESH.#definePIO_SM2_SHIFTCTRL_AUTOPULL_RESET_u(0x0)#definePIO_SM2_SHIFTCTRL_AUTOPULL_BITS_u(0x00020000)#definePIO_SM2_SHIFTCTRL_AUTOPULL_MSB_u(17)#definePIO_SM2_SHIFTCTRL_AUTOPULL_LSB_u(17)#definePIO_SM2_SHIFTCTRL_AUTOPULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_SHIFTCTRL_AUTOPUSH// Description : Push automatically when the input shift register is filled,// i.e. on an IN instruction which causes the input shift counter// to reach or exceed PUSH_THRESH.#definePIO_SM2_SHIFTCTRL_AUTOPUSH_RESET_u(0x0)#definePIO_SM2_SHIFTCTRL_AUTOPUSH_BITS_u(0x00010000)#definePIO_SM2_SHIFTCTRL_AUTOPUSH_MSB_u(16)#definePIO_SM2_SHIFTCTRL_AUTOPUSH_LSB_u(16)#definePIO_SM2_SHIFTCTRL_AUTOPUSH_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_SHIFTCTRL_FJOIN_RX_PUT// Description : If 1, disable this state machine's RX FIFO, make its storage// available for random write access by the state machine (using// the `put` instruction) and, unless FJOIN_RX_GET is also set,// random read access by the processor (through the RXFx_PUTGETy// registers).//// If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX// FIFO's registers can be randomly read/written by the state// machine, but are completely inaccessible to the processor.//// Setting this bit will clear the FJOIN_TX and FJOIN_RX bits.#definePIO_SM2_SHIFTCTRL_FJOIN_RX_PUT_RESET_u(0x0)#definePIO_SM2_SHIFTCTRL_FJOIN_RX_PUT_BITS_u(0x00008000)#definePIO_SM2_SHIFTCTRL_FJOIN_RX_PUT_MSB_u(15)#definePIO_SM2_SHIFTCTRL_FJOIN_RX_PUT_LSB_u(15)#definePIO_SM2_SHIFTCTRL_FJOIN_RX_PUT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_SHIFTCTRL_FJOIN_RX_GET// Description : If 1, disable this state machine's RX FIFO, make its storage// available for random read access by the state machine (using// the `get` instruction) and, unless FJOIN_RX_PUT is also set,// random write access by the processor (through the RXFx_PUTGETy// registers).//// If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX// FIFO's registers can be randomly read/written by the state// machine, but are completely inaccessible to the processor.//// Setting this bit will clear the FJOIN_TX and FJOIN_RX bits.#definePIO_SM2_SHIFTCTRL_FJOIN_RX_GET_RESET_u(0x0)#definePIO_SM2_SHIFTCTRL_FJOIN_RX_GET_BITS_u(0x00004000)#definePIO_SM2_SHIFTCTRL_FJOIN_RX_GET_MSB_u(14)#definePIO_SM2_SHIFTCTRL_FJOIN_RX_GET_LSB_u(14)#definePIO_SM2_SHIFTCTRL_FJOIN_RX_GET_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_SHIFTCTRL_IN_COUNT// Description : Set the number of pins which are not masked to 0 when read by// an IN PINS, WAIT PIN or MOV x, PINS instruction.//// For example, an IN_COUNT of 5 means that the 5 LSBs of the IN// pin group are visible (bits 4:0), but the remaining 27 MSBs are// masked to 0. A count of 32 is encoded with a field value of 0,// so the default behaviour is to not perform any masking.//// Note this masking is applied in addition to the masking usually// performed by the IN instruction. This is mainly useful for the// MOV x, PINS instruction, which otherwise has no way of masking// pins.#definePIO_SM2_SHIFTCTRL_IN_COUNT_RESET_u(0x00)#definePIO_SM2_SHIFTCTRL_IN_COUNT_BITS_u(0x0000001f)#definePIO_SM2_SHIFTCTRL_IN_COUNT_MSB_u(4)#definePIO_SM2_SHIFTCTRL_IN_COUNT_LSB_u(0)#definePIO_SM2_SHIFTCTRL_IN_COUNT_ACCESS"RW"// =============================================================================// Register : PIO_SM2_ADDR// Description : Current instruction address of state machine 2#definePIO_SM2_ADDR_OFFSET_u(0x00000104)#definePIO_SM2_ADDR_BITS_u(0x0000001f)#definePIO_SM2_ADDR_RESET_u(0x00000000)#definePIO_SM2_ADDR_MSB_u(4)#definePIO_SM2_ADDR_LSB_u(0)#definePIO_SM2_ADDR_ACCESS"RO"// =============================================================================// Register : PIO_SM2_INSTR// Description : Read to see the instruction currently addressed by state// machine 2's program counter// Write to execute an instruction immediately (including jumps)// and then resume execution.#definePIO_SM2_INSTR_OFFSET_u(0x00000108)#definePIO_SM2_INSTR_BITS_u(0x0000ffff)#definePIO_SM2_INSTR_RESET"-"#definePIO_SM2_INSTR_MSB_u(15)#definePIO_SM2_INSTR_LSB_u(0)#definePIO_SM2_INSTR_ACCESS"RW"// =============================================================================// Register : PIO_SM2_PINCTRL// Description : State machine pin control#definePIO_SM2_PINCTRL_OFFSET_u(0x0000010c)#definePIO_SM2_PINCTRL_BITS_u(0xffffffff)#definePIO_SM2_PINCTRL_RESET_u(0x14000000)// -----------------------------------------------------------------------------// Field : PIO_SM2_PINCTRL_SIDESET_COUNT// Description : The number of MSBs of the Delay/Side-set instruction field// which are used for side-set. Inclusive of the enable bit, if// present. Minimum of 0 (all delay bits, no side-set) and maximum// of 5 (all side-set, no delay).#definePIO_SM2_PINCTRL_SIDESET_COUNT_RESET_u(0x0)#definePIO_SM2_PINCTRL_SIDESET_COUNT_BITS_u(0xe0000000)#definePIO_SM2_PINCTRL_SIDESET_COUNT_MSB_u(31)#definePIO_SM2_PINCTRL_SIDESET_COUNT_LSB_u(29)#definePIO_SM2_PINCTRL_SIDESET_COUNT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_PINCTRL_SET_COUNT// Description : The number of pins asserted by a SET. In the range 0 to 5// inclusive.#definePIO_SM2_PINCTRL_SET_COUNT_RESET_u(0x5)#definePIO_SM2_PINCTRL_SET_COUNT_BITS_u(0x1c000000)#definePIO_SM2_PINCTRL_SET_COUNT_MSB_u(28)#definePIO_SM2_PINCTRL_SET_COUNT_LSB_u(26)#definePIO_SM2_PINCTRL_SET_COUNT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_PINCTRL_OUT_COUNT// Description : The number of pins asserted by an OUT PINS, OUT PINDIRS or MOV// PINS instruction. In the range 0 to 32 inclusive.#definePIO_SM2_PINCTRL_OUT_COUNT_RESET_u(0x00)#definePIO_SM2_PINCTRL_OUT_COUNT_BITS_u(0x03f00000)#definePIO_SM2_PINCTRL_OUT_COUNT_MSB_u(25)#definePIO_SM2_PINCTRL_OUT_COUNT_LSB_u(20)#definePIO_SM2_PINCTRL_OUT_COUNT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_PINCTRL_IN_BASE// Description : The pin which is mapped to the least-significant bit of a state// machine's IN data bus. Higher-numbered pins are mapped to// consecutively more-significant data bits, with a modulo of 32// applied to pin number.#definePIO_SM2_PINCTRL_IN_BASE_RESET_u(0x00)#definePIO_SM2_PINCTRL_IN_BASE_BITS_u(0x000f8000)#definePIO_SM2_PINCTRL_IN_BASE_MSB_u(19)#definePIO_SM2_PINCTRL_IN_BASE_LSB_u(15)#definePIO_SM2_PINCTRL_IN_BASE_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_PINCTRL_SIDESET_BASE// Description : The lowest-numbered pin that will be affected by a side-set// operation. The MSBs of an instruction's side-set/delay field// (up to 5, determined by SIDESET_COUNT) are used for side-set// data, with the remaining LSBs used for delay. The least-// significant bit of the side-set portion is the bit written to// this pin, with more-significant bits written to higher-numbered// pins.#definePIO_SM2_PINCTRL_SIDESET_BASE_RESET_u(0x00)#definePIO_SM2_PINCTRL_SIDESET_BASE_BITS_u(0x00007c00)#definePIO_SM2_PINCTRL_SIDESET_BASE_MSB_u(14)#definePIO_SM2_PINCTRL_SIDESET_BASE_LSB_u(10)#definePIO_SM2_PINCTRL_SIDESET_BASE_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_PINCTRL_SET_BASE// Description : The lowest-numbered pin that will be affected by a SET PINS or// SET PINDIRS instruction. The data written to this pin is the// least-significant bit of the SET data.#definePIO_SM2_PINCTRL_SET_BASE_RESET_u(0x00)#definePIO_SM2_PINCTRL_SET_BASE_BITS_u(0x000003e0)#definePIO_SM2_PINCTRL_SET_BASE_MSB_u(9)#definePIO_SM2_PINCTRL_SET_BASE_LSB_u(5)#definePIO_SM2_PINCTRL_SET_BASE_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM2_PINCTRL_OUT_BASE// Description : The lowest-numbered pin that will be affected by an OUT PINS,// OUT PINDIRS or MOV PINS instruction. The data written to this// pin will always be the least-significant bit of the OUT or MOV// data.#definePIO_SM2_PINCTRL_OUT_BASE_RESET_u(0x00)#definePIO_SM2_PINCTRL_OUT_BASE_BITS_u(0x0000001f)#definePIO_SM2_PINCTRL_OUT_BASE_MSB_u(4)#definePIO_SM2_PINCTRL_OUT_BASE_LSB_u(0)#definePIO_SM2_PINCTRL_OUT_BASE_ACCESS"RW"// =============================================================================// Register : PIO_SM3_CLKDIV// Description : Clock divisor register for state machine 3// Frequency = clock freq / (CLKDIV_INT + CLKDIV_FRAC / 256)#definePIO_SM3_CLKDIV_OFFSET_u(0x00000110)#definePIO_SM3_CLKDIV_BITS_u(0xffffff00)#definePIO_SM3_CLKDIV_RESET_u(0x00010000)// -----------------------------------------------------------------------------// Field : PIO_SM3_CLKDIV_INT// Description : Effective frequency is sysclk/(int + frac/256).// Value of 0 is interpreted as 65536. If INT is 0, FRAC must also// be 0.#definePIO_SM3_CLKDIV_INT_RESET_u(0x0001)#definePIO_SM3_CLKDIV_INT_BITS_u(0xffff0000)#definePIO_SM3_CLKDIV_INT_MSB_u(31)#definePIO_SM3_CLKDIV_INT_LSB_u(16)#definePIO_SM3_CLKDIV_INT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_CLKDIV_FRAC// Description : Fractional part of clock divisor#definePIO_SM3_CLKDIV_FRAC_RESET_u(0x00)#definePIO_SM3_CLKDIV_FRAC_BITS_u(0x0000ff00)#definePIO_SM3_CLKDIV_FRAC_MSB_u(15)#definePIO_SM3_CLKDIV_FRAC_LSB_u(8)#definePIO_SM3_CLKDIV_FRAC_ACCESS"RW"// =============================================================================// Register : PIO_SM3_EXECCTRL// Description : Execution/behavioural settings for state machine 3#definePIO_SM3_EXECCTRL_OFFSET_u(0x00000114)#definePIO_SM3_EXECCTRL_BITS_u(0xffffffff)#definePIO_SM3_EXECCTRL_RESET_u(0x0001f000)// -----------------------------------------------------------------------------// Field : PIO_SM3_EXECCTRL_EXEC_STALLED// Description : If 1, an instruction written to SMx_INSTR is stalled, and// latched by the state machine. Will clear to 0 once this// instruction completes.#definePIO_SM3_EXECCTRL_EXEC_STALLED_RESET_u(0x0)#definePIO_SM3_EXECCTRL_EXEC_STALLED_BITS_u(0x80000000)#definePIO_SM3_EXECCTRL_EXEC_STALLED_MSB_u(31)#definePIO_SM3_EXECCTRL_EXEC_STALLED_LSB_u(31)#definePIO_SM3_EXECCTRL_EXEC_STALLED_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_SM3_EXECCTRL_SIDE_EN// Description : If 1, the MSB of the Delay/Side-set instruction field is used// as side-set enable, rather than a side-set data bit. This// allows instructions to perform side-set optionally, rather than// on every instruction, but the maximum possible side-set width// is reduced from 5 to 4. Note that the value of// PINCTRL_SIDESET_COUNT is inclusive of this enable bit.#definePIO_SM3_EXECCTRL_SIDE_EN_RESET_u(0x0)#definePIO_SM3_EXECCTRL_SIDE_EN_BITS_u(0x40000000)#definePIO_SM3_EXECCTRL_SIDE_EN_MSB_u(30)#definePIO_SM3_EXECCTRL_SIDE_EN_LSB_u(30)#definePIO_SM3_EXECCTRL_SIDE_EN_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_EXECCTRL_SIDE_PINDIR// Description : If 1, side-set data is asserted to pin directions, instead of// pin values#definePIO_SM3_EXECCTRL_SIDE_PINDIR_RESET_u(0x0)#definePIO_SM3_EXECCTRL_SIDE_PINDIR_BITS_u(0x20000000)#definePIO_SM3_EXECCTRL_SIDE_PINDIR_MSB_u(29)#definePIO_SM3_EXECCTRL_SIDE_PINDIR_LSB_u(29)#definePIO_SM3_EXECCTRL_SIDE_PINDIR_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_EXECCTRL_JMP_PIN// Description : The GPIO number to use as condition for JMP PIN. Unaffected by// input mapping.#definePIO_SM3_EXECCTRL_JMP_PIN_RESET_u(0x00)#definePIO_SM3_EXECCTRL_JMP_PIN_BITS_u(0x1f000000)#definePIO_SM3_EXECCTRL_JMP_PIN_MSB_u(28)#definePIO_SM3_EXECCTRL_JMP_PIN_LSB_u(24)#definePIO_SM3_EXECCTRL_JMP_PIN_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_EXECCTRL_OUT_EN_SEL// Description : Which data bit to use for inline OUT enable#definePIO_SM3_EXECCTRL_OUT_EN_SEL_RESET_u(0x00)#definePIO_SM3_EXECCTRL_OUT_EN_SEL_BITS_u(0x00f80000)#definePIO_SM3_EXECCTRL_OUT_EN_SEL_MSB_u(23)#definePIO_SM3_EXECCTRL_OUT_EN_SEL_LSB_u(19)#definePIO_SM3_EXECCTRL_OUT_EN_SEL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_EXECCTRL_INLINE_OUT_EN// Description : If 1, use a bit of OUT data as an auxiliary write enable// When used in conjunction with OUT_STICKY, writes with an enable// of 0 will// deassert the latest pin write. This can create useful// masking/override behaviour// due to the priority ordering of state machine pin writes (SM0 <// SM1 < ...)#definePIO_SM3_EXECCTRL_INLINE_OUT_EN_RESET_u(0x0)#definePIO_SM3_EXECCTRL_INLINE_OUT_EN_BITS_u(0x00040000)#definePIO_SM3_EXECCTRL_INLINE_OUT_EN_MSB_u(18)#definePIO_SM3_EXECCTRL_INLINE_OUT_EN_LSB_u(18)#definePIO_SM3_EXECCTRL_INLINE_OUT_EN_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_EXECCTRL_OUT_STICKY// Description : Continuously assert the most recent OUT/SET to the pins#definePIO_SM3_EXECCTRL_OUT_STICKY_RESET_u(0x0)#definePIO_SM3_EXECCTRL_OUT_STICKY_BITS_u(0x00020000)#definePIO_SM3_EXECCTRL_OUT_STICKY_MSB_u(17)#definePIO_SM3_EXECCTRL_OUT_STICKY_LSB_u(17)#definePIO_SM3_EXECCTRL_OUT_STICKY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_EXECCTRL_WRAP_TOP// Description : After reaching this address, execution is wrapped to// wrap_bottom.// If the instruction is a jump, and the jump condition is true,// the jump takes priority.#definePIO_SM3_EXECCTRL_WRAP_TOP_RESET_u(0x1f)#definePIO_SM3_EXECCTRL_WRAP_TOP_BITS_u(0x0001f000)#definePIO_SM3_EXECCTRL_WRAP_TOP_MSB_u(16)#definePIO_SM3_EXECCTRL_WRAP_TOP_LSB_u(12)#definePIO_SM3_EXECCTRL_WRAP_TOP_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_EXECCTRL_WRAP_BOTTOM// Description : After reaching wrap_top, execution is wrapped to this address.#definePIO_SM3_EXECCTRL_WRAP_BOTTOM_RESET_u(0x00)#definePIO_SM3_EXECCTRL_WRAP_BOTTOM_BITS_u(0x00000f80)#definePIO_SM3_EXECCTRL_WRAP_BOTTOM_MSB_u(11)#definePIO_SM3_EXECCTRL_WRAP_BOTTOM_LSB_u(7)#definePIO_SM3_EXECCTRL_WRAP_BOTTOM_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_EXECCTRL_STATUS_SEL// Description : Comparison used for the MOV x, STATUS instruction.// 0x0 -> All-ones if TX FIFO level < N, otherwise all-zeroes// 0x1 -> All-ones if RX FIFO level < N, otherwise all-zeroes// 0x2 -> All-ones if the indexed IRQ flag is raised, otherwise all-zeroes#definePIO_SM3_EXECCTRL_STATUS_SEL_RESET_u(0x0)#definePIO_SM3_EXECCTRL_STATUS_SEL_BITS_u(0x00000060)#definePIO_SM3_EXECCTRL_STATUS_SEL_MSB_u(6)#definePIO_SM3_EXECCTRL_STATUS_SEL_LSB_u(5)#definePIO_SM3_EXECCTRL_STATUS_SEL_ACCESS"RW"#definePIO_SM3_EXECCTRL_STATUS_SEL_VALUE_TXLEVEL_u(0x0)#definePIO_SM3_EXECCTRL_STATUS_SEL_VALUE_RXLEVEL_u(0x1)#definePIO_SM3_EXECCTRL_STATUS_SEL_VALUE_IRQ_u(0x2)// -----------------------------------------------------------------------------// Field : PIO_SM3_EXECCTRL_STATUS_N// Description : Comparison level or IRQ index for the MOV x, STATUS// instruction.//// If STATUS_SEL is TXLEVEL or RXLEVEL, then values of STATUS_N// greater than the current FIFO depth are reserved, and have// undefined behaviour.// 0x00 -> Index 0-7 of an IRQ flag in this PIO block// 0x08 -> Index 0-7 of an IRQ flag in the next lower-numbered PIO block// 0x10 -> Index 0-7 of an IRQ flag in the next higher-numbered PIO block#definePIO_SM3_EXECCTRL_STATUS_N_RESET_u(0x00)#definePIO_SM3_EXECCTRL_STATUS_N_BITS_u(0x0000001f)#definePIO_SM3_EXECCTRL_STATUS_N_MSB_u(4)#definePIO_SM3_EXECCTRL_STATUS_N_LSB_u(0)#definePIO_SM3_EXECCTRL_STATUS_N_ACCESS"RW"#definePIO_SM3_EXECCTRL_STATUS_N_VALUE_IRQ_u(0x00)#definePIO_SM3_EXECCTRL_STATUS_N_VALUE_IRQ_PREVPIO_u(0x08)#definePIO_SM3_EXECCTRL_STATUS_N_VALUE_IRQ_NEXTPIO_u(0x10)// =============================================================================// Register : PIO_SM3_SHIFTCTRL// Description : Control behaviour of the input/output shift registers for state// machine 3#definePIO_SM3_SHIFTCTRL_OFFSET_u(0x00000118)#definePIO_SM3_SHIFTCTRL_BITS_u(0xffffc01f)#definePIO_SM3_SHIFTCTRL_RESET_u(0x000c0000)// -----------------------------------------------------------------------------// Field : PIO_SM3_SHIFTCTRL_FJOIN_RX// Description : When 1, RX FIFO steals the TX FIFO's storage, and becomes twice// as deep.// TX FIFO is disabled as a result (always reads as both full and// empty).// FIFOs are flushed when this bit is changed.#definePIO_SM3_SHIFTCTRL_FJOIN_RX_RESET_u(0x0)#definePIO_SM3_SHIFTCTRL_FJOIN_RX_BITS_u(0x80000000)#definePIO_SM3_SHIFTCTRL_FJOIN_RX_MSB_u(31)#definePIO_SM3_SHIFTCTRL_FJOIN_RX_LSB_u(31)#definePIO_SM3_SHIFTCTRL_FJOIN_RX_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_SHIFTCTRL_FJOIN_TX// Description : When 1, TX FIFO steals the RX FIFO's storage, and becomes twice// as deep.// RX FIFO is disabled as a result (always reads as both full and// empty).// FIFOs are flushed when this bit is changed.#definePIO_SM3_SHIFTCTRL_FJOIN_TX_RESET_u(0x0)#definePIO_SM3_SHIFTCTRL_FJOIN_TX_BITS_u(0x40000000)#definePIO_SM3_SHIFTCTRL_FJOIN_TX_MSB_u(30)#definePIO_SM3_SHIFTCTRL_FJOIN_TX_LSB_u(30)#definePIO_SM3_SHIFTCTRL_FJOIN_TX_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_SHIFTCTRL_PULL_THRESH// Description : Number of bits shifted out of OSR before autopull, or// conditional pull (PULL IFEMPTY), will take place.// Write 0 for value of 32.#definePIO_SM3_SHIFTCTRL_PULL_THRESH_RESET_u(0x00)#definePIO_SM3_SHIFTCTRL_PULL_THRESH_BITS_u(0x3e000000)#definePIO_SM3_SHIFTCTRL_PULL_THRESH_MSB_u(29)#definePIO_SM3_SHIFTCTRL_PULL_THRESH_LSB_u(25)#definePIO_SM3_SHIFTCTRL_PULL_THRESH_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_SHIFTCTRL_PUSH_THRESH// Description : Number of bits shifted into ISR before autopush, or conditional// push (PUSH IFFULL), will take place.// Write 0 for value of 32.#definePIO_SM3_SHIFTCTRL_PUSH_THRESH_RESET_u(0x00)#definePIO_SM3_SHIFTCTRL_PUSH_THRESH_BITS_u(0x01f00000)#definePIO_SM3_SHIFTCTRL_PUSH_THRESH_MSB_u(24)#definePIO_SM3_SHIFTCTRL_PUSH_THRESH_LSB_u(20)#definePIO_SM3_SHIFTCTRL_PUSH_THRESH_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_SHIFTCTRL_OUT_SHIFTDIR// Description : 1 = shift out of output shift register to right. 0 = to left.#definePIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_RESET_u(0x1)#definePIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_BITS_u(0x00080000)#definePIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_MSB_u(19)#definePIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_LSB_u(19)#definePIO_SM3_SHIFTCTRL_OUT_SHIFTDIR_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_SHIFTCTRL_IN_SHIFTDIR// Description : 1 = shift input shift register to right (data enters from// left). 0 = to left.#definePIO_SM3_SHIFTCTRL_IN_SHIFTDIR_RESET_u(0x1)#definePIO_SM3_SHIFTCTRL_IN_SHIFTDIR_BITS_u(0x00040000)#definePIO_SM3_SHIFTCTRL_IN_SHIFTDIR_MSB_u(18)#definePIO_SM3_SHIFTCTRL_IN_SHIFTDIR_LSB_u(18)#definePIO_SM3_SHIFTCTRL_IN_SHIFTDIR_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_SHIFTCTRL_AUTOPULL// Description : Pull automatically when the output shift register is emptied,// i.e. on or following an OUT instruction which causes the output// shift counter to reach or exceed PULL_THRESH.#definePIO_SM3_SHIFTCTRL_AUTOPULL_RESET_u(0x0)#definePIO_SM3_SHIFTCTRL_AUTOPULL_BITS_u(0x00020000)#definePIO_SM3_SHIFTCTRL_AUTOPULL_MSB_u(17)#definePIO_SM3_SHIFTCTRL_AUTOPULL_LSB_u(17)#definePIO_SM3_SHIFTCTRL_AUTOPULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_SHIFTCTRL_AUTOPUSH// Description : Push automatically when the input shift register is filled,// i.e. on an IN instruction which causes the input shift counter// to reach or exceed PUSH_THRESH.#definePIO_SM3_SHIFTCTRL_AUTOPUSH_RESET_u(0x0)#definePIO_SM3_SHIFTCTRL_AUTOPUSH_BITS_u(0x00010000)#definePIO_SM3_SHIFTCTRL_AUTOPUSH_MSB_u(16)#definePIO_SM3_SHIFTCTRL_AUTOPUSH_LSB_u(16)#definePIO_SM3_SHIFTCTRL_AUTOPUSH_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_SHIFTCTRL_FJOIN_RX_PUT// Description : If 1, disable this state machine's RX FIFO, make its storage// available for random write access by the state machine (using// the `put` instruction) and, unless FJOIN_RX_GET is also set,// random read access by the processor (through the RXFx_PUTGETy// registers).//// If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX// FIFO's registers can be randomly read/written by the state// machine, but are completely inaccessible to the processor.//// Setting this bit will clear the FJOIN_TX and FJOIN_RX bits.#definePIO_SM3_SHIFTCTRL_FJOIN_RX_PUT_RESET_u(0x0)#definePIO_SM3_SHIFTCTRL_FJOIN_RX_PUT_BITS_u(0x00008000)#definePIO_SM3_SHIFTCTRL_FJOIN_RX_PUT_MSB_u(15)#definePIO_SM3_SHIFTCTRL_FJOIN_RX_PUT_LSB_u(15)#definePIO_SM3_SHIFTCTRL_FJOIN_RX_PUT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_SHIFTCTRL_FJOIN_RX_GET// Description : If 1, disable this state machine's RX FIFO, make its storage// available for random read access by the state machine (using// the `get` instruction) and, unless FJOIN_RX_PUT is also set,// random write access by the processor (through the RXFx_PUTGETy// registers).//// If FJOIN_RX_PUT and FJOIN_RX_GET are both set, then the RX// FIFO's registers can be randomly read/written by the state// machine, but are completely inaccessible to the processor.//// Setting this bit will clear the FJOIN_TX and FJOIN_RX bits.#definePIO_SM3_SHIFTCTRL_FJOIN_RX_GET_RESET_u(0x0)#definePIO_SM3_SHIFTCTRL_FJOIN_RX_GET_BITS_u(0x00004000)#definePIO_SM3_SHIFTCTRL_FJOIN_RX_GET_MSB_u(14)#definePIO_SM3_SHIFTCTRL_FJOIN_RX_GET_LSB_u(14)#definePIO_SM3_SHIFTCTRL_FJOIN_RX_GET_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_SHIFTCTRL_IN_COUNT// Description : Set the number of pins which are not masked to 0 when read by// an IN PINS, WAIT PIN or MOV x, PINS instruction.//// For example, an IN_COUNT of 5 means that the 5 LSBs of the IN// pin group are visible (bits 4:0), but the remaining 27 MSBs are// masked to 0. A count of 32 is encoded with a field value of 0,// so the default behaviour is to not perform any masking.//// Note this masking is applied in addition to the masking usually// performed by the IN instruction. This is mainly useful for the// MOV x, PINS instruction, which otherwise has no way of masking// pins.#definePIO_SM3_SHIFTCTRL_IN_COUNT_RESET_u(0x00)#definePIO_SM3_SHIFTCTRL_IN_COUNT_BITS_u(0x0000001f)#definePIO_SM3_SHIFTCTRL_IN_COUNT_MSB_u(4)#definePIO_SM3_SHIFTCTRL_IN_COUNT_LSB_u(0)#definePIO_SM3_SHIFTCTRL_IN_COUNT_ACCESS"RW"// =============================================================================// Register : PIO_SM3_ADDR// Description : Current instruction address of state machine 3#definePIO_SM3_ADDR_OFFSET_u(0x0000011c)#definePIO_SM3_ADDR_BITS_u(0x0000001f)#definePIO_SM3_ADDR_RESET_u(0x00000000)#definePIO_SM3_ADDR_MSB_u(4)#definePIO_SM3_ADDR_LSB_u(0)#definePIO_SM3_ADDR_ACCESS"RO"// =============================================================================// Register : PIO_SM3_INSTR// Description : Read to see the instruction currently addressed by state// machine 3's program counter// Write to execute an instruction immediately (including jumps)// and then resume execution.#definePIO_SM3_INSTR_OFFSET_u(0x00000120)#definePIO_SM3_INSTR_BITS_u(0x0000ffff)#definePIO_SM3_INSTR_RESET"-"#definePIO_SM3_INSTR_MSB_u(15)#definePIO_SM3_INSTR_LSB_u(0)#definePIO_SM3_INSTR_ACCESS"RW"// =============================================================================// Register : PIO_SM3_PINCTRL// Description : State machine pin control#definePIO_SM3_PINCTRL_OFFSET_u(0x00000124)#definePIO_SM3_PINCTRL_BITS_u(0xffffffff)#definePIO_SM3_PINCTRL_RESET_u(0x14000000)// -----------------------------------------------------------------------------// Field : PIO_SM3_PINCTRL_SIDESET_COUNT// Description : The number of MSBs of the Delay/Side-set instruction field// which are used for side-set. Inclusive of the enable bit, if// present. Minimum of 0 (all delay bits, no side-set) and maximum// of 5 (all side-set, no delay).#definePIO_SM3_PINCTRL_SIDESET_COUNT_RESET_u(0x0)#definePIO_SM3_PINCTRL_SIDESET_COUNT_BITS_u(0xe0000000)#definePIO_SM3_PINCTRL_SIDESET_COUNT_MSB_u(31)#definePIO_SM3_PINCTRL_SIDESET_COUNT_LSB_u(29)#definePIO_SM3_PINCTRL_SIDESET_COUNT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_PINCTRL_SET_COUNT// Description : The number of pins asserted by a SET. In the range 0 to 5// inclusive.#definePIO_SM3_PINCTRL_SET_COUNT_RESET_u(0x5)#definePIO_SM3_PINCTRL_SET_COUNT_BITS_u(0x1c000000)#definePIO_SM3_PINCTRL_SET_COUNT_MSB_u(28)#definePIO_SM3_PINCTRL_SET_COUNT_LSB_u(26)#definePIO_SM3_PINCTRL_SET_COUNT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_PINCTRL_OUT_COUNT// Description : The number of pins asserted by an OUT PINS, OUT PINDIRS or MOV// PINS instruction. In the range 0 to 32 inclusive.#definePIO_SM3_PINCTRL_OUT_COUNT_RESET_u(0x00)#definePIO_SM3_PINCTRL_OUT_COUNT_BITS_u(0x03f00000)#definePIO_SM3_PINCTRL_OUT_COUNT_MSB_u(25)#definePIO_SM3_PINCTRL_OUT_COUNT_LSB_u(20)#definePIO_SM3_PINCTRL_OUT_COUNT_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_PINCTRL_IN_BASE// Description : The pin which is mapped to the least-significant bit of a state// machine's IN data bus. Higher-numbered pins are mapped to// consecutively more-significant data bits, with a modulo of 32// applied to pin number.#definePIO_SM3_PINCTRL_IN_BASE_RESET_u(0x00)#definePIO_SM3_PINCTRL_IN_BASE_BITS_u(0x000f8000)#definePIO_SM3_PINCTRL_IN_BASE_MSB_u(19)#definePIO_SM3_PINCTRL_IN_BASE_LSB_u(15)#definePIO_SM3_PINCTRL_IN_BASE_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_PINCTRL_SIDESET_BASE// Description : The lowest-numbered pin that will be affected by a side-set// operation. The MSBs of an instruction's side-set/delay field// (up to 5, determined by SIDESET_COUNT) are used for side-set// data, with the remaining LSBs used for delay. The least-// significant bit of the side-set portion is the bit written to// this pin, with more-significant bits written to higher-numbered// pins.#definePIO_SM3_PINCTRL_SIDESET_BASE_RESET_u(0x00)#definePIO_SM3_PINCTRL_SIDESET_BASE_BITS_u(0x00007c00)#definePIO_SM3_PINCTRL_SIDESET_BASE_MSB_u(14)#definePIO_SM3_PINCTRL_SIDESET_BASE_LSB_u(10)#definePIO_SM3_PINCTRL_SIDESET_BASE_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_PINCTRL_SET_BASE// Description : The lowest-numbered pin that will be affected by a SET PINS or// SET PINDIRS instruction. The data written to this pin is the// least-significant bit of the SET data.#definePIO_SM3_PINCTRL_SET_BASE_RESET_u(0x00)#definePIO_SM3_PINCTRL_SET_BASE_BITS_u(0x000003e0)#definePIO_SM3_PINCTRL_SET_BASE_MSB_u(9)#definePIO_SM3_PINCTRL_SET_BASE_LSB_u(5)#definePIO_SM3_PINCTRL_SET_BASE_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_SM3_PINCTRL_OUT_BASE// Description : The lowest-numbered pin that will be affected by an OUT PINS,// OUT PINDIRS or MOV PINS instruction. The data written to this// pin will always be the least-significant bit of the OUT or MOV// data.#definePIO_SM3_PINCTRL_OUT_BASE_RESET_u(0x00)#definePIO_SM3_PINCTRL_OUT_BASE_BITS_u(0x0000001f)#definePIO_SM3_PINCTRL_OUT_BASE_MSB_u(4)#definePIO_SM3_PINCTRL_OUT_BASE_LSB_u(0)#definePIO_SM3_PINCTRL_OUT_BASE_ACCESS"RW"// =============================================================================// Register : PIO_RXF0_PUTGET0// Description : Direct read/write access to entry 0 of SM0's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF0_PUTGET0_OFFSET_u(0x00000128)#definePIO_RXF0_PUTGET0_BITS_u(0xffffffff)#definePIO_RXF0_PUTGET0_RESET_u(0x00000000)#definePIO_RXF0_PUTGET0_MSB_u(31)#definePIO_RXF0_PUTGET0_LSB_u(0)#definePIO_RXF0_PUTGET0_ACCESS"RW"// =============================================================================// Register : PIO_RXF0_PUTGET1// Description : Direct read/write access to entry 1 of SM0's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF0_PUTGET1_OFFSET_u(0x0000012c)#definePIO_RXF0_PUTGET1_BITS_u(0xffffffff)#definePIO_RXF0_PUTGET1_RESET_u(0x00000000)#definePIO_RXF0_PUTGET1_MSB_u(31)#definePIO_RXF0_PUTGET1_LSB_u(0)#definePIO_RXF0_PUTGET1_ACCESS"RW"// =============================================================================// Register : PIO_RXF0_PUTGET2// Description : Direct read/write access to entry 2 of SM0's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF0_PUTGET2_OFFSET_u(0x00000130)#definePIO_RXF0_PUTGET2_BITS_u(0xffffffff)#definePIO_RXF0_PUTGET2_RESET_u(0x00000000)#definePIO_RXF0_PUTGET2_MSB_u(31)#definePIO_RXF0_PUTGET2_LSB_u(0)#definePIO_RXF0_PUTGET2_ACCESS"RW"// =============================================================================// Register : PIO_RXF0_PUTGET3// Description : Direct read/write access to entry 3 of SM0's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF0_PUTGET3_OFFSET_u(0x00000134)#definePIO_RXF0_PUTGET3_BITS_u(0xffffffff)#definePIO_RXF0_PUTGET3_RESET_u(0x00000000)#definePIO_RXF0_PUTGET3_MSB_u(31)#definePIO_RXF0_PUTGET3_LSB_u(0)#definePIO_RXF0_PUTGET3_ACCESS"RW"// =============================================================================// Register : PIO_RXF1_PUTGET0// Description : Direct read/write access to entry 0 of SM1's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF1_PUTGET0_OFFSET_u(0x00000138)#definePIO_RXF1_PUTGET0_BITS_u(0xffffffff)#definePIO_RXF1_PUTGET0_RESET_u(0x00000000)#definePIO_RXF1_PUTGET0_MSB_u(31)#definePIO_RXF1_PUTGET0_LSB_u(0)#definePIO_RXF1_PUTGET0_ACCESS"RW"// =============================================================================// Register : PIO_RXF1_PUTGET1// Description : Direct read/write access to entry 1 of SM1's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF1_PUTGET1_OFFSET_u(0x0000013c)#definePIO_RXF1_PUTGET1_BITS_u(0xffffffff)#definePIO_RXF1_PUTGET1_RESET_u(0x00000000)#definePIO_RXF1_PUTGET1_MSB_u(31)#definePIO_RXF1_PUTGET1_LSB_u(0)#definePIO_RXF1_PUTGET1_ACCESS"RW"// =============================================================================// Register : PIO_RXF1_PUTGET2// Description : Direct read/write access to entry 2 of SM1's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF1_PUTGET2_OFFSET_u(0x00000140)#definePIO_RXF1_PUTGET2_BITS_u(0xffffffff)#definePIO_RXF1_PUTGET2_RESET_u(0x00000000)#definePIO_RXF1_PUTGET2_MSB_u(31)#definePIO_RXF1_PUTGET2_LSB_u(0)#definePIO_RXF1_PUTGET2_ACCESS"RW"// =============================================================================// Register : PIO_RXF1_PUTGET3// Description : Direct read/write access to entry 3 of SM1's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF1_PUTGET3_OFFSET_u(0x00000144)#definePIO_RXF1_PUTGET3_BITS_u(0xffffffff)#definePIO_RXF1_PUTGET3_RESET_u(0x00000000)#definePIO_RXF1_PUTGET3_MSB_u(31)#definePIO_RXF1_PUTGET3_LSB_u(0)#definePIO_RXF1_PUTGET3_ACCESS"RW"// =============================================================================// Register : PIO_RXF2_PUTGET0// Description : Direct read/write access to entry 0 of SM2's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF2_PUTGET0_OFFSET_u(0x00000148)#definePIO_RXF2_PUTGET0_BITS_u(0xffffffff)#definePIO_RXF2_PUTGET0_RESET_u(0x00000000)#definePIO_RXF2_PUTGET0_MSB_u(31)#definePIO_RXF2_PUTGET0_LSB_u(0)#definePIO_RXF2_PUTGET0_ACCESS"RW"// =============================================================================// Register : PIO_RXF2_PUTGET1// Description : Direct read/write access to entry 1 of SM2's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF2_PUTGET1_OFFSET_u(0x0000014c)#definePIO_RXF2_PUTGET1_BITS_u(0xffffffff)#definePIO_RXF2_PUTGET1_RESET_u(0x00000000)#definePIO_RXF2_PUTGET1_MSB_u(31)#definePIO_RXF2_PUTGET1_LSB_u(0)#definePIO_RXF2_PUTGET1_ACCESS"RW"// =============================================================================// Register : PIO_RXF2_PUTGET2// Description : Direct read/write access to entry 2 of SM2's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF2_PUTGET2_OFFSET_u(0x00000150)#definePIO_RXF2_PUTGET2_BITS_u(0xffffffff)#definePIO_RXF2_PUTGET2_RESET_u(0x00000000)#definePIO_RXF2_PUTGET2_MSB_u(31)#definePIO_RXF2_PUTGET2_LSB_u(0)#definePIO_RXF2_PUTGET2_ACCESS"RW"// =============================================================================// Register : PIO_RXF2_PUTGET3// Description : Direct read/write access to entry 3 of SM2's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF2_PUTGET3_OFFSET_u(0x00000154)#definePIO_RXF2_PUTGET3_BITS_u(0xffffffff)#definePIO_RXF2_PUTGET3_RESET_u(0x00000000)#definePIO_RXF2_PUTGET3_MSB_u(31)#definePIO_RXF2_PUTGET3_LSB_u(0)#definePIO_RXF2_PUTGET3_ACCESS"RW"// =============================================================================// Register : PIO_RXF3_PUTGET0// Description : Direct read/write access to entry 0 of SM3's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF3_PUTGET0_OFFSET_u(0x00000158)#definePIO_RXF3_PUTGET0_BITS_u(0xffffffff)#definePIO_RXF3_PUTGET0_RESET_u(0x00000000)#definePIO_RXF3_PUTGET0_MSB_u(31)#definePIO_RXF3_PUTGET0_LSB_u(0)#definePIO_RXF3_PUTGET0_ACCESS"RW"// =============================================================================// Register : PIO_RXF3_PUTGET1// Description : Direct read/write access to entry 1 of SM3's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF3_PUTGET1_OFFSET_u(0x0000015c)#definePIO_RXF3_PUTGET1_BITS_u(0xffffffff)#definePIO_RXF3_PUTGET1_RESET_u(0x00000000)#definePIO_RXF3_PUTGET1_MSB_u(31)#definePIO_RXF3_PUTGET1_LSB_u(0)#definePIO_RXF3_PUTGET1_ACCESS"RW"// =============================================================================// Register : PIO_RXF3_PUTGET2// Description : Direct read/write access to entry 2 of SM3's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF3_PUTGET2_OFFSET_u(0x00000160)#definePIO_RXF3_PUTGET2_BITS_u(0xffffffff)#definePIO_RXF3_PUTGET2_RESET_u(0x00000000)#definePIO_RXF3_PUTGET2_MSB_u(31)#definePIO_RXF3_PUTGET2_LSB_u(0)#definePIO_RXF3_PUTGET2_ACCESS"RW"// =============================================================================// Register : PIO_RXF3_PUTGET3// Description : Direct read/write access to entry 3 of SM3's RX FIFO, if// SHIFTCTRL_FJOIN_RX_PUT xor SHIFTCTRL_FJOIN_RX_GET is set.#definePIO_RXF3_PUTGET3_OFFSET_u(0x00000164)#definePIO_RXF3_PUTGET3_BITS_u(0xffffffff)#definePIO_RXF3_PUTGET3_RESET_u(0x00000000)#definePIO_RXF3_PUTGET3_MSB_u(31)#definePIO_RXF3_PUTGET3_LSB_u(0)#definePIO_RXF3_PUTGET3_ACCESS"RW"// =============================================================================// Register : PIO_GPIOBASE// Description : Relocate GPIO 0 (from PIO's point of view) in the system GPIO// numbering, to access more than 32 GPIOs from PIO.//// Only the values 0 and 16 are supported (only bit 4 is// writable).#definePIO_GPIOBASE_OFFSET_u(0x00000168)#definePIO_GPIOBASE_BITS_u(0x00000010)#definePIO_GPIOBASE_RESET_u(0x00000000)#definePIO_GPIOBASE_MSB_u(4)#definePIO_GPIOBASE_LSB_u(4)#definePIO_GPIOBASE_ACCESS"RW"// =============================================================================// Register : PIO_INTR// Description : Raw Interrupts#definePIO_INTR_OFFSET_u(0x0000016c)#definePIO_INTR_BITS_u(0x0000ffff)#definePIO_INTR_RESET_u(0x00000000)// -----------------------------------------------------------------------------// Field : PIO_INTR_SM7#definePIO_INTR_SM7_RESET_u(0x0)#definePIO_INTR_SM7_BITS_u(0x00008000)#definePIO_INTR_SM7_MSB_u(15)#definePIO_INTR_SM7_LSB_u(15)#definePIO_INTR_SM7_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM6#definePIO_INTR_SM6_RESET_u(0x0)#definePIO_INTR_SM6_BITS_u(0x00004000)#definePIO_INTR_SM6_MSB_u(14)#definePIO_INTR_SM6_LSB_u(14)#definePIO_INTR_SM6_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM5#definePIO_INTR_SM5_RESET_u(0x0)#definePIO_INTR_SM5_BITS_u(0x00002000)#definePIO_INTR_SM5_MSB_u(13)#definePIO_INTR_SM5_LSB_u(13)#definePIO_INTR_SM5_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM4#definePIO_INTR_SM4_RESET_u(0x0)#definePIO_INTR_SM4_BITS_u(0x00001000)#definePIO_INTR_SM4_MSB_u(12)#definePIO_INTR_SM4_LSB_u(12)#definePIO_INTR_SM4_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM3#definePIO_INTR_SM3_RESET_u(0x0)#definePIO_INTR_SM3_BITS_u(0x00000800)#definePIO_INTR_SM3_MSB_u(11)#definePIO_INTR_SM3_LSB_u(11)#definePIO_INTR_SM3_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM2#definePIO_INTR_SM2_RESET_u(0x0)#definePIO_INTR_SM2_BITS_u(0x00000400)#definePIO_INTR_SM2_MSB_u(10)#definePIO_INTR_SM2_LSB_u(10)#definePIO_INTR_SM2_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM1#definePIO_INTR_SM1_RESET_u(0x0)#definePIO_INTR_SM1_BITS_u(0x00000200)#definePIO_INTR_SM1_MSB_u(9)#definePIO_INTR_SM1_LSB_u(9)#definePIO_INTR_SM1_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM0#definePIO_INTR_SM0_RESET_u(0x0)#definePIO_INTR_SM0_BITS_u(0x00000100)#definePIO_INTR_SM0_MSB_u(8)#definePIO_INTR_SM0_LSB_u(8)#definePIO_INTR_SM0_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM3_TXNFULL#definePIO_INTR_SM3_TXNFULL_RESET_u(0x0)#definePIO_INTR_SM3_TXNFULL_BITS_u(0x00000080)#definePIO_INTR_SM3_TXNFULL_MSB_u(7)#definePIO_INTR_SM3_TXNFULL_LSB_u(7)#definePIO_INTR_SM3_TXNFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM2_TXNFULL#definePIO_INTR_SM2_TXNFULL_RESET_u(0x0)#definePIO_INTR_SM2_TXNFULL_BITS_u(0x00000040)#definePIO_INTR_SM2_TXNFULL_MSB_u(6)#definePIO_INTR_SM2_TXNFULL_LSB_u(6)#definePIO_INTR_SM2_TXNFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM1_TXNFULL#definePIO_INTR_SM1_TXNFULL_RESET_u(0x0)#definePIO_INTR_SM1_TXNFULL_BITS_u(0x00000020)#definePIO_INTR_SM1_TXNFULL_MSB_u(5)#definePIO_INTR_SM1_TXNFULL_LSB_u(5)#definePIO_INTR_SM1_TXNFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM0_TXNFULL#definePIO_INTR_SM0_TXNFULL_RESET_u(0x0)#definePIO_INTR_SM0_TXNFULL_BITS_u(0x00000010)#definePIO_INTR_SM0_TXNFULL_MSB_u(4)#definePIO_INTR_SM0_TXNFULL_LSB_u(4)#definePIO_INTR_SM0_TXNFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM3_RXNEMPTY#definePIO_INTR_SM3_RXNEMPTY_RESET_u(0x0)#definePIO_INTR_SM3_RXNEMPTY_BITS_u(0x00000008)#definePIO_INTR_SM3_RXNEMPTY_MSB_u(3)#definePIO_INTR_SM3_RXNEMPTY_LSB_u(3)#definePIO_INTR_SM3_RXNEMPTY_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM2_RXNEMPTY#definePIO_INTR_SM2_RXNEMPTY_RESET_u(0x0)#definePIO_INTR_SM2_RXNEMPTY_BITS_u(0x00000004)#definePIO_INTR_SM2_RXNEMPTY_MSB_u(2)#definePIO_INTR_SM2_RXNEMPTY_LSB_u(2)#definePIO_INTR_SM2_RXNEMPTY_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM1_RXNEMPTY#definePIO_INTR_SM1_RXNEMPTY_RESET_u(0x0)#definePIO_INTR_SM1_RXNEMPTY_BITS_u(0x00000002)#definePIO_INTR_SM1_RXNEMPTY_MSB_u(1)#definePIO_INTR_SM1_RXNEMPTY_LSB_u(1)#definePIO_INTR_SM1_RXNEMPTY_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_INTR_SM0_RXNEMPTY#definePIO_INTR_SM0_RXNEMPTY_RESET_u(0x0)#definePIO_INTR_SM0_RXNEMPTY_BITS_u(0x00000001)#definePIO_INTR_SM0_RXNEMPTY_MSB_u(0)#definePIO_INTR_SM0_RXNEMPTY_LSB_u(0)#definePIO_INTR_SM0_RXNEMPTY_ACCESS"RO"// =============================================================================// Register : PIO_IRQ0_INTE// Description : Interrupt Enable for irq0#definePIO_IRQ0_INTE_OFFSET_u(0x00000170)#definePIO_IRQ0_INTE_BITS_u(0x0000ffff)#definePIO_IRQ0_INTE_RESET_u(0x00000000)// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM7#definePIO_IRQ0_INTE_SM7_RESET_u(0x0)#definePIO_IRQ0_INTE_SM7_BITS_u(0x00008000)#definePIO_IRQ0_INTE_SM7_MSB_u(15)#definePIO_IRQ0_INTE_SM7_LSB_u(15)#definePIO_IRQ0_INTE_SM7_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM6#definePIO_IRQ0_INTE_SM6_RESET_u(0x0)#definePIO_IRQ0_INTE_SM6_BITS_u(0x00004000)#definePIO_IRQ0_INTE_SM6_MSB_u(14)#definePIO_IRQ0_INTE_SM6_LSB_u(14)#definePIO_IRQ0_INTE_SM6_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM5#definePIO_IRQ0_INTE_SM5_RESET_u(0x0)#definePIO_IRQ0_INTE_SM5_BITS_u(0x00002000)#definePIO_IRQ0_INTE_SM5_MSB_u(13)#definePIO_IRQ0_INTE_SM5_LSB_u(13)#definePIO_IRQ0_INTE_SM5_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM4#definePIO_IRQ0_INTE_SM4_RESET_u(0x0)#definePIO_IRQ0_INTE_SM4_BITS_u(0x00001000)#definePIO_IRQ0_INTE_SM4_MSB_u(12)#definePIO_IRQ0_INTE_SM4_LSB_u(12)#definePIO_IRQ0_INTE_SM4_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM3#definePIO_IRQ0_INTE_SM3_RESET_u(0x0)#definePIO_IRQ0_INTE_SM3_BITS_u(0x00000800)#definePIO_IRQ0_INTE_SM3_MSB_u(11)#definePIO_IRQ0_INTE_SM3_LSB_u(11)#definePIO_IRQ0_INTE_SM3_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM2#definePIO_IRQ0_INTE_SM2_RESET_u(0x0)#definePIO_IRQ0_INTE_SM2_BITS_u(0x00000400)#definePIO_IRQ0_INTE_SM2_MSB_u(10)#definePIO_IRQ0_INTE_SM2_LSB_u(10)#definePIO_IRQ0_INTE_SM2_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM1#definePIO_IRQ0_INTE_SM1_RESET_u(0x0)#definePIO_IRQ0_INTE_SM1_BITS_u(0x00000200)#definePIO_IRQ0_INTE_SM1_MSB_u(9)#definePIO_IRQ0_INTE_SM1_LSB_u(9)#definePIO_IRQ0_INTE_SM1_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM0#definePIO_IRQ0_INTE_SM0_RESET_u(0x0)#definePIO_IRQ0_INTE_SM0_BITS_u(0x00000100)#definePIO_IRQ0_INTE_SM0_MSB_u(8)#definePIO_IRQ0_INTE_SM0_LSB_u(8)#definePIO_IRQ0_INTE_SM0_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM3_TXNFULL#definePIO_IRQ0_INTE_SM3_TXNFULL_RESET_u(0x0)#definePIO_IRQ0_INTE_SM3_TXNFULL_BITS_u(0x00000080)#definePIO_IRQ0_INTE_SM3_TXNFULL_MSB_u(7)#definePIO_IRQ0_INTE_SM3_TXNFULL_LSB_u(7)#definePIO_IRQ0_INTE_SM3_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM2_TXNFULL#definePIO_IRQ0_INTE_SM2_TXNFULL_RESET_u(0x0)#definePIO_IRQ0_INTE_SM2_TXNFULL_BITS_u(0x00000040)#definePIO_IRQ0_INTE_SM2_TXNFULL_MSB_u(6)#definePIO_IRQ0_INTE_SM2_TXNFULL_LSB_u(6)#definePIO_IRQ0_INTE_SM2_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM1_TXNFULL#definePIO_IRQ0_INTE_SM1_TXNFULL_RESET_u(0x0)#definePIO_IRQ0_INTE_SM1_TXNFULL_BITS_u(0x00000020)#definePIO_IRQ0_INTE_SM1_TXNFULL_MSB_u(5)#definePIO_IRQ0_INTE_SM1_TXNFULL_LSB_u(5)#definePIO_IRQ0_INTE_SM1_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM0_TXNFULL#definePIO_IRQ0_INTE_SM0_TXNFULL_RESET_u(0x0)#definePIO_IRQ0_INTE_SM0_TXNFULL_BITS_u(0x00000010)#definePIO_IRQ0_INTE_SM0_TXNFULL_MSB_u(4)#definePIO_IRQ0_INTE_SM0_TXNFULL_LSB_u(4)#definePIO_IRQ0_INTE_SM0_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM3_RXNEMPTY#definePIO_IRQ0_INTE_SM3_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ0_INTE_SM3_RXNEMPTY_BITS_u(0x00000008)#definePIO_IRQ0_INTE_SM3_RXNEMPTY_MSB_u(3)#definePIO_IRQ0_INTE_SM3_RXNEMPTY_LSB_u(3)#definePIO_IRQ0_INTE_SM3_RXNEMPTY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM2_RXNEMPTY#definePIO_IRQ0_INTE_SM2_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ0_INTE_SM2_RXNEMPTY_BITS_u(0x00000004)#definePIO_IRQ0_INTE_SM2_RXNEMPTY_MSB_u(2)#definePIO_IRQ0_INTE_SM2_RXNEMPTY_LSB_u(2)#definePIO_IRQ0_INTE_SM2_RXNEMPTY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM1_RXNEMPTY#definePIO_IRQ0_INTE_SM1_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ0_INTE_SM1_RXNEMPTY_BITS_u(0x00000002)#definePIO_IRQ0_INTE_SM1_RXNEMPTY_MSB_u(1)#definePIO_IRQ0_INTE_SM1_RXNEMPTY_LSB_u(1)#definePIO_IRQ0_INTE_SM1_RXNEMPTY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTE_SM0_RXNEMPTY#definePIO_IRQ0_INTE_SM0_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ0_INTE_SM0_RXNEMPTY_BITS_u(0x00000001)#definePIO_IRQ0_INTE_SM0_RXNEMPTY_MSB_u(0)#definePIO_IRQ0_INTE_SM0_RXNEMPTY_LSB_u(0)#definePIO_IRQ0_INTE_SM0_RXNEMPTY_ACCESS"RW"// =============================================================================// Register : PIO_IRQ0_INTF// Description : Interrupt Force for irq0#definePIO_IRQ0_INTF_OFFSET_u(0x00000174)#definePIO_IRQ0_INTF_BITS_u(0x0000ffff)#definePIO_IRQ0_INTF_RESET_u(0x00000000)// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM7#definePIO_IRQ0_INTF_SM7_RESET_u(0x0)#definePIO_IRQ0_INTF_SM7_BITS_u(0x00008000)#definePIO_IRQ0_INTF_SM7_MSB_u(15)#definePIO_IRQ0_INTF_SM7_LSB_u(15)#definePIO_IRQ0_INTF_SM7_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM6#definePIO_IRQ0_INTF_SM6_RESET_u(0x0)#definePIO_IRQ0_INTF_SM6_BITS_u(0x00004000)#definePIO_IRQ0_INTF_SM6_MSB_u(14)#definePIO_IRQ0_INTF_SM6_LSB_u(14)#definePIO_IRQ0_INTF_SM6_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM5#definePIO_IRQ0_INTF_SM5_RESET_u(0x0)#definePIO_IRQ0_INTF_SM5_BITS_u(0x00002000)#definePIO_IRQ0_INTF_SM5_MSB_u(13)#definePIO_IRQ0_INTF_SM5_LSB_u(13)#definePIO_IRQ0_INTF_SM5_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM4#definePIO_IRQ0_INTF_SM4_RESET_u(0x0)#definePIO_IRQ0_INTF_SM4_BITS_u(0x00001000)#definePIO_IRQ0_INTF_SM4_MSB_u(12)#definePIO_IRQ0_INTF_SM4_LSB_u(12)#definePIO_IRQ0_INTF_SM4_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM3#definePIO_IRQ0_INTF_SM3_RESET_u(0x0)#definePIO_IRQ0_INTF_SM3_BITS_u(0x00000800)#definePIO_IRQ0_INTF_SM3_MSB_u(11)#definePIO_IRQ0_INTF_SM3_LSB_u(11)#definePIO_IRQ0_INTF_SM3_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM2#definePIO_IRQ0_INTF_SM2_RESET_u(0x0)#definePIO_IRQ0_INTF_SM2_BITS_u(0x00000400)#definePIO_IRQ0_INTF_SM2_MSB_u(10)#definePIO_IRQ0_INTF_SM2_LSB_u(10)#definePIO_IRQ0_INTF_SM2_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM1#definePIO_IRQ0_INTF_SM1_RESET_u(0x0)#definePIO_IRQ0_INTF_SM1_BITS_u(0x00000200)#definePIO_IRQ0_INTF_SM1_MSB_u(9)#definePIO_IRQ0_INTF_SM1_LSB_u(9)#definePIO_IRQ0_INTF_SM1_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM0#definePIO_IRQ0_INTF_SM0_RESET_u(0x0)#definePIO_IRQ0_INTF_SM0_BITS_u(0x00000100)#definePIO_IRQ0_INTF_SM0_MSB_u(8)#definePIO_IRQ0_INTF_SM0_LSB_u(8)#definePIO_IRQ0_INTF_SM0_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM3_TXNFULL#definePIO_IRQ0_INTF_SM3_TXNFULL_RESET_u(0x0)#definePIO_IRQ0_INTF_SM3_TXNFULL_BITS_u(0x00000080)#definePIO_IRQ0_INTF_SM3_TXNFULL_MSB_u(7)#definePIO_IRQ0_INTF_SM3_TXNFULL_LSB_u(7)#definePIO_IRQ0_INTF_SM3_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM2_TXNFULL#definePIO_IRQ0_INTF_SM2_TXNFULL_RESET_u(0x0)#definePIO_IRQ0_INTF_SM2_TXNFULL_BITS_u(0x00000040)#definePIO_IRQ0_INTF_SM2_TXNFULL_MSB_u(6)#definePIO_IRQ0_INTF_SM2_TXNFULL_LSB_u(6)#definePIO_IRQ0_INTF_SM2_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM1_TXNFULL#definePIO_IRQ0_INTF_SM1_TXNFULL_RESET_u(0x0)#definePIO_IRQ0_INTF_SM1_TXNFULL_BITS_u(0x00000020)#definePIO_IRQ0_INTF_SM1_TXNFULL_MSB_u(5)#definePIO_IRQ0_INTF_SM1_TXNFULL_LSB_u(5)#definePIO_IRQ0_INTF_SM1_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM0_TXNFULL#definePIO_IRQ0_INTF_SM0_TXNFULL_RESET_u(0x0)#definePIO_IRQ0_INTF_SM0_TXNFULL_BITS_u(0x00000010)#definePIO_IRQ0_INTF_SM0_TXNFULL_MSB_u(4)#definePIO_IRQ0_INTF_SM0_TXNFULL_LSB_u(4)#definePIO_IRQ0_INTF_SM0_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM3_RXNEMPTY#definePIO_IRQ0_INTF_SM3_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ0_INTF_SM3_RXNEMPTY_BITS_u(0x00000008)#definePIO_IRQ0_INTF_SM3_RXNEMPTY_MSB_u(3)#definePIO_IRQ0_INTF_SM3_RXNEMPTY_LSB_u(3)#definePIO_IRQ0_INTF_SM3_RXNEMPTY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM2_RXNEMPTY#definePIO_IRQ0_INTF_SM2_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ0_INTF_SM2_RXNEMPTY_BITS_u(0x00000004)#definePIO_IRQ0_INTF_SM2_RXNEMPTY_MSB_u(2)#definePIO_IRQ0_INTF_SM2_RXNEMPTY_LSB_u(2)#definePIO_IRQ0_INTF_SM2_RXNEMPTY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM1_RXNEMPTY#definePIO_IRQ0_INTF_SM1_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ0_INTF_SM1_RXNEMPTY_BITS_u(0x00000002)#definePIO_IRQ0_INTF_SM1_RXNEMPTY_MSB_u(1)#definePIO_IRQ0_INTF_SM1_RXNEMPTY_LSB_u(1)#definePIO_IRQ0_INTF_SM1_RXNEMPTY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTF_SM0_RXNEMPTY#definePIO_IRQ0_INTF_SM0_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ0_INTF_SM0_RXNEMPTY_BITS_u(0x00000001)#definePIO_IRQ0_INTF_SM0_RXNEMPTY_MSB_u(0)#definePIO_IRQ0_INTF_SM0_RXNEMPTY_LSB_u(0)#definePIO_IRQ0_INTF_SM0_RXNEMPTY_ACCESS"RW"// =============================================================================// Register : PIO_IRQ0_INTS// Description : Interrupt status after masking & forcing for irq0#definePIO_IRQ0_INTS_OFFSET_u(0x00000178)#definePIO_IRQ0_INTS_BITS_u(0x0000ffff)#definePIO_IRQ0_INTS_RESET_u(0x00000000)// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM7#definePIO_IRQ0_INTS_SM7_RESET_u(0x0)#definePIO_IRQ0_INTS_SM7_BITS_u(0x00008000)#definePIO_IRQ0_INTS_SM7_MSB_u(15)#definePIO_IRQ0_INTS_SM7_LSB_u(15)#definePIO_IRQ0_INTS_SM7_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM6#definePIO_IRQ0_INTS_SM6_RESET_u(0x0)#definePIO_IRQ0_INTS_SM6_BITS_u(0x00004000)#definePIO_IRQ0_INTS_SM6_MSB_u(14)#definePIO_IRQ0_INTS_SM6_LSB_u(14)#definePIO_IRQ0_INTS_SM6_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM5#definePIO_IRQ0_INTS_SM5_RESET_u(0x0)#definePIO_IRQ0_INTS_SM5_BITS_u(0x00002000)#definePIO_IRQ0_INTS_SM5_MSB_u(13)#definePIO_IRQ0_INTS_SM5_LSB_u(13)#definePIO_IRQ0_INTS_SM5_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM4#definePIO_IRQ0_INTS_SM4_RESET_u(0x0)#definePIO_IRQ0_INTS_SM4_BITS_u(0x00001000)#definePIO_IRQ0_INTS_SM4_MSB_u(12)#definePIO_IRQ0_INTS_SM4_LSB_u(12)#definePIO_IRQ0_INTS_SM4_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM3#definePIO_IRQ0_INTS_SM3_RESET_u(0x0)#definePIO_IRQ0_INTS_SM3_BITS_u(0x00000800)#definePIO_IRQ0_INTS_SM3_MSB_u(11)#definePIO_IRQ0_INTS_SM3_LSB_u(11)#definePIO_IRQ0_INTS_SM3_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM2#definePIO_IRQ0_INTS_SM2_RESET_u(0x0)#definePIO_IRQ0_INTS_SM2_BITS_u(0x00000400)#definePIO_IRQ0_INTS_SM2_MSB_u(10)#definePIO_IRQ0_INTS_SM2_LSB_u(10)#definePIO_IRQ0_INTS_SM2_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM1#definePIO_IRQ0_INTS_SM1_RESET_u(0x0)#definePIO_IRQ0_INTS_SM1_BITS_u(0x00000200)#definePIO_IRQ0_INTS_SM1_MSB_u(9)#definePIO_IRQ0_INTS_SM1_LSB_u(9)#definePIO_IRQ0_INTS_SM1_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM0#definePIO_IRQ0_INTS_SM0_RESET_u(0x0)#definePIO_IRQ0_INTS_SM0_BITS_u(0x00000100)#definePIO_IRQ0_INTS_SM0_MSB_u(8)#definePIO_IRQ0_INTS_SM0_LSB_u(8)#definePIO_IRQ0_INTS_SM0_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM3_TXNFULL#definePIO_IRQ0_INTS_SM3_TXNFULL_RESET_u(0x0)#definePIO_IRQ0_INTS_SM3_TXNFULL_BITS_u(0x00000080)#definePIO_IRQ0_INTS_SM3_TXNFULL_MSB_u(7)#definePIO_IRQ0_INTS_SM3_TXNFULL_LSB_u(7)#definePIO_IRQ0_INTS_SM3_TXNFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM2_TXNFULL#definePIO_IRQ0_INTS_SM2_TXNFULL_RESET_u(0x0)#definePIO_IRQ0_INTS_SM2_TXNFULL_BITS_u(0x00000040)#definePIO_IRQ0_INTS_SM2_TXNFULL_MSB_u(6)#definePIO_IRQ0_INTS_SM2_TXNFULL_LSB_u(6)#definePIO_IRQ0_INTS_SM2_TXNFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM1_TXNFULL#definePIO_IRQ0_INTS_SM1_TXNFULL_RESET_u(0x0)#definePIO_IRQ0_INTS_SM1_TXNFULL_BITS_u(0x00000020)#definePIO_IRQ0_INTS_SM1_TXNFULL_MSB_u(5)#definePIO_IRQ0_INTS_SM1_TXNFULL_LSB_u(5)#definePIO_IRQ0_INTS_SM1_TXNFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM0_TXNFULL#definePIO_IRQ0_INTS_SM0_TXNFULL_RESET_u(0x0)#definePIO_IRQ0_INTS_SM0_TXNFULL_BITS_u(0x00000010)#definePIO_IRQ0_INTS_SM0_TXNFULL_MSB_u(4)#definePIO_IRQ0_INTS_SM0_TXNFULL_LSB_u(4)#definePIO_IRQ0_INTS_SM0_TXNFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM3_RXNEMPTY#definePIO_IRQ0_INTS_SM3_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ0_INTS_SM3_RXNEMPTY_BITS_u(0x00000008)#definePIO_IRQ0_INTS_SM3_RXNEMPTY_MSB_u(3)#definePIO_IRQ0_INTS_SM3_RXNEMPTY_LSB_u(3)#definePIO_IRQ0_INTS_SM3_RXNEMPTY_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM2_RXNEMPTY#definePIO_IRQ0_INTS_SM2_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ0_INTS_SM2_RXNEMPTY_BITS_u(0x00000004)#definePIO_IRQ0_INTS_SM2_RXNEMPTY_MSB_u(2)#definePIO_IRQ0_INTS_SM2_RXNEMPTY_LSB_u(2)#definePIO_IRQ0_INTS_SM2_RXNEMPTY_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM1_RXNEMPTY#definePIO_IRQ0_INTS_SM1_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ0_INTS_SM1_RXNEMPTY_BITS_u(0x00000002)#definePIO_IRQ0_INTS_SM1_RXNEMPTY_MSB_u(1)#definePIO_IRQ0_INTS_SM1_RXNEMPTY_LSB_u(1)#definePIO_IRQ0_INTS_SM1_RXNEMPTY_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ0_INTS_SM0_RXNEMPTY#definePIO_IRQ0_INTS_SM0_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ0_INTS_SM0_RXNEMPTY_BITS_u(0x00000001)#definePIO_IRQ0_INTS_SM0_RXNEMPTY_MSB_u(0)#definePIO_IRQ0_INTS_SM0_RXNEMPTY_LSB_u(0)#definePIO_IRQ0_INTS_SM0_RXNEMPTY_ACCESS"RO"// =============================================================================// Register : PIO_IRQ1_INTE// Description : Interrupt Enable for irq1#definePIO_IRQ1_INTE_OFFSET_u(0x0000017c)#definePIO_IRQ1_INTE_BITS_u(0x0000ffff)#definePIO_IRQ1_INTE_RESET_u(0x00000000)// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM7#definePIO_IRQ1_INTE_SM7_RESET_u(0x0)#definePIO_IRQ1_INTE_SM7_BITS_u(0x00008000)#definePIO_IRQ1_INTE_SM7_MSB_u(15)#definePIO_IRQ1_INTE_SM7_LSB_u(15)#definePIO_IRQ1_INTE_SM7_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM6#definePIO_IRQ1_INTE_SM6_RESET_u(0x0)#definePIO_IRQ1_INTE_SM6_BITS_u(0x00004000)#definePIO_IRQ1_INTE_SM6_MSB_u(14)#definePIO_IRQ1_INTE_SM6_LSB_u(14)#definePIO_IRQ1_INTE_SM6_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM5#definePIO_IRQ1_INTE_SM5_RESET_u(0x0)#definePIO_IRQ1_INTE_SM5_BITS_u(0x00002000)#definePIO_IRQ1_INTE_SM5_MSB_u(13)#definePIO_IRQ1_INTE_SM5_LSB_u(13)#definePIO_IRQ1_INTE_SM5_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM4#definePIO_IRQ1_INTE_SM4_RESET_u(0x0)#definePIO_IRQ1_INTE_SM4_BITS_u(0x00001000)#definePIO_IRQ1_INTE_SM4_MSB_u(12)#definePIO_IRQ1_INTE_SM4_LSB_u(12)#definePIO_IRQ1_INTE_SM4_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM3#definePIO_IRQ1_INTE_SM3_RESET_u(0x0)#definePIO_IRQ1_INTE_SM3_BITS_u(0x00000800)#definePIO_IRQ1_INTE_SM3_MSB_u(11)#definePIO_IRQ1_INTE_SM3_LSB_u(11)#definePIO_IRQ1_INTE_SM3_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM2#definePIO_IRQ1_INTE_SM2_RESET_u(0x0)#definePIO_IRQ1_INTE_SM2_BITS_u(0x00000400)#definePIO_IRQ1_INTE_SM2_MSB_u(10)#definePIO_IRQ1_INTE_SM2_LSB_u(10)#definePIO_IRQ1_INTE_SM2_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM1#definePIO_IRQ1_INTE_SM1_RESET_u(0x0)#definePIO_IRQ1_INTE_SM1_BITS_u(0x00000200)#definePIO_IRQ1_INTE_SM1_MSB_u(9)#definePIO_IRQ1_INTE_SM1_LSB_u(9)#definePIO_IRQ1_INTE_SM1_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM0#definePIO_IRQ1_INTE_SM0_RESET_u(0x0)#definePIO_IRQ1_INTE_SM0_BITS_u(0x00000100)#definePIO_IRQ1_INTE_SM0_MSB_u(8)#definePIO_IRQ1_INTE_SM0_LSB_u(8)#definePIO_IRQ1_INTE_SM0_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM3_TXNFULL#definePIO_IRQ1_INTE_SM3_TXNFULL_RESET_u(0x0)#definePIO_IRQ1_INTE_SM3_TXNFULL_BITS_u(0x00000080)#definePIO_IRQ1_INTE_SM3_TXNFULL_MSB_u(7)#definePIO_IRQ1_INTE_SM3_TXNFULL_LSB_u(7)#definePIO_IRQ1_INTE_SM3_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM2_TXNFULL#definePIO_IRQ1_INTE_SM2_TXNFULL_RESET_u(0x0)#definePIO_IRQ1_INTE_SM2_TXNFULL_BITS_u(0x00000040)#definePIO_IRQ1_INTE_SM2_TXNFULL_MSB_u(6)#definePIO_IRQ1_INTE_SM2_TXNFULL_LSB_u(6)#definePIO_IRQ1_INTE_SM2_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM1_TXNFULL#definePIO_IRQ1_INTE_SM1_TXNFULL_RESET_u(0x0)#definePIO_IRQ1_INTE_SM1_TXNFULL_BITS_u(0x00000020)#definePIO_IRQ1_INTE_SM1_TXNFULL_MSB_u(5)#definePIO_IRQ1_INTE_SM1_TXNFULL_LSB_u(5)#definePIO_IRQ1_INTE_SM1_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM0_TXNFULL#definePIO_IRQ1_INTE_SM0_TXNFULL_RESET_u(0x0)#definePIO_IRQ1_INTE_SM0_TXNFULL_BITS_u(0x00000010)#definePIO_IRQ1_INTE_SM0_TXNFULL_MSB_u(4)#definePIO_IRQ1_INTE_SM0_TXNFULL_LSB_u(4)#definePIO_IRQ1_INTE_SM0_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM3_RXNEMPTY#definePIO_IRQ1_INTE_SM3_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ1_INTE_SM3_RXNEMPTY_BITS_u(0x00000008)#definePIO_IRQ1_INTE_SM3_RXNEMPTY_MSB_u(3)#definePIO_IRQ1_INTE_SM3_RXNEMPTY_LSB_u(3)#definePIO_IRQ1_INTE_SM3_RXNEMPTY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM2_RXNEMPTY#definePIO_IRQ1_INTE_SM2_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ1_INTE_SM2_RXNEMPTY_BITS_u(0x00000004)#definePIO_IRQ1_INTE_SM2_RXNEMPTY_MSB_u(2)#definePIO_IRQ1_INTE_SM2_RXNEMPTY_LSB_u(2)#definePIO_IRQ1_INTE_SM2_RXNEMPTY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM1_RXNEMPTY#definePIO_IRQ1_INTE_SM1_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ1_INTE_SM1_RXNEMPTY_BITS_u(0x00000002)#definePIO_IRQ1_INTE_SM1_RXNEMPTY_MSB_u(1)#definePIO_IRQ1_INTE_SM1_RXNEMPTY_LSB_u(1)#definePIO_IRQ1_INTE_SM1_RXNEMPTY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTE_SM0_RXNEMPTY#definePIO_IRQ1_INTE_SM0_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ1_INTE_SM0_RXNEMPTY_BITS_u(0x00000001)#definePIO_IRQ1_INTE_SM0_RXNEMPTY_MSB_u(0)#definePIO_IRQ1_INTE_SM0_RXNEMPTY_LSB_u(0)#definePIO_IRQ1_INTE_SM0_RXNEMPTY_ACCESS"RW"// =============================================================================// Register : PIO_IRQ1_INTF// Description : Interrupt Force for irq1#definePIO_IRQ1_INTF_OFFSET_u(0x00000180)#definePIO_IRQ1_INTF_BITS_u(0x0000ffff)#definePIO_IRQ1_INTF_RESET_u(0x00000000)// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM7#definePIO_IRQ1_INTF_SM7_RESET_u(0x0)#definePIO_IRQ1_INTF_SM7_BITS_u(0x00008000)#definePIO_IRQ1_INTF_SM7_MSB_u(15)#definePIO_IRQ1_INTF_SM7_LSB_u(15)#definePIO_IRQ1_INTF_SM7_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM6#definePIO_IRQ1_INTF_SM6_RESET_u(0x0)#definePIO_IRQ1_INTF_SM6_BITS_u(0x00004000)#definePIO_IRQ1_INTF_SM6_MSB_u(14)#definePIO_IRQ1_INTF_SM6_LSB_u(14)#definePIO_IRQ1_INTF_SM6_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM5#definePIO_IRQ1_INTF_SM5_RESET_u(0x0)#definePIO_IRQ1_INTF_SM5_BITS_u(0x00002000)#definePIO_IRQ1_INTF_SM5_MSB_u(13)#definePIO_IRQ1_INTF_SM5_LSB_u(13)#definePIO_IRQ1_INTF_SM5_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM4#definePIO_IRQ1_INTF_SM4_RESET_u(0x0)#definePIO_IRQ1_INTF_SM4_BITS_u(0x00001000)#definePIO_IRQ1_INTF_SM4_MSB_u(12)#definePIO_IRQ1_INTF_SM4_LSB_u(12)#definePIO_IRQ1_INTF_SM4_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM3#definePIO_IRQ1_INTF_SM3_RESET_u(0x0)#definePIO_IRQ1_INTF_SM3_BITS_u(0x00000800)#definePIO_IRQ1_INTF_SM3_MSB_u(11)#definePIO_IRQ1_INTF_SM3_LSB_u(11)#definePIO_IRQ1_INTF_SM3_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM2#definePIO_IRQ1_INTF_SM2_RESET_u(0x0)#definePIO_IRQ1_INTF_SM2_BITS_u(0x00000400)#definePIO_IRQ1_INTF_SM2_MSB_u(10)#definePIO_IRQ1_INTF_SM2_LSB_u(10)#definePIO_IRQ1_INTF_SM2_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM1#definePIO_IRQ1_INTF_SM1_RESET_u(0x0)#definePIO_IRQ1_INTF_SM1_BITS_u(0x00000200)#definePIO_IRQ1_INTF_SM1_MSB_u(9)#definePIO_IRQ1_INTF_SM1_LSB_u(9)#definePIO_IRQ1_INTF_SM1_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM0#definePIO_IRQ1_INTF_SM0_RESET_u(0x0)#definePIO_IRQ1_INTF_SM0_BITS_u(0x00000100)#definePIO_IRQ1_INTF_SM0_MSB_u(8)#definePIO_IRQ1_INTF_SM0_LSB_u(8)#definePIO_IRQ1_INTF_SM0_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM3_TXNFULL#definePIO_IRQ1_INTF_SM3_TXNFULL_RESET_u(0x0)#definePIO_IRQ1_INTF_SM3_TXNFULL_BITS_u(0x00000080)#definePIO_IRQ1_INTF_SM3_TXNFULL_MSB_u(7)#definePIO_IRQ1_INTF_SM3_TXNFULL_LSB_u(7)#definePIO_IRQ1_INTF_SM3_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM2_TXNFULL#definePIO_IRQ1_INTF_SM2_TXNFULL_RESET_u(0x0)#definePIO_IRQ1_INTF_SM2_TXNFULL_BITS_u(0x00000040)#definePIO_IRQ1_INTF_SM2_TXNFULL_MSB_u(6)#definePIO_IRQ1_INTF_SM2_TXNFULL_LSB_u(6)#definePIO_IRQ1_INTF_SM2_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM1_TXNFULL#definePIO_IRQ1_INTF_SM1_TXNFULL_RESET_u(0x0)#definePIO_IRQ1_INTF_SM1_TXNFULL_BITS_u(0x00000020)#definePIO_IRQ1_INTF_SM1_TXNFULL_MSB_u(5)#definePIO_IRQ1_INTF_SM1_TXNFULL_LSB_u(5)#definePIO_IRQ1_INTF_SM1_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM0_TXNFULL#definePIO_IRQ1_INTF_SM0_TXNFULL_RESET_u(0x0)#definePIO_IRQ1_INTF_SM0_TXNFULL_BITS_u(0x00000010)#definePIO_IRQ1_INTF_SM0_TXNFULL_MSB_u(4)#definePIO_IRQ1_INTF_SM0_TXNFULL_LSB_u(4)#definePIO_IRQ1_INTF_SM0_TXNFULL_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM3_RXNEMPTY#definePIO_IRQ1_INTF_SM3_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ1_INTF_SM3_RXNEMPTY_BITS_u(0x00000008)#definePIO_IRQ1_INTF_SM3_RXNEMPTY_MSB_u(3)#definePIO_IRQ1_INTF_SM3_RXNEMPTY_LSB_u(3)#definePIO_IRQ1_INTF_SM3_RXNEMPTY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM2_RXNEMPTY#definePIO_IRQ1_INTF_SM2_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ1_INTF_SM2_RXNEMPTY_BITS_u(0x00000004)#definePIO_IRQ1_INTF_SM2_RXNEMPTY_MSB_u(2)#definePIO_IRQ1_INTF_SM2_RXNEMPTY_LSB_u(2)#definePIO_IRQ1_INTF_SM2_RXNEMPTY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM1_RXNEMPTY#definePIO_IRQ1_INTF_SM1_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ1_INTF_SM1_RXNEMPTY_BITS_u(0x00000002)#definePIO_IRQ1_INTF_SM1_RXNEMPTY_MSB_u(1)#definePIO_IRQ1_INTF_SM1_RXNEMPTY_LSB_u(1)#definePIO_IRQ1_INTF_SM1_RXNEMPTY_ACCESS"RW"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTF_SM0_RXNEMPTY#definePIO_IRQ1_INTF_SM0_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ1_INTF_SM0_RXNEMPTY_BITS_u(0x00000001)#definePIO_IRQ1_INTF_SM0_RXNEMPTY_MSB_u(0)#definePIO_IRQ1_INTF_SM0_RXNEMPTY_LSB_u(0)#definePIO_IRQ1_INTF_SM0_RXNEMPTY_ACCESS"RW"// =============================================================================// Register : PIO_IRQ1_INTS// Description : Interrupt status after masking & forcing for irq1#definePIO_IRQ1_INTS_OFFSET_u(0x00000184)#definePIO_IRQ1_INTS_BITS_u(0x0000ffff)#definePIO_IRQ1_INTS_RESET_u(0x00000000)// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM7#definePIO_IRQ1_INTS_SM7_RESET_u(0x0)#definePIO_IRQ1_INTS_SM7_BITS_u(0x00008000)#definePIO_IRQ1_INTS_SM7_MSB_u(15)#definePIO_IRQ1_INTS_SM7_LSB_u(15)#definePIO_IRQ1_INTS_SM7_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM6#definePIO_IRQ1_INTS_SM6_RESET_u(0x0)#definePIO_IRQ1_INTS_SM6_BITS_u(0x00004000)#definePIO_IRQ1_INTS_SM6_MSB_u(14)#definePIO_IRQ1_INTS_SM6_LSB_u(14)#definePIO_IRQ1_INTS_SM6_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM5#definePIO_IRQ1_INTS_SM5_RESET_u(0x0)#definePIO_IRQ1_INTS_SM5_BITS_u(0x00002000)#definePIO_IRQ1_INTS_SM5_MSB_u(13)#definePIO_IRQ1_INTS_SM5_LSB_u(13)#definePIO_IRQ1_INTS_SM5_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM4#definePIO_IRQ1_INTS_SM4_RESET_u(0x0)#definePIO_IRQ1_INTS_SM4_BITS_u(0x00001000)#definePIO_IRQ1_INTS_SM4_MSB_u(12)#definePIO_IRQ1_INTS_SM4_LSB_u(12)#definePIO_IRQ1_INTS_SM4_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM3#definePIO_IRQ1_INTS_SM3_RESET_u(0x0)#definePIO_IRQ1_INTS_SM3_BITS_u(0x00000800)#definePIO_IRQ1_INTS_SM3_MSB_u(11)#definePIO_IRQ1_INTS_SM3_LSB_u(11)#definePIO_IRQ1_INTS_SM3_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM2#definePIO_IRQ1_INTS_SM2_RESET_u(0x0)#definePIO_IRQ1_INTS_SM2_BITS_u(0x00000400)#definePIO_IRQ1_INTS_SM2_MSB_u(10)#definePIO_IRQ1_INTS_SM2_LSB_u(10)#definePIO_IRQ1_INTS_SM2_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM1#definePIO_IRQ1_INTS_SM1_RESET_u(0x0)#definePIO_IRQ1_INTS_SM1_BITS_u(0x00000200)#definePIO_IRQ1_INTS_SM1_MSB_u(9)#definePIO_IRQ1_INTS_SM1_LSB_u(9)#definePIO_IRQ1_INTS_SM1_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM0#definePIO_IRQ1_INTS_SM0_RESET_u(0x0)#definePIO_IRQ1_INTS_SM0_BITS_u(0x00000100)#definePIO_IRQ1_INTS_SM0_MSB_u(8)#definePIO_IRQ1_INTS_SM0_LSB_u(8)#definePIO_IRQ1_INTS_SM0_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM3_TXNFULL#definePIO_IRQ1_INTS_SM3_TXNFULL_RESET_u(0x0)#definePIO_IRQ1_INTS_SM3_TXNFULL_BITS_u(0x00000080)#definePIO_IRQ1_INTS_SM3_TXNFULL_MSB_u(7)#definePIO_IRQ1_INTS_SM3_TXNFULL_LSB_u(7)#definePIO_IRQ1_INTS_SM3_TXNFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM2_TXNFULL#definePIO_IRQ1_INTS_SM2_TXNFULL_RESET_u(0x0)#definePIO_IRQ1_INTS_SM2_TXNFULL_BITS_u(0x00000040)#definePIO_IRQ1_INTS_SM2_TXNFULL_MSB_u(6)#definePIO_IRQ1_INTS_SM2_TXNFULL_LSB_u(6)#definePIO_IRQ1_INTS_SM2_TXNFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM1_TXNFULL#definePIO_IRQ1_INTS_SM1_TXNFULL_RESET_u(0x0)#definePIO_IRQ1_INTS_SM1_TXNFULL_BITS_u(0x00000020)#definePIO_IRQ1_INTS_SM1_TXNFULL_MSB_u(5)#definePIO_IRQ1_INTS_SM1_TXNFULL_LSB_u(5)#definePIO_IRQ1_INTS_SM1_TXNFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM0_TXNFULL#definePIO_IRQ1_INTS_SM0_TXNFULL_RESET_u(0x0)#definePIO_IRQ1_INTS_SM0_TXNFULL_BITS_u(0x00000010)#definePIO_IRQ1_INTS_SM0_TXNFULL_MSB_u(4)#definePIO_IRQ1_INTS_SM0_TXNFULL_LSB_u(4)#definePIO_IRQ1_INTS_SM0_TXNFULL_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM3_RXNEMPTY#definePIO_IRQ1_INTS_SM3_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ1_INTS_SM3_RXNEMPTY_BITS_u(0x00000008)#definePIO_IRQ1_INTS_SM3_RXNEMPTY_MSB_u(3)#definePIO_IRQ1_INTS_SM3_RXNEMPTY_LSB_u(3)#definePIO_IRQ1_INTS_SM3_RXNEMPTY_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM2_RXNEMPTY#definePIO_IRQ1_INTS_SM2_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ1_INTS_SM2_RXNEMPTY_BITS_u(0x00000004)#definePIO_IRQ1_INTS_SM2_RXNEMPTY_MSB_u(2)#definePIO_IRQ1_INTS_SM2_RXNEMPTY_LSB_u(2)#definePIO_IRQ1_INTS_SM2_RXNEMPTY_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM1_RXNEMPTY#definePIO_IRQ1_INTS_SM1_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ1_INTS_SM1_RXNEMPTY_BITS_u(0x00000002)#definePIO_IRQ1_INTS_SM1_RXNEMPTY_MSB_u(1)#definePIO_IRQ1_INTS_SM1_RXNEMPTY_LSB_u(1)#definePIO_IRQ1_INTS_SM1_RXNEMPTY_ACCESS"RO"// -----------------------------------------------------------------------------// Field : PIO_IRQ1_INTS_SM0_RXNEMPTY#definePIO_IRQ1_INTS_SM0_RXNEMPTY_RESET_u(0x0)#definePIO_IRQ1_INTS_SM0_RXNEMPTY_BITS_u(0x00000001)#definePIO_IRQ1_INTS_SM0_RXNEMPTY_MSB_u(0)#definePIO_IRQ1_INTS_SM0_RXNEMPTY_LSB_u(0)#definePIO_IRQ1_INTS_SM0_RXNEMPTY_ACCESS"RO"1851 defines// =============================================================================/* ... */#endif// _HARDWARE_REGS_PIO_H
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.