Zephyr API Documentation  3.0.0
A Scalable Open Source RTOS
3.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
rpi-pico-rp2040-pinctrl.h File Reference

Go to the source code of this file.

Macros

#define RP2_PINCTRL_GPIO_FUNC_XIP   0
 
#define RP2_PINCTRL_GPIO_FUNC_SPI   1
 
#define RP2_PINCTRL_GPIO_FUNC_UART   2
 
#define RP2_PINCTRL_GPIO_FUNC_I2C   3
 
#define RP2_PINCTRL_GPIO_FUNC_PWM   4
 
#define RP2_PINCTRL_GPIO_FUNC_SIO   5
 
#define RP2_PINCTRL_GPIO_FUNC_PIO0   6
 
#define RP2_PINCTRL_GPIO_FUNC_PIO1   7
 
#define RP2_PINCTRL_GPIO_FUNC_GPCK   8
 
#define RP2_PINCTRL_GPIO_FUNC_USB   9
 
#define RP2_PINCTRL_GPIO_FUNC_NULL   0xf
 
#define RP2_ALT_FUNC_POS   0
 
#define RP2_ALT_FUNC_MASK   0xf
 
#define RP2_PIN_NUM_POS   4
 
#define RP2_PIN_NUM_MASK   0x1f
 
#define RP2040_PINMUX(pin_num, alt_func)
 
#define UART0_TX_P0   RP2040_PINMUX(0, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_RX_P1   RP2040_PINMUX(1, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_CTS_P2   RP2040_PINMUX(2, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_RTS_P3   RP2040_PINMUX(3, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_TX_P4   RP2040_PINMUX(4, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_RX_P5   RP2040_PINMUX(5, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_CTS_P6   RP2040_PINMUX(6, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_RTS_P7   RP2040_PINMUX(7, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_TX_P8   RP2040_PINMUX(8, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_RX_P9   RP2040_PINMUX(9, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_CTS_P10   RP2040_PINMUX(10, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_RTS_P11   RP2040_PINMUX(11, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_TX_P12   RP2040_PINMUX(12, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_RX_P13   RP2040_PINMUX(13, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_CTS_P14   RP2040_PINMUX(14, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_RTS_P15   RP2040_PINMUX(15, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_TX_P16   RP2040_PINMUX(16, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_RX_P17   RP2040_PINMUX(17, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_CTS_P18   RP2040_PINMUX(18, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_RTS_P19   RP2040_PINMUX(19, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_TX_P20   RP2040_PINMUX(20, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_RX_P21   RP2040_PINMUX(21, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_CTS_P22   RP2040_PINMUX(22, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_RTS_P23   RP2040_PINMUX(23, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_TX_P24   RP2040_PINMUX(24, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_RX_P25   RP2040_PINMUX(25, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_CTS_P26   RP2040_PINMUX(26, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART1_RTS_P27   RP2040_PINMUX(27, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_TX_P28   RP2040_PINMUX(28, RP2_PINCTRL_GPIO_FUNC_UART)
 
#define UART0_RX_P29   RP2040_PINMUX(29, RP2_PINCTRL_GPIO_FUNC_UART)
 

Macro Definition Documentation

◆ RP2040_PINMUX

#define RP2040_PINMUX (   pin_num,
  alt_func 
)
Value:
(pin_num << RP2_PIN_NUM_POS | \
alt_func << RP2_ALT_FUNC_POS)
#define RP2_PIN_NUM_POS
Definition: rpi-pico-rp2040-pinctrl.h:25
#define RP2_ALT_FUNC_POS
Definition: rpi-pico-rp2040-pinctrl.h:22

◆ RP2_ALT_FUNC_MASK

#define RP2_ALT_FUNC_MASK   0xf

◆ RP2_ALT_FUNC_POS

#define RP2_ALT_FUNC_POS   0

◆ RP2_PIN_NUM_MASK

#define RP2_PIN_NUM_MASK   0x1f

◆ RP2_PIN_NUM_POS

#define RP2_PIN_NUM_POS   4

◆ RP2_PINCTRL_GPIO_FUNC_GPCK

#define RP2_PINCTRL_GPIO_FUNC_GPCK   8

◆ RP2_PINCTRL_GPIO_FUNC_I2C

#define RP2_PINCTRL_GPIO_FUNC_I2C   3

◆ RP2_PINCTRL_GPIO_FUNC_NULL

#define RP2_PINCTRL_GPIO_FUNC_NULL   0xf

◆ RP2_PINCTRL_GPIO_FUNC_PIO0

#define RP2_PINCTRL_GPIO_FUNC_PIO0   6

◆ RP2_PINCTRL_GPIO_FUNC_PIO1

#define RP2_PINCTRL_GPIO_FUNC_PIO1   7

◆ RP2_PINCTRL_GPIO_FUNC_PWM

#define RP2_PINCTRL_GPIO_FUNC_PWM   4

◆ RP2_PINCTRL_GPIO_FUNC_SIO

#define RP2_PINCTRL_GPIO_FUNC_SIO   5

◆ RP2_PINCTRL_GPIO_FUNC_SPI

#define RP2_PINCTRL_GPIO_FUNC_SPI   1

◆ RP2_PINCTRL_GPIO_FUNC_UART

#define RP2_PINCTRL_GPIO_FUNC_UART   2

◆ RP2_PINCTRL_GPIO_FUNC_USB

#define RP2_PINCTRL_GPIO_FUNC_USB   9

◆ RP2_PINCTRL_GPIO_FUNC_XIP

#define RP2_PINCTRL_GPIO_FUNC_XIP   0

◆ UART0_CTS_P14

#define UART0_CTS_P14   RP2040_PINMUX(14, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_CTS_P18

#define UART0_CTS_P18   RP2040_PINMUX(18, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_CTS_P2

#define UART0_CTS_P2   RP2040_PINMUX(2, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_RTS_P15

#define UART0_RTS_P15   RP2040_PINMUX(15, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_RTS_P19

#define UART0_RTS_P19   RP2040_PINMUX(19, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_RTS_P3

#define UART0_RTS_P3   RP2040_PINMUX(3, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_RX_P1

#define UART0_RX_P1   RP2040_PINMUX(1, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_RX_P13

#define UART0_RX_P13   RP2040_PINMUX(13, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_RX_P17

#define UART0_RX_P17   RP2040_PINMUX(17, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_RX_P29

#define UART0_RX_P29   RP2040_PINMUX(29, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_TX_P0

#define UART0_TX_P0   RP2040_PINMUX(0, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_TX_P12

#define UART0_TX_P12   RP2040_PINMUX(12, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_TX_P16

#define UART0_TX_P16   RP2040_PINMUX(16, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART0_TX_P28

#define UART0_TX_P28   RP2040_PINMUX(28, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_CTS_P10

#define UART1_CTS_P10   RP2040_PINMUX(10, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_CTS_P22

#define UART1_CTS_P22   RP2040_PINMUX(22, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_CTS_P26

#define UART1_CTS_P26   RP2040_PINMUX(26, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_CTS_P6

#define UART1_CTS_P6   RP2040_PINMUX(6, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_RTS_P11

#define UART1_RTS_P11   RP2040_PINMUX(11, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_RTS_P23

#define UART1_RTS_P23   RP2040_PINMUX(23, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_RTS_P27

#define UART1_RTS_P27   RP2040_PINMUX(27, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_RTS_P7

#define UART1_RTS_P7   RP2040_PINMUX(7, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_RX_P21

#define UART1_RX_P21   RP2040_PINMUX(21, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_RX_P25

#define UART1_RX_P25   RP2040_PINMUX(25, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_RX_P5

#define UART1_RX_P5   RP2040_PINMUX(5, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_RX_P9

#define UART1_RX_P9   RP2040_PINMUX(9, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_TX_P20

#define UART1_TX_P20   RP2040_PINMUX(20, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_TX_P24

#define UART1_TX_P24   RP2040_PINMUX(24, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_TX_P4

#define UART1_TX_P4   RP2040_PINMUX(4, RP2_PINCTRL_GPIO_FUNC_UART)

◆ UART1_TX_P8

#define UART1_TX_P8   RP2040_PINMUX(8, RP2_PINCTRL_GPIO_FUNC_UART)