1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (c) 2022-2023, STMicroelectronics - All Rights Reserved
4 * Author: Alexandre Torgue <alexandre.torgue@foss.st.com>
5 */
6#include <dt-bindings/pinctrl/stm32-pinfunc.h>
7
8&pinctrl {
9	/omit-if-no-ref/
10	i2c4_pins_a: i2c4-0 {
11		pins {
12			pinmux = <STM32_PINMUX('E', 15, AF6)>, /* I2C4_SCL */
13				 <STM32_PINMUX('B', 9, AF6)>; /* I2C4_SDA */
14			bias-disable;
15			drive-open-drain;
16			slew-rate = <0>;
17		};
18	};
19
20	/omit-if-no-ref/
21	sdmmc1_b4_pins_a: sdmmc1-b4-0 {
22		pins {
23			pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
24				 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
25				 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
26				 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */
27				 <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
28			slew-rate = <1>;
29			drive-push-pull;
30			bias-disable;
31		};
32	};
33
34	/omit-if-no-ref/
35	sdmmc1_clk_pins_a: sdmmc1-clk-0 {
36		pins {
37			pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
38			slew-rate = <1>;
39			drive-push-pull;
40			bias-disable;
41		};
42	};
43
44	/omit-if-no-ref/
45	sdmmc2_b4_pins_a: sdmmc2-b4-0 {
46		pins {
47			pinmux = <STM32_PINMUX('B', 14, AF10)>, /* SDMMC2_D0 */
48				 <STM32_PINMUX('B', 15, AF10)>, /* SDMMC2_D1 */
49				 <STM32_PINMUX('B', 3, AF10)>, /* SDMMC2_D2 */
50				 <STM32_PINMUX('B', 4, AF10)>, /* SDMMC2_D3 */
51				 <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
52			slew-rate = <1>;
53			drive-push-pull;
54			bias-pull-up;
55		};
56	};
57
58	/omit-if-no-ref/
59	sdmmc2_clk_pins_a: sdmmc2-clk-0 {
60		pins {
61			pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC2_CK */
62			slew-rate = <1>;
63			drive-push-pull;
64			bias-pull-up;
65		};
66	};
67
68	/omit-if-no-ref/
69	uart4_pins_a: uart4-0 {
70		pins1 {
71			pinmux = <STM32_PINMUX('D', 6, AF8)>; /* UART4_TX */
72			bias-disable;
73			drive-push-pull;
74			slew-rate = <0>;
75		};
76		pins2 {
77			pinmux = <STM32_PINMUX('D', 8, AF8)>; /* UART4_RX */
78			bias-disable;
79		};
80	};
81
82	/omit-if-no-ref/
83	usart1_pins_a: usart1-0 {
84		pins1 {
85			pinmux = <STM32_PINMUX('C', 0, AF7)>, /* USART1_TX */
86				 <STM32_PINMUX('C', 2, AF7)>; /* USART1_RTS */
87			bias-disable;
88			drive-push-pull;
89			slew-rate = <0>;
90		};
91		pins2 {
92			pinmux = <STM32_PINMUX('B', 0, AF4)>, /* USART1_RX */
93				 <STM32_PINMUX('A', 7, AF7)>; /* USART1_CTS_NSS */
94			bias-pull-up;
95		};
96	};
97
98	/omit-if-no-ref/
99	uart8_pins_a: uart8-0 {
100		pins1 {
101			pinmux = <STM32_PINMUX('E', 1, AF8)>; /* UART8_TX */
102			bias-disable;
103			drive-push-pull;
104			slew-rate = <0>;
105		};
106		pins2 {
107			pinmux = <STM32_PINMUX('F', 9, AF8)>; /* UART8_RX */
108			bias-pull-up;
109		};
110	};
111};
112