34 #define GPIO_PIN(port, pin) (((port) & 0) | (pin))
37 #define _u(x) ((uint32_t)(x))
42 #define OSC_DEBUG_PIN_ID 15u
45 #define RESET_PLL_SYS (1u << 14u)
48 #define RESET_PADS_BANK0 (1u << 9u)
51 #define RESET_UART0 (1u << 26u)
54 #define RESET_UART1 (1u << 27u)
57 #define RESET_IO_BANK0 (1u << 6u)
60 #define PADS_BANK0_GPIO0_IE_BITS (1u << 6u)
63 #define PADS_BANK0_ISO_BITS (1u << 8u)
78 return PADS_BANK0_BASE + 4 * (pin + 1);
88 return IO_BANK0_BASE + 8 * pin;
Clock configuration for the RP2350.
Low-level GPIO peripheral driver interface definitions.
GPIO configuration for the RP2350.
unsigned int gpio_t
GPIO type identifier.
Helper functions for atomic register operations.
static uint32_t calculate_gpio_io_status_register_addr(gpio_t pin)
Calculate the address of the GPIO IO status register for a given pin.
static uint32_t calculate_gpio_pad_register_addr(gpio_t pin)
Calculate the address of the GPIO pad register for a given pin.
static uint32_t calculate_gpio_io_ctrl_register_addr(gpio_t pin)
Calculate the address of the GPIO IO control register for a given pin.
UART configuration for the RP2350.