1f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * Copyright (C) STMicroelectronics 2023 - All Rights Reserved 4f126890aSEmmanuel Vadot * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 5f126890aSEmmanuel Vadot */ 6f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/stm32-pinfunc.h> 7f126890aSEmmanuel Vadot 8f126890aSEmmanuel Vadot&pinctrl { 9*0e8011faSEmmanuel Vadot eth2_rgmii_pins_a: eth2-rgmii-0 { 10*0e8011faSEmmanuel Vadot pins1 { 11*0e8011faSEmmanuel Vadot pinmux = <STM32_PINMUX('C', 7, AF10)>, /* ETH_RGMII_TXD0 */ 12*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 8, AF10)>, /* ETH_RGMII_TXD1 */ 13*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 9, AF10)>, /* ETH_RGMII_TXD2 */ 14*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 10, AF10)>, /* ETH_RGMII_TXD3 */ 15*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 4, AF10)>; /* ETH_RGMII_TX_CTL */ 16*0e8011faSEmmanuel Vadot bias-disable; 17*0e8011faSEmmanuel Vadot drive-push-pull; 18*0e8011faSEmmanuel Vadot slew-rate = <3>; 19*0e8011faSEmmanuel Vadot }; 20*0e8011faSEmmanuel Vadot pins2 { 21*0e8011faSEmmanuel Vadot pinmux = <STM32_PINMUX('F', 8, AF10)>, /* ETH_RGMII_CLK125 */ 22*0e8011faSEmmanuel Vadot <STM32_PINMUX('F', 7, AF10)>, /* ETH_RGMII_GTX_CLK */ 23*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 6, AF10)>; /* ETH_MDC */ 24*0e8011faSEmmanuel Vadot bias-disable; 25*0e8011faSEmmanuel Vadot drive-push-pull; 26*0e8011faSEmmanuel Vadot slew-rate = <3>; 27*0e8011faSEmmanuel Vadot }; 28*0e8011faSEmmanuel Vadot pins3 { 29*0e8011faSEmmanuel Vadot pinmux = <STM32_PINMUX('C', 5, AF10)>; /* ETH_MDIO */ 30*0e8011faSEmmanuel Vadot bias-disable; 31*0e8011faSEmmanuel Vadot drive-push-pull; 32*0e8011faSEmmanuel Vadot slew-rate = <0>; 33*0e8011faSEmmanuel Vadot }; 34*0e8011faSEmmanuel Vadot pins4 { 35*0e8011faSEmmanuel Vadot pinmux = <STM32_PINMUX('G', 0, AF10)>, /* ETH_RGMII_RXD0 */ 36*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 12, AF10)>, /* ETH_RGMII_RXD1 */ 37*0e8011faSEmmanuel Vadot <STM32_PINMUX('F', 9, AF10)>, /* ETH_RGMII_RXD2 */ 38*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 11, AF10)>, /* ETH_RGMII_RXD3 */ 39*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 3, AF10)>; /* ETH_RGMII_RX_CTL */ 40*0e8011faSEmmanuel Vadot bias-disable; 41*0e8011faSEmmanuel Vadot }; 42*0e8011faSEmmanuel Vadot pins5 { 43*0e8011faSEmmanuel Vadot pinmux = <STM32_PINMUX('F', 6, AF10)>; /* ETH_RGMII_RX_CLK */ 44*0e8011faSEmmanuel Vadot bias-disable; 45*0e8011faSEmmanuel Vadot }; 46*0e8011faSEmmanuel Vadot }; 47*0e8011faSEmmanuel Vadot 48*0e8011faSEmmanuel Vadot eth2_rgmii_sleep_pins_a: eth2-rgmii-sleep-0 { 49*0e8011faSEmmanuel Vadot pins { 50*0e8011faSEmmanuel Vadot pinmux = <STM32_PINMUX('C', 7, ANALOG)>, /* ETH_RGMII_TXD0 */ 51*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 8, ANALOG)>, /* ETH_RGMII_TXD1 */ 52*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 9, ANALOG)>, /* ETH_RGMII_TXD2 */ 53*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 10, ANALOG)>, /* ETH_RGMII_TXD3 */ 54*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 4, ANALOG)>, /* ETH_RGMII_TX_CTL */ 55*0e8011faSEmmanuel Vadot <STM32_PINMUX('F', 8, ANALOG)>, /* ETH_RGMII_CLK125 */ 56*0e8011faSEmmanuel Vadot <STM32_PINMUX('F', 7, ANALOG)>, /* ETH_RGMII_GTX_CLK */ 57*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 6, ANALOG)>, /* ETH_MDC */ 58*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 5, ANALOG)>, /* ETH_MDIO */ 59*0e8011faSEmmanuel Vadot <STM32_PINMUX('G', 0, ANALOG)>, /* ETH_RGMII_RXD0 */ 60*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 12, ANALOG)>, /* ETH_RGMII_RXD1 */ 61*0e8011faSEmmanuel Vadot <STM32_PINMUX('F', 9, ANALOG)>, /* ETH_RGMII_RXD2 */ 62*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 11, ANALOG)>, /* ETH_RGMII_RXD3 */ 63*0e8011faSEmmanuel Vadot <STM32_PINMUX('C', 3, ANALOG)>, /* ETH_RGMII_RX_CTL */ 64*0e8011faSEmmanuel Vadot <STM32_PINMUX('F', 6, ANALOG)>; /* ETH_RGMII_RX_CLK */ 65*0e8011faSEmmanuel Vadot }; 66*0e8011faSEmmanuel Vadot }; 67*0e8011faSEmmanuel Vadot 687d0873ebSEmmanuel Vadot i2c2_pins_a: i2c2-0 { 697d0873ebSEmmanuel Vadot pins { 707d0873ebSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 5, AF9)>, /* I2C2_SCL */ 717d0873ebSEmmanuel Vadot <STM32_PINMUX('B', 4, AF9)>; /* I2C2_SDA */ 727d0873ebSEmmanuel Vadot bias-disable; 737d0873ebSEmmanuel Vadot drive-open-drain; 747d0873ebSEmmanuel Vadot slew-rate = <0>; 757d0873ebSEmmanuel Vadot }; 767d0873ebSEmmanuel Vadot }; 777d0873ebSEmmanuel Vadot 787d0873ebSEmmanuel Vadot i2c2_sleep_pins_a: i2c2-sleep-0 { 797d0873ebSEmmanuel Vadot pins { 807d0873ebSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 5, ANALOG)>, /* I2C2_SCL */ 817d0873ebSEmmanuel Vadot <STM32_PINMUX('B', 4, ANALOG)>; /* I2C2_SDA */ 827d0873ebSEmmanuel Vadot }; 837d0873ebSEmmanuel Vadot }; 847d0873ebSEmmanuel Vadot 8584943d6fSEmmanuel Vadot sdmmc1_b4_pins_a: sdmmc1-b4-0 { 8684943d6fSEmmanuel Vadot pins1 { 8784943d6fSEmmanuel Vadot pinmux = <STM32_PINMUX('E', 4, AF10)>, /* SDMMC1_D0 */ 8884943d6fSEmmanuel Vadot <STM32_PINMUX('E', 5, AF10)>, /* SDMMC1_D1 */ 8984943d6fSEmmanuel Vadot <STM32_PINMUX('E', 0, AF10)>, /* SDMMC1_D2 */ 9084943d6fSEmmanuel Vadot <STM32_PINMUX('E', 1, AF10)>, /* SDMMC1_D3 */ 9184943d6fSEmmanuel Vadot <STM32_PINMUX('E', 2, AF10)>; /* SDMMC1_CMD */ 9284943d6fSEmmanuel Vadot slew-rate = <2>; 9384943d6fSEmmanuel Vadot drive-push-pull; 9484943d6fSEmmanuel Vadot bias-disable; 9584943d6fSEmmanuel Vadot }; 9684943d6fSEmmanuel Vadot pins2 { 9784943d6fSEmmanuel Vadot pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC1_CK */ 9884943d6fSEmmanuel Vadot slew-rate = <3>; 9984943d6fSEmmanuel Vadot drive-push-pull; 10084943d6fSEmmanuel Vadot bias-disable; 10184943d6fSEmmanuel Vadot }; 10284943d6fSEmmanuel Vadot }; 10384943d6fSEmmanuel Vadot 10484943d6fSEmmanuel Vadot sdmmc1_b4_od_pins_a: sdmmc1-b4-od-0 { 10584943d6fSEmmanuel Vadot pins1 { 10684943d6fSEmmanuel Vadot pinmux = <STM32_PINMUX('E', 4, AF10)>, /* SDMMC1_D0 */ 10784943d6fSEmmanuel Vadot <STM32_PINMUX('E', 5, AF10)>, /* SDMMC1_D1 */ 10884943d6fSEmmanuel Vadot <STM32_PINMUX('E', 0, AF10)>, /* SDMMC1_D2 */ 10984943d6fSEmmanuel Vadot <STM32_PINMUX('E', 1, AF10)>; /* SDMMC1_D3 */ 11084943d6fSEmmanuel Vadot slew-rate = <2>; 11184943d6fSEmmanuel Vadot drive-push-pull; 11284943d6fSEmmanuel Vadot bias-disable; 11384943d6fSEmmanuel Vadot }; 11484943d6fSEmmanuel Vadot pins2 { 11584943d6fSEmmanuel Vadot pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC1_CK */ 11684943d6fSEmmanuel Vadot slew-rate = <3>; 11784943d6fSEmmanuel Vadot drive-push-pull; 11884943d6fSEmmanuel Vadot bias-disable; 11984943d6fSEmmanuel Vadot }; 12084943d6fSEmmanuel Vadot pins3 { 12184943d6fSEmmanuel Vadot pinmux = <STM32_PINMUX('E', 2, AF10)>; /* SDMMC1_CMD */ 12284943d6fSEmmanuel Vadot slew-rate = <2>; 12384943d6fSEmmanuel Vadot drive-open-drain; 12484943d6fSEmmanuel Vadot bias-disable; 12584943d6fSEmmanuel Vadot }; 12684943d6fSEmmanuel Vadot }; 12784943d6fSEmmanuel Vadot 12884943d6fSEmmanuel Vadot sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 { 12984943d6fSEmmanuel Vadot pins { 13084943d6fSEmmanuel Vadot pinmux = <STM32_PINMUX('E', 4, ANALOG)>, /* SDMMC1_D0 */ 13184943d6fSEmmanuel Vadot <STM32_PINMUX('E', 5, ANALOG)>, /* SDMMC1_D1 */ 13284943d6fSEmmanuel Vadot <STM32_PINMUX('E', 0, ANALOG)>, /* SDMMC1_D2 */ 13384943d6fSEmmanuel Vadot <STM32_PINMUX('E', 1, ANALOG)>, /* SDMMC1_D3 */ 13484943d6fSEmmanuel Vadot <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC1_CK */ 13584943d6fSEmmanuel Vadot <STM32_PINMUX('E', 2, ANALOG)>; /* SDMMC1_CMD */ 13684943d6fSEmmanuel Vadot }; 13784943d6fSEmmanuel Vadot }; 13884943d6fSEmmanuel Vadot 1397d0873ebSEmmanuel Vadot spi3_pins_a: spi3-0 { 1407d0873ebSEmmanuel Vadot pins1 { 1417d0873ebSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 7, AF1)>, /* SPI3_SCK */ 1427d0873ebSEmmanuel Vadot <STM32_PINMUX('B', 8, AF1)>; /* SPI3_MOSI */ 1437d0873ebSEmmanuel Vadot drive-push-pull; 1447d0873ebSEmmanuel Vadot bias-disable; 1457d0873ebSEmmanuel Vadot slew-rate = <1>; 1467d0873ebSEmmanuel Vadot }; 1477d0873ebSEmmanuel Vadot pins2 { 1487d0873ebSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 10, AF1)>; /* SPI3_MISO */ 1497d0873ebSEmmanuel Vadot bias-disable; 1507d0873ebSEmmanuel Vadot }; 1517d0873ebSEmmanuel Vadot }; 1527d0873ebSEmmanuel Vadot 1537d0873ebSEmmanuel Vadot spi3_sleep_pins_a: spi3-sleep-0 { 1547d0873ebSEmmanuel Vadot pins1 { 1557d0873ebSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 7, ANALOG)>, /* SPI3_SCK */ 1567d0873ebSEmmanuel Vadot <STM32_PINMUX('B', 8, ANALOG)>, /* SPI3_MOSI */ 1577d0873ebSEmmanuel Vadot <STM32_PINMUX('B', 10, ANALOG)>; /* SPI3_MISO */ 1587d0873ebSEmmanuel Vadot }; 1597d0873ebSEmmanuel Vadot }; 1607d0873ebSEmmanuel Vadot 161f126890aSEmmanuel Vadot usart2_pins_a: usart2-0 { 162f126890aSEmmanuel Vadot pins1 { 163f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('A', 4, AF6)>; /* USART2_TX */ 164f126890aSEmmanuel Vadot bias-disable; 165f126890aSEmmanuel Vadot drive-push-pull; 166f126890aSEmmanuel Vadot slew-rate = <0>; 167f126890aSEmmanuel Vadot }; 168f126890aSEmmanuel Vadot pins2 { 169f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('A', 8, AF8)>; /* USART2_RX */ 170f126890aSEmmanuel Vadot bias-disable; 171f126890aSEmmanuel Vadot }; 172f126890aSEmmanuel Vadot }; 173f126890aSEmmanuel Vadot 174f126890aSEmmanuel Vadot usart2_idle_pins_a: usart2-idle-0 { 175f126890aSEmmanuel Vadot pins1 { 176f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('A', 4, ANALOG)>; /* USART2_TX */ 177f126890aSEmmanuel Vadot }; 178f126890aSEmmanuel Vadot pins2 { 179f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('A', 8, AF8)>; /* USART2_RX */ 180f126890aSEmmanuel Vadot bias-disable; 181f126890aSEmmanuel Vadot }; 182f126890aSEmmanuel Vadot }; 183f126890aSEmmanuel Vadot 184f126890aSEmmanuel Vadot usart2_sleep_pins_a: usart2-sleep-0 { 185f126890aSEmmanuel Vadot pins { 186f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('A', 4, ANALOG)>, /* USART2_TX */ 187f126890aSEmmanuel Vadot <STM32_PINMUX('A', 8, ANALOG)>; /* USART2_RX */ 188f126890aSEmmanuel Vadot }; 189f126890aSEmmanuel Vadot }; 190*0e8011faSEmmanuel Vadot 191*0e8011faSEmmanuel Vadot usart6_pins_a: usart6-0 { 192*0e8011faSEmmanuel Vadot pins1 { 193*0e8011faSEmmanuel Vadot pinmux = <STM32_PINMUX('F', 13, AF3)>, /* USART6_TX */ 194*0e8011faSEmmanuel Vadot <STM32_PINMUX('G', 5, AF3)>; /* USART6_RTS */ 195*0e8011faSEmmanuel Vadot bias-disable; 196*0e8011faSEmmanuel Vadot drive-push-pull; 197*0e8011faSEmmanuel Vadot slew-rate = <0>; 198*0e8011faSEmmanuel Vadot }; 199*0e8011faSEmmanuel Vadot pins2 { 200*0e8011faSEmmanuel Vadot pinmux = <STM32_PINMUX('F', 14, AF3)>, /* USART6_RX */ 201*0e8011faSEmmanuel Vadot <STM32_PINMUX('F', 15, AF3)>; /* USART6_CTS_NSS */ 202*0e8011faSEmmanuel Vadot bias-pull-up; 203*0e8011faSEmmanuel Vadot }; 204*0e8011faSEmmanuel Vadot }; 205*0e8011faSEmmanuel Vadot 206*0e8011faSEmmanuel Vadot usart6_idle_pins_a: usart6-idle-0 { 207*0e8011faSEmmanuel Vadot pins1 { 208*0e8011faSEmmanuel Vadot pinmux = <STM32_PINMUX('F', 13, ANALOG)>, /* USART6_TX */ 209*0e8011faSEmmanuel Vadot <STM32_PINMUX('F', 15, ANALOG)>; /* USART6_CTS_NSS */ 210*0e8011faSEmmanuel Vadot }; 211*0e8011faSEmmanuel Vadot pins2 { 212*0e8011faSEmmanuel Vadot pinmux = <STM32_PINMUX('G', 5, AF3)>; /* USART6_RTS */ 213*0e8011faSEmmanuel Vadot bias-disable; 214*0e8011faSEmmanuel Vadot drive-push-pull; 215*0e8011faSEmmanuel Vadot slew-rate = <0>; 216*0e8011faSEmmanuel Vadot }; 217*0e8011faSEmmanuel Vadot pins3 { 218*0e8011faSEmmanuel Vadot pinmux = <STM32_PINMUX('F', 14, AF3)>; /* USART6_RX */ 219*0e8011faSEmmanuel Vadot bias-pull-up; 220*0e8011faSEmmanuel Vadot }; 221*0e8011faSEmmanuel Vadot }; 222*0e8011faSEmmanuel Vadot 223*0e8011faSEmmanuel Vadot usart6_sleep_pins_a: usart6-sleep-0 { 224*0e8011faSEmmanuel Vadot pins { 225*0e8011faSEmmanuel Vadot pinmux = <STM32_PINMUX('F', 13, ANALOG)>, /* USART6_TX */ 226*0e8011faSEmmanuel Vadot <STM32_PINMUX('G', 5, ANALOG)>, /* USART6_RTS */ 227*0e8011faSEmmanuel Vadot <STM32_PINMUX('F', 15, ANALOG)>, /* USART6_CTS_NSS */ 228*0e8011faSEmmanuel Vadot <STM32_PINMUX('F', 14, ANALOG)>; /* USART6_RX */ 229*0e8011faSEmmanuel Vadot }; 230*0e8011faSEmmanuel Vadot }; 231f126890aSEmmanuel Vadot}; 2327d0873ebSEmmanuel Vadot 2337d0873ebSEmmanuel Vadot&pinctrl_z { 2347d0873ebSEmmanuel Vadot i2c8_pins_a: i2c8-0 { 2357d0873ebSEmmanuel Vadot pins { 2367d0873ebSEmmanuel Vadot pinmux = <STM32_PINMUX('Z', 4, AF8)>, /* I2C8_SCL */ 2377d0873ebSEmmanuel Vadot <STM32_PINMUX('Z', 3, AF8)>; /* I2C8_SDA */ 2387d0873ebSEmmanuel Vadot bias-disable; 2397d0873ebSEmmanuel Vadot drive-open-drain; 2407d0873ebSEmmanuel Vadot slew-rate = <0>; 2417d0873ebSEmmanuel Vadot }; 2427d0873ebSEmmanuel Vadot }; 2437d0873ebSEmmanuel Vadot 2447d0873ebSEmmanuel Vadot i2c8_sleep_pins_a: i2c8-sleep-0 { 2457d0873ebSEmmanuel Vadot pins { 2467d0873ebSEmmanuel Vadot pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C8_SCL */ 2477d0873ebSEmmanuel Vadot <STM32_PINMUX('Z', 3, ANALOG)>; /* I2C8_SDA */ 2487d0873ebSEmmanuel Vadot }; 2497d0873ebSEmmanuel Vadot }; 2507d0873ebSEmmanuel Vadot}; 2517d0873ebSEmmanuel Vadot 2527d0873ebSEmmanuel Vadot&pinctrl_z { 2537d0873ebSEmmanuel Vadot spi8_pins_a: spi8-0 { 2547d0873ebSEmmanuel Vadot pins1 { 2557d0873ebSEmmanuel Vadot pinmux = <STM32_PINMUX('Z', 2, AF3)>, /* SPI8_SCK */ 2567d0873ebSEmmanuel Vadot <STM32_PINMUX('Z', 0, AF3)>; /* SPI8_MOSI */ 2577d0873ebSEmmanuel Vadot drive-push-pull; 2587d0873ebSEmmanuel Vadot bias-disable; 2597d0873ebSEmmanuel Vadot slew-rate = <1>; 2607d0873ebSEmmanuel Vadot }; 2617d0873ebSEmmanuel Vadot pins2 { 2627d0873ebSEmmanuel Vadot pinmux = <STM32_PINMUX('Z', 1, AF3)>; /* SPI8_MISO */ 2637d0873ebSEmmanuel Vadot bias-disable; 2647d0873ebSEmmanuel Vadot }; 2657d0873ebSEmmanuel Vadot }; 2667d0873ebSEmmanuel Vadot 2677d0873ebSEmmanuel Vadot spi8_sleep_pins_a: spi8-sleep-0 { 2687d0873ebSEmmanuel Vadot pins1 { 2697d0873ebSEmmanuel Vadot pinmux = <STM32_PINMUX('Z', 2, ANALOG)>, /* SPI8_SCK */ 2707d0873ebSEmmanuel Vadot <STM32_PINMUX('Z', 0, ANALOG)>, /* SPI8_MOSI */ 2717d0873ebSEmmanuel Vadot <STM32_PINMUX('Z', 1, ANALOG)>; /* SPI8_MISO */ 2727d0873ebSEmmanuel Vadot }; 2737d0873ebSEmmanuel Vadot }; 2747d0873ebSEmmanuel Vadot}; 275