Expand description
Peripheral access API for RP2040 microcontrollers (generated using svd2rust v0.17.0)
You can find an overview of the API here.
Modules§
- adc
- Control and data interface to SAR ADC
- busctrl
- Register block for busfabric control signals and performance counters
- clocks
- CLOCKS
- dma
- DMA with separate read and write masters
- generic
- Common register and bit access and modify traits
- i2c0
- DW_apb_i2c address block
- io_
bank0 - IO_BANK0
- io_qspi
- IO_QSPI
- pads_
bank0 - PADS_BANK0
- pads_
qspi - PADS_QSPI
- pio0
- Programmable IO block
- pll_sys
- PLL_SYS
- ppb
- PPB
- psm
- PSM
- pwm
- Simple PWM
- resets
- RESETS
- rosc
- ROSC
- rtc
- Register block to control RTC
- sio
- Single-cycle IO block\n Provides core-local and inter-core hardware for the two processors, with single-cycle access.
- spi0
- SPI0
- syscfg
- Register block for various chip control signals
- sysinfo
- SYSINFO
- tbman
- Testbench manager. Allows the programmer to know what platform their software is running on.
- timer
- Controls time and alarms\n time is a 64 bit value indicating the time in usec since power-on\n timeh is the top 32 bits of time & timel is the bottom 32 bits\n to change time write to timelw before timehw\n to read time read from timelr before timehr\n An alarm is set by setting alarm_enable and writing to the corresponding alarm register\n When an alarm is pending, the corresponding alarm_running signal will be high\n An alarm can be cancelled before it has finished by clearing the alarm_enable\n When an alarm fires, the corresponding alarm_irq is set and alarm_running is cleared\n To clear the interrupt write a 1 to the corresponding alarm_irq
- uart0
- UART0
- usbctrl_
regs - USB FS/LS controller device registers
- vreg_
and_ chip_ reset - control and status for on-chip voltage regulator and chip level reset subsystem
- watchdog
- WATCHDOG
- xip_
ctrl - QSPI flash execute-in-place block
- xip_ssi
- DW_apb_ssi has the following features:\n * APB interface – Allows for easy integration into a DesignWare Synthesizable Components for AMBA 2 implementation.\n * APB3 and APB4 protocol support.\n * Scalable APB data bus width – Supports APB data bus widths of 8, 16, and 32 bits.\n * Serial-master or serial-slave operation – Enables serial communication with serial-master or serial-slave peripheral devices.\n * Programmable Dual/Quad/Octal SPI support in Master Mode.\n * Dual Data Rate (DDR) and Read Data Strobe (RDS) Support - Enables the DW_apb_ssi master to perform operations with the device in DDR and RDS modes when working in Dual/Quad/Octal mode of operation.\n * Data Mask Support - Enables the DW_apb_ssi to selectively update the bytes in the device. This feature is applicable only in enhanced SPI modes.\n * eXecute-In-Place (XIP) support - Enables the DW_apb_ssi master to behave as a memory mapped I/O and fetches the data from the device based on the APB read request. This feature is applicable only in enhanced SPI modes.\n * DMA Controller Interface – Enables the DW_apb_ssi to interface to a DMA controller over the bus using a handshaking interface for transfer requests.\n * Independent masking of interrupts – Master collision, transmit FIFO overflow, transmit FIFO empty, receive FIFO full, receive FIFO underflow, and receive FIFO overflow interrupts can all be masked independently.\n * Multi-master contention detection – Informs the processor of multiple serial-master accesses on the serial bus.\n * Bypass of meta-stability flip-flops for synchronous clocks – When the APB clock (pclk) and the DW_apb_ssi serial clock (ssi_clk) are synchronous, meta-stable flip-flops are not used when transferring control signals across these clock domains.\n * Programmable delay on the sample time of the received serial data bit (rxd); enables programmable control of routing delays resulting in higher serial data-bit rates.\n * Programmable features:\n - Serial interface operation – Choice of Motorola SPI, Texas Instruments Synchronous Serial Protocol or National Semiconductor Microwire.\n - Clock bit-rate – Dynamic control of the serial bit rate of the data transfer; used in only serial-master mode of operation.\n - Data Item size (4 to 32 bits) – Item size of each data transfer under the control of the programmer.\n * Configured features:\n - FIFO depth – 16 words deep. The FIFO width is fixed at 32 bits.\n - 1 slave select output.\n - Hardware slave-select – Dedicated hardware slave-select line.\n - Combined interrupt line - one combined interrupt line from the DW_apb_ssi to the interrupt controller.\n - Interrupt polarity – active high interrupt lines.\n - Serial clock polarity – low serial-clock polarity directly after reset.\n - Serial clock phase – capture on first edge of serial-clock directly after reset.
- xosc
- Controls the crystal oscillator
Structs§
- ADC
- Control and data interface to SAR ADC
- BUSCTRL
- Register block for busfabric control signals and performance counters
- CBP
- Cache and branch predictor maintenance operations
- CLOCKS
- CLOCKS
- CPUID
- CPUID
- Core
Peripherals - Core peripherals
- DCB
- Debug Control Block
- DMA
- DMA with separate read and write masters
- DWT
- Data Watchpoint and Trace unit
- FPB
- Flash Patch and Breakpoint unit
- I2C0
- DW_apb_i2c address block
- I2C1
- DW_apb_i2c address block
- IO_
BANK0 - IO_BANK0
- IO_QSPI
- IO_QSPI
- ITM
- Instrumentation Trace Macrocell
- MPU
- Memory Protection Unit
- NVIC
- Nested Vector Interrupt Controller
- PADS_
BANK0 - PADS_BANK0
- PADS_
QSPI - PADS_QSPI
- PIO0
- Programmable IO block
- PIO1
- Programmable IO block
- PLL_SYS
- PLL_SYS
- PLL_USB
- PLL_USB
- PPB
- PPB
- PSM
- PSM
- PWM
- Simple PWM
- Peripherals
- All the peripherals
- RESETS
- RESETS
- ROSC
- ROSC
- RTC
- Register block to control RTC
- SCB
- System Control Block
- SIO
- Single-cycle IO block\n Provides core-local and inter-core hardware for the two processors, with single-cycle access.
- SPI0
- SPI0
- SPI1
- SPI1
- SYSCFG
- Register block for various chip control signals
- SYSINFO
- SYSINFO
- SYST
- SysTick: System Timer
- TBMAN
- Testbench manager. Allows the programmer to know what platform their software is running on.
- TIMER
- Controls time and alarms\n time is a 64 bit value indicating the time in usec since power-on\n timeh is the top 32 bits of time & timel is the bottom 32 bits\n to change time write to timelw before timehw\n to read time read from timelr before timehr\n An alarm is set by setting alarm_enable and writing to the corresponding alarm register\n When an alarm is pending, the corresponding alarm_running signal will be high\n An alarm can be cancelled before it has finished by clearing the alarm_enable\n When an alarm fires, the corresponding alarm_irq is set and alarm_running is cleared\n To clear the interrupt write a 1 to the corresponding alarm_irq
- TPIU
- Trace Port Interface Unit
- UART0
- UART0
- UART1
- UART1
- USBCTRL_
REGS - USB FS/LS controller device registers
- VREG_
AND_ CHIP_ RESET - control and status for on-chip voltage regulator and chip level reset subsystem
- WATCHDOG
- WATCHDOG
- XIP_
CTRL - QSPI flash execute-in-place block
- XIP_SSI
- DW_apb_ssi has the following features:\n * APB interface – Allows for easy integration into a DesignWare Synthesizable Components for AMBA 2 implementation.\n * APB3 and APB4 protocol support.\n * Scalable APB data bus width – Supports APB data bus widths of 8, 16, and 32 bits.\n * Serial-master or serial-slave operation – Enables serial communication with serial-master or serial-slave peripheral devices.\n * Programmable Dual/Quad/Octal SPI support in Master Mode.\n * Dual Data Rate (DDR) and Read Data Strobe (RDS) Support - Enables the DW_apb_ssi master to perform operations with the device in DDR and RDS modes when working in Dual/Quad/Octal mode of operation.\n * Data Mask Support - Enables the DW_apb_ssi to selectively update the bytes in the device. This feature is applicable only in enhanced SPI modes.\n * eXecute-In-Place (XIP) support - Enables the DW_apb_ssi master to behave as a memory mapped I/O and fetches the data from the device based on the APB read request. This feature is applicable only in enhanced SPI modes.\n * DMA Controller Interface – Enables the DW_apb_ssi to interface to a DMA controller over the bus using a handshaking interface for transfer requests.\n * Independent masking of interrupts – Master collision, transmit FIFO overflow, transmit FIFO empty, receive FIFO full, receive FIFO underflow, and receive FIFO overflow interrupts can all be masked independently.\n * Multi-master contention detection – Informs the processor of multiple serial-master accesses on the serial bus.\n * Bypass of meta-stability flip-flops for synchronous clocks – When the APB clock (pclk) and the DW_apb_ssi serial clock (ssi_clk) are synchronous, meta-stable flip-flops are not used when transferring control signals across these clock domains.\n * Programmable delay on the sample time of the received serial data bit (rxd); enables programmable control of routing delays resulting in higher serial data-bit rates.\n * Programmable features:\n - Serial interface operation – Choice of Motorola SPI, Texas Instruments Synchronous Serial Protocol or National Semiconductor Microwire.\n - Clock bit-rate – Dynamic control of the serial bit rate of the data transfer; used in only serial-master mode of operation.\n - Data Item size (4 to 32 bits) – Item size of each data transfer under the control of the programmer.\n * Configured features:\n - FIFO depth – 16 words deep. The FIFO width is fixed at 32 bits.\n - 1 slave select output.\n - Hardware slave-select – Dedicated hardware slave-select line.\n - Combined interrupt line - one combined interrupt line from the DW_apb_ssi to the interrupt controller.\n - Interrupt polarity – active high interrupt lines.\n - Serial clock polarity – low serial-clock polarity directly after reset.\n - Serial clock phase – capture on first edge of serial-clock directly after reset.
- XOSC
- Controls the crystal oscillator
Enums§
- Interrupt
- Enumeration of all the interrupts
Constants§
- NVIC_
PRIO_ BITS - Number available in the NVIC for configuring priority