1 /*
2  * Copyright (c) 2021, Yonatan Schachter
3  * Copyright (c) 2024, Andrew Featherstone
4  *
5  * SPDX-License-Identifier: Apache-2.0
6  */
7 
8 #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_RPI_PICO_PINCTRL_COMMON_H_
9 #define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_RPI_PICO_PINCTRL_COMMON_H_
10 
11 #define RP2_ALT_FUNC_POS  0
12 #define RP2_ALT_FUNC_MASK 0xf
13 
14 #define RP2_PIN_NUM_POS  5
15 #define RP2_PIN_NUM_MASK 0x1f
16 
17 #define RP2_GPIO_OVERRIDE_NORMAL 0
18 #define RP2_GPIO_OVERRIDE_INVERT 1
19 #define RP2_GPIO_OVERRIDE_LOW    2
20 #define RP2_GPIO_OVERRIDE_HIGH   3
21 
22 #define RP2XXX_PINMUX(pin_num, alt_func) (pin_num << RP2_PIN_NUM_POS | alt_func << RP2_ALT_FUNC_POS)
23 
24 /* These function are common. SoC-specific functions are defined in their
25  * respective header file. Refer to table 279 and 642 in the RP2040 and RP2350
26  * datasheets for the source of these numbers.
27  */
28 #define RP2_PINCTRL_GPIO_FUNC_SPI  1
29 #define RP2_PINCTRL_GPIO_FUNC_UART 2
30 #define RP2_PINCTRL_GPIO_FUNC_I2C  3
31 #define RP2_PINCTRL_GPIO_FUNC_PWM  4
32 #define RP2_PINCTRL_GPIO_FUNC_SIO  5
33 #define RP2_PINCTRL_GPIO_FUNC_PIO0 6
34 #define RP2_PINCTRL_GPIO_FUNC_PIO1 7
35 
36 /* These pin assignments for each function are similarly common. */
37 #define SPI0_RX_P0   RP2XXX_PINMUX(0, RP2_PINCTRL_GPIO_FUNC_SPI)
38 #define SPI0_CSN_P1  RP2XXX_PINMUX(1, RP2_PINCTRL_GPIO_FUNC_SPI)
39 #define SPI0_SCK_P2  RP2XXX_PINMUX(2, RP2_PINCTRL_GPIO_FUNC_SPI)
40 #define SPI0_TX_P3   RP2XXX_PINMUX(3, RP2_PINCTRL_GPIO_FUNC_SPI)
41 #define SPI0_RX_P4   RP2XXX_PINMUX(4, RP2_PINCTRL_GPIO_FUNC_SPI)
42 #define SPI0_CSN_P5  RP2XXX_PINMUX(5, RP2_PINCTRL_GPIO_FUNC_SPI)
43 #define SPI0_SCK_P6  RP2XXX_PINMUX(6, RP2_PINCTRL_GPIO_FUNC_SPI)
44 #define SPI0_TX_P7   RP2XXX_PINMUX(7, RP2_PINCTRL_GPIO_FUNC_SPI)
45 #define SPI1_RX_P8   RP2XXX_PINMUX(8, RP2_PINCTRL_GPIO_FUNC_SPI)
46 #define SPI1_CSN_P9  RP2XXX_PINMUX(9, RP2_PINCTRL_GPIO_FUNC_SPI)
47 #define SPI1_SCK_P10 RP2XXX_PINMUX(10, RP2_PINCTRL_GPIO_FUNC_SPI)
48 #define SPI1_TX_P11  RP2XXX_PINMUX(11, RP2_PINCTRL_GPIO_FUNC_SPI)
49 #define SPI1_RX_P12  RP2XXX_PINMUX(12, RP2_PINCTRL_GPIO_FUNC_SPI)
50 #define SPI1_CSN_P13 RP2XXX_PINMUX(13, RP2_PINCTRL_GPIO_FUNC_SPI)
51 #define SPI1_SCK_P14 RP2XXX_PINMUX(14, RP2_PINCTRL_GPIO_FUNC_SPI)
52 #define SPI1_TX_P15  RP2XXX_PINMUX(15, RP2_PINCTRL_GPIO_FUNC_SPI)
53 #define SPI0_RX_P16  RP2XXX_PINMUX(16, RP2_PINCTRL_GPIO_FUNC_SPI)
54 #define SPI0_CSN_P17 RP2XXX_PINMUX(17, RP2_PINCTRL_GPIO_FUNC_SPI)
55 #define SPI0_SCK_P18 RP2XXX_PINMUX(18, RP2_PINCTRL_GPIO_FUNC_SPI)
56 #define SPI0_TX_P19  RP2XXX_PINMUX(19, RP2_PINCTRL_GPIO_FUNC_SPI)
57 #define SPI0_RX_P20  RP2XXX_PINMUX(20, RP2_PINCTRL_GPIO_FUNC_SPI)
58 #define SPI0_CSN_P21 RP2XXX_PINMUX(21, RP2_PINCTRL_GPIO_FUNC_SPI)
59 #define SPI0_SCK_P22 RP2XXX_PINMUX(22, RP2_PINCTRL_GPIO_FUNC_SPI)
60 #define SPI0_TX_P23  RP2XXX_PINMUX(23, RP2_PINCTRL_GPIO_FUNC_SPI)
61 #define SPI1_RX_P24  RP2XXX_PINMUX(24, RP2_PINCTRL_GPIO_FUNC_SPI)
62 #define SPI1_CSN_P25 RP2XXX_PINMUX(25, RP2_PINCTRL_GPIO_FUNC_SPI)
63 #define SPI1_SCK_P26 RP2XXX_PINMUX(26, RP2_PINCTRL_GPIO_FUNC_SPI)
64 #define SPI1_TX_P27  RP2XXX_PINMUX(27, RP2_PINCTRL_GPIO_FUNC_SPI)
65 #define SPI1_RX_P28  RP2XXX_PINMUX(28, RP2_PINCTRL_GPIO_FUNC_SPI)
66 #define SPI1_CSN_P29 RP2XXX_PINMUX(29, RP2_PINCTRL_GPIO_FUNC_SPI)
67 
68 #define UART0_TX_P0   RP2XXX_PINMUX(0, RP2_PINCTRL_GPIO_FUNC_UART)
69 #define UART0_RX_P1   RP2XXX_PINMUX(1, RP2_PINCTRL_GPIO_FUNC_UART)
70 #define UART0_CTS_P2  RP2XXX_PINMUX(2, RP2_PINCTRL_GPIO_FUNC_UART)
71 #define UART0_RTS_P3  RP2XXX_PINMUX(3, RP2_PINCTRL_GPIO_FUNC_UART)
72 #define UART1_TX_P4   RP2XXX_PINMUX(4, RP2_PINCTRL_GPIO_FUNC_UART)
73 #define UART1_RX_P5   RP2XXX_PINMUX(5, RP2_PINCTRL_GPIO_FUNC_UART)
74 #define UART1_CTS_P6  RP2XXX_PINMUX(6, RP2_PINCTRL_GPIO_FUNC_UART)
75 #define UART1_RTS_P7  RP2XXX_PINMUX(7, RP2_PINCTRL_GPIO_FUNC_UART)
76 #define UART1_TX_P8   RP2XXX_PINMUX(8, RP2_PINCTRL_GPIO_FUNC_UART)
77 #define UART1_RX_P9   RP2XXX_PINMUX(9, RP2_PINCTRL_GPIO_FUNC_UART)
78 #define UART1_CTS_P10 RP2XXX_PINMUX(10, RP2_PINCTRL_GPIO_FUNC_UART)
79 #define UART1_RTS_P11 RP2XXX_PINMUX(11, RP2_PINCTRL_GPIO_FUNC_UART)
80 #define UART0_TX_P12  RP2XXX_PINMUX(12, RP2_PINCTRL_GPIO_FUNC_UART)
81 #define UART0_RX_P13  RP2XXX_PINMUX(13, RP2_PINCTRL_GPIO_FUNC_UART)
82 #define UART0_CTS_P14 RP2XXX_PINMUX(14, RP2_PINCTRL_GPIO_FUNC_UART)
83 #define UART0_RTS_P15 RP2XXX_PINMUX(15, RP2_PINCTRL_GPIO_FUNC_UART)
84 #define UART0_TX_P16  RP2XXX_PINMUX(16, RP2_PINCTRL_GPIO_FUNC_UART)
85 #define UART0_RX_P17  RP2XXX_PINMUX(17, RP2_PINCTRL_GPIO_FUNC_UART)
86 #define UART0_CTS_P18 RP2XXX_PINMUX(18, RP2_PINCTRL_GPIO_FUNC_UART)
87 #define UART0_RTS_P19 RP2XXX_PINMUX(19, RP2_PINCTRL_GPIO_FUNC_UART)
88 #define UART1_TX_P20  RP2XXX_PINMUX(20, RP2_PINCTRL_GPIO_FUNC_UART)
89 #define UART1_RX_P21  RP2XXX_PINMUX(21, RP2_PINCTRL_GPIO_FUNC_UART)
90 #define UART1_CTS_P22 RP2XXX_PINMUX(22, RP2_PINCTRL_GPIO_FUNC_UART)
91 #define UART1_RTS_P23 RP2XXX_PINMUX(23, RP2_PINCTRL_GPIO_FUNC_UART)
92 #define UART1_TX_P24  RP2XXX_PINMUX(24, RP2_PINCTRL_GPIO_FUNC_UART)
93 #define UART1_RX_P25  RP2XXX_PINMUX(25, RP2_PINCTRL_GPIO_FUNC_UART)
94 #define UART1_CTS_P26 RP2XXX_PINMUX(26, RP2_PINCTRL_GPIO_FUNC_UART)
95 #define UART1_RTS_P27 RP2XXX_PINMUX(27, RP2_PINCTRL_GPIO_FUNC_UART)
96 #define UART0_TX_P28  RP2XXX_PINMUX(28, RP2_PINCTRL_GPIO_FUNC_UART)
97 #define UART0_RX_P29  RP2XXX_PINMUX(29, RP2_PINCTRL_GPIO_FUNC_UART)
98 
99 #define I2C0_SDA_P0  RP2XXX_PINMUX(0, RP2_PINCTRL_GPIO_FUNC_I2C)
100 #define I2C0_SCL_P1  RP2XXX_PINMUX(1, RP2_PINCTRL_GPIO_FUNC_I2C)
101 #define I2C1_SDA_P2  RP2XXX_PINMUX(2, RP2_PINCTRL_GPIO_FUNC_I2C)
102 #define I2C1_SCL_P3  RP2XXX_PINMUX(3, RP2_PINCTRL_GPIO_FUNC_I2C)
103 #define I2C0_SDA_P4  RP2XXX_PINMUX(4, RP2_PINCTRL_GPIO_FUNC_I2C)
104 #define I2C0_SCL_P5  RP2XXX_PINMUX(5, RP2_PINCTRL_GPIO_FUNC_I2C)
105 #define I2C1_SDA_P6  RP2XXX_PINMUX(6, RP2_PINCTRL_GPIO_FUNC_I2C)
106 #define I2C1_SCL_P7  RP2XXX_PINMUX(7, RP2_PINCTRL_GPIO_FUNC_I2C)
107 #define I2C0_SDA_P8  RP2XXX_PINMUX(8, RP2_PINCTRL_GPIO_FUNC_I2C)
108 #define I2C0_SCL_P9  RP2XXX_PINMUX(9, RP2_PINCTRL_GPIO_FUNC_I2C)
109 #define I2C1_SDA_P10 RP2XXX_PINMUX(10, RP2_PINCTRL_GPIO_FUNC_I2C)
110 #define I2C1_SCL_P11 RP2XXX_PINMUX(11, RP2_PINCTRL_GPIO_FUNC_I2C)
111 #define I2C0_SDA_P12 RP2XXX_PINMUX(12, RP2_PINCTRL_GPIO_FUNC_I2C)
112 #define I2C0_SCL_P13 RP2XXX_PINMUX(13, RP2_PINCTRL_GPIO_FUNC_I2C)
113 #define I2C1_SDA_P14 RP2XXX_PINMUX(14, RP2_PINCTRL_GPIO_FUNC_I2C)
114 #define I2C1_SCL_P15 RP2XXX_PINMUX(15, RP2_PINCTRL_GPIO_FUNC_I2C)
115 #define I2C0_SDA_P16 RP2XXX_PINMUX(16, RP2_PINCTRL_GPIO_FUNC_I2C)
116 #define I2C0_SCL_P17 RP2XXX_PINMUX(17, RP2_PINCTRL_GPIO_FUNC_I2C)
117 #define I2C1_SDA_P18 RP2XXX_PINMUX(18, RP2_PINCTRL_GPIO_FUNC_I2C)
118 #define I2C1_SCL_P19 RP2XXX_PINMUX(19, RP2_PINCTRL_GPIO_FUNC_I2C)
119 #define I2C0_SDA_P20 RP2XXX_PINMUX(20, RP2_PINCTRL_GPIO_FUNC_I2C)
120 #define I2C0_SCL_P21 RP2XXX_PINMUX(21, RP2_PINCTRL_GPIO_FUNC_I2C)
121 #define I2C1_SDA_P22 RP2XXX_PINMUX(22, RP2_PINCTRL_GPIO_FUNC_I2C)
122 #define I2C1_SCL_P23 RP2XXX_PINMUX(23, RP2_PINCTRL_GPIO_FUNC_I2C)
123 #define I2C0_SDA_P24 RP2XXX_PINMUX(24, RP2_PINCTRL_GPIO_FUNC_I2C)
124 #define I2C0_SCL_P25 RP2XXX_PINMUX(25, RP2_PINCTRL_GPIO_FUNC_I2C)
125 #define I2C1_SDA_P26 RP2XXX_PINMUX(26, RP2_PINCTRL_GPIO_FUNC_I2C)
126 #define I2C1_SCL_P27 RP2XXX_PINMUX(27, RP2_PINCTRL_GPIO_FUNC_I2C)
127 #define I2C0_SDA_P28 RP2XXX_PINMUX(28, RP2_PINCTRL_GPIO_FUNC_I2C)
128 #define I2C0_SCL_P29 RP2XXX_PINMUX(29, RP2_PINCTRL_GPIO_FUNC_I2C)
129 
130 #define PWM_0A_P0  RP2XXX_PINMUX(0, RP2_PINCTRL_GPIO_FUNC_PWM)
131 #define PWM_0B_P1  RP2XXX_PINMUX(1, RP2_PINCTRL_GPIO_FUNC_PWM)
132 #define PWM_1A_P2  RP2XXX_PINMUX(2, RP2_PINCTRL_GPIO_FUNC_PWM)
133 #define PWM_1B_P3  RP2XXX_PINMUX(3, RP2_PINCTRL_GPIO_FUNC_PWM)
134 #define PWM_2A_P4  RP2XXX_PINMUX(4, RP2_PINCTRL_GPIO_FUNC_PWM)
135 #define PWM_2B_P5  RP2XXX_PINMUX(5, RP2_PINCTRL_GPIO_FUNC_PWM)
136 #define PWM_3A_P6  RP2XXX_PINMUX(6, RP2_PINCTRL_GPIO_FUNC_PWM)
137 #define PWM_3B_P7  RP2XXX_PINMUX(7, RP2_PINCTRL_GPIO_FUNC_PWM)
138 #define PWM_4A_P8  RP2XXX_PINMUX(8, RP2_PINCTRL_GPIO_FUNC_PWM)
139 #define PWM_4B_P9  RP2XXX_PINMUX(9, RP2_PINCTRL_GPIO_FUNC_PWM)
140 #define PWM_5A_P10 RP2XXX_PINMUX(10, RP2_PINCTRL_GPIO_FUNC_PWM)
141 #define PWM_5B_P11 RP2XXX_PINMUX(11, RP2_PINCTRL_GPIO_FUNC_PWM)
142 #define PWM_6A_P12 RP2XXX_PINMUX(12, RP2_PINCTRL_GPIO_FUNC_PWM)
143 #define PWM_6B_P13 RP2XXX_PINMUX(13, RP2_PINCTRL_GPIO_FUNC_PWM)
144 #define PWM_7A_P14 RP2XXX_PINMUX(14, RP2_PINCTRL_GPIO_FUNC_PWM)
145 #define PWM_7B_P15 RP2XXX_PINMUX(15, RP2_PINCTRL_GPIO_FUNC_PWM)
146 #define PWM_0A_P16 RP2XXX_PINMUX(16, RP2_PINCTRL_GPIO_FUNC_PWM)
147 #define PWM_0B_P17 RP2XXX_PINMUX(17, RP2_PINCTRL_GPIO_FUNC_PWM)
148 #define PWM_1A_P18 RP2XXX_PINMUX(18, RP2_PINCTRL_GPIO_FUNC_PWM)
149 #define PWM_1B_P19 RP2XXX_PINMUX(19, RP2_PINCTRL_GPIO_FUNC_PWM)
150 #define PWM_2A_P20 RP2XXX_PINMUX(20, RP2_PINCTRL_GPIO_FUNC_PWM)
151 #define PWM_2B_P21 RP2XXX_PINMUX(21, RP2_PINCTRL_GPIO_FUNC_PWM)
152 #define PWM_3A_P22 RP2XXX_PINMUX(22, RP2_PINCTRL_GPIO_FUNC_PWM)
153 #define PWM_3B_P22 RP2XXX_PINMUX(23, RP2_PINCTRL_GPIO_FUNC_PWM)
154 #define PWM_4A_P24 RP2XXX_PINMUX(24, RP2_PINCTRL_GPIO_FUNC_PWM)
155 #define PWM_4B_P25 RP2XXX_PINMUX(25, RP2_PINCTRL_GPIO_FUNC_PWM)
156 #define PWM_5A_P26 RP2XXX_PINMUX(26, RP2_PINCTRL_GPIO_FUNC_PWM)
157 #define PWM_5B_P27 RP2XXX_PINMUX(27, RP2_PINCTRL_GPIO_FUNC_PWM)
158 #define PWM_6A_P28 RP2XXX_PINMUX(28, RP2_PINCTRL_GPIO_FUNC_PWM)
159 #define PWM_6B_P29 RP2XXX_PINMUX(29, RP2_PINCTRL_GPIO_FUNC_PWM)
160 
161 #define PIO0_P0  RP2XXX_PINMUX(0, RP2_PINCTRL_GPIO_FUNC_PIO0)
162 #define PIO0_P1  RP2XXX_PINMUX(1, RP2_PINCTRL_GPIO_FUNC_PIO0)
163 #define PIO0_P2  RP2XXX_PINMUX(2, RP2_PINCTRL_GPIO_FUNC_PIO0)
164 #define PIO0_P3  RP2XXX_PINMUX(3, RP2_PINCTRL_GPIO_FUNC_PIO0)
165 #define PIO0_P4  RP2XXX_PINMUX(4, RP2_PINCTRL_GPIO_FUNC_PIO0)
166 #define PIO0_P5  RP2XXX_PINMUX(5, RP2_PINCTRL_GPIO_FUNC_PIO0)
167 #define PIO0_P6  RP2XXX_PINMUX(6, RP2_PINCTRL_GPIO_FUNC_PIO0)
168 #define PIO0_P7  RP2XXX_PINMUX(7, RP2_PINCTRL_GPIO_FUNC_PIO0)
169 #define PIO0_P8  RP2XXX_PINMUX(8, RP2_PINCTRL_GPIO_FUNC_PIO0)
170 #define PIO0_P9  RP2XXX_PINMUX(9, RP2_PINCTRL_GPIO_FUNC_PIO0)
171 #define PIO0_P10 RP2XXX_PINMUX(10, RP2_PINCTRL_GPIO_FUNC_PIO0)
172 #define PIO0_P11 RP2XXX_PINMUX(11, RP2_PINCTRL_GPIO_FUNC_PIO0)
173 #define PIO0_P12 RP2XXX_PINMUX(12, RP2_PINCTRL_GPIO_FUNC_PIO0)
174 #define PIO0_P13 RP2XXX_PINMUX(13, RP2_PINCTRL_GPIO_FUNC_PIO0)
175 #define PIO0_P14 RP2XXX_PINMUX(14, RP2_PINCTRL_GPIO_FUNC_PIO0)
176 #define PIO0_P15 RP2XXX_PINMUX(15, RP2_PINCTRL_GPIO_FUNC_PIO0)
177 #define PIO0_P16 RP2XXX_PINMUX(16, RP2_PINCTRL_GPIO_FUNC_PIO0)
178 #define PIO0_P17 RP2XXX_PINMUX(17, RP2_PINCTRL_GPIO_FUNC_PIO0)
179 #define PIO0_P18 RP2XXX_PINMUX(18, RP2_PINCTRL_GPIO_FUNC_PIO0)
180 #define PIO0_P19 RP2XXX_PINMUX(19, RP2_PINCTRL_GPIO_FUNC_PIO0)
181 #define PIO0_P20 RP2XXX_PINMUX(20, RP2_PINCTRL_GPIO_FUNC_PIO0)
182 #define PIO0_P21 RP2XXX_PINMUX(21, RP2_PINCTRL_GPIO_FUNC_PIO0)
183 #define PIO0_P22 RP2XXX_PINMUX(22, RP2_PINCTRL_GPIO_FUNC_PIO0)
184 #define PIO0_P23 RP2XXX_PINMUX(23, RP2_PINCTRL_GPIO_FUNC_PIO0)
185 #define PIO0_P24 RP2XXX_PINMUX(24, RP2_PINCTRL_GPIO_FUNC_PIO0)
186 #define PIO0_P25 RP2XXX_PINMUX(25, RP2_PINCTRL_GPIO_FUNC_PIO0)
187 #define PIO0_P26 RP2XXX_PINMUX(26, RP2_PINCTRL_GPIO_FUNC_PIO0)
188 #define PIO0_P27 RP2XXX_PINMUX(27, RP2_PINCTRL_GPIO_FUNC_PIO0)
189 #define PIO0_P28 RP2XXX_PINMUX(28, RP2_PINCTRL_GPIO_FUNC_PIO0)
190 #define PIO0_P29 RP2XXX_PINMUX(29, RP2_PINCTRL_GPIO_FUNC_PIO0)
191 
192 #define PIO1_P0  RP2XXX_PINMUX(0, RP2_PINCTRL_GPIO_FUNC_PIO1)
193 #define PIO1_P1  RP2XXX_PINMUX(1, RP2_PINCTRL_GPIO_FUNC_PIO1)
194 #define PIO1_P2  RP2XXX_PINMUX(2, RP2_PINCTRL_GPIO_FUNC_PIO1)
195 #define PIO1_P3  RP2XXX_PINMUX(3, RP2_PINCTRL_GPIO_FUNC_PIO1)
196 #define PIO1_P4  RP2XXX_PINMUX(4, RP2_PINCTRL_GPIO_FUNC_PIO1)
197 #define PIO1_P5  RP2XXX_PINMUX(5, RP2_PINCTRL_GPIO_FUNC_PIO1)
198 #define PIO1_P6  RP2XXX_PINMUX(6, RP2_PINCTRL_GPIO_FUNC_PIO1)
199 #define PIO1_P7  RP2XXX_PINMUX(7, RP2_PINCTRL_GPIO_FUNC_PIO1)
200 #define PIO1_P8  RP2XXX_PINMUX(8, RP2_PINCTRL_GPIO_FUNC_PIO1)
201 #define PIO1_P9  RP2XXX_PINMUX(9, RP2_PINCTRL_GPIO_FUNC_PIO1)
202 #define PIO1_P10 RP2XXX_PINMUX(10, RP2_PINCTRL_GPIO_FUNC_PIO1)
203 #define PIO1_P11 RP2XXX_PINMUX(11, RP2_PINCTRL_GPIO_FUNC_PIO1)
204 #define PIO1_P12 RP2XXX_PINMUX(12, RP2_PINCTRL_GPIO_FUNC_PIO1)
205 #define PIO1_P13 RP2XXX_PINMUX(13, RP2_PINCTRL_GPIO_FUNC_PIO1)
206 #define PIO1_P14 RP2XXX_PINMUX(14, RP2_PINCTRL_GPIO_FUNC_PIO1)
207 #define PIO1_P15 RP2XXX_PINMUX(15, RP2_PINCTRL_GPIO_FUNC_PIO1)
208 #define PIO1_P16 RP2XXX_PINMUX(16, RP2_PINCTRL_GPIO_FUNC_PIO1)
209 #define PIO1_P17 RP2XXX_PINMUX(17, RP2_PINCTRL_GPIO_FUNC_PIO1)
210 #define PIO1_P18 RP2XXX_PINMUX(18, RP2_PINCTRL_GPIO_FUNC_PIO1)
211 #define PIO1_P19 RP2XXX_PINMUX(19, RP2_PINCTRL_GPIO_FUNC_PIO1)
212 #define PIO1_P20 RP2XXX_PINMUX(20, RP2_PINCTRL_GPIO_FUNC_PIO1)
213 #define PIO1_P21 RP2XXX_PINMUX(21, RP2_PINCTRL_GPIO_FUNC_PIO1)
214 #define PIO1_P22 RP2XXX_PINMUX(22, RP2_PINCTRL_GPIO_FUNC_PIO1)
215 #define PIO1_P23 RP2XXX_PINMUX(23, RP2_PINCTRL_GPIO_FUNC_PIO1)
216 #define PIO1_P24 RP2XXX_PINMUX(24, RP2_PINCTRL_GPIO_FUNC_PIO1)
217 #define PIO1_P25 RP2XXX_PINMUX(25, RP2_PINCTRL_GPIO_FUNC_PIO1)
218 #define PIO1_P26 RP2XXX_PINMUX(26, RP2_PINCTRL_GPIO_FUNC_PIO1)
219 #define PIO1_P27 RP2XXX_PINMUX(27, RP2_PINCTRL_GPIO_FUNC_PIO1)
220 #define PIO1_P28 RP2XXX_PINMUX(28, RP2_PINCTRL_GPIO_FUNC_PIO1)
221 #define PIO1_P29 RP2XXX_PINMUX(29, RP2_PINCTRL_GPIO_FUNC_PIO1)
222 
223 #define GPIN0_P20  RP2XXX_PINMUX(20, RP2_PINCTRL_GPIO_FUNC_GPCK)
224 #define GPIN1_P22  RP2XXX_PINMUX(22, RP2_PINCTRL_GPIO_FUNC_GPCK)
225 #define GPOUT0_P21 RP2XXX_PINMUX(21, RP2_PINCTRL_GPIO_FUNC_GPCK)
226 #define GPOUT1_P23 RP2XXX_PINMUX(23, RP2_PINCTRL_GPIO_FUNC_GPCK)
227 #define GPOUT2_P24 RP2XXX_PINMUX(24, RP2_PINCTRL_GPIO_FUNC_GPCK)
228 #define GPOUT3_P25 RP2XXX_PINMUX(25, RP2_PINCTRL_GPIO_FUNC_GPCK)
229 
230 #define USB_VBUS_DET_P1  RP2XXX_PINMUX(1, RP2_PINCTRL_GPIO_FUNC_USB)
231 #define USB_VBUS_DET_P4  RP2XXX_PINMUX(4, RP2_PINCTRL_GPIO_FUNC_USB)
232 #define USB_VBUS_DET_P7  RP2XXX_PINMUX(7, RP2_PINCTRL_GPIO_FUNC_USB)
233 #define USB_VBUS_DET_P10 RP2XXX_PINMUX(10, RP2_PINCTRL_GPIO_FUNC_USB)
234 #define USB_VBUS_DET_P13 RP2XXX_PINMUX(13, RP2_PINCTRL_GPIO_FUNC_USB)
235 #define USB_VBUS_DET_P16 RP2XXX_PINMUX(16, RP2_PINCTRL_GPIO_FUNC_USB)
236 #define USB_VBUS_DET_P19 RP2XXX_PINMUX(19, RP2_PINCTRL_GPIO_FUNC_USB)
237 #define USB_VBUS_DET_P22 RP2XXX_PINMUX(22, RP2_PINCTRL_GPIO_FUNC_USB)
238 #define USB_VBUS_DET_P25 RP2XXX_PINMUX(25, RP2_PINCTRL_GPIO_FUNC_USB)
239 #define USB_VBUS_DET_P28 RP2XXX_PINMUX(28, RP2_PINCTRL_GPIO_FUNC_USB)
240 
241 #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_RPI_PICO_PINCTRL_COMMON_H_ */
242