xref: /freebsd-src/sys/contrib/device-tree/src/arm/st/stm32f7-pinctrl.dtsi (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4f126890aSEmmanuel Vadot * Author: Alexandre Torgue  <alexandre.torgue@st.com> for STMicroelectronics.
5f126890aSEmmanuel Vadot */
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/stm32-pinfunc.h>
8f126890aSEmmanuel Vadot#include <dt-bindings/mfd/stm32f7-rcc.h>
9f126890aSEmmanuel Vadot
10f126890aSEmmanuel Vadot/ {
11f126890aSEmmanuel Vadot	soc {
12f126890aSEmmanuel Vadot		pinctrl: pinctrl@40020000 {
13f126890aSEmmanuel Vadot			#address-cells = <1>;
14f126890aSEmmanuel Vadot			#size-cells = <1>;
15f126890aSEmmanuel Vadot			ranges = <0 0x40020000 0x3000>;
16f126890aSEmmanuel Vadot			interrupt-parent = <&exti>;
17f126890aSEmmanuel Vadot			st,syscfg = <&syscfg 0x8>;
18f126890aSEmmanuel Vadot
19f126890aSEmmanuel Vadot			gpioa: gpio@40020000 {
20f126890aSEmmanuel Vadot				gpio-controller;
21f126890aSEmmanuel Vadot				#gpio-cells = <2>;
22f126890aSEmmanuel Vadot				interrupt-controller;
23f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
24f126890aSEmmanuel Vadot				reg = <0x0 0x400>;
25f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOA)>;
26f126890aSEmmanuel Vadot				st,bank-name = "GPIOA";
27f126890aSEmmanuel Vadot			};
28f126890aSEmmanuel Vadot
29f126890aSEmmanuel Vadot			gpiob: gpio@40020400 {
30f126890aSEmmanuel Vadot				gpio-controller;
31f126890aSEmmanuel Vadot				#gpio-cells = <2>;
32f126890aSEmmanuel Vadot				interrupt-controller;
33f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
34f126890aSEmmanuel Vadot				reg = <0x400 0x400>;
35f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOB)>;
36f126890aSEmmanuel Vadot				st,bank-name = "GPIOB";
37f126890aSEmmanuel Vadot			};
38f126890aSEmmanuel Vadot
39f126890aSEmmanuel Vadot			gpioc: gpio@40020800 {
40f126890aSEmmanuel Vadot				gpio-controller;
41f126890aSEmmanuel Vadot				#gpio-cells = <2>;
42f126890aSEmmanuel Vadot				interrupt-controller;
43f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
44f126890aSEmmanuel Vadot				reg = <0x800 0x400>;
45f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOC)>;
46f126890aSEmmanuel Vadot				st,bank-name = "GPIOC";
47f126890aSEmmanuel Vadot			};
48f126890aSEmmanuel Vadot
49f126890aSEmmanuel Vadot			gpiod: gpio@40020c00 {
50f126890aSEmmanuel Vadot				gpio-controller;
51f126890aSEmmanuel Vadot				#gpio-cells = <2>;
52f126890aSEmmanuel Vadot				interrupt-controller;
53f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
54f126890aSEmmanuel Vadot				reg = <0xc00 0x400>;
55f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOD)>;
56f126890aSEmmanuel Vadot				st,bank-name = "GPIOD";
57f126890aSEmmanuel Vadot			};
58f126890aSEmmanuel Vadot
59f126890aSEmmanuel Vadot			gpioe: gpio@40021000 {
60f126890aSEmmanuel Vadot				gpio-controller;
61f126890aSEmmanuel Vadot				#gpio-cells = <2>;
62f126890aSEmmanuel Vadot				interrupt-controller;
63f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
64f126890aSEmmanuel Vadot				reg = <0x1000 0x400>;
65f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOE)>;
66f126890aSEmmanuel Vadot				st,bank-name = "GPIOE";
67f126890aSEmmanuel Vadot			};
68f126890aSEmmanuel Vadot
69f126890aSEmmanuel Vadot			gpiof: gpio@40021400 {
70f126890aSEmmanuel Vadot				gpio-controller;
71f126890aSEmmanuel Vadot				#gpio-cells = <2>;
72f126890aSEmmanuel Vadot				interrupt-controller;
73f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
74f126890aSEmmanuel Vadot				reg = <0x1400 0x400>;
75f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOF)>;
76f126890aSEmmanuel Vadot				st,bank-name = "GPIOF";
77f126890aSEmmanuel Vadot			};
78f126890aSEmmanuel Vadot
79f126890aSEmmanuel Vadot			gpiog: gpio@40021800 {
80f126890aSEmmanuel Vadot				gpio-controller;
81f126890aSEmmanuel Vadot				#gpio-cells = <2>;
82f126890aSEmmanuel Vadot				interrupt-controller;
83f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
84f126890aSEmmanuel Vadot				reg = <0x1800 0x400>;
85f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOG)>;
86f126890aSEmmanuel Vadot				st,bank-name = "GPIOG";
87f126890aSEmmanuel Vadot			};
88f126890aSEmmanuel Vadot
89f126890aSEmmanuel Vadot			gpioh: gpio@40021c00 {
90f126890aSEmmanuel Vadot				gpio-controller;
91f126890aSEmmanuel Vadot				#gpio-cells = <2>;
92f126890aSEmmanuel Vadot				interrupt-controller;
93f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
94f126890aSEmmanuel Vadot				reg = <0x1c00 0x400>;
95f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOH)>;
96f126890aSEmmanuel Vadot				st,bank-name = "GPIOH";
97f126890aSEmmanuel Vadot			};
98f126890aSEmmanuel Vadot
99f126890aSEmmanuel Vadot			gpioi: gpio@40022000 {
100f126890aSEmmanuel Vadot				gpio-controller;
101f126890aSEmmanuel Vadot				#gpio-cells = <2>;
102f126890aSEmmanuel Vadot				interrupt-controller;
103f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
104f126890aSEmmanuel Vadot				reg = <0x2000 0x400>;
105f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOI)>;
106f126890aSEmmanuel Vadot				st,bank-name = "GPIOI";
107f126890aSEmmanuel Vadot			};
108f126890aSEmmanuel Vadot
109f126890aSEmmanuel Vadot			gpioj: gpio@40022400 {
110f126890aSEmmanuel Vadot				gpio-controller;
111f126890aSEmmanuel Vadot				#gpio-cells = <2>;
112f126890aSEmmanuel Vadot				interrupt-controller;
113f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
114f126890aSEmmanuel Vadot				reg = <0x2400 0x400>;
115f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOJ)>;
116f126890aSEmmanuel Vadot				st,bank-name = "GPIOJ";
117f126890aSEmmanuel Vadot			};
118f126890aSEmmanuel Vadot
119f126890aSEmmanuel Vadot			gpiok: gpio@40022800 {
120f126890aSEmmanuel Vadot				gpio-controller;
121f126890aSEmmanuel Vadot				#gpio-cells = <2>;
122f126890aSEmmanuel Vadot				interrupt-controller;
123f126890aSEmmanuel Vadot				#interrupt-cells = <2>;
124f126890aSEmmanuel Vadot				reg = <0x2800 0x400>;
125f126890aSEmmanuel Vadot				clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOK)>;
126f126890aSEmmanuel Vadot				st,bank-name = "GPIOK";
127f126890aSEmmanuel Vadot			};
128f126890aSEmmanuel Vadot
129f126890aSEmmanuel Vadot			cec_pins_a: cec-0 {
130f126890aSEmmanuel Vadot				pins {
131f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('A', 15, AF4)>; /* HDMI CEC */
132f126890aSEmmanuel Vadot					slew-rate = <0>;
133f126890aSEmmanuel Vadot					drive-open-drain;
134f126890aSEmmanuel Vadot					bias-disable;
135f126890aSEmmanuel Vadot				};
136f126890aSEmmanuel Vadot			};
137f126890aSEmmanuel Vadot
138f126890aSEmmanuel Vadot			usart1_pins_a: usart1-0 {
139f126890aSEmmanuel Vadot				pins1 {
140f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('A', 9, AF7)>; /* USART1_TX */
141f126890aSEmmanuel Vadot					bias-disable;
142f126890aSEmmanuel Vadot					drive-push-pull;
143f126890aSEmmanuel Vadot					slew-rate = <0>;
144f126890aSEmmanuel Vadot				};
145f126890aSEmmanuel Vadot				pins2 {
146f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('A', 10, AF7)>; /* USART1_RX */
147f126890aSEmmanuel Vadot					bias-disable;
148f126890aSEmmanuel Vadot				};
149f126890aSEmmanuel Vadot			};
150f126890aSEmmanuel Vadot
151f126890aSEmmanuel Vadot			usart1_pins_b: usart1-1 {
152f126890aSEmmanuel Vadot				pins1 {
153f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('A', 9, AF7)>; /* USART1_TX */
154f126890aSEmmanuel Vadot					bias-disable;
155f126890aSEmmanuel Vadot					drive-push-pull;
156f126890aSEmmanuel Vadot					slew-rate = <0>;
157f126890aSEmmanuel Vadot				};
158f126890aSEmmanuel Vadot				pins2 {
159f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('B', 7, AF7)>; /* USART1_RX */
160f126890aSEmmanuel Vadot					bias-disable;
161f126890aSEmmanuel Vadot				};
162f126890aSEmmanuel Vadot			};
163f126890aSEmmanuel Vadot
164f126890aSEmmanuel Vadot			i2c1_pins_b: i2c1-0 {
165f126890aSEmmanuel Vadot				pins {
166f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('B', 9, AF4)>, /* I2C1 SDA */
167f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 8, AF4)>; /* I2C1 SCL */
168f126890aSEmmanuel Vadot					bias-disable;
169f126890aSEmmanuel Vadot					drive-open-drain;
170f126890aSEmmanuel Vadot					slew-rate = <0>;
171f126890aSEmmanuel Vadot				};
172f126890aSEmmanuel Vadot			};
173f126890aSEmmanuel Vadot
174aa1a8ff2SEmmanuel Vadot			i2c3_pins_a: i2c3-0 {
175aa1a8ff2SEmmanuel Vadot				pins {
176aa1a8ff2SEmmanuel Vadot					pinmux = <STM32_PINMUX('H', 8, AF4)>, /* I2C3_SDA */
177aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('H', 7, AF4)>; /* I2C3_SCL */
178aa1a8ff2SEmmanuel Vadot					bias-disable;
179aa1a8ff2SEmmanuel Vadot					drive-open-drain;
180aa1a8ff2SEmmanuel Vadot					slew-rate = <0>;
181aa1a8ff2SEmmanuel Vadot				};
182aa1a8ff2SEmmanuel Vadot			};
183aa1a8ff2SEmmanuel Vadot
184f126890aSEmmanuel Vadot			usbotg_hs_pins_a: usbotg-hs-0 {
185f126890aSEmmanuel Vadot				pins {
186f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('H', 4, AF10)>, /* OTG_HS_ULPI_NXT */
187f126890aSEmmanuel Vadot						 <STM32_PINMUX('I', 11, AF10)>, /* OTG_HS_ULPI_DIR */
188f126890aSEmmanuel Vadot						 <STM32_PINMUX('C', 0, AF10)>, /* OTG_HS_ULPI_STP */
189f126890aSEmmanuel Vadot						 <STM32_PINMUX('A', 5, AF10)>, /* OTG_HS_ULPI_CK */
190f126890aSEmmanuel Vadot						 <STM32_PINMUX('A', 3, AF10)>, /* OTG_HS_ULPI_D0 */
191f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 0, AF10)>, /* OTG_HS_ULPI_D1 */
192f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 1, AF10)>, /* OTG_HS_ULPI_D2 */
193f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 10, AF10)>, /* OTG_HS_ULPI_D3 */
194f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 11, AF10)>, /* OTG_HS_ULPI_D4 */
195f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 12, AF10)>, /* OTG_HS_ULPI_D5 */
196f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 13, AF10)>, /* OTG_HS_ULPI_D6 */
197f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 5, AF10)>; /* OTG_HS_ULPI_D7 */
198f126890aSEmmanuel Vadot					bias-disable;
199f126890aSEmmanuel Vadot					drive-push-pull;
200f126890aSEmmanuel Vadot					slew-rate = <2>;
201f126890aSEmmanuel Vadot				};
202f126890aSEmmanuel Vadot			};
203f126890aSEmmanuel Vadot
204f126890aSEmmanuel Vadot			usbotg_hs_pins_b: usbotg-hs-1 {
205f126890aSEmmanuel Vadot				pins {
206f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('H', 4, AF10)>, /* OTG_HS_ULPI_NXT */
207f126890aSEmmanuel Vadot						 <STM32_PINMUX('C', 2, AF10)>, /* OTG_HS_ULPI_DIR */
208f126890aSEmmanuel Vadot						 <STM32_PINMUX('C', 0, AF10)>, /* OTG_HS_ULPI_STP */
209f126890aSEmmanuel Vadot						 <STM32_PINMUX('A', 5, AF10)>, /* OTG_HS_ULPI_CK */
210f126890aSEmmanuel Vadot						 <STM32_PINMUX('A', 3, AF10)>, /* OTG_HS_ULPI_D0 */
211f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 0, AF10)>, /* OTG_HS_ULPI_D1 */
212f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 1, AF10)>, /* OTG_HS_ULPI_D2 */
213f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 10, AF10)>, /* OTG_HS_ULPI_D3 */
214f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 11, AF10)>, /* OTG_HS_ULPI_D4 */
215f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 12, AF10)>, /* OTG_HS_ULPI_D5 */
216f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 13, AF10)>, /* OTG_HS_ULPI_D6 */
217f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 5, AF10)>; /* OTG_HS_ULPI_D7 */
218f126890aSEmmanuel Vadot					bias-disable;
219f126890aSEmmanuel Vadot					drive-push-pull;
220f126890aSEmmanuel Vadot					slew-rate = <2>;
221f126890aSEmmanuel Vadot				};
222f126890aSEmmanuel Vadot			};
223f126890aSEmmanuel Vadot
224f126890aSEmmanuel Vadot			usbotg_fs_pins_a: usbotg-fs-0 {
225f126890aSEmmanuel Vadot				pins {
226f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('A', 10, AF10)>, /* OTG_FS_ID */
227f126890aSEmmanuel Vadot						 <STM32_PINMUX('A', 11, AF10)>, /* OTG_FS_DM */
228f126890aSEmmanuel Vadot						 <STM32_PINMUX('A', 12, AF10)>; /* OTG_FS_DP */
229f126890aSEmmanuel Vadot					bias-disable;
230f126890aSEmmanuel Vadot					drive-push-pull;
231f126890aSEmmanuel Vadot					slew-rate = <2>;
232f126890aSEmmanuel Vadot				};
233f126890aSEmmanuel Vadot			};
234f126890aSEmmanuel Vadot
235f126890aSEmmanuel Vadot			sdio_pins_a: sdio-pins-a-0 {
236f126890aSEmmanuel Vadot				pins {
237f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1 D0 */
238f126890aSEmmanuel Vadot						 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1 D1 */
239f126890aSEmmanuel Vadot						 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1 D2 */
240f126890aSEmmanuel Vadot						 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1 D3 */
241f126890aSEmmanuel Vadot						 <STM32_PINMUX('C', 12, AF12)>, /* SDMMC1 CLK */
242f126890aSEmmanuel Vadot						 <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1 CMD */
243f126890aSEmmanuel Vadot					drive-push-pull;
244f126890aSEmmanuel Vadot					slew-rate = <2>;
245f126890aSEmmanuel Vadot				};
246f126890aSEmmanuel Vadot			};
247f126890aSEmmanuel Vadot
248f126890aSEmmanuel Vadot			sdio_pins_od_a: sdio-pins-od-a-0 {
249f126890aSEmmanuel Vadot				pins1 {
250f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1 D0 */
251f126890aSEmmanuel Vadot						 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1 D1 */
252f126890aSEmmanuel Vadot						 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1 D2 */
253f126890aSEmmanuel Vadot						 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1 D3 */
254f126890aSEmmanuel Vadot						 <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1 CLK */
255f126890aSEmmanuel Vadot					drive-push-pull;
256f126890aSEmmanuel Vadot					slew-rate = <2>;
257f126890aSEmmanuel Vadot				};
258f126890aSEmmanuel Vadot
259f126890aSEmmanuel Vadot				pins2 {
260f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1 CMD */
261f126890aSEmmanuel Vadot					drive-open-drain;
262f126890aSEmmanuel Vadot					slew-rate = <2>;
263f126890aSEmmanuel Vadot				};
264f126890aSEmmanuel Vadot			};
265f126890aSEmmanuel Vadot
266*84943d6fSEmmanuel Vadot			sdio_pins_sleep_a: sdio-pins-sleep-a-0 {
267*84943d6fSEmmanuel Vadot				pins {
268*84943d6fSEmmanuel Vadot					pinmux = <STM32_PINMUX('C', 8, ANALOG)>, /* SDMMC1 D0 */
269*84943d6fSEmmanuel Vadot						 <STM32_PINMUX('C', 9, ANALOG)>, /* SDMMC1 D1 */
270*84943d6fSEmmanuel Vadot						 <STM32_PINMUX('C', 10, ANALOG)>, /* SDMMC1 D2 */
271*84943d6fSEmmanuel Vadot						 <STM32_PINMUX('C', 11, ANALOG)>, /* SDMMC1 D3 */
272*84943d6fSEmmanuel Vadot						 <STM32_PINMUX('C', 12, ANALOG)>, /* SDMMC1 CLK */
273*84943d6fSEmmanuel Vadot						 <STM32_PINMUX('D', 2, ANALOG)>; /* SDMMC1 CMD */
274*84943d6fSEmmanuel Vadot				};
275*84943d6fSEmmanuel Vadot			};
276*84943d6fSEmmanuel Vadot
277f126890aSEmmanuel Vadot			sdio_pins_b: sdio-pins-b-0 {
278f126890aSEmmanuel Vadot				pins {
279f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('G', 9, AF11)>, /* SDMMC2 D0 */
280f126890aSEmmanuel Vadot						 <STM32_PINMUX('G', 10, AF11)>, /* SDMMC2 D1 */
281f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 3, AF10)>, /* SDMMC2 D2 */
282f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 4, AF10)>, /* SDMMC2 D3 */
283f126890aSEmmanuel Vadot						 <STM32_PINMUX('D', 6, AF11)>, /* SDMMC2 CLK */
284f126890aSEmmanuel Vadot						 <STM32_PINMUX('D', 7, AF11)>; /* SDMMC2 CMD */
285f126890aSEmmanuel Vadot					drive-push-pull;
286f126890aSEmmanuel Vadot					slew-rate = <2>;
287f126890aSEmmanuel Vadot				};
288f126890aSEmmanuel Vadot			};
289f126890aSEmmanuel Vadot
290f126890aSEmmanuel Vadot			sdio_pins_od_b: sdio-pins-od-b-0 {
291f126890aSEmmanuel Vadot				pins1 {
292f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('G', 9, AF11)>, /* SDMMC2 D0 */
293f126890aSEmmanuel Vadot						 <STM32_PINMUX('G', 10, AF11)>, /* SDMMC2 D1 */
294f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 3, AF10)>, /* SDMMC2 D2 */
295f126890aSEmmanuel Vadot						 <STM32_PINMUX('B', 4, AF10)>, /* SDMMC2 D3 */
296f126890aSEmmanuel Vadot						 <STM32_PINMUX('D', 6, AF11)>; /* SDMMC2 CLK */
297f126890aSEmmanuel Vadot					drive-push-pull;
298f126890aSEmmanuel Vadot					slew-rate = <2>;
299f126890aSEmmanuel Vadot				};
300f126890aSEmmanuel Vadot
301f126890aSEmmanuel Vadot				pins2 {
302f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('D', 7, AF11)>; /* SDMMC2 CMD */
303f126890aSEmmanuel Vadot					drive-open-drain;
304f126890aSEmmanuel Vadot					slew-rate = <2>;
305f126890aSEmmanuel Vadot				};
306f126890aSEmmanuel Vadot			};
307f126890aSEmmanuel Vadot
308*84943d6fSEmmanuel Vadot			sdio_pins_sleep_b: sdio-pins-sleep-b-0 {
309*84943d6fSEmmanuel Vadot				pins {
310*84943d6fSEmmanuel Vadot					pinmux = <STM32_PINMUX('G', 9, ANALOG)>, /* SDMMC2 D0 */
311*84943d6fSEmmanuel Vadot						 <STM32_PINMUX('G', 10, ANALOG)>, /* SDMMC2 D1 */
312*84943d6fSEmmanuel Vadot						 <STM32_PINMUX('B', 3, ANALOG)>, /* SDMMC2 D2 */
313*84943d6fSEmmanuel Vadot						 <STM32_PINMUX('B', 4, ANALOG)>, /* SDMMC2 D3 */
314*84943d6fSEmmanuel Vadot						 <STM32_PINMUX('D', 6, ANALOG)>, /* SDMMC2 CLK */
315*84943d6fSEmmanuel Vadot						 <STM32_PINMUX('D', 7, ANALOG)>; /* SDMMC2 CMD */
316*84943d6fSEmmanuel Vadot				};
317*84943d6fSEmmanuel Vadot			};
318*84943d6fSEmmanuel Vadot
319f126890aSEmmanuel Vadot			can1_pins_a: can1-0 {
320f126890aSEmmanuel Vadot				pins1 {
321f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('A', 12, AF9)>; /* CAN1_TX */
322f126890aSEmmanuel Vadot				};
323f126890aSEmmanuel Vadot				pins2 {
324f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('A', 11, AF9)>; /* CAN1_RX */
325f126890aSEmmanuel Vadot					bias-pull-up;
326f126890aSEmmanuel Vadot				};
327f126890aSEmmanuel Vadot			};
328f126890aSEmmanuel Vadot
329f126890aSEmmanuel Vadot			can1_pins_b: can1-1 {
330f126890aSEmmanuel Vadot				pins1 {
331f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('B', 9, AF9)>; /* CAN1_TX */
332f126890aSEmmanuel Vadot				};
333f126890aSEmmanuel Vadot				pins2 {
334f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('B', 8, AF9)>; /* CAN1_RX */
335f126890aSEmmanuel Vadot					bias-pull-up;
336f126890aSEmmanuel Vadot				};
337f126890aSEmmanuel Vadot			};
338f126890aSEmmanuel Vadot
339f126890aSEmmanuel Vadot			can1_pins_c: can1-2 {
340f126890aSEmmanuel Vadot				pins1 {
341f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('D', 1, AF9)>; /* CAN1_TX */
342f126890aSEmmanuel Vadot				};
343f126890aSEmmanuel Vadot				pins2 {
344f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('D', 0, AF9)>; /* CAN1_RX */
345f126890aSEmmanuel Vadot					bias-pull-up;
346f126890aSEmmanuel Vadot
347f126890aSEmmanuel Vadot				};
348f126890aSEmmanuel Vadot			};
349f126890aSEmmanuel Vadot
350f126890aSEmmanuel Vadot			can1_pins_d: can1-3 {
351f126890aSEmmanuel Vadot				pins1 {
352f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('H', 13, AF9)>; /* CAN1_TX */
353f126890aSEmmanuel Vadot				};
354f126890aSEmmanuel Vadot				pins2 {
355f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('H', 14, AF9)>; /* CAN1_RX */
356f126890aSEmmanuel Vadot					bias-pull-up;
357f126890aSEmmanuel Vadot
358f126890aSEmmanuel Vadot				};
359f126890aSEmmanuel Vadot			};
360f126890aSEmmanuel Vadot
361f126890aSEmmanuel Vadot			can2_pins_a: can2-0 {
362f126890aSEmmanuel Vadot				pins1 {
363f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('B', 6, AF9)>; /* CAN2_TX */
364f126890aSEmmanuel Vadot				};
365f126890aSEmmanuel Vadot				pins2 {
366f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('B', 5, AF9)>; /* CAN2_RX */
367f126890aSEmmanuel Vadot					bias-pull-up;
368f126890aSEmmanuel Vadot				};
369f126890aSEmmanuel Vadot			};
370f126890aSEmmanuel Vadot
371f126890aSEmmanuel Vadot			can2_pins_b: can2-1 {
372f126890aSEmmanuel Vadot				pins1 {
373f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('B', 13, AF9)>; /* CAN2_TX */
374f126890aSEmmanuel Vadot				};
375f126890aSEmmanuel Vadot				pins2 {
376f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('B', 12, AF9)>; /* CAN2_RX */
377f126890aSEmmanuel Vadot					bias-pull-up;
378f126890aSEmmanuel Vadot				};
379f126890aSEmmanuel Vadot			};
380f126890aSEmmanuel Vadot
381f126890aSEmmanuel Vadot			can3_pins_a: can3-0 {
382f126890aSEmmanuel Vadot				pins1 {
383f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('A', 15, AF11)>; /* CAN3_TX */
384f126890aSEmmanuel Vadot				};
385f126890aSEmmanuel Vadot				pins2 {
386f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('A', 8, AF11)>; /* CAN3_RX */
387f126890aSEmmanuel Vadot					bias-pull-up;
388f126890aSEmmanuel Vadot				};
389f126890aSEmmanuel Vadot			};
390f126890aSEmmanuel Vadot
391f126890aSEmmanuel Vadot			can3_pins_b: can3-1 {
392f126890aSEmmanuel Vadot				pins1 {
393f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('B', 4, AF11)>;  /* CAN3_TX */
394f126890aSEmmanuel Vadot				};
395f126890aSEmmanuel Vadot				pins2 {
396f126890aSEmmanuel Vadot					pinmux = <STM32_PINMUX('B', 3, AF11)>; /* CAN3_RX */
397f126890aSEmmanuel Vadot					bias-pull-up;
398f126890aSEmmanuel Vadot				};
399f126890aSEmmanuel Vadot			};
400aa1a8ff2SEmmanuel Vadot
401aa1a8ff2SEmmanuel Vadot			ltdc_pins_a: ltdc-0 {
402aa1a8ff2SEmmanuel Vadot				pins {
403aa1a8ff2SEmmanuel Vadot					pinmux = <STM32_PINMUX('E', 4, AF14)>, /* LCD_B0 */
404aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('G',12, AF9)>,  /* LCD_B4 */
405aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('I', 9, AF14)>, /* LCD_VSYNC */
406aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('I',10, AF14)>, /* LCD_HSYNC */
407aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('I',14, AF14)>, /* LCD_CLK */
408aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('I',15, AF14)>, /* LCD_R0 */
409aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J', 0, AF14)>, /* LCD_R1 */
410aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J', 1, AF14)>, /* LCD_R2 */
411aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J', 2, AF14)>, /* LCD_R3 */
412aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J', 3, AF14)>, /* LCD_R4 */
413aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J', 4, AF14)>, /* LCD_R5 */
414aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J', 5, AF14)>, /* LCD_R6 */
415aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J', 6, AF14)>, /* LCD_R7 */
416aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J', 7, AF14)>, /* LCD_G0 */
417aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J', 8, AF14)>, /* LCD_G1 */
418aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J', 9, AF14)>, /* LCD_G2 */
419aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J',10, AF14)>, /* LCD_G3 */
420aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J',11, AF14)>, /* LCD_G4 */
421aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J',13, AF14)>, /* LCD_B1 */
422aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J',14, AF14)>, /* LCD_B2 */
423aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('J',15, AF14)>, /* LCD_B3 */
424aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('K', 0, AF14)>, /* LCD_G5 */
425aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('K', 1, AF14)>, /* LCD_G6 */
426aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('K', 2, AF14)>, /* LCD_G7 */
427aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('K', 4, AF14)>, /* LCD_B5 */
428aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('K', 5, AF14)>, /* LCD_B6 */
429aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('K', 6, AF14)>, /* LCD_B7 */
430aa1a8ff2SEmmanuel Vadot						 <STM32_PINMUX('K', 7, AF14)>; /* LCD_DE */
431aa1a8ff2SEmmanuel Vadot					slew-rate = <2>;
432aa1a8ff2SEmmanuel Vadot				};
433aa1a8ff2SEmmanuel Vadot			};
434f126890aSEmmanuel Vadot		};
435f126890aSEmmanuel Vadot	};
436f126890aSEmmanuel Vadot};
437