Hardware Reset API. More...
Typedefs | |
| typedef enum reset_num_rp2350 | reset_num_t |
| Resettable component numbers on RP2350 (used as typedef reset_num_t). | |
Enumerations | |
| enum | reset_num_rp2350 { RESET_ADC = 0 , RESET_BUSCTRL = 1 , RESET_DMA = 2 , RESET_HSTX = 3 , RESET_I2C0 = 4 , RESET_I2C1 = 5 , RESET_IO_BANK0 = 6 , RESET_IO_QSPI = 7 , RESET_JTAG = 8 , RESET_PADS_BANK0 = 9 , RESET_PADS_QSPI = 10 , RESET_PIO0 = 11 , RESET_PIO1 = 12 , RESET_PIO2 = 13 , RESET_PLL_SYS = 14 , RESET_PLL_USB = 15 , RESET_PWM = 16 , RESET_SHA256 = 17 , RESET_SPI0 = 18 , RESET_SPI1 = 19 , RESET_SYSCFG = 20 , RESET_SYSINFO = 21 , RESET_TBMAN = 22 , RESET_TIMER0 = 23 , RESET_TIMER1 = 24 , RESET_TRNG = 25 , RESET_UART0 = 26 , RESET_UART1 = 27 , RESET_USBCTRL = 28 , RESET_COUNT } |
| Resettable component numbers on RP2350 (used as typedef reset_num_t). More... | |
Functions | |
| static __force_inline void | reset_block_mask (uint32_t bits) |
| Reset the specified HW blocks. | |
| static __force_inline void | unreset_block_mask (uint32_t bits) |
| bring specified HW blocks out of reset | |
| static __force_inline void | unreset_block_mask_wait_blocking (uint32_t bits) |
| Bring specified HW blocks out of reset and wait for completion. | |
| static void | reset_block_num (reset_num_t block_num) |
| Reset the specified HW block. | |
| static void | unreset_block_num (reset_num_t block_num) |
| bring specified HW block out of reset | |
| static void | unreset_block_num_wait_blocking (reset_num_t block_num) |
| Bring specified HW block out of reset and wait for completion. | |
| static void | reset_unreset_block_num_wait_blocking (reset_num_t block_num) |
| Reset the specified HW block, and then bring at back out of reset and wait for completion. | |
Hardware Reset API.
The reset controller allows software control of the resets to all of the peripherals that are not critical to boot the processor in the RP-series microcontroller.
Multiple blocks are referred to using a bitmask as follows:
For RP2350:
| Block to reset | Bit |
|---|---|
| USB | 28 |
| UART 1 | 27 |
| UART 0 | 26 |
| TRNG | 25 |
| Timer 1 | 24 |
| Timer 0 | 23 |
| TB Manager | 22 |
| SysInfo | 21 |
| System Config | 20 |
| SPI 1 | 19 |
| SPI 0 | 18 |
| SHA256 | 17 |
| PWM | 16 |
| PLL USB | 15 |
| PLL System | 14 |
| PIO 2 | 13 |
| PIO 1 | 12 |
| PIO 0 | 11 |
| Pads - QSPI | 10 |
| Pads - Bank 0 | 9 |
| JTAG | 8 |
| IO QSPI | 7 |
| IO Bank 0 | 6 |
| I2C 1 | 5 |
| I2C 0 | 4 |
| HSTX | 3 |
| DMA | 2 |
| Bus Control | 1 |
| ADC 0 | 0 |
| enum reset_num_rp2350 |
Resettable component numbers on RP2350 (used as typedef reset_num_t).
|
static |
Reset the specified HW blocks.
| bits | Bit pattern indicating blocks to reset. See reset_bitmask |
|
inlinestatic |
Reset the specified HW block.
| block_num | the block number |
|
inlinestatic |
Reset the specified HW block, and then bring at back out of reset and wait for completion.
| block_num | the block number |
|
static |
bring specified HW blocks out of reset
| bits | Bit pattern indicating blocks to unreset. See reset_bitmask |
|
static |
Bring specified HW blocks out of reset and wait for completion.
| bits | Bit pattern indicating blocks to unreset. See reset_bitmask |
|
inlinestatic |
bring specified HW block out of reset
| block_num | the block number |
|
inlinestatic |
Bring specified HW block out of reset and wait for completion.
| block_num | the block number |