1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2/* 3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved 4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics. 5 */ 6#include <dt-bindings/pinctrl/stm32-pinfunc.h> 7 8/ { 9 soc { 10 pinctrl: pin-controller@50002000 { 11 #address-cells = <1>; 12 #size-cells = <1>; 13 compatible = "st,stm32mp157-pinctrl"; 14 ranges = <0 0x50002000 0xa400>; 15 interrupt-parent = <&exti>; 16 st,syscfg = <&exti 0x60 0xff>; 17 pins-are-numbered; 18 19 gpioa: gpio@50002000 { 20 gpio-controller; 21 #gpio-cells = <2>; 22 interrupt-controller; 23 #interrupt-cells = <2>; 24 reg = <0x0 0x400>; 25 clocks = <&rcc GPIOA>; 26 st,bank-name = "GPIOA"; 27 status = "disabled"; 28 }; 29 30 gpiob: gpio@50003000 { 31 gpio-controller; 32 #gpio-cells = <2>; 33 interrupt-controller; 34 #interrupt-cells = <2>; 35 reg = <0x1000 0x400>; 36 clocks = <&rcc GPIOB>; 37 st,bank-name = "GPIOB"; 38 status = "disabled"; 39 }; 40 41 gpioc: gpio@50004000 { 42 gpio-controller; 43 #gpio-cells = <2>; 44 interrupt-controller; 45 #interrupt-cells = <2>; 46 reg = <0x2000 0x400>; 47 clocks = <&rcc GPIOC>; 48 st,bank-name = "GPIOC"; 49 status = "disabled"; 50 }; 51 52 gpiod: gpio@50005000 { 53 gpio-controller; 54 #gpio-cells = <2>; 55 interrupt-controller; 56 #interrupt-cells = <2>; 57 reg = <0x3000 0x400>; 58 clocks = <&rcc GPIOD>; 59 st,bank-name = "GPIOD"; 60 status = "disabled"; 61 }; 62 63 gpioe: gpio@50006000 { 64 gpio-controller; 65 #gpio-cells = <2>; 66 interrupt-controller; 67 #interrupt-cells = <2>; 68 reg = <0x4000 0x400>; 69 clocks = <&rcc GPIOE>; 70 st,bank-name = "GPIOE"; 71 status = "disabled"; 72 }; 73 74 gpiof: gpio@50007000 { 75 gpio-controller; 76 #gpio-cells = <2>; 77 interrupt-controller; 78 #interrupt-cells = <2>; 79 reg = <0x5000 0x400>; 80 clocks = <&rcc GPIOF>; 81 st,bank-name = "GPIOF"; 82 status = "disabled"; 83 }; 84 85 gpiog: gpio@50008000 { 86 gpio-controller; 87 #gpio-cells = <2>; 88 interrupt-controller; 89 #interrupt-cells = <2>; 90 reg = <0x6000 0x400>; 91 clocks = <&rcc GPIOG>; 92 st,bank-name = "GPIOG"; 93 status = "disabled"; 94 }; 95 96 gpioh: gpio@50009000 { 97 gpio-controller; 98 #gpio-cells = <2>; 99 interrupt-controller; 100 #interrupt-cells = <2>; 101 reg = <0x7000 0x400>; 102 clocks = <&rcc GPIOH>; 103 st,bank-name = "GPIOH"; 104 status = "disabled"; 105 }; 106 107 gpioi: gpio@5000a000 { 108 gpio-controller; 109 #gpio-cells = <2>; 110 interrupt-controller; 111 #interrupt-cells = <2>; 112 reg = <0x8000 0x400>; 113 clocks = <&rcc GPIOI>; 114 st,bank-name = "GPIOI"; 115 status = "disabled"; 116 }; 117 118 gpioj: gpio@5000b000 { 119 gpio-controller; 120 #gpio-cells = <2>; 121 interrupt-controller; 122 #interrupt-cells = <2>; 123 reg = <0x9000 0x400>; 124 clocks = <&rcc GPIOJ>; 125 st,bank-name = "GPIOJ"; 126 status = "disabled"; 127 }; 128 129 gpiok: gpio@5000c000 { 130 gpio-controller; 131 #gpio-cells = <2>; 132 interrupt-controller; 133 #interrupt-cells = <2>; 134 reg = <0xa000 0x400>; 135 clocks = <&rcc GPIOK>; 136 st,bank-name = "GPIOK"; 137 status = "disabled"; 138 }; 139 140 cec_pins_a: cec-0 { 141 pins { 142 pinmux = <STM32_PINMUX('A', 15, AF4)>; 143 bias-disable; 144 drive-open-drain; 145 slew-rate = <0>; 146 }; 147 }; 148 149 cec_pins_sleep_a: cec-sleep-0 { 150 pins { 151 pinmux = <STM32_PINMUX('A', 15, ANALOG)>; /* HDMI_CEC */ 152 }; 153 }; 154 155 cec_pins_b: cec-1 { 156 pins { 157 pinmux = <STM32_PINMUX('B', 6, AF5)>; 158 bias-disable; 159 drive-open-drain; 160 slew-rate = <0>; 161 }; 162 }; 163 164 cec_pins_sleep_b: cec-sleep-1 { 165 pins { 166 pinmux = <STM32_PINMUX('B', 6, ANALOG)>; /* HDMI_CEC */ 167 }; 168 }; 169 170 dcmi_pins_a: dcmi-0 { 171 pins { 172 pinmux = <STM32_PINMUX('H', 8, AF13)>,/* DCMI_HSYNC */ 173 <STM32_PINMUX('B', 7, AF13)>,/* DCMI_VSYNC */ 174 <STM32_PINMUX('A', 6, AF13)>,/* DCMI_PIXCLK */ 175 <STM32_PINMUX('H', 9, AF13)>,/* DCMI_D0 */ 176 <STM32_PINMUX('H', 10, AF13)>,/* DCMI_D1 */ 177 <STM32_PINMUX('H', 11, AF13)>,/* DCMI_D2 */ 178 <STM32_PINMUX('H', 12, AF13)>,/* DCMI_D3 */ 179 <STM32_PINMUX('H', 14, AF13)>,/* DCMI_D4 */ 180 <STM32_PINMUX('I', 4, AF13)>,/* DCMI_D5 */ 181 <STM32_PINMUX('B', 8, AF13)>,/* DCMI_D6 */ 182 <STM32_PINMUX('E', 6, AF13)>,/* DCMI_D7 */ 183 <STM32_PINMUX('I', 1, AF13)>,/* DCMI_D8 */ 184 <STM32_PINMUX('H', 7, AF13)>,/* DCMI_D9 */ 185 <STM32_PINMUX('I', 3, AF13)>,/* DCMI_D10 */ 186 <STM32_PINMUX('H', 15, AF13)>;/* DCMI_D11 */ 187 bias-disable; 188 }; 189 }; 190 191 dcmi_sleep_pins_a: dcmi-sleep-0 { 192 pins { 193 pinmux = <STM32_PINMUX('H', 8, ANALOG)>,/* DCMI_HSYNC */ 194 <STM32_PINMUX('B', 7, ANALOG)>,/* DCMI_VSYNC */ 195 <STM32_PINMUX('A', 6, ANALOG)>,/* DCMI_PIXCLK */ 196 <STM32_PINMUX('H', 9, ANALOG)>,/* DCMI_D0 */ 197 <STM32_PINMUX('H', 10, ANALOG)>,/* DCMI_D1 */ 198 <STM32_PINMUX('H', 11, ANALOG)>,/* DCMI_D2 */ 199 <STM32_PINMUX('H', 12, ANALOG)>,/* DCMI_D3 */ 200 <STM32_PINMUX('H', 14, ANALOG)>,/* DCMI_D4 */ 201 <STM32_PINMUX('I', 4, ANALOG)>,/* DCMI_D5 */ 202 <STM32_PINMUX('B', 8, ANALOG)>,/* DCMI_D6 */ 203 <STM32_PINMUX('E', 6, ANALOG)>,/* DCMI_D7 */ 204 <STM32_PINMUX('I', 1, ANALOG)>,/* DCMI_D8 */ 205 <STM32_PINMUX('H', 7, ANALOG)>,/* DCMI_D9 */ 206 <STM32_PINMUX('I', 3, ANALOG)>,/* DCMI_D10 */ 207 <STM32_PINMUX('H', 15, ANALOG)>;/* DCMI_D11 */ 208 }; 209 }; 210 211 ethernet0_rgmii_pins_a: rgmii-0 { 212 pins1 { 213 pinmux = <STM32_PINMUX('G', 5, AF11)>, /* ETH_RGMII_CLK125 */ 214 <STM32_PINMUX('G', 4, AF11)>, /* ETH_RGMII_GTX_CLK */ 215 <STM32_PINMUX('G', 13, AF11)>, /* ETH_RGMII_TXD0 */ 216 <STM32_PINMUX('G', 14, AF11)>, /* ETH_RGMII_TXD1 */ 217 <STM32_PINMUX('C', 2, AF11)>, /* ETH_RGMII_TXD2 */ 218 <STM32_PINMUX('E', 2, AF11)>, /* ETH_RGMII_TXD3 */ 219 <STM32_PINMUX('B', 11, AF11)>, /* ETH_RGMII_TX_CTL */ 220 <STM32_PINMUX('A', 2, AF11)>, /* ETH_MDIO */ 221 <STM32_PINMUX('C', 1, AF11)>; /* ETH_MDC */ 222 bias-disable; 223 drive-push-pull; 224 slew-rate = <3>; 225 }; 226 pins2 { 227 pinmux = <STM32_PINMUX('C', 4, AF11)>, /* ETH_RGMII_RXD0 */ 228 <STM32_PINMUX('C', 5, AF11)>, /* ETH_RGMII_RXD1 */ 229 <STM32_PINMUX('B', 0, AF11)>, /* ETH_RGMII_RXD2 */ 230 <STM32_PINMUX('B', 1, AF11)>, /* ETH_RGMII_RXD3 */ 231 <STM32_PINMUX('A', 1, AF11)>, /* ETH_RGMII_RX_CLK */ 232 <STM32_PINMUX('A', 7, AF11)>; /* ETH_RGMII_RX_CTL */ 233 bias-disable; 234 }; 235 }; 236 237 ethernet0_rgmii_pins_sleep_a: rgmii-sleep-0 { 238 pins1 { 239 pinmux = <STM32_PINMUX('G', 5, ANALOG)>, /* ETH_RGMII_CLK125 */ 240 <STM32_PINMUX('G', 4, ANALOG)>, /* ETH_RGMII_GTX_CLK */ 241 <STM32_PINMUX('G', 13, ANALOG)>, /* ETH_RGMII_TXD0 */ 242 <STM32_PINMUX('G', 14, ANALOG)>, /* ETH_RGMII_TXD1 */ 243 <STM32_PINMUX('C', 2, ANALOG)>, /* ETH_RGMII_TXD2 */ 244 <STM32_PINMUX('E', 2, ANALOG)>, /* ETH_RGMII_TXD3 */ 245 <STM32_PINMUX('B', 11, ANALOG)>, /* ETH_RGMII_TX_CTL */ 246 <STM32_PINMUX('A', 2, ANALOG)>, /* ETH_MDIO */ 247 <STM32_PINMUX('C', 1, ANALOG)>, /* ETH_MDC */ 248 <STM32_PINMUX('C', 4, ANALOG)>, /* ETH_RGMII_RXD0 */ 249 <STM32_PINMUX('C', 5, ANALOG)>, /* ETH_RGMII_RXD1 */ 250 <STM32_PINMUX('B', 0, ANALOG)>, /* ETH_RGMII_RXD2 */ 251 <STM32_PINMUX('B', 1, ANALOG)>, /* ETH_RGMII_RXD3 */ 252 <STM32_PINMUX('A', 1, ANALOG)>, /* ETH_RGMII_RX_CLK */ 253 <STM32_PINMUX('A', 7, ANALOG)>; /* ETH_RGMII_RX_CTL */ 254 }; 255 }; 256 257 fmc_pins_a: fmc-0 { 258 pins1 { 259 pinmux = <STM32_PINMUX('D', 4, AF12)>, /* FMC_NOE */ 260 <STM32_PINMUX('D', 5, AF12)>, /* FMC_NWE */ 261 <STM32_PINMUX('D', 11, AF12)>, /* FMC_A16_FMC_CLE */ 262 <STM32_PINMUX('D', 12, AF12)>, /* FMC_A17_FMC_ALE */ 263 <STM32_PINMUX('D', 14, AF12)>, /* FMC_D0 */ 264 <STM32_PINMUX('D', 15, AF12)>, /* FMC_D1 */ 265 <STM32_PINMUX('D', 0, AF12)>, /* FMC_D2 */ 266 <STM32_PINMUX('D', 1, AF12)>, /* FMC_D3 */ 267 <STM32_PINMUX('E', 7, AF12)>, /* FMC_D4 */ 268 <STM32_PINMUX('E', 8, AF12)>, /* FMC_D5 */ 269 <STM32_PINMUX('E', 9, AF12)>, /* FMC_D6 */ 270 <STM32_PINMUX('E', 10, AF12)>, /* FMC_D7 */ 271 <STM32_PINMUX('G', 9, AF12)>; /* FMC_NE2_FMC_NCE */ 272 bias-disable; 273 drive-push-pull; 274 slew-rate = <1>; 275 }; 276 pins2 { 277 pinmux = <STM32_PINMUX('D', 6, AF12)>; /* FMC_NWAIT */ 278 bias-pull-up; 279 }; 280 }; 281 282 fmc_sleep_pins_a: fmc-sleep-0 { 283 pins { 284 pinmux = <STM32_PINMUX('D', 4, ANALOG)>, /* FMC_NOE */ 285 <STM32_PINMUX('D', 5, ANALOG)>, /* FMC_NWE */ 286 <STM32_PINMUX('D', 11, ANALOG)>, /* FMC_A16_FMC_CLE */ 287 <STM32_PINMUX('D', 12, ANALOG)>, /* FMC_A17_FMC_ALE */ 288 <STM32_PINMUX('D', 14, ANALOG)>, /* FMC_D0 */ 289 <STM32_PINMUX('D', 15, ANALOG)>, /* FMC_D1 */ 290 <STM32_PINMUX('D', 0, ANALOG)>, /* FMC_D2 */ 291 <STM32_PINMUX('D', 1, ANALOG)>, /* FMC_D3 */ 292 <STM32_PINMUX('E', 7, ANALOG)>, /* FMC_D4 */ 293 <STM32_PINMUX('E', 8, ANALOG)>, /* FMC_D5 */ 294 <STM32_PINMUX('E', 9, ANALOG)>, /* FMC_D6 */ 295 <STM32_PINMUX('E', 10, ANALOG)>, /* FMC_D7 */ 296 <STM32_PINMUX('D', 6, ANALOG)>, /* FMC_NWAIT */ 297 <STM32_PINMUX('G', 9, ANALOG)>; /* FMC_NE2_FMC_NCE */ 298 }; 299 }; 300 301 i2c1_pins_a: i2c1-0 { 302 pins { 303 pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */ 304 <STM32_PINMUX('F', 15, AF5)>; /* I2C1_SDA */ 305 bias-disable; 306 drive-open-drain; 307 slew-rate = <0>; 308 }; 309 }; 310 311 i2c1_pins_sleep_a: i2c1-1 { 312 pins { 313 pinmux = <STM32_PINMUX('D', 12, ANALOG)>, /* I2C1_SCL */ 314 <STM32_PINMUX('F', 15, ANALOG)>; /* I2C1_SDA */ 315 }; 316 }; 317 318 i2c1_pins_b: i2c1-2 { 319 pins { 320 pinmux = <STM32_PINMUX('F', 14, AF5)>, /* I2C1_SCL */ 321 <STM32_PINMUX('F', 15, AF5)>; /* I2C1_SDA */ 322 bias-disable; 323 drive-open-drain; 324 slew-rate = <0>; 325 }; 326 }; 327 328 i2c1_pins_sleep_b: i2c1-3 { 329 pins { 330 pinmux = <STM32_PINMUX('F', 14, ANALOG)>, /* I2C1_SCL */ 331 <STM32_PINMUX('F', 15, ANALOG)>; /* I2C1_SDA */ 332 }; 333 }; 334 335 i2c2_pins_a: i2c2-0 { 336 pins { 337 pinmux = <STM32_PINMUX('H', 4, AF4)>, /* I2C2_SCL */ 338 <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */ 339 bias-disable; 340 drive-open-drain; 341 slew-rate = <0>; 342 }; 343 }; 344 345 i2c2_pins_sleep_a: i2c2-1 { 346 pins { 347 pinmux = <STM32_PINMUX('H', 4, ANALOG)>, /* I2C2_SCL */ 348 <STM32_PINMUX('H', 5, ANALOG)>; /* I2C2_SDA */ 349 }; 350 }; 351 352 i2c2_pins_b1: i2c2-2 { 353 pins { 354 pinmux = <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */ 355 bias-disable; 356 drive-open-drain; 357 slew-rate = <0>; 358 }; 359 }; 360 361 i2c2_pins_sleep_b1: i2c2-3 { 362 pins { 363 pinmux = <STM32_PINMUX('H', 5, ANALOG)>; /* I2C2_SDA */ 364 }; 365 }; 366 367 i2c5_pins_a: i2c5-0 { 368 pins { 369 pinmux = <STM32_PINMUX('A', 11, AF4)>, /* I2C5_SCL */ 370 <STM32_PINMUX('A', 12, AF4)>; /* I2C5_SDA */ 371 bias-disable; 372 drive-open-drain; 373 slew-rate = <0>; 374 }; 375 }; 376 377 i2c5_pins_sleep_a: i2c5-1 { 378 pins { 379 pinmux = <STM32_PINMUX('A', 11, ANALOG)>, /* I2C5_SCL */ 380 <STM32_PINMUX('A', 12, ANALOG)>; /* I2C5_SDA */ 381 382 }; 383 }; 384 385 i2s2_pins_a: i2s2-0 { 386 pins { 387 pinmux = <STM32_PINMUX('I', 3, AF5)>, /* I2S2_SDO */ 388 <STM32_PINMUX('B', 9, AF5)>, /* I2S2_WS */ 389 <STM32_PINMUX('A', 9, AF5)>; /* I2S2_CK */ 390 slew-rate = <1>; 391 drive-push-pull; 392 bias-disable; 393 }; 394 }; 395 396 i2s2_pins_sleep_a: i2s2-1 { 397 pins { 398 pinmux = <STM32_PINMUX('I', 3, ANALOG)>, /* I2S2_SDO */ 399 <STM32_PINMUX('B', 9, ANALOG)>, /* I2S2_WS */ 400 <STM32_PINMUX('A', 9, ANALOG)>; /* I2S2_CK */ 401 }; 402 }; 403 404 ltdc_pins_a: ltdc-a-0 { 405 pins { 406 pinmux = <STM32_PINMUX('G', 7, AF14)>, /* LCD_CLK */ 407 <STM32_PINMUX('I', 10, AF14)>, /* LCD_HSYNC */ 408 <STM32_PINMUX('I', 9, AF14)>, /* LCD_VSYNC */ 409 <STM32_PINMUX('F', 10, AF14)>, /* LCD_DE */ 410 <STM32_PINMUX('H', 2, AF14)>, /* LCD_R0 */ 411 <STM32_PINMUX('H', 3, AF14)>, /* LCD_R1 */ 412 <STM32_PINMUX('H', 8, AF14)>, /* LCD_R2 */ 413 <STM32_PINMUX('H', 9, AF14)>, /* LCD_R3 */ 414 <STM32_PINMUX('H', 10, AF14)>, /* LCD_R4 */ 415 <STM32_PINMUX('C', 0, AF14)>, /* LCD_R5 */ 416 <STM32_PINMUX('H', 12, AF14)>, /* LCD_R6 */ 417 <STM32_PINMUX('E', 15, AF14)>, /* LCD_R7 */ 418 <STM32_PINMUX('E', 5, AF14)>, /* LCD_G0 */ 419 <STM32_PINMUX('E', 6, AF14)>, /* LCD_G1 */ 420 <STM32_PINMUX('H', 13, AF14)>, /* LCD_G2 */ 421 <STM32_PINMUX('H', 14, AF14)>, /* LCD_G3 */ 422 <STM32_PINMUX('H', 15, AF14)>, /* LCD_G4 */ 423 <STM32_PINMUX('I', 0, AF14)>, /* LCD_G5 */ 424 <STM32_PINMUX('I', 1, AF14)>, /* LCD_G6 */ 425 <STM32_PINMUX('I', 2, AF14)>, /* LCD_G7 */ 426 <STM32_PINMUX('D', 9, AF14)>, /* LCD_B0 */ 427 <STM32_PINMUX('G', 12, AF14)>, /* LCD_B1 */ 428 <STM32_PINMUX('G', 10, AF14)>, /* LCD_B2 */ 429 <STM32_PINMUX('D', 10, AF14)>, /* LCD_B3 */ 430 <STM32_PINMUX('I', 4, AF14)>, /* LCD_B4 */ 431 <STM32_PINMUX('A', 3, AF14)>, /* LCD_B5 */ 432 <STM32_PINMUX('B', 8, AF14)>, /* LCD_B6 */ 433 <STM32_PINMUX('D', 8, AF14)>; /* LCD_B7 */ 434 bias-disable; 435 drive-push-pull; 436 slew-rate = <1>; 437 }; 438 }; 439 440 ltdc_pins_sleep_a: ltdc-a-1 { 441 pins { 442 pinmux = <STM32_PINMUX('G', 7, ANALOG)>, /* LCD_CLK */ 443 <STM32_PINMUX('I', 10, ANALOG)>, /* LCD_HSYNC */ 444 <STM32_PINMUX('I', 9, ANALOG)>, /* LCD_VSYNC */ 445 <STM32_PINMUX('F', 10, ANALOG)>, /* LCD_DE */ 446 <STM32_PINMUX('H', 2, ANALOG)>, /* LCD_R0 */ 447 <STM32_PINMUX('H', 3, ANALOG)>, /* LCD_R1 */ 448 <STM32_PINMUX('H', 8, ANALOG)>, /* LCD_R2 */ 449 <STM32_PINMUX('H', 9, ANALOG)>, /* LCD_R3 */ 450 <STM32_PINMUX('H', 10, ANALOG)>, /* LCD_R4 */ 451 <STM32_PINMUX('C', 0, ANALOG)>, /* LCD_R5 */ 452 <STM32_PINMUX('H', 12, ANALOG)>, /* LCD_R6 */ 453 <STM32_PINMUX('E', 15, ANALOG)>, /* LCD_R7 */ 454 <STM32_PINMUX('E', 5, ANALOG)>, /* LCD_G0 */ 455 <STM32_PINMUX('E', 6, ANALOG)>, /* LCD_G1 */ 456 <STM32_PINMUX('H', 13, ANALOG)>, /* LCD_G2 */ 457 <STM32_PINMUX('H', 14, ANALOG)>, /* LCD_G3 */ 458 <STM32_PINMUX('H', 15, ANALOG)>, /* LCD_G4 */ 459 <STM32_PINMUX('I', 0, ANALOG)>, /* LCD_G5 */ 460 <STM32_PINMUX('I', 1, ANALOG)>, /* LCD_G6 */ 461 <STM32_PINMUX('I', 2, ANALOG)>, /* LCD_G7 */ 462 <STM32_PINMUX('D', 9, ANALOG)>, /* LCD_B0 */ 463 <STM32_PINMUX('G', 12, ANALOG)>, /* LCD_B1 */ 464 <STM32_PINMUX('G', 10, ANALOG)>, /* LCD_B2 */ 465 <STM32_PINMUX('D', 10, ANALOG)>, /* LCD_B3 */ 466 <STM32_PINMUX('I', 4, ANALOG)>, /* LCD_B4 */ 467 <STM32_PINMUX('A', 3, ANALOG)>, /* LCD_B5 */ 468 <STM32_PINMUX('B', 8, ANALOG)>, /* LCD_B6 */ 469 <STM32_PINMUX('D', 8, ANALOG)>; /* LCD_B7 */ 470 }; 471 }; 472 473 ltdc_pins_b: ltdc-b-0 { 474 pins { 475 pinmux = <STM32_PINMUX('I', 14, AF14)>, /* LCD_CLK */ 476 <STM32_PINMUX('I', 12, AF14)>, /* LCD_HSYNC */ 477 <STM32_PINMUX('I', 13, AF14)>, /* LCD_VSYNC */ 478 <STM32_PINMUX('K', 7, AF14)>, /* LCD_DE */ 479 <STM32_PINMUX('I', 15, AF14)>, /* LCD_R0 */ 480 <STM32_PINMUX('J', 0, AF14)>, /* LCD_R1 */ 481 <STM32_PINMUX('J', 1, AF14)>, /* LCD_R2 */ 482 <STM32_PINMUX('J', 2, AF14)>, /* LCD_R3 */ 483 <STM32_PINMUX('J', 3, AF14)>, /* LCD_R4 */ 484 <STM32_PINMUX('J', 4, AF14)>, /* LCD_R5 */ 485 <STM32_PINMUX('J', 5, AF14)>, /* LCD_R6 */ 486 <STM32_PINMUX('J', 6, AF14)>, /* LCD_R7 */ 487 <STM32_PINMUX('J', 7, AF14)>, /* LCD_G0 */ 488 <STM32_PINMUX('J', 8, AF14)>, /* LCD_G1 */ 489 <STM32_PINMUX('J', 9, AF14)>, /* LCD_G2 */ 490 <STM32_PINMUX('J', 10, AF14)>, /* LCD_G3 */ 491 <STM32_PINMUX('J', 11, AF14)>, /* LCD_G4 */ 492 <STM32_PINMUX('K', 0, AF14)>, /* LCD_G5 */ 493 <STM32_PINMUX('K', 1, AF14)>, /* LCD_G6 */ 494 <STM32_PINMUX('K', 2, AF14)>, /* LCD_G7 */ 495 <STM32_PINMUX('J', 12, AF14)>, /* LCD_B0 */ 496 <STM32_PINMUX('J', 13, AF14)>, /* LCD_B1 */ 497 <STM32_PINMUX('J', 14, AF14)>, /* LCD_B2 */ 498 <STM32_PINMUX('J', 15, AF14)>, /* LCD_B3 */ 499 <STM32_PINMUX('K', 3, AF14)>, /* LCD_B4 */ 500 <STM32_PINMUX('K', 4, AF14)>, /* LCD_B5 */ 501 <STM32_PINMUX('K', 5, AF14)>, /* LCD_B6 */ 502 <STM32_PINMUX('K', 6, AF14)>; /* LCD_B7 */ 503 bias-disable; 504 drive-push-pull; 505 slew-rate = <1>; 506 }; 507 }; 508 509 ltdc_pins_sleep_b: ltdc-b-1 { 510 pins { 511 pinmux = <STM32_PINMUX('I', 14, ANALOG)>, /* LCD_CLK */ 512 <STM32_PINMUX('I', 12, ANALOG)>, /* LCD_HSYNC */ 513 <STM32_PINMUX('I', 13, ANALOG)>, /* LCD_VSYNC */ 514 <STM32_PINMUX('K', 7, ANALOG)>, /* LCD_DE */ 515 <STM32_PINMUX('I', 15, ANALOG)>, /* LCD_R0 */ 516 <STM32_PINMUX('J', 0, ANALOG)>, /* LCD_R1 */ 517 <STM32_PINMUX('J', 1, ANALOG)>, /* LCD_R2 */ 518 <STM32_PINMUX('J', 2, ANALOG)>, /* LCD_R3 */ 519 <STM32_PINMUX('J', 3, ANALOG)>, /* LCD_R4 */ 520 <STM32_PINMUX('J', 4, ANALOG)>, /* LCD_R5 */ 521 <STM32_PINMUX('J', 5, ANALOG)>, /* LCD_R6 */ 522 <STM32_PINMUX('J', 6, ANALOG)>, /* LCD_R7 */ 523 <STM32_PINMUX('J', 7, ANALOG)>, /* LCD_G0 */ 524 <STM32_PINMUX('J', 8, ANALOG)>, /* LCD_G1 */ 525 <STM32_PINMUX('J', 9, ANALOG)>, /* LCD_G2 */ 526 <STM32_PINMUX('J', 10, ANALOG)>, /* LCD_G3 */ 527 <STM32_PINMUX('J', 11, ANALOG)>, /* LCD_G4 */ 528 <STM32_PINMUX('K', 0, ANALOG)>, /* LCD_G5 */ 529 <STM32_PINMUX('K', 1, ANALOG)>, /* LCD_G6 */ 530 <STM32_PINMUX('K', 2, ANALOG)>, /* LCD_G7 */ 531 <STM32_PINMUX('J', 12, ANALOG)>, /* LCD_B0 */ 532 <STM32_PINMUX('J', 13, ANALOG)>, /* LCD_B1 */ 533 <STM32_PINMUX('J', 14, ANALOG)>, /* LCD_B2 */ 534 <STM32_PINMUX('J', 15, ANALOG)>, /* LCD_B3 */ 535 <STM32_PINMUX('K', 3, ANALOG)>, /* LCD_B4 */ 536 <STM32_PINMUX('K', 4, ANALOG)>, /* LCD_B5 */ 537 <STM32_PINMUX('K', 5, ANALOG)>, /* LCD_B6 */ 538 <STM32_PINMUX('K', 6, ANALOG)>; /* LCD_B7 */ 539 }; 540 }; 541 542 m_can1_pins_a: m-can1-0 { 543 pins1 { 544 pinmux = <STM32_PINMUX('H', 13, AF9)>; /* CAN1_TX */ 545 slew-rate = <1>; 546 drive-push-pull; 547 bias-disable; 548 }; 549 pins2 { 550 pinmux = <STM32_PINMUX('I', 9, AF9)>; /* CAN1_RX */ 551 bias-disable; 552 }; 553 }; 554 555 m_can1_sleep_pins_a: m_can1-sleep-0 { 556 pins { 557 pinmux = <STM32_PINMUX('H', 13, ANALOG)>, /* CAN1_TX */ 558 <STM32_PINMUX('I', 9, ANALOG)>; /* CAN1_RX */ 559 }; 560 }; 561 562 pwm2_pins_a: pwm2-0 { 563 pins { 564 pinmux = <STM32_PINMUX('A', 3, AF1)>; /* TIM2_CH4 */ 565 bias-pull-down; 566 drive-push-pull; 567 slew-rate = <0>; 568 }; 569 }; 570 571 pwm8_pins_a: pwm8-0 { 572 pins { 573 pinmux = <STM32_PINMUX('I', 2, AF3)>; /* TIM8_CH4 */ 574 bias-pull-down; 575 drive-push-pull; 576 slew-rate = <0>; 577 }; 578 }; 579 580 pwm12_pins_a: pwm12-0 { 581 pins { 582 pinmux = <STM32_PINMUX('H', 6, AF2)>; /* TIM12_CH1 */ 583 bias-pull-down; 584 drive-push-pull; 585 slew-rate = <0>; 586 }; 587 }; 588 589 qspi_clk_pins_a: qspi-clk-0 { 590 pins { 591 pinmux = <STM32_PINMUX('F', 10, AF9)>; /* QSPI_CLK */ 592 bias-disable; 593 drive-push-pull; 594 slew-rate = <3>; 595 }; 596 }; 597 598 qspi_clk_sleep_pins_a: qspi-clk-sleep-0 { 599 pins { 600 pinmux = <STM32_PINMUX('F', 10, ANALOG)>; /* QSPI_CLK */ 601 }; 602 }; 603 604 qspi_bk1_pins_a: qspi-bk1-0 { 605 pins1 { 606 pinmux = <STM32_PINMUX('F', 8, AF10)>, /* QSPI_BK1_IO0 */ 607 <STM32_PINMUX('F', 9, AF10)>, /* QSPI_BK1_IO1 */ 608 <STM32_PINMUX('F', 7, AF9)>, /* QSPI_BK1_IO2 */ 609 <STM32_PINMUX('F', 6, AF9)>; /* QSPI_BK1_IO3 */ 610 bias-disable; 611 drive-push-pull; 612 slew-rate = <1>; 613 }; 614 pins2 { 615 pinmux = <STM32_PINMUX('B', 6, AF10)>; /* QSPI_BK1_NCS */ 616 bias-pull-up; 617 drive-push-pull; 618 slew-rate = <1>; 619 }; 620 }; 621 622 qspi_bk1_sleep_pins_a: qspi-bk1-sleep-0 { 623 pins { 624 pinmux = <STM32_PINMUX('F', 8, ANALOG)>, /* QSPI_BK1_IO0 */ 625 <STM32_PINMUX('F', 9, ANALOG)>, /* QSPI_BK1_IO1 */ 626 <STM32_PINMUX('F', 7, ANALOG)>, /* QSPI_BK1_IO2 */ 627 <STM32_PINMUX('F', 6, ANALOG)>, /* QSPI_BK1_IO3 */ 628 <STM32_PINMUX('B', 6, ANALOG)>; /* QSPI_BK1_NCS */ 629 }; 630 }; 631 632 qspi_bk2_pins_a: qspi-bk2-0 { 633 pins1 { 634 pinmux = <STM32_PINMUX('H', 2, AF9)>, /* QSPI_BK2_IO0 */ 635 <STM32_PINMUX('H', 3, AF9)>, /* QSPI_BK2_IO1 */ 636 <STM32_PINMUX('G', 10, AF11)>, /* QSPI_BK2_IO2 */ 637 <STM32_PINMUX('G', 7, AF11)>; /* QSPI_BK2_IO3 */ 638 bias-disable; 639 drive-push-pull; 640 slew-rate = <1>; 641 }; 642 pins2 { 643 pinmux = <STM32_PINMUX('C', 0, AF10)>; /* QSPI_BK2_NCS */ 644 bias-pull-up; 645 drive-push-pull; 646 slew-rate = <1>; 647 }; 648 }; 649 650 qspi_bk2_sleep_pins_a: qspi-bk2-sleep-0 { 651 pins { 652 pinmux = <STM32_PINMUX('H', 2, ANALOG)>, /* QSPI_BK2_IO0 */ 653 <STM32_PINMUX('H', 3, ANALOG)>, /* QSPI_BK2_IO1 */ 654 <STM32_PINMUX('G', 10, ANALOG)>, /* QSPI_BK2_IO2 */ 655 <STM32_PINMUX('G', 7, ANALOG)>, /* QSPI_BK2_IO3 */ 656 <STM32_PINMUX('C', 0, ANALOG)>; /* QSPI_BK2_NCS */ 657 }; 658 }; 659 660 sai2a_pins_a: sai2a-0 { 661 pins { 662 pinmux = <STM32_PINMUX('I', 5, AF10)>, /* SAI2_SCK_A */ 663 <STM32_PINMUX('I', 6, AF10)>, /* SAI2_SD_A */ 664 <STM32_PINMUX('I', 7, AF10)>, /* SAI2_FS_A */ 665 <STM32_PINMUX('E', 0, AF10)>; /* SAI2_MCLK_A */ 666 slew-rate = <0>; 667 drive-push-pull; 668 bias-disable; 669 }; 670 }; 671 672 sai2a_sleep_pins_a: sai2a-1 { 673 pins { 674 pinmux = <STM32_PINMUX('I', 5, ANALOG)>, /* SAI2_SCK_A */ 675 <STM32_PINMUX('I', 6, ANALOG)>, /* SAI2_SD_A */ 676 <STM32_PINMUX('I', 7, ANALOG)>, /* SAI2_FS_A */ 677 <STM32_PINMUX('E', 0, ANALOG)>; /* SAI2_MCLK_A */ 678 }; 679 }; 680 681 sai2b_pins_a: sai2b-0 { 682 pins1 { 683 pinmux = <STM32_PINMUX('E', 12, AF10)>, /* SAI2_SCK_B */ 684 <STM32_PINMUX('E', 13, AF10)>, /* SAI2_FS_B */ 685 <STM32_PINMUX('E', 14, AF10)>; /* SAI2_MCLK_B */ 686 slew-rate = <0>; 687 drive-push-pull; 688 bias-disable; 689 }; 690 pins2 { 691 pinmux = <STM32_PINMUX('F', 11, AF10)>; /* SAI2_SD_B */ 692 bias-disable; 693 }; 694 }; 695 696 sai2b_sleep_pins_a: sai2b-1 { 697 pins { 698 pinmux = <STM32_PINMUX('F', 11, ANALOG)>, /* SAI2_SD_B */ 699 <STM32_PINMUX('E', 12, ANALOG)>, /* SAI2_SCK_B */ 700 <STM32_PINMUX('E', 13, ANALOG)>, /* SAI2_FS_B */ 701 <STM32_PINMUX('E', 14, ANALOG)>; /* SAI2_MCLK_B */ 702 }; 703 }; 704 705 sai2b_pins_b: sai2b-2 { 706 pins { 707 pinmux = <STM32_PINMUX('F', 11, AF10)>; /* SAI2_SD_B */ 708 bias-disable; 709 }; 710 }; 711 712 sai2b_sleep_pins_b: sai2b-3 { 713 pins { 714 pinmux = <STM32_PINMUX('F', 11, ANALOG)>; /* SAI2_SD_B */ 715 }; 716 }; 717 718 sai4a_pins_a: sai4a-0 { 719 pins { 720 pinmux = <STM32_PINMUX('B', 5, AF10)>; /* SAI4_SD_A */ 721 slew-rate = <0>; 722 drive-push-pull; 723 bias-disable; 724 }; 725 }; 726 727 sai4a_sleep_pins_a: sai4a-1 { 728 pins { 729 pinmux = <STM32_PINMUX('B', 5, ANALOG)>; /* SAI4_SD_A */ 730 }; 731 }; 732 733 sdmmc1_b4_pins_a: sdmmc1-b4-0 { 734 pins { 735 pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */ 736 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */ 737 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */ 738 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */ 739 <STM32_PINMUX('C', 12, AF12)>, /* SDMMC1_CK */ 740 <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */ 741 slew-rate = <3>; 742 drive-push-pull; 743 bias-disable; 744 }; 745 }; 746 747 sdmmc1_b4_od_pins_a: sdmmc1-b4-od-0 { 748 pins1 { 749 pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */ 750 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */ 751 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */ 752 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */ 753 <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */ 754 slew-rate = <3>; 755 drive-push-pull; 756 bias-disable; 757 }; 758 pins2{ 759 pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */ 760 slew-rate = <3>; 761 drive-open-drain; 762 bias-disable; 763 }; 764 }; 765 766 sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 { 767 pins { 768 pinmux = <STM32_PINMUX('C', 8, ANALOG)>, /* SDMMC1_D0 */ 769 <STM32_PINMUX('C', 9, ANALOG)>, /* SDMMC1_D1 */ 770 <STM32_PINMUX('C', 10, ANALOG)>, /* SDMMC1_D2 */ 771 <STM32_PINMUX('C', 11, ANALOG)>, /* SDMMC1_D3 */ 772 <STM32_PINMUX('C', 12, ANALOG)>, /* SDMMC1_CK */ 773 <STM32_PINMUX('D', 2, ANALOG)>; /* SDMMC1_CMD */ 774 }; 775 }; 776 777 sdmmc1_dir_pins_a: sdmmc1-dir-0 { 778 pins1 { 779 pinmux = <STM32_PINMUX('F', 2, AF11)>, /* SDMMC1_D0DIR */ 780 <STM32_PINMUX('C', 7, AF8)>, /* SDMMC1_D123DIR */ 781 <STM32_PINMUX('B', 9, AF11)>; /* SDMMC1_CDIR */ 782 slew-rate = <3>; 783 drive-push-pull; 784 bias-pull-up; 785 }; 786 pins2{ 787 pinmux = <STM32_PINMUX('E', 4, AF8)>; /* SDMMC1_CKIN */ 788 bias-pull-up; 789 }; 790 }; 791 792 sdmmc1_dir_sleep_pins_a: sdmmc1-dir-sleep-0 { 793 pins { 794 pinmux = <STM32_PINMUX('F', 2, ANALOG)>, /* SDMMC1_D0DIR */ 795 <STM32_PINMUX('C', 7, ANALOG)>, /* SDMMC1_D123DIR */ 796 <STM32_PINMUX('B', 9, ANALOG)>, /* SDMMC1_CDIR */ 797 <STM32_PINMUX('E', 4, ANALOG)>; /* SDMMC1_CKIN */ 798 }; 799 }; 800 801 spdifrx_pins_a: spdifrx-0 { 802 pins { 803 pinmux = <STM32_PINMUX('G', 12, AF8)>; /* SPDIF_IN1 */ 804 bias-disable; 805 }; 806 }; 807 808 spdifrx_sleep_pins_a: spdifrx-1 { 809 pins { 810 pinmux = <STM32_PINMUX('G', 12, ANALOG)>; /* SPDIF_IN1 */ 811 }; 812 }; 813 814 uart4_pins_a: uart4-0 { 815 pins1 { 816 pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */ 817 bias-disable; 818 drive-push-pull; 819 slew-rate = <0>; 820 }; 821 pins2 { 822 pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */ 823 bias-disable; 824 }; 825 }; 826 827 uart4_pins_b: uart4-1 { 828 pins1 { 829 pinmux = <STM32_PINMUX('D', 1, AF8)>; /* UART4_TX */ 830 bias-disable; 831 drive-push-pull; 832 slew-rate = <0>; 833 }; 834 pins2 { 835 pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */ 836 bias-disable; 837 }; 838 }; 839 840 uart7_pins_a: uart7-0 { 841 pins1 { 842 pinmux = <STM32_PINMUX('E', 8, AF7)>; /* UART4_TX */ 843 bias-disable; 844 drive-push-pull; 845 slew-rate = <0>; 846 }; 847 pins2 { 848 pinmux = <STM32_PINMUX('E', 7, AF7)>, /* UART4_RX */ 849 <STM32_PINMUX('E', 10, AF7)>, /* UART4_CTS */ 850 <STM32_PINMUX('E', 9, AF7)>; /* UART4_RTS */ 851 bias-disable; 852 }; 853 }; 854 }; 855 856 pinctrl_z: pin-controller-z@54004000 { 857 #address-cells = <1>; 858 #size-cells = <1>; 859 compatible = "st,stm32mp157-z-pinctrl"; 860 ranges = <0 0x54004000 0x400>; 861 pins-are-numbered; 862 interrupt-parent = <&exti>; 863 st,syscfg = <&exti 0x60 0xff>; 864 865 gpioz: gpio@54004000 { 866 gpio-controller; 867 #gpio-cells = <2>; 868 interrupt-controller; 869 #interrupt-cells = <2>; 870 reg = <0 0x400>; 871 clocks = <&rcc GPIOZ>; 872 st,bank-name = "GPIOZ"; 873 st,bank-ioport = <11>; 874 status = "disabled"; 875 }; 876 877 i2c2_pins_b2: i2c2-0 { 878 pins { 879 pinmux = <STM32_PINMUX('Z', 0, AF3)>; /* I2C2_SCL */ 880 bias-disable; 881 drive-open-drain; 882 slew-rate = <0>; 883 }; 884 }; 885 886 i2c2_pins_sleep_b2: i2c2-1 { 887 pins { 888 pinmux = <STM32_PINMUX('Z', 0, ANALOG)>; /* I2C2_SCL */ 889 }; 890 }; 891 892 i2c4_pins_a: i2c4-0 { 893 pins { 894 pinmux = <STM32_PINMUX('Z', 4, AF6)>, /* I2C4_SCL */ 895 <STM32_PINMUX('Z', 5, AF6)>; /* I2C4_SDA */ 896 bias-disable; 897 drive-open-drain; 898 slew-rate = <0>; 899 }; 900 }; 901 902 i2c4_pins_sleep_a: i2c4-1 { 903 pins { 904 pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C4_SCL */ 905 <STM32_PINMUX('Z', 5, ANALOG)>; /* I2C4_SDA */ 906 }; 907 }; 908 909 spi1_pins_a: spi1-0 { 910 pins1 { 911 pinmux = <STM32_PINMUX('Z', 0, AF5)>, /* SPI1_SCK */ 912 <STM32_PINMUX('Z', 2, AF5)>; /* SPI1_MOSI */ 913 bias-disable; 914 drive-push-pull; 915 slew-rate = <1>; 916 }; 917 918 pins2 { 919 pinmux = <STM32_PINMUX('Z', 1, AF5)>; /* SPI1_MISO */ 920 bias-disable; 921 }; 922 }; 923 }; 924 }; 925}; 926