| // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) |
| /* |
| * Copyright (C) STMicroelectronics 2021 - All Rights Reserved |
| * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> |
| */ |
| #include <dt-bindings/pinctrl/stm32-pinfunc.h> |
| |
| &pinctrl { |
| adc1_usb_cc_pins_a: adc1-usb-cc-pins-0 { |
| pins { |
| pinmux = <STM32_PINMUX('F', 12, ANALOG)>, /* ADC1 in6 */ |
| <STM32_PINMUX('A', 3, ANALOG)>; /* ADC1 in12 */ |
| }; |
| }; |
| |
| i2c1_pins_a: i2c1-0 { |
| pins { |
| pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */ |
| <STM32_PINMUX('E', 8, AF5)>; /* I2C1_SDA */ |
| bias-disable; |
| drive-open-drain; |
| slew-rate = <0>; |
| }; |
| }; |
| |
| i2c1_sleep_pins_a: i2c1-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('D', 12, ANALOG)>, /* I2C1_SCL */ |
| <STM32_PINMUX('E', 8, ANALOG)>; /* I2C1_SDA */ |
| }; |
| }; |
| |
| i2c5_pins_a: i2c5-0 { |
| pins { |
| pinmux = <STM32_PINMUX('D', 1, AF4)>, /* I2C5_SCL */ |
| <STM32_PINMUX('H', 6, AF4)>; /* I2C5_SDA */ |
| bias-disable; |
| drive-open-drain; |
| slew-rate = <0>; |
| }; |
| }; |
| |
| i2c5_sleep_pins_a: i2c5-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('D', 1, ANALOG)>, /* I2C5_SCL */ |
| <STM32_PINMUX('H', 6, ANALOG)>; /* I2C5_SDA */ |
| }; |
| }; |
| |
| ltdc_pins_a: ltdc-0 { |
| pins { |
| pinmux = <STM32_PINMUX('D', 9, AF13)>, /* LCD_CLK */ |
| <STM32_PINMUX('C', 6, AF14)>, /* LCD_HSYNC */ |
| <STM32_PINMUX('G', 4, AF11)>, /* LCD_VSYNC */ |
| <STM32_PINMUX('H', 9, AF11)>, /* LCD_DE */ |
| <STM32_PINMUX('G', 7, AF14)>, /* LCD_R2 */ |
| <STM32_PINMUX('B', 12, AF13)>, /* LCD_R3 */ |
| <STM32_PINMUX('D', 14, AF14)>, /* LCD_R4 */ |
| <STM32_PINMUX('E', 7, AF14)>, /* LCD_R5 */ |
| <STM32_PINMUX('E', 13, AF14)>, /* LCD_R6 */ |
| <STM32_PINMUX('E', 9, AF14)>, /* LCD_R7 */ |
| <STM32_PINMUX('H', 13, AF14)>, /* LCD_G2 */ |
| <STM32_PINMUX('F', 3, AF14)>, /* LCD_G3 */ |
| <STM32_PINMUX('D', 5, AF14)>, /* LCD_G4 */ |
| <STM32_PINMUX('G', 0, AF14)>, /* LCD_G5 */ |
| <STM32_PINMUX('C', 7, AF14)>, /* LCD_G6 */ |
| <STM32_PINMUX('A', 15, AF11)>, /* LCD_G7 */ |
| <STM32_PINMUX('D', 10, AF14)>, /* LCD_B2 */ |
| <STM32_PINMUX('F', 2, AF14)>, /* LCD_B3 */ |
| <STM32_PINMUX('H', 14, AF11)>, /* LCD_B4 */ |
| <STM32_PINMUX('E', 0, AF14)>, /* LCD_B5 */ |
| <STM32_PINMUX('B', 6, AF7)>, /* LCD_B6 */ |
| <STM32_PINMUX('F', 1, AF13)>; /* LCD_B7 */ |
| bias-disable; |
| drive-push-pull; |
| slew-rate = <0>; |
| }; |
| }; |
| |
| ltdc_sleep_pins_a: ltdc-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('D', 9, ANALOG)>, /* LCD_CLK */ |
| <STM32_PINMUX('C', 6, ANALOG)>, /* LCD_HSYNC */ |
| <STM32_PINMUX('G', 4, ANALOG)>, /* LCD_VSYNC */ |
| <STM32_PINMUX('H', 9, ANALOG)>, /* LCD_DE */ |
| <STM32_PINMUX('G', 7, ANALOG)>, /* LCD_R2 */ |
| <STM32_PINMUX('B', 12, ANALOG)>, /* LCD_R3 */ |
| <STM32_PINMUX('D', 14, ANALOG)>, /* LCD_R4 */ |
| <STM32_PINMUX('E', 7, ANALOG)>, /* LCD_R5 */ |
| <STM32_PINMUX('E', 13, ANALOG)>, /* LCD_R6 */ |
| <STM32_PINMUX('E', 9, ANALOG)>, /* LCD_R7 */ |
| <STM32_PINMUX('H', 13, ANALOG)>, /* LCD_G2 */ |
| <STM32_PINMUX('F', 3, ANALOG)>, /* LCD_G3 */ |
| <STM32_PINMUX('D', 5, ANALOG)>, /* LCD_G4 */ |
| <STM32_PINMUX('G', 0, ANALOG)>, /* LCD_G5 */ |
| <STM32_PINMUX('C', 7, ANALOG)>, /* LCD_G6 */ |
| <STM32_PINMUX('A', 15, ANALOG)>, /* LCD_G7 */ |
| <STM32_PINMUX('D', 10, ANALOG)>, /* LCD_B2 */ |
| <STM32_PINMUX('F', 2, ANALOG)>, /* LCD_B3 */ |
| <STM32_PINMUX('H', 14, ANALOG)>, /* LCD_B4 */ |
| <STM32_PINMUX('E', 0, ANALOG)>, /* LCD_B5 */ |
| <STM32_PINMUX('B', 6, ANALOG)>, /* LCD_B6 */ |
| <STM32_PINMUX('F', 1, ANALOG)>; /* LCD_B7 */ |
| }; |
| }; |
| |
| mcp23017_pins_a: mcp23017-0 { |
| pins { |
| pinmux = <STM32_PINMUX('G', 12, GPIO)>; |
| bias-pull-up; |
| }; |
| }; |
| |
| pwm3_pins_a: pwm3-0 { |
| pins { |
| pinmux = <STM32_PINMUX('B', 1, AF2)>; /* TIM3_CH4 */ |
| bias-pull-down; |
| drive-push-pull; |
| slew-rate = <0>; |
| }; |
| }; |
| |
| pwm3_sleep_pins_a: pwm3-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('B', 1, ANALOG)>; /* TIM3_CH4 */ |
| }; |
| }; |
| |
| pwm4_pins_a: pwm4-0 { |
| pins { |
| pinmux = <STM32_PINMUX('D', 13, AF2)>; /* TIM4_CH2 */ |
| bias-pull-down; |
| drive-push-pull; |
| slew-rate = <0>; |
| }; |
| }; |
| |
| pwm4_sleep_pins_a: pwm4-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('D', 13, ANALOG)>; /* TIM4_CH2 */ |
| }; |
| }; |
| |
| pwm8_pins_a: pwm8-0 { |
| pins { |
| pinmux = <STM32_PINMUX('E', 5, AF3)>; /* TIM8_CH3 */ |
| bias-pull-down; |
| drive-push-pull; |
| slew-rate = <0>; |
| }; |
| }; |
| |
| pwm8_sleep_pins_a: pwm8-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('E', 5, ANALOG)>; /* TIM8_CH3 */ |
| }; |
| }; |
| |
| pwm14_pins_a: pwm14-0 { |
| pins { |
| pinmux = <STM32_PINMUX('F', 9, AF9)>; /* TIM14_CH1 */ |
| bias-pull-down; |
| drive-push-pull; |
| slew-rate = <0>; |
| }; |
| }; |
| |
| pwm14_sleep_pins_a: pwm14-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('F', 9, ANALOG)>; /* TIM14_CH1 */ |
| }; |
| }; |
| |
| sdmmc1_b4_pins_a: sdmmc1-b4-0 { |
| pins { |
| pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */ |
| <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */ |
| <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */ |
| <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */ |
| <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */ |
| slew-rate = <1>; |
| drive-push-pull; |
| bias-disable; |
| }; |
| }; |
| |
| sdmmc1_b4_od_pins_a: sdmmc1-b4-od-0 { |
| pins1 { |
| pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */ |
| <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */ |
| <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */ |
| <STM32_PINMUX('C', 11, AF12)>; /* SDMMC1_D3 */ |
| slew-rate = <1>; |
| drive-push-pull; |
| bias-disable; |
| }; |
| pins2 { |
| pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */ |
| slew-rate = <1>; |
| drive-open-drain; |
| bias-disable; |
| }; |
| }; |
| |
| sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('C', 8, ANALOG)>, /* SDMMC1_D0 */ |
| <STM32_PINMUX('C', 9, ANALOG)>, /* SDMMC1_D1 */ |
| <STM32_PINMUX('C', 10, ANALOG)>, /* SDMMC1_D2 */ |
| <STM32_PINMUX('C', 11, ANALOG)>, /* SDMMC1_D3 */ |
| <STM32_PINMUX('C', 12, ANALOG)>, /* SDMMC1_CK */ |
| <STM32_PINMUX('D', 2, ANALOG)>; /* SDMMC1_CMD */ |
| }; |
| }; |
| |
| sdmmc1_clk_pins_a: sdmmc1-clk-0 { |
| pins { |
| pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */ |
| slew-rate = <1>; |
| drive-push-pull; |
| bias-disable; |
| }; |
| }; |
| |
| sdmmc2_b4_pins_a: sdmmc2-b4-0 { |
| pins { |
| pinmux = <STM32_PINMUX('B', 14, AF10)>, /* SDMMC2_D0 */ |
| <STM32_PINMUX('B', 15, AF10)>, /* SDMMC2_D1 */ |
| <STM32_PINMUX('B', 3, AF10)>, /* SDMMC2_D2 */ |
| <STM32_PINMUX('B', 4, AF10)>, /* SDMMC2_D3 */ |
| <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */ |
| slew-rate = <1>; |
| drive-push-pull; |
| bias-pull-up; |
| }; |
| }; |
| |
| sdmmc2_b4_od_pins_a: sdmmc2-b4-od-0 { |
| pins1 { |
| pinmux = <STM32_PINMUX('B', 14, AF10)>, /* SDMMC2_D0 */ |
| <STM32_PINMUX('B', 15, AF10)>, /* SDMMC2_D1 */ |
| <STM32_PINMUX('B', 3, AF10)>, /* SDMMC2_D2 */ |
| <STM32_PINMUX('B', 4, AF10)>; /* SDMMC2_D3 */ |
| slew-rate = <1>; |
| drive-push-pull; |
| bias-pull-up; |
| }; |
| pins2 { |
| pinmux = <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */ |
| slew-rate = <1>; |
| drive-open-drain; |
| bias-pull-up; |
| }; |
| }; |
| |
| sdmmc2_b4_sleep_pins_a: sdmmc2-b4-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('B', 14, ANALOG)>, /* SDMMC2_D0 */ |
| <STM32_PINMUX('B', 15, ANALOG)>, /* SDMMC2_D1 */ |
| <STM32_PINMUX('B', 3, ANALOG)>, /* SDMMC2_D2 */ |
| <STM32_PINMUX('B', 4, ANALOG)>, /* SDMMC2_D3 */ |
| <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC2_CK */ |
| <STM32_PINMUX('G', 6, ANALOG)>; /* SDMMC2_CMD */ |
| }; |
| }; |
| |
| sdmmc2_clk_pins_a: sdmmc2-clk-0 { |
| pins { |
| pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC2_CK */ |
| slew-rate = <1>; |
| drive-push-pull; |
| bias-pull-up; |
| }; |
| }; |
| |
| spi5_pins_a: spi5-0 { |
| pins1 { |
| pinmux = <STM32_PINMUX('H', 7, AF6)>, /* SPI5_SCK */ |
| <STM32_PINMUX('H', 3, AF5)>; /* SPI5_MOSI */ |
| bias-disable; |
| drive-push-pull; |
| slew-rate = <1>; |
| }; |
| |
| pins2 { |
| pinmux = <STM32_PINMUX('A', 8, AF5)>; /* SPI5_MISO */ |
| bias-disable; |
| }; |
| }; |
| |
| spi5_sleep_pins_a: spi5-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('H', 7, ANALOG)>, /* SPI5_SCK */ |
| <STM32_PINMUX('A', 8, ANALOG)>, /* SPI5_MISO */ |
| <STM32_PINMUX('H', 3, ANALOG)>; /* SPI5_MOSI */ |
| }; |
| }; |
| |
| stm32g0_intn_pins_a: stm32g0-intn-0 { |
| pins { |
| pinmux = <STM32_PINMUX('I', 2, GPIO)>; |
| bias-pull-up; |
| }; |
| }; |
| |
| uart4_pins_a: uart4-0 { |
| pins1 { |
| pinmux = <STM32_PINMUX('D', 6, AF8)>; /* UART4_TX */ |
| bias-disable; |
| drive-push-pull; |
| slew-rate = <0>; |
| }; |
| pins2 { |
| pinmux = <STM32_PINMUX('D', 8, AF8)>; /* UART4_RX */ |
| bias-disable; |
| }; |
| }; |
| |
| uart4_idle_pins_a: uart4-idle-0 { |
| pins1 { |
| pinmux = <STM32_PINMUX('D', 6, ANALOG)>; /* UART4_TX */ |
| }; |
| pins2 { |
| pinmux = <STM32_PINMUX('D', 8, AF8)>; /* UART4_RX */ |
| bias-disable; |
| }; |
| }; |
| |
| uart4_sleep_pins_a: uart4-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('D', 6, ANALOG)>, /* UART4_TX */ |
| <STM32_PINMUX('D', 8, ANALOG)>; /* UART4_RX */ |
| }; |
| }; |
| |
| uart8_pins_a: uart8-0 { |
| pins1 { |
| pinmux = <STM32_PINMUX('E', 1, AF8)>; /* UART8_TX */ |
| bias-disable; |
| drive-push-pull; |
| slew-rate = <0>; |
| }; |
| pins2 { |
| pinmux = <STM32_PINMUX('F', 9, AF8)>; /* UART8_RX */ |
| bias-pull-up; |
| }; |
| }; |
| |
| uart8_idle_pins_a: uart8-idle-0 { |
| pins1 { |
| pinmux = <STM32_PINMUX('E', 1, ANALOG)>; /* UART8_TX */ |
| }; |
| pins2 { |
| pinmux = <STM32_PINMUX('F', 9, AF8)>; /* UART8_RX */ |
| bias-pull-up; |
| }; |
| }; |
| |
| uart8_sleep_pins_a: uart8-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('E', 1, ANALOG)>, /* UART8_TX */ |
| <STM32_PINMUX('F', 9, ANALOG)>; /* UART8_RX */ |
| }; |
| }; |
| |
| usart1_pins_a: usart1-0 { |
| pins1 { |
| pinmux = <STM32_PINMUX('C', 0, AF7)>, /* USART1_TX */ |
| <STM32_PINMUX('C', 2, AF7)>; /* USART1_RTS */ |
| bias-disable; |
| drive-push-pull; |
| slew-rate = <0>; |
| }; |
| pins2 { |
| pinmux = <STM32_PINMUX('B', 0, AF4)>, /* USART1_RX */ |
| <STM32_PINMUX('A', 7, AF7)>; /* USART1_CTS_NSS */ |
| bias-pull-up; |
| }; |
| }; |
| |
| usart1_idle_pins_a: usart1-idle-0 { |
| pins1 { |
| pinmux = <STM32_PINMUX('C', 0, ANALOG)>, /* USART1_TX */ |
| <STM32_PINMUX('A', 7, ANALOG)>; /* USART1_CTS_NSS */ |
| }; |
| pins2 { |
| pinmux = <STM32_PINMUX('C', 2, AF7)>; /* USART1_RTS */ |
| bias-disable; |
| drive-push-pull; |
| slew-rate = <0>; |
| }; |
| pins3 { |
| pinmux = <STM32_PINMUX('B', 0, AF4)>; /* USART1_RX */ |
| bias-pull-up; |
| }; |
| }; |
| |
| usart1_sleep_pins_a: usart1-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('C', 0, ANALOG)>, /* USART1_TX */ |
| <STM32_PINMUX('C', 2, ANALOG)>, /* USART1_RTS */ |
| <STM32_PINMUX('A', 7, ANALOG)>, /* USART1_CTS_NSS */ |
| <STM32_PINMUX('B', 0, ANALOG)>; /* USART1_RX */ |
| }; |
| }; |
| |
| usart2_pins_a: usart2-0 { |
| pins1 { |
| pinmux = <STM32_PINMUX('H', 12, AF1)>, /* USART2_TX */ |
| <STM32_PINMUX('D', 4, AF3)>; /* USART2_RTS */ |
| bias-disable; |
| drive-push-pull; |
| slew-rate = <0>; |
| }; |
| pins2 { |
| pinmux = <STM32_PINMUX('D', 15, AF1)>, /* USART2_RX */ |
| <STM32_PINMUX('E', 11, AF2)>; /* USART2_CTS_NSS */ |
| bias-disable; |
| }; |
| }; |
| |
| usart2_idle_pins_a: usart2-idle-0 { |
| pins1 { |
| pinmux = <STM32_PINMUX('H', 12, ANALOG)>, /* USART2_TX */ |
| <STM32_PINMUX('E', 11, ANALOG)>; /* USART2_CTS_NSS */ |
| }; |
| pins2 { |
| pinmux = <STM32_PINMUX('D', 4, AF3)>; /* USART2_RTS */ |
| bias-disable; |
| drive-push-pull; |
| slew-rate = <0>; |
| }; |
| pins3 { |
| pinmux = <STM32_PINMUX('D', 15, AF1)>; /* USART2_RX */ |
| bias-disable; |
| }; |
| }; |
| |
| usart2_sleep_pins_a: usart2-sleep-0 { |
| pins { |
| pinmux = <STM32_PINMUX('H', 12, ANALOG)>, /* USART2_TX */ |
| <STM32_PINMUX('D', 4, ANALOG)>, /* USART2_RTS */ |
| <STM32_PINMUX('D', 15, ANALOG)>, /* USART2_RX */ |
| <STM32_PINMUX('E', 11, ANALOG)>; /* USART2_CTS_NSS */ |
| }; |
| }; |
| }; |