Skip to content

Commit ba65ff3

Browse files
ThreeEightsMaureenHelm
authored andcommitted
pinctrl: raspberrypi: pico: Add GPIO pinctrl definitions
In most circumstances, GPIO pins identified in devicetree are assigned to the SIO function at initialization. However, there are cases where pin assignments change in alternate pinctrl configurations. This commit adds the necessary definitions to specify GPIO opration in pinctrl. Signed-off-by: Steve Boylan <[email protected]>
1 parent 7b42f40 commit ba65ff3

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

include/zephyr/dt-bindings/pinctrl/rpi-pico-pinctrl-common.h

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,37 @@
3434
#define RP2_PINCTRL_GPIO_FUNC_PIO0 6
3535
#define RP2_PINCTRL_GPIO_FUNC_PIO1 7
3636

37+
#define GPIO_P0 RP2XXX_PINMUX(0, RP2_PINCTRL_GPIO_FUNC_SIO)
38+
#define GPIO_P1 RP2XXX_PINMUX(1, RP2_PINCTRL_GPIO_FUNC_SIO)
39+
#define GPIO_P2 RP2XXX_PINMUX(2, RP2_PINCTRL_GPIO_FUNC_SIO)
40+
#define GPIO_P3 RP2XXX_PINMUX(3, RP2_PINCTRL_GPIO_FUNC_SIO)
41+
#define GPIO_P4 RP2XXX_PINMUX(4, RP2_PINCTRL_GPIO_FUNC_SIO)
42+
#define GPIO_P5 RP2XXX_PINMUX(5, RP2_PINCTRL_GPIO_FUNC_SIO)
43+
#define GPIO_P6 RP2XXX_PINMUX(6, RP2_PINCTRL_GPIO_FUNC_SIO)
44+
#define GPIO_P7 RP2XXX_PINMUX(7, RP2_PINCTRL_GPIO_FUNC_SIO)
45+
#define GPIO_P8 RP2XXX_PINMUX(8, RP2_PINCTRL_GPIO_FUNC_SIO)
46+
#define GPIO_P9 RP2XXX_PINMUX(9, RP2_PINCTRL_GPIO_FUNC_SIO)
47+
#define GPIO_P10 RP2XXX_PINMUX(10, RP2_PINCTRL_GPIO_FUNC_SIO)
48+
#define GPIO_P11 RP2XXX_PINMUX(11, RP2_PINCTRL_GPIO_FUNC_SIO)
49+
#define GPIO_P12 RP2XXX_PINMUX(12, RP2_PINCTRL_GPIO_FUNC_SIO)
50+
#define GPIO_P13 RP2XXX_PINMUX(13, RP2_PINCTRL_GPIO_FUNC_SIO)
51+
#define GPIO_P14 RP2XXX_PINMUX(14, RP2_PINCTRL_GPIO_FUNC_SIO)
52+
#define GPIO_P15 RP2XXX_PINMUX(15, RP2_PINCTRL_GPIO_FUNC_SIO)
53+
#define GPIO_P16 RP2XXX_PINMUX(16, RP2_PINCTRL_GPIO_FUNC_SIO)
54+
#define GPIO_P17 RP2XXX_PINMUX(17, RP2_PINCTRL_GPIO_FUNC_SIO)
55+
#define GPIO_P18 RP2XXX_PINMUX(18, RP2_PINCTRL_GPIO_FUNC_SIO)
56+
#define GPIO_P19 RP2XXX_PINMUX(19, RP2_PINCTRL_GPIO_FUNC_SIO)
57+
#define GPIO_P20 RP2XXX_PINMUX(20, RP2_PINCTRL_GPIO_FUNC_SIO)
58+
#define GPIO_P21 RP2XXX_PINMUX(21, RP2_PINCTRL_GPIO_FUNC_SIO)
59+
#define GPIO_P22 RP2XXX_PINMUX(22, RP2_PINCTRL_GPIO_FUNC_SIO)
60+
#define GPIO_P23 RP2XXX_PINMUX(23, RP2_PINCTRL_GPIO_FUNC_SIO)
61+
#define GPIO_P24 RP2XXX_PINMUX(24, RP2_PINCTRL_GPIO_FUNC_SIO)
62+
#define GPIO_P25 RP2XXX_PINMUX(25, RP2_PINCTRL_GPIO_FUNC_SIO)
63+
#define GPIO_P26 RP2XXX_PINMUX(26, RP2_PINCTRL_GPIO_FUNC_SIO)
64+
#define GPIO_P27 RP2XXX_PINMUX(27, RP2_PINCTRL_GPIO_FUNC_SIO)
65+
#define GPIO_P28 RP2XXX_PINMUX(28, RP2_PINCTRL_GPIO_FUNC_SIO)
66+
#define GPIO_P29 RP2XXX_PINMUX(29, RP2_PINCTRL_GPIO_FUNC_SIO)
67+
3768
/* These pin assignments for each function are similarly common. */
3869
#define SPI0_RX_P0 RP2XXX_PINMUX(0, RP2_PINCTRL_GPIO_FUNC_SPI)
3970
#define SPI0_CSN_P1 RP2XXX_PINMUX(1, RP2_PINCTRL_GPIO_FUNC_SPI)

include/zephyr/dt-bindings/pinctrl/rpi-pico-rp2350b-pinctrl.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,25 @@
1212
/* RP2350B is in a QFN-80 package, and extends the set of available pins
1313
* accordingly.
1414
*/
15+
#define GPIO_P30 RP2XXX_PINMUX(30, RP2_PINCTRL_GPIO_FUNC_SIO)
16+
#define GPIO_P31 RP2XXX_PINMUX(31, RP2_PINCTRL_GPIO_FUNC_SIO)
17+
#define GPIO_P32 RP2XXX_PINMUX(32, RP2_PINCTRL_GPIO_FUNC_SIO)
18+
#define GPIO_P33 RP2XXX_PINMUX(33, RP2_PINCTRL_GPIO_FUNC_SIO)
19+
#define GPIO_P34 RP2XXX_PINMUX(34, RP2_PINCTRL_GPIO_FUNC_SIO)
20+
#define GPIO_P35 RP2XXX_PINMUX(35, RP2_PINCTRL_GPIO_FUNC_SIO)
21+
#define GPIO_P36 RP2XXX_PINMUX(36, RP2_PINCTRL_GPIO_FUNC_SIO)
22+
#define GPIO_P37 RP2XXX_PINMUX(37, RP2_PINCTRL_GPIO_FUNC_SIO)
23+
#define GPIO_P38 RP2XXX_PINMUX(38, RP2_PINCTRL_GPIO_FUNC_SIO)
24+
#define GPIO_P39 RP2XXX_PINMUX(39, RP2_PINCTRL_GPIO_FUNC_SIO)
25+
#define GPIO_P40 RP2XXX_PINMUX(40, RP2_PINCTRL_GPIO_FUNC_SIO)
26+
#define GPIO_P41 RP2XXX_PINMUX(41, RP2_PINCTRL_GPIO_FUNC_SIO)
27+
#define GPIO_P42 RP2XXX_PINMUX(42, RP2_PINCTRL_GPIO_FUNC_SIO)
28+
#define GPIO_P43 RP2XXX_PINMUX(43, RP2_PINCTRL_GPIO_FUNC_SIO)
29+
#define GPIO_P44 RP2XXX_PINMUX(44, RP2_PINCTRL_GPIO_FUNC_SIO)
30+
#define GPIO_P45 RP2XXX_PINMUX(45, RP2_PINCTRL_GPIO_FUNC_SIO)
31+
#define GPIO_P46 RP2XXX_PINMUX(46, RP2_PINCTRL_GPIO_FUNC_SIO)
32+
#define GPIO_P47 RP2XXX_PINMUX(47, RP2_PINCTRL_GPIO_FUNC_SIO)
33+
1534
#define SPI1_SCK_P30 RP2XXX_PINMUX(30, RP2_PINCTRL_GPIO_FUNC_SPI)
1635
#define SPI1_TX_P31 RP2XXX_PINMUX(31, RP2_PINCTRL_GPIO_FUNC_SPI)
1736
#define SPI0_RX_P32 RP2XXX_PINMUX(32, RP2_PINCTRL_GPIO_FUNC_SPI)

0 commit comments

Comments
 (0)