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 eth2_rgmii_pins_a: eth2-rgmii-0 { 10 pins1 { 11 pinmux = <STM32_PINMUX('C', 7, AF10)>, /* ETH_RGMII_TXD0 */ 12 <STM32_PINMUX('C', 8, AF10)>, /* ETH_RGMII_TXD1 */ 13 <STM32_PINMUX('C', 9, AF10)>, /* ETH_RGMII_TXD2 */ 14 <STM32_PINMUX('C', 10, AF10)>, /* ETH_RGMII_TXD3 */ 15 <STM32_PINMUX('C', 4, AF10)>; /* ETH_RGMII_TX_CTL */ 16 bias-disable; 17 drive-push-pull; 18 slew-rate = <3>; 19 }; 20 pins2 { 21 pinmux = <STM32_PINMUX('F', 8, AF10)>, /* ETH_RGMII_CLK125 */ 22 <STM32_PINMUX('F', 7, AF10)>, /* ETH_RGMII_GTX_CLK */ 23 <STM32_PINMUX('C', 6, AF10)>; /* ETH_MDC */ 24 bias-disable; 25 drive-push-pull; 26 slew-rate = <3>; 27 }; 28 pins3 { 29 pinmux = <STM32_PINMUX('C', 5, AF10)>; /* ETH_MDIO */ 30 bias-disable; 31 drive-push-pull; 32 slew-rate = <0>; 33 }; 34 pins4 { 35 pinmux = <STM32_PINMUX('G', 0, AF10)>, /* ETH_RGMII_RXD0 */ 36 <STM32_PINMUX('C', 12, AF10)>, /* ETH_RGMII_RXD1 */ 37 <STM32_PINMUX('F', 9, AF10)>, /* ETH_RGMII_RXD2 */ 38 <STM32_PINMUX('C', 11, AF10)>, /* ETH_RGMII_RXD3 */ 39 <STM32_PINMUX('C', 3, AF10)>; /* ETH_RGMII_RX_CTL */ 40 bias-disable; 41 }; 42 pins5 { 43 pinmux = <STM32_PINMUX('F', 6, AF10)>; /* ETH_RGMII_RX_CLK */ 44 bias-disable; 45 }; 46 }; 47 48 eth2_rgmii_sleep_pins_a: eth2-rgmii-sleep-0 { 49 pins { 50 pinmux = <STM32_PINMUX('C', 7, ANALOG)>, /* ETH_RGMII_TXD0 */ 51 <STM32_PINMUX('C', 8, ANALOG)>, /* ETH_RGMII_TXD1 */ 52 <STM32_PINMUX('C', 9, ANALOG)>, /* ETH_RGMII_TXD2 */ 53 <STM32_PINMUX('C', 10, ANALOG)>, /* ETH_RGMII_TXD3 */ 54 <STM32_PINMUX('C', 4, ANALOG)>, /* ETH_RGMII_TX_CTL */ 55 <STM32_PINMUX('F', 8, ANALOG)>, /* ETH_RGMII_CLK125 */ 56 <STM32_PINMUX('F', 7, ANALOG)>, /* ETH_RGMII_GTX_CLK */ 57 <STM32_PINMUX('C', 6, ANALOG)>, /* ETH_MDC */ 58 <STM32_PINMUX('C', 5, ANALOG)>, /* ETH_MDIO */ 59 <STM32_PINMUX('G', 0, ANALOG)>, /* ETH_RGMII_RXD0 */ 60 <STM32_PINMUX('C', 12, ANALOG)>, /* ETH_RGMII_RXD1 */ 61 <STM32_PINMUX('F', 9, ANALOG)>, /* ETH_RGMII_RXD2 */ 62 <STM32_PINMUX('C', 11, ANALOG)>, /* ETH_RGMII_RXD3 */ 63 <STM32_PINMUX('C', 3, ANALOG)>, /* ETH_RGMII_RX_CTL */ 64 <STM32_PINMUX('F', 6, ANALOG)>; /* ETH_RGMII_RX_CLK */ 65 }; 66 }; 67 68 i2c2_pins_a: i2c2-0 { 69 pins { 70 pinmux = <STM32_PINMUX('B', 5, AF9)>, /* I2C2_SCL */ 71 <STM32_PINMUX('B', 4, AF9)>; /* I2C2_SDA */ 72 bias-disable; 73 drive-open-drain; 74 slew-rate = <0>; 75 }; 76 }; 77 78 i2c2_sleep_pins_a: i2c2-sleep-0 { 79 pins { 80 pinmux = <STM32_PINMUX('B', 5, ANALOG)>, /* I2C2_SCL */ 81 <STM32_PINMUX('B', 4, ANALOG)>; /* I2C2_SDA */ 82 }; 83 }; 84 85 ospi_port1_clk_pins_a: ospi-port1-clk-0 { 86 pins { 87 pinmux = <STM32_PINMUX('D', 0, AF10)>; /* OSPI1_CLK */ 88 bias-disable; 89 drive-push-pull; 90 slew-rate = <2>; 91 }; 92 }; 93 94 ospi_port1_clk_sleep_pins_a: ospi-port1-clk-sleep-0 { 95 pins { 96 pinmux = <STM32_PINMUX('D', 0, ANALOG)>; /* OSPI1_CLK */ 97 }; 98 }; 99 100 ospi_port1_cs0_pins_a: ospi-port1-cs0-0 { 101 pins { 102 pinmux = <STM32_PINMUX('D', 3, AF10)>; /* OSPI_NCS0 */ 103 bias-pull-up; 104 drive-push-pull; 105 slew-rate = <0>; 106 }; 107 }; 108 109 ospi_port1_cs0_sleep_pins_a: ospi-port1-cs0-sleep-0 { 110 pins { 111 pinmux = <STM32_PINMUX('D', 3, ANALOG)>; /* OSPI_NCS0 */ 112 }; 113 }; 114 115 ospi_port1_io03_pins_a: ospi-port1-io03-0 { 116 pins { 117 pinmux = <STM32_PINMUX('D', 4, AF10)>, /* OSPI_IO0 */ 118 <STM32_PINMUX('D', 5, AF10)>, /* OSPI_IO1 */ 119 <STM32_PINMUX('D', 6, AF10)>, /* OSPI_IO2 */ 120 <STM32_PINMUX('D', 7, AF10)>; /* OSPI_IO3 */ 121 bias-disable; 122 drive-push-pull; 123 slew-rate = <0>; 124 }; 125 }; 126 127 ospi_port1_io03_sleep_pins_a: ospi-port1-io03-sleep-0 { 128 pins { 129 pinmux = <STM32_PINMUX('D', 4, ANALOG)>, /* OSPI_IO0 */ 130 <STM32_PINMUX('D', 5, ANALOG)>, /* OSPI_IO1 */ 131 <STM32_PINMUX('D', 6, ANALOG)>, /* OSPI_IO2 */ 132 <STM32_PINMUX('D', 7, ANALOG)>; /* OSPI_IO3 */ 133 }; 134 }; 135 136 sdmmc1_b4_pins_a: sdmmc1-b4-0 { 137 pins1 { 138 pinmux = <STM32_PINMUX('E', 4, AF10)>, /* SDMMC1_D0 */ 139 <STM32_PINMUX('E', 5, AF10)>, /* SDMMC1_D1 */ 140 <STM32_PINMUX('E', 0, AF10)>, /* SDMMC1_D2 */ 141 <STM32_PINMUX('E', 1, AF10)>, /* SDMMC1_D3 */ 142 <STM32_PINMUX('E', 2, AF10)>; /* SDMMC1_CMD */ 143 slew-rate = <2>; 144 drive-push-pull; 145 bias-disable; 146 }; 147 pins2 { 148 pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC1_CK */ 149 slew-rate = <3>; 150 drive-push-pull; 151 bias-disable; 152 }; 153 }; 154 155 sdmmc1_b4_od_pins_a: sdmmc1-b4-od-0 { 156 pins1 { 157 pinmux = <STM32_PINMUX('E', 4, AF10)>, /* SDMMC1_D0 */ 158 <STM32_PINMUX('E', 5, AF10)>, /* SDMMC1_D1 */ 159 <STM32_PINMUX('E', 0, AF10)>, /* SDMMC1_D2 */ 160 <STM32_PINMUX('E', 1, AF10)>; /* SDMMC1_D3 */ 161 slew-rate = <2>; 162 drive-push-pull; 163 bias-disable; 164 }; 165 pins2 { 166 pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC1_CK */ 167 slew-rate = <3>; 168 drive-push-pull; 169 bias-disable; 170 }; 171 pins3 { 172 pinmux = <STM32_PINMUX('E', 2, AF10)>; /* SDMMC1_CMD */ 173 slew-rate = <2>; 174 drive-open-drain; 175 bias-disable; 176 }; 177 }; 178 179 sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 { 180 pins { 181 pinmux = <STM32_PINMUX('E', 4, ANALOG)>, /* SDMMC1_D0 */ 182 <STM32_PINMUX('E', 5, ANALOG)>, /* SDMMC1_D1 */ 183 <STM32_PINMUX('E', 0, ANALOG)>, /* SDMMC1_D2 */ 184 <STM32_PINMUX('E', 1, ANALOG)>, /* SDMMC1_D3 */ 185 <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC1_CK */ 186 <STM32_PINMUX('E', 2, ANALOG)>; /* SDMMC1_CMD */ 187 }; 188 }; 189 190 spi3_pins_a: spi3-0 { 191 pins1 { 192 pinmux = <STM32_PINMUX('B', 7, AF1)>, /* SPI3_SCK */ 193 <STM32_PINMUX('B', 8, AF1)>; /* SPI3_MOSI */ 194 drive-push-pull; 195 bias-disable; 196 slew-rate = <1>; 197 }; 198 pins2 { 199 pinmux = <STM32_PINMUX('B', 10, AF1)>; /* SPI3_MISO */ 200 bias-disable; 201 }; 202 }; 203 204 spi3_sleep_pins_a: spi3-sleep-0 { 205 pins1 { 206 pinmux = <STM32_PINMUX('B', 7, ANALOG)>, /* SPI3_SCK */ 207 <STM32_PINMUX('B', 8, ANALOG)>, /* SPI3_MOSI */ 208 <STM32_PINMUX('B', 10, ANALOG)>; /* SPI3_MISO */ 209 }; 210 }; 211 212 usart2_pins_a: usart2-0 { 213 pins1 { 214 pinmux = <STM32_PINMUX('A', 4, AF6)>; /* USART2_TX */ 215 bias-disable; 216 drive-push-pull; 217 slew-rate = <0>; 218 }; 219 pins2 { 220 pinmux = <STM32_PINMUX('A', 8, AF8)>; /* USART2_RX */ 221 bias-disable; 222 }; 223 }; 224 225 usart2_idle_pins_a: usart2-idle-0 { 226 pins1 { 227 pinmux = <STM32_PINMUX('A', 4, ANALOG)>; /* USART2_TX */ 228 }; 229 pins2 { 230 pinmux = <STM32_PINMUX('A', 8, AF8)>; /* USART2_RX */ 231 bias-disable; 232 }; 233 }; 234 235 usart2_sleep_pins_a: usart2-sleep-0 { 236 pins { 237 pinmux = <STM32_PINMUX('A', 4, ANALOG)>, /* USART2_TX */ 238 <STM32_PINMUX('A', 8, ANALOG)>; /* USART2_RX */ 239 }; 240 }; 241 242 usart6_pins_a: usart6-0 { 243 pins1 { 244 pinmux = <STM32_PINMUX('F', 13, AF3)>, /* USART6_TX */ 245 <STM32_PINMUX('G', 5, AF3)>; /* USART6_RTS */ 246 bias-disable; 247 drive-push-pull; 248 slew-rate = <0>; 249 }; 250 pins2 { 251 pinmux = <STM32_PINMUX('F', 14, AF3)>, /* USART6_RX */ 252 <STM32_PINMUX('F', 15, AF3)>; /* USART6_CTS_NSS */ 253 bias-pull-up; 254 }; 255 }; 256 257 usart6_idle_pins_a: usart6-idle-0 { 258 pins1 { 259 pinmux = <STM32_PINMUX('F', 13, ANALOG)>, /* USART6_TX */ 260 <STM32_PINMUX('F', 15, ANALOG)>; /* USART6_CTS_NSS */ 261 }; 262 pins2 { 263 pinmux = <STM32_PINMUX('G', 5, AF3)>; /* USART6_RTS */ 264 bias-disable; 265 drive-push-pull; 266 slew-rate = <0>; 267 }; 268 pins3 { 269 pinmux = <STM32_PINMUX('F', 14, AF3)>; /* USART6_RX */ 270 bias-pull-up; 271 }; 272 }; 273 274 usart6_sleep_pins_a: usart6-sleep-0 { 275 pins { 276 pinmux = <STM32_PINMUX('F', 13, ANALOG)>, /* USART6_TX */ 277 <STM32_PINMUX('G', 5, ANALOG)>, /* USART6_RTS */ 278 <STM32_PINMUX('F', 15, ANALOG)>, /* USART6_CTS_NSS */ 279 <STM32_PINMUX('F', 14, ANALOG)>; /* USART6_RX */ 280 }; 281 }; 282}; 283 284&pinctrl_z { 285 i2c8_pins_a: i2c8-0 { 286 pins { 287 pinmux = <STM32_PINMUX('Z', 4, AF8)>, /* I2C8_SCL */ 288 <STM32_PINMUX('Z', 3, AF8)>; /* I2C8_SDA */ 289 bias-disable; 290 drive-open-drain; 291 slew-rate = <0>; 292 }; 293 }; 294 295 i2c8_sleep_pins_a: i2c8-sleep-0 { 296 pins { 297 pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C8_SCL */ 298 <STM32_PINMUX('Z', 3, ANALOG)>; /* I2C8_SDA */ 299 }; 300 }; 301}; 302 303&pinctrl_z { 304 spi8_pins_a: spi8-0 { 305 pins1 { 306 pinmux = <STM32_PINMUX('Z', 2, AF3)>, /* SPI8_SCK */ 307 <STM32_PINMUX('Z', 0, AF3)>; /* SPI8_MOSI */ 308 drive-push-pull; 309 bias-disable; 310 slew-rate = <1>; 311 }; 312 pins2 { 313 pinmux = <STM32_PINMUX('Z', 1, AF3)>; /* SPI8_MISO */ 314 bias-disable; 315 }; 316 }; 317 318 spi8_sleep_pins_a: spi8-sleep-0 { 319 pins1 { 320 pinmux = <STM32_PINMUX('Z', 2, ANALOG)>, /* SPI8_SCK */ 321 <STM32_PINMUX('Z', 0, ANALOG)>, /* SPI8_MOSI */ 322 <STM32_PINMUX('Z', 1, ANALOG)>; /* SPI8_MISO */ 323 }; 324 }; 325}; 326