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&pinctrl { 9 fmc_pins_a: fmc-0 { 10 pins1 { 11 pinmux = <STM32_PINMUX('D', 4, AF12)>, /* FMC_NOE */ 12 <STM32_PINMUX('D', 5, AF12)>, /* FMC_NWE */ 13 <STM32_PINMUX('D', 11, AF12)>, /* FMC_A16_FMC_CLE */ 14 <STM32_PINMUX('D', 12, AF12)>, /* FMC_A17_FMC_ALE */ 15 <STM32_PINMUX('D', 14, AF12)>, /* FMC_D0 */ 16 <STM32_PINMUX('D', 15, AF12)>, /* FMC_D1 */ 17 <STM32_PINMUX('D', 0, AF12)>, /* FMC_D2 */ 18 <STM32_PINMUX('D', 1, AF12)>, /* FMC_D3 */ 19 <STM32_PINMUX('E', 7, AF12)>, /* FMC_D4 */ 20 <STM32_PINMUX('E', 8, AF12)>, /* FMC_D5 */ 21 <STM32_PINMUX('E', 9, AF12)>, /* FMC_D6 */ 22 <STM32_PINMUX('E', 10, AF12)>, /* FMC_D7 */ 23 <STM32_PINMUX('G', 9, AF12)>; /* FMC_NE2_FMC_NCE */ 24 bias-disable; 25 drive-push-pull; 26 slew-rate = <1>; 27 }; 28 pins2 { 29 pinmux = <STM32_PINMUX('D', 6, AF12)>; /* FMC_NWAIT */ 30 bias-pull-up; 31 }; 32 }; 33 34 i2c2_pins_a: i2c2-0 { 35 pins { 36 pinmux = <STM32_PINMUX('H', 4, AF4)>, /* I2C2_SCL */ 37 <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */ 38 bias-disable; 39 drive-open-drain; 40 slew-rate = <0>; 41 }; 42 }; 43 44 qspi_clk_pins_a: qspi-clk-0 { 45 pins { 46 pinmux = <STM32_PINMUX('F', 10, AF9)>; /* QSPI_CLK */ 47 bias-disable; 48 drive-push-pull; 49 slew-rate = <3>; 50 }; 51 }; 52 53 qspi_bk1_pins_a: qspi-bk1-0 { 54 pins1 { 55 pinmux = <STM32_PINMUX('F', 8, AF10)>, /* QSPI_BK1_IO0 */ 56 <STM32_PINMUX('F', 9, AF10)>, /* QSPI_BK1_IO1 */ 57 <STM32_PINMUX('F', 7, AF9)>, /* QSPI_BK1_IO2 */ 58 <STM32_PINMUX('F', 6, AF9)>; /* QSPI_BK1_IO3 */ 59 bias-disable; 60 drive-push-pull; 61 slew-rate = <1>; 62 }; 63 pins2 { 64 pinmux = <STM32_PINMUX('B', 6, AF10)>; /* QSPI_BK1_NCS */ 65 bias-pull-up; 66 drive-push-pull; 67 slew-rate = <1>; 68 }; 69 }; 70 71 qspi_bk2_pins_a: qspi-bk2-0 { 72 pins1 { 73 pinmux = <STM32_PINMUX('H', 2, AF9)>, /* QSPI_BK2_IO0 */ 74 <STM32_PINMUX('H', 3, AF9)>, /* QSPI_BK2_IO1 */ 75 <STM32_PINMUX('G', 10, AF11)>, /* QSPI_BK2_IO2 */ 76 <STM32_PINMUX('G', 7, AF11)>; /* QSPI_BK2_IO3 */ 77 bias-disable; 78 drive-push-pull; 79 slew-rate = <1>; 80 }; 81 pins2 { 82 pinmux = <STM32_PINMUX('C', 0, AF10)>; /* QSPI_BK2_NCS */ 83 bias-pull-up; 84 drive-push-pull; 85 slew-rate = <1>; 86 }; 87 }; 88 89 rtc_out2_rmp_pins_a: rtc-out2-rmp-pins-0 { 90 pins { 91 pinmux = <STM32_PINMUX('I', 8, ANALOG)>; /* RTC_OUT2_RMP */ 92 }; 93 }; 94 95 sdmmc1_b4_pins_a: sdmmc1-b4-0 { 96 pins1 { 97 pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */ 98 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */ 99 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */ 100 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */ 101 <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */ 102 slew-rate = <1>; 103 drive-push-pull; 104 bias-disable; 105 }; 106 pins2 { 107 pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */ 108 slew-rate = <2>; 109 drive-push-pull; 110 bias-disable; 111 }; 112 }; 113 114 sdmmc1_dir_pins_a: sdmmc1-dir-0 { 115 pins1 { 116 pinmux = <STM32_PINMUX('F', 2, AF11)>, /* SDMMC1_D0DIR */ 117 <STM32_PINMUX('C', 7, AF8)>, /* SDMMC1_D123DIR */ 118 <STM32_PINMUX('B', 9, AF11)>; /* SDMMC1_CDIR */ 119 slew-rate = <1>; 120 drive-push-pull; 121 bias-pull-up; 122 }; 123 pins2{ 124 pinmux = <STM32_PINMUX('E', 4, AF8)>; /* SDMMC1_CKIN */ 125 bias-pull-up; 126 }; 127 }; 128 129 sdmmc2_b4_pins_a: sdmmc2-b4-0 { 130 pins1 { 131 pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */ 132 <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */ 133 <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */ 134 <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */ 135 <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */ 136 slew-rate = <1>; 137 drive-push-pull; 138 bias-pull-up; 139 }; 140 pins2 { 141 pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */ 142 slew-rate = <2>; 143 drive-push-pull; 144 bias-pull-up; 145 }; 146 }; 147 148 sdmmc2_b4_pins_b: sdmmc2-b4-1 { 149 pins1 { 150 pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */ 151 <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */ 152 <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */ 153 <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */ 154 <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */ 155 slew-rate = <1>; 156 drive-push-pull; 157 bias-disable; 158 }; 159 pins2 { 160 pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */ 161 slew-rate = <2>; 162 drive-push-pull; 163 bias-disable; 164 }; 165 }; 166 167 sdmmc2_d47_pins_a: sdmmc2-d47-0 { 168 pins { 169 pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */ 170 <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */ 171 <STM32_PINMUX('E', 5, AF9)>, /* SDMMC2_D6 */ 172 <STM32_PINMUX('D', 3, AF9)>; /* SDMMC2_D7 */ 173 slew-rate = <1>; 174 drive-push-pull; 175 bias-pull-up; 176 }; 177 }; 178 179 sdmmc2_d47_pins_d: sdmmc2-d47-3 { 180 pins { 181 pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */ 182 <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */ 183 <STM32_PINMUX('E', 5, AF9)>, /* SDMMC2_D6 */ 184 <STM32_PINMUX('C', 7, AF10)>; /* SDMMC2_D7 */ 185 }; 186 }; 187 188 uart4_pins_a: uart4-0 { 189 pins1 { 190 pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */ 191 bias-disable; 192 drive-push-pull; 193 slew-rate = <0>; 194 }; 195 pins2 { 196 pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */ 197 bias-disable; 198 }; 199 }; 200 201 uart4_pins_b: uart4-1 { 202 pins1 { 203 pinmux = <STM32_PINMUX('D', 1, AF8)>; /* UART4_TX */ 204 bias-disable; 205 drive-push-pull; 206 slew-rate = <0>; 207 }; 208 pins2 { 209 pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */ 210 bias-disable; 211 }; 212 }; 213 214 uart7_pins_a: uart7-0 { 215 pins1 { 216 pinmux = <STM32_PINMUX('E', 8, AF7)>; /* UART4_TX */ 217 bias-disable; 218 drive-push-pull; 219 slew-rate = <0>; 220 }; 221 pins2 { 222 pinmux = <STM32_PINMUX('E', 7, AF7)>, /* UART4_RX */ 223 <STM32_PINMUX('E', 10, AF7)>, /* UART4_CTS */ 224 <STM32_PINMUX('E', 9, AF7)>; /* UART4_RTS */ 225 bias-disable; 226 }; 227 }; 228 229 uart7_pins_b: uart7-1 { 230 pins1 { 231 pinmux = <STM32_PINMUX('E', 8, AF7)>; /* USART7_TX */ 232 bias-disable; 233 drive-push-pull; 234 slew-rate = <0>; 235 }; 236 pins2 { 237 pinmux = <STM32_PINMUX('E', 7, AF7)>; /* USART7_RX */ 238 bias-disable; 239 }; 240 }; 241 242 usart2_pins_a: usart2-0 { 243 pins1 { 244 pinmux = <STM32_PINMUX('D', 5, AF7)>, /* USART2_TX */ 245 <STM32_PINMUX('D', 4, AF7)>; /* USART2_RTS */ 246 bias-disable; 247 drive-push-pull; 248 slew-rate = <3>; 249 }; 250 pins2 { 251 pinmux = <STM32_PINMUX('D', 6, AF7)>, /* USART2_RX */ 252 <STM32_PINMUX('D', 3, AF7)>; /* USART2_CTS_NSS */ 253 bias-disable; 254 }; 255 }; 256 257 usart3_pins_a: usart3-0 { 258 pins1 { 259 pinmux = <STM32_PINMUX('B', 10, AF7)>, /* USART3_TX */ 260 <STM32_PINMUX('G', 8, AF8)>; /* USART3_RTS */ 261 bias-disable; 262 drive-push-pull; 263 slew-rate = <0>; 264 }; 265 pins2 { 266 pinmux = <STM32_PINMUX('B', 12, AF8)>, /* USART3_RX */ 267 <STM32_PINMUX('I', 10, AF8)>; /* USART3_CTS_NSS */ 268 bias-disable; 269 }; 270 }; 271 272 usart3_pins_b: usart3-1 { 273 pins1 { 274 pinmux = <STM32_PINMUX('B', 10, AF7)>, /* USART3_TX */ 275 <STM32_PINMUX('G', 8, AF8)>; /* USART3_RTS */ 276 bias-disable; 277 drive-push-pull; 278 slew-rate = <0>; 279 }; 280 pins2 { 281 pinmux = <STM32_PINMUX('B', 12, AF8)>, /* USART3_RX */ 282 <STM32_PINMUX('B', 13, AF7)>; /* USART3_CTS_NSS */ 283 bias-disable; 284 }; 285 }; 286 287 usbotg_hs_pins_a: usbotg_hs-0 { 288 pins { 289 pinmux = <STM32_PINMUX('A', 10, ANALOG)>; /* OTG_ID */ 290 }; 291 }; 292 293 usbotg_fs_dp_dm_pins_a: usbotg-fs-dp-dm-0 { 294 pins { 295 pinmux = <STM32_PINMUX('A', 11, ANALOG)>, /* OTG_FS_DM */ 296 <STM32_PINMUX('A', 12, ANALOG)>; /* OTG_FS_DP */ 297 }; 298 }; 299}; 300 301&pinctrl_z { 302 i2c4_pins_a: i2c4-0 { 303 pins { 304 pinmux = <STM32_PINMUX('Z', 4, AF6)>, /* I2C4_SCL */ 305 <STM32_PINMUX('Z', 5, AF6)>; /* I2C4_SDA */ 306 bias-disable; 307 drive-open-drain; 308 slew-rate = <0>; 309 }; 310 }; 311}; 312