RP2040 GPIO Registers ===================== The PIO emulator's interface provides access to a subset of the registers described in the Raspberry Pi Foundation's *RP2040 datasheet*, Sect. 2.19.6 *List of Registers* of Sect. 2.19 *GPIO* (i.e. it provides meta information such as register labels). This subset has been carefully chosen, having in mind a subset for making the PIO work. Specifically, the following registers are provided via the register facade. IO -- User Bank --------------- The PIO emulator's interface provides access to all of these registers described in the Raspberry Pi Foundation's *RP2040 datasheet*, Sect. 2.19.6.1 *IO -- User Bank* of Sect. 2.19 *GPIO* (i.e. it provides meta information such as register labels). All of registers ``GPIOx_STATUS`` and ``GPIOx_CTRL`` (for ``x`` in the range 0…31) are fully supported with a working backend implementation. All other registers in this bank are provided via the register facade (i.e. they provide meta information such as register labels), but they are not backed by any working implementation. See *RP2040 datasheet*, Sect. 2.19.6.1 *IO -- User Bank* for an overview of and details about these registers. Pad Control -- User Bank ------------------------ The PIO emulator's interface provides access to all of these registers described in the Raspberry Pi Foundation's *RP2040 datasheet*, Sect. 2.19.6.3 *Pad Control -- User Bank* of Sect. 2.19 *GPIO* (i.e. it provides meta information such as register labels), but currently, none of these registers is backed by any functional implementation. However, support is planned for the future to be able to check correct setup of the GPIO pins. See *RP2040 datasheet*, Sect. 2.19.6.3 *Pad Control -- User Bank* for an overview of and details about these registers. References ---------- [1] `RP2040 datasheet `_.