// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) /* * Copyright (C) STMicroelectronics 2023 - All Rights Reserved * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. */ #include <dt-bindings/pinctrl/stm32-pinfunc.h> &pinctrl { eth2_rgmii_pins_a: eth2-rgmii-0 { pins1 { pinmux = <STM32_PINMUX('C', 7, AF10)>, /* ETH_RGMII_TXD0 */ <STM32_PINMUX('C', 8, AF10)>, /* ETH_RGMII_TXD1 */ <STM32_PINMUX('C', 9, AF10)>, /* ETH_RGMII_TXD2 */ <STM32_PINMUX('C', 10, AF10)>, /* ETH_RGMII_TXD3 */ <STM32_PINMUX('C', 4, AF10)>; /* ETH_RGMII_TX_CTL */ bias-disable; drive-push-pull; slew-rate = <3>; }; pins2 { pinmux = <STM32_PINMUX('F', 8, AF10)>, /* ETH_RGMII_CLK125 */ <STM32_PINMUX('F', 7, AF10)>, /* ETH_RGMII_GTX_CLK */ <STM32_PINMUX('C', 6, AF10)>; /* ETH_MDC */ bias-disable; drive-push-pull; slew-rate = <3>; }; pins3 { pinmux = <STM32_PINMUX('C', 5, AF10)>; /* ETH_MDIO */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins4 { pinmux = <STM32_PINMUX('G', 0, AF10)>, /* ETH_RGMII_RXD0 */ <STM32_PINMUX('C', 12, AF10)>, /* ETH_RGMII_RXD1 */ <STM32_PINMUX('F', 9, AF10)>, /* ETH_RGMII_RXD2 */ <STM32_PINMUX('C', 11, AF10)>, /* ETH_RGMII_RXD3 */ <STM32_PINMUX('C', 3, AF10)>; /* ETH_RGMII_RX_CTL */ bias-disable; }; pins5 { pinmux = <STM32_PINMUX('F', 6, AF10)>; /* ETH_RGMII_RX_CLK */ bias-disable; }; }; eth2_rgmii_sleep_pins_a: eth2-rgmii-sleep-0 { pins { pinmux = <STM32_PINMUX('C', 7, ANALOG)>, /* ETH_RGMII_TXD0 */ <STM32_PINMUX('C', 8, ANALOG)>, /* ETH_RGMII_TXD1 */ <STM32_PINMUX('C', 9, ANALOG)>, /* ETH_RGMII_TXD2 */ <STM32_PINMUX('C', 10, ANALOG)>, /* ETH_RGMII_TXD3 */ <STM32_PINMUX('C', 4, ANALOG)>, /* ETH_RGMII_TX_CTL */ <STM32_PINMUX('F', 8, ANALOG)>, /* ETH_RGMII_CLK125 */ <STM32_PINMUX('F', 7, ANALOG)>, /* ETH_RGMII_GTX_CLK */ <STM32_PINMUX('C', 6, ANALOG)>, /* ETH_MDC */ <STM32_PINMUX('C', 5, ANALOG)>, /* ETH_MDIO */ <STM32_PINMUX('G', 0, ANALOG)>, /* ETH_RGMII_RXD0 */ <STM32_PINMUX('C', 12, ANALOG)>, /* ETH_RGMII_RXD1 */ <STM32_PINMUX('F', 9, ANALOG)>, /* ETH_RGMII_RXD2 */ <STM32_PINMUX('C', 11, ANALOG)>, /* ETH_RGMII_RXD3 */ <STM32_PINMUX('C', 3, ANALOG)>, /* ETH_RGMII_RX_CTL */ <STM32_PINMUX('F', 6, ANALOG)>; /* ETH_RGMII_RX_CLK */ }; }; i2c2_pins_a: i2c2-0 { pins { pinmux = <STM32_PINMUX('B', 5, AF9)>, /* I2C2_SCL */ <STM32_PINMUX('B', 4, AF9)>; /* I2C2_SDA */ bias-disable; drive-open-drain; slew-rate = <0>; }; }; i2c2_sleep_pins_a: i2c2-sleep-0 { pins { pinmux = <STM32_PINMUX('B', 5, ANALOG)>, /* I2C2_SCL */ <STM32_PINMUX('B', 4, ANALOG)>; /* I2C2_SDA */ }; }; sdmmc1_b4_pins_a: sdmmc1-b4-0 { pins1 { pinmux = <STM32_PINMUX('E', 4, AF10)>, /* SDMMC1_D0 */ <STM32_PINMUX('E', 5, AF10)>, /* SDMMC1_D1 */ <STM32_PINMUX('E', 0, AF10)>, /* SDMMC1_D2 */ <STM32_PINMUX('E', 1, AF10)>, /* SDMMC1_D3 */ <STM32_PINMUX('E', 2, AF10)>; /* SDMMC1_CMD */ slew-rate = <2>; drive-push-pull; bias-disable; }; pins2 { pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC1_CK */ slew-rate = <3>; drive-push-pull; bias-disable; }; }; sdmmc1_b4_od_pins_a: sdmmc1-b4-od-0 { pins1 { pinmux = <STM32_PINMUX('E', 4, AF10)>, /* SDMMC1_D0 */ <STM32_PINMUX('E', 5, AF10)>, /* SDMMC1_D1 */ <STM32_PINMUX('E', 0, AF10)>, /* SDMMC1_D2 */ <STM32_PINMUX('E', 1, AF10)>; /* SDMMC1_D3 */ slew-rate = <2>; drive-push-pull; bias-disable; }; pins2 { pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC1_CK */ slew-rate = <3>; drive-push-pull; bias-disable; }; pins3 { pinmux = <STM32_PINMUX('E', 2, AF10)>; /* SDMMC1_CMD */ slew-rate = <2>; drive-open-drain; bias-disable; }; }; sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 { pins { pinmux = <STM32_PINMUX('E', 4, ANALOG)>, /* SDMMC1_D0 */ <STM32_PINMUX('E', 5, ANALOG)>, /* SDMMC1_D1 */ <STM32_PINMUX('E', 0, ANALOG)>, /* SDMMC1_D2 */ <STM32_PINMUX('E', 1, ANALOG)>, /* SDMMC1_D3 */ <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC1_CK */ <STM32_PINMUX('E', 2, ANALOG)>; /* SDMMC1_CMD */ }; }; spi3_pins_a: spi3-0 { pins1 { pinmux = <STM32_PINMUX('B', 7, AF1)>, /* SPI3_SCK */ <STM32_PINMUX('B', 8, AF1)>; /* SPI3_MOSI */ drive-push-pull; bias-disable; slew-rate = <1>; }; pins2 { pinmux = <STM32_PINMUX('B', 10, AF1)>; /* SPI3_MISO */ bias-disable; }; }; spi3_sleep_pins_a: spi3-sleep-0 { pins1 { pinmux = <STM32_PINMUX('B', 7, ANALOG)>, /* SPI3_SCK */ <STM32_PINMUX('B', 8, ANALOG)>, /* SPI3_MOSI */ <STM32_PINMUX('B', 10, ANALOG)>; /* SPI3_MISO */ }; }; usart2_pins_a: usart2-0 { pins1 { pinmux = <STM32_PINMUX('A', 4, AF6)>; /* USART2_TX */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { pinmux = <STM32_PINMUX('A', 8, AF8)>; /* USART2_RX */ bias-disable; }; }; usart2_idle_pins_a: usart2-idle-0 { pins1 { pinmux = <STM32_PINMUX('A', 4, ANALOG)>; /* USART2_TX */ }; pins2 { pinmux = <STM32_PINMUX('A', 8, AF8)>; /* USART2_RX */ bias-disable; }; }; usart2_sleep_pins_a: usart2-sleep-0 { pins { pinmux = <STM32_PINMUX('A', 4, ANALOG)>, /* USART2_TX */ <STM32_PINMUX('A', 8, ANALOG)>; /* USART2_RX */ }; }; usart6_pins_a: usart6-0 { pins1 { pinmux = <STM32_PINMUX('F', 13, AF3)>, /* USART6_TX */ <STM32_PINMUX('G', 5, AF3)>; /* USART6_RTS */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { pinmux = <STM32_PINMUX('F', 14, AF3)>, /* USART6_RX */ <STM32_PINMUX('F', 15, AF3)>; /* USART6_CTS_NSS */ bias-pull-up; }; }; usart6_idle_pins_a: usart6-idle-0 { pins1 { pinmux = <STM32_PINMUX('F', 13, ANALOG)>, /* USART6_TX */ <STM32_PINMUX('F', 15, ANALOG)>; /* USART6_CTS_NSS */ }; pins2 { pinmux = <STM32_PINMUX('G', 5, AF3)>; /* USART6_RTS */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins3 { pinmux = <STM32_PINMUX('F', 14, AF3)>; /* USART6_RX */ bias-pull-up; }; }; usart6_sleep_pins_a: usart6-sleep-0 { pins { pinmux = <STM32_PINMUX('F', 13, ANALOG)>, /* USART6_TX */ <STM32_PINMUX('G', 5, ANALOG)>, /* USART6_RTS */ <STM32_PINMUX('F', 15, ANALOG)>, /* USART6_CTS_NSS */ <STM32_PINMUX('F', 14, ANALOG)>; /* USART6_RX */ }; }; }; &pinctrl_z { i2c8_pins_a: i2c8-0 { pins { pinmux = <STM32_PINMUX('Z', 4, AF8)>, /* I2C8_SCL */ <STM32_PINMUX('Z', 3, AF8)>; /* I2C8_SDA */ bias-disable; drive-open-drain; slew-rate = <0>; }; }; i2c8_sleep_pins_a: i2c8-sleep-0 { pins { pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C8_SCL */ <STM32_PINMUX('Z', 3, ANALOG)>; /* I2C8_SDA */ }; }; }; &pinctrl_z { spi8_pins_a: spi8-0 { pins1 { pinmux = <STM32_PINMUX('Z', 2, AF3)>, /* SPI8_SCK */ <STM32_PINMUX('Z', 0, AF3)>; /* SPI8_MOSI */ drive-push-pull; bias-disable; slew-rate = <1>; }; pins2 { pinmux = <STM32_PINMUX('Z', 1, AF3)>; /* SPI8_MISO */ bias-disable; }; }; spi8_sleep_pins_a: spi8-sleep-0 { pins1 { pinmux = <STM32_PINMUX('Z', 2, ANALOG)>, /* SPI8_SCK */ <STM32_PINMUX('Z', 0, ANALOG)>, /* SPI8_MOSI */ <STM32_PINMUX('Z', 1, ANALOG)>; /* SPI8_MISO */ }; }; };