xref: /linux/arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi (revision 58154dbda4345299bff30eb78cbce6bc6dafcf84)
1// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2023 - All Rights Reserved
4 * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
5 */
6#include <dt-bindings/pinctrl/stm32-pinfunc.h>
7
8&pinctrl {
9	i2c2_pins_a: i2c2-0 {
10		pins {
11			pinmux = <STM32_PINMUX('B', 5, AF9)>, /* I2C2_SCL */
12				 <STM32_PINMUX('B', 4, AF9)>; /* I2C2_SDA */
13			bias-disable;
14			drive-open-drain;
15			slew-rate = <0>;
16		};
17	};
18
19	i2c2_sleep_pins_a: i2c2-sleep-0 {
20		pins {
21			pinmux = <STM32_PINMUX('B', 5, ANALOG)>, /* I2C2_SCL */
22				 <STM32_PINMUX('B', 4, ANALOG)>; /* I2C2_SDA */
23		};
24	};
25
26	sdmmc1_b4_pins_a: sdmmc1-b4-0 {
27		pins1 {
28			pinmux = <STM32_PINMUX('E', 4, AF10)>, /* SDMMC1_D0 */
29				 <STM32_PINMUX('E', 5, AF10)>, /* SDMMC1_D1 */
30				 <STM32_PINMUX('E', 0, AF10)>, /* SDMMC1_D2 */
31				 <STM32_PINMUX('E', 1, AF10)>, /* SDMMC1_D3 */
32				 <STM32_PINMUX('E', 2, AF10)>; /* SDMMC1_CMD */
33			slew-rate = <2>;
34			drive-push-pull;
35			bias-disable;
36		};
37		pins2 {
38			pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC1_CK */
39			slew-rate = <3>;
40			drive-push-pull;
41			bias-disable;
42		};
43	};
44
45	sdmmc1_b4_od_pins_a: sdmmc1-b4-od-0 {
46		pins1 {
47			pinmux = <STM32_PINMUX('E', 4, AF10)>, /* SDMMC1_D0 */
48				 <STM32_PINMUX('E', 5, AF10)>, /* SDMMC1_D1 */
49				 <STM32_PINMUX('E', 0, AF10)>, /* SDMMC1_D2 */
50				 <STM32_PINMUX('E', 1, AF10)>; /* SDMMC1_D3 */
51			slew-rate = <2>;
52			drive-push-pull;
53			bias-disable;
54		};
55		pins2 {
56			pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC1_CK */
57			slew-rate = <3>;
58			drive-push-pull;
59			bias-disable;
60		};
61		pins3 {
62			pinmux = <STM32_PINMUX('E', 2, AF10)>; /* SDMMC1_CMD */
63			slew-rate = <2>;
64			drive-open-drain;
65			bias-disable;
66		};
67	};
68
69	sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 {
70		pins {
71			pinmux = <STM32_PINMUX('E', 4, ANALOG)>, /* SDMMC1_D0 */
72				 <STM32_PINMUX('E', 5, ANALOG)>, /* SDMMC1_D1 */
73				 <STM32_PINMUX('E', 0, ANALOG)>, /* SDMMC1_D2 */
74				 <STM32_PINMUX('E', 1, ANALOG)>, /* SDMMC1_D3 */
75				 <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC1_CK */
76				 <STM32_PINMUX('E', 2, ANALOG)>; /* SDMMC1_CMD */
77		};
78	};
79
80	spi3_pins_a: spi3-0 {
81		pins1 {
82			pinmux = <STM32_PINMUX('B', 7, AF1)>, /* SPI3_SCK */
83				 <STM32_PINMUX('B', 8, AF1)>; /* SPI3_MOSI */
84			drive-push-pull;
85			bias-disable;
86			slew-rate = <1>;
87		};
88		pins2 {
89			pinmux = <STM32_PINMUX('B', 10, AF1)>; /* SPI3_MISO */
90			bias-disable;
91		};
92	};
93
94	spi3_sleep_pins_a: spi3-sleep-0 {
95		pins1 {
96			pinmux = <STM32_PINMUX('B', 7, ANALOG)>, /* SPI3_SCK */
97				 <STM32_PINMUX('B', 8, ANALOG)>, /* SPI3_MOSI */
98				 <STM32_PINMUX('B', 10, ANALOG)>; /* SPI3_MISO */
99		};
100	};
101
102	usart2_pins_a: usart2-0 {
103		pins1 {
104			pinmux = <STM32_PINMUX('A', 4, AF6)>; /* USART2_TX */
105			bias-disable;
106			drive-push-pull;
107			slew-rate = <0>;
108		};
109		pins2 {
110			pinmux = <STM32_PINMUX('A', 8, AF8)>; /* USART2_RX */
111			bias-disable;
112		};
113	};
114
115	usart2_idle_pins_a: usart2-idle-0 {
116		pins1 {
117			pinmux = <STM32_PINMUX('A', 4, ANALOG)>; /* USART2_TX */
118		};
119		pins2 {
120			pinmux = <STM32_PINMUX('A', 8, AF8)>; /* USART2_RX */
121			bias-disable;
122		};
123	};
124
125	usart2_sleep_pins_a: usart2-sleep-0 {
126		pins {
127			pinmux = <STM32_PINMUX('A', 4, ANALOG)>, /* USART2_TX */
128				 <STM32_PINMUX('A', 8, ANALOG)>; /* USART2_RX */
129		};
130	};
131};
132
133&pinctrl_z {
134	i2c8_pins_a: i2c8-0 {
135		pins {
136			pinmux = <STM32_PINMUX('Z', 4, AF8)>, /* I2C8_SCL */
137				 <STM32_PINMUX('Z', 3, AF8)>; /* I2C8_SDA */
138			bias-disable;
139			drive-open-drain;
140			slew-rate = <0>;
141		};
142	};
143
144	i2c8_sleep_pins_a: i2c8-sleep-0 {
145		pins {
146			pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C8_SCL */
147				 <STM32_PINMUX('Z', 3, ANALOG)>; /* I2C8_SDA */
148		};
149	};
150};
151
152&pinctrl_z {
153	spi8_pins_a: spi8-0 {
154		pins1 {
155			pinmux = <STM32_PINMUX('Z', 2, AF3)>, /* SPI8_SCK */
156				 <STM32_PINMUX('Z', 0, AF3)>; /* SPI8_MOSI */
157			drive-push-pull;
158			bias-disable;
159			slew-rate = <1>;
160		};
161		pins2 {
162			pinmux = <STM32_PINMUX('Z', 1, AF3)>; /* SPI8_MISO */
163			bias-disable;
164		};
165	};
166
167	spi8_sleep_pins_a: spi8-sleep-0 {
168		pins1 {
169			pinmux = <STM32_PINMUX('Z', 2, ANALOG)>, /* SPI8_SCK */
170				 <STM32_PINMUX('Z', 0, ANALOG)>, /* SPI8_MOSI */
171				 <STM32_PINMUX('Z', 1, ANALOG)>; /* SPI8_MISO */
172		};
173	};
174};
175