1*f126890aSEmmanuel Vadot/* 2*f126890aSEmmanuel Vadot * Copyright 2017 - Alexandre Torgue <alexandre.torgue@st.com> 3*f126890aSEmmanuel Vadot * 4*f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms 5*f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual 6*f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a 7*f126890aSEmmanuel Vadot * whole. 8*f126890aSEmmanuel Vadot * 9*f126890aSEmmanuel Vadot * a) This file is free software; you can redistribute it and/or 10*f126890aSEmmanuel Vadot * modify it under the terms of the GNU General Public License as 11*f126890aSEmmanuel Vadot * published by the Free Software Foundation; either version 2 of the 12*f126890aSEmmanuel Vadot * License, or (at your option) any later version. 13*f126890aSEmmanuel Vadot * 14*f126890aSEmmanuel Vadot * This file is distributed in the hope that it will be useful, 15*f126890aSEmmanuel Vadot * but WITHOUT ANY WARRANTY; without even the implied warranty of 16*f126890aSEmmanuel Vadot * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17*f126890aSEmmanuel Vadot * GNU General Public License for more details. 18*f126890aSEmmanuel Vadot * 19*f126890aSEmmanuel Vadot * Or, alternatively, 20*f126890aSEmmanuel Vadot * 21*f126890aSEmmanuel Vadot * b) Permission is hereby granted, free of charge, to any person 22*f126890aSEmmanuel Vadot * obtaining a copy of this software and associated documentation 23*f126890aSEmmanuel Vadot * files (the "Software"), to deal in the Software without 24*f126890aSEmmanuel Vadot * restriction, including without limitation the rights to use, 25*f126890aSEmmanuel Vadot * copy, modify, merge, publish, distribute, sublicense, and/or 26*f126890aSEmmanuel Vadot * sell copies of the Software, and to permit persons to whom the 27*f126890aSEmmanuel Vadot * Software is furnished to do so, subject to the following 28*f126890aSEmmanuel Vadot * conditions: 29*f126890aSEmmanuel Vadot * 30*f126890aSEmmanuel Vadot * The above copyright notice and this permission notice shall be 31*f126890aSEmmanuel Vadot * included in all copies or substantial portions of the Software. 32*f126890aSEmmanuel Vadot * 33*f126890aSEmmanuel Vadot * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34*f126890aSEmmanuel Vadot * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35*f126890aSEmmanuel Vadot * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36*f126890aSEmmanuel Vadot * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37*f126890aSEmmanuel Vadot * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38*f126890aSEmmanuel Vadot * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39*f126890aSEmmanuel Vadot * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40*f126890aSEmmanuel Vadot * OTHER DEALINGS IN THE SOFTWARE. 41*f126890aSEmmanuel Vadot */ 42*f126890aSEmmanuel Vadot 43*f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/stm32-pinfunc.h> 44*f126890aSEmmanuel Vadot#include <dt-bindings/mfd/stm32f4-rcc.h> 45*f126890aSEmmanuel Vadot 46*f126890aSEmmanuel Vadot/ { 47*f126890aSEmmanuel Vadot soc { 48*f126890aSEmmanuel Vadot pinctrl: pinctrl@40020000 { 49*f126890aSEmmanuel Vadot #address-cells = <1>; 50*f126890aSEmmanuel Vadot #size-cells = <1>; 51*f126890aSEmmanuel Vadot ranges = <0 0x40020000 0x3000>; 52*f126890aSEmmanuel Vadot interrupt-parent = <&exti>; 53*f126890aSEmmanuel Vadot st,syscfg = <&syscfg 0x8>; 54*f126890aSEmmanuel Vadot 55*f126890aSEmmanuel Vadot gpioa: gpio@40020000 { 56*f126890aSEmmanuel Vadot gpio-controller; 57*f126890aSEmmanuel Vadot #gpio-cells = <2>; 58*f126890aSEmmanuel Vadot interrupt-controller; 59*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 60*f126890aSEmmanuel Vadot reg = <0x0 0x400>; 61*f126890aSEmmanuel Vadot clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOA)>; 62*f126890aSEmmanuel Vadot st,bank-name = "GPIOA"; 63*f126890aSEmmanuel Vadot }; 64*f126890aSEmmanuel Vadot 65*f126890aSEmmanuel Vadot gpiob: gpio@40020400 { 66*f126890aSEmmanuel Vadot gpio-controller; 67*f126890aSEmmanuel Vadot #gpio-cells = <2>; 68*f126890aSEmmanuel Vadot interrupt-controller; 69*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 70*f126890aSEmmanuel Vadot reg = <0x400 0x400>; 71*f126890aSEmmanuel Vadot clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOB)>; 72*f126890aSEmmanuel Vadot st,bank-name = "GPIOB"; 73*f126890aSEmmanuel Vadot }; 74*f126890aSEmmanuel Vadot 75*f126890aSEmmanuel Vadot gpioc: gpio@40020800 { 76*f126890aSEmmanuel Vadot gpio-controller; 77*f126890aSEmmanuel Vadot #gpio-cells = <2>; 78*f126890aSEmmanuel Vadot interrupt-controller; 79*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 80*f126890aSEmmanuel Vadot reg = <0x800 0x400>; 81*f126890aSEmmanuel Vadot clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOC)>; 82*f126890aSEmmanuel Vadot st,bank-name = "GPIOC"; 83*f126890aSEmmanuel Vadot }; 84*f126890aSEmmanuel Vadot 85*f126890aSEmmanuel Vadot gpiod: gpio@40020c00 { 86*f126890aSEmmanuel Vadot gpio-controller; 87*f126890aSEmmanuel Vadot #gpio-cells = <2>; 88*f126890aSEmmanuel Vadot interrupt-controller; 89*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 90*f126890aSEmmanuel Vadot reg = <0xc00 0x400>; 91*f126890aSEmmanuel Vadot clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOD)>; 92*f126890aSEmmanuel Vadot st,bank-name = "GPIOD"; 93*f126890aSEmmanuel Vadot }; 94*f126890aSEmmanuel Vadot 95*f126890aSEmmanuel Vadot gpioe: gpio@40021000 { 96*f126890aSEmmanuel Vadot gpio-controller; 97*f126890aSEmmanuel Vadot #gpio-cells = <2>; 98*f126890aSEmmanuel Vadot interrupt-controller; 99*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 100*f126890aSEmmanuel Vadot reg = <0x1000 0x400>; 101*f126890aSEmmanuel Vadot clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOE)>; 102*f126890aSEmmanuel Vadot st,bank-name = "GPIOE"; 103*f126890aSEmmanuel Vadot }; 104*f126890aSEmmanuel Vadot 105*f126890aSEmmanuel Vadot gpiof: gpio@40021400 { 106*f126890aSEmmanuel Vadot gpio-controller; 107*f126890aSEmmanuel Vadot #gpio-cells = <2>; 108*f126890aSEmmanuel Vadot interrupt-controller; 109*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 110*f126890aSEmmanuel Vadot reg = <0x1400 0x400>; 111*f126890aSEmmanuel Vadot clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOF)>; 112*f126890aSEmmanuel Vadot st,bank-name = "GPIOF"; 113*f126890aSEmmanuel Vadot }; 114*f126890aSEmmanuel Vadot 115*f126890aSEmmanuel Vadot gpiog: gpio@40021800 { 116*f126890aSEmmanuel Vadot gpio-controller; 117*f126890aSEmmanuel Vadot #gpio-cells = <2>; 118*f126890aSEmmanuel Vadot interrupt-controller; 119*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 120*f126890aSEmmanuel Vadot reg = <0x1800 0x400>; 121*f126890aSEmmanuel Vadot clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOG)>; 122*f126890aSEmmanuel Vadot st,bank-name = "GPIOG"; 123*f126890aSEmmanuel Vadot }; 124*f126890aSEmmanuel Vadot 125*f126890aSEmmanuel Vadot gpioh: gpio@40021c00 { 126*f126890aSEmmanuel Vadot gpio-controller; 127*f126890aSEmmanuel Vadot #gpio-cells = <2>; 128*f126890aSEmmanuel Vadot interrupt-controller; 129*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 130*f126890aSEmmanuel Vadot reg = <0x1c00 0x400>; 131*f126890aSEmmanuel Vadot clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOH)>; 132*f126890aSEmmanuel Vadot st,bank-name = "GPIOH"; 133*f126890aSEmmanuel Vadot }; 134*f126890aSEmmanuel Vadot 135*f126890aSEmmanuel Vadot gpioi: gpio@40022000 { 136*f126890aSEmmanuel Vadot gpio-controller; 137*f126890aSEmmanuel Vadot #gpio-cells = <2>; 138*f126890aSEmmanuel Vadot interrupt-controller; 139*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 140*f126890aSEmmanuel Vadot reg = <0x2000 0x400>; 141*f126890aSEmmanuel Vadot clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOI)>; 142*f126890aSEmmanuel Vadot st,bank-name = "GPIOI"; 143*f126890aSEmmanuel Vadot }; 144*f126890aSEmmanuel Vadot 145*f126890aSEmmanuel Vadot gpioj: gpio@40022400 { 146*f126890aSEmmanuel Vadot gpio-controller; 147*f126890aSEmmanuel Vadot #gpio-cells = <2>; 148*f126890aSEmmanuel Vadot interrupt-controller; 149*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 150*f126890aSEmmanuel Vadot reg = <0x2400 0x400>; 151*f126890aSEmmanuel Vadot clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOJ)>; 152*f126890aSEmmanuel Vadot st,bank-name = "GPIOJ"; 153*f126890aSEmmanuel Vadot }; 154*f126890aSEmmanuel Vadot 155*f126890aSEmmanuel Vadot gpiok: gpio@40022800 { 156*f126890aSEmmanuel Vadot gpio-controller; 157*f126890aSEmmanuel Vadot #gpio-cells = <2>; 158*f126890aSEmmanuel Vadot interrupt-controller; 159*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 160*f126890aSEmmanuel Vadot reg = <0x2800 0x400>; 161*f126890aSEmmanuel Vadot clocks = <&rcc 0 STM32F4_AHB1_CLOCK(GPIOK)>; 162*f126890aSEmmanuel Vadot st,bank-name = "GPIOK"; 163*f126890aSEmmanuel Vadot }; 164*f126890aSEmmanuel Vadot 165*f126890aSEmmanuel Vadot usart1_pins_a: usart1-0 { 166*f126890aSEmmanuel Vadot pins1 { 167*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('A', 9, AF7)>; /* USART1_TX */ 168*f126890aSEmmanuel Vadot bias-disable; 169*f126890aSEmmanuel Vadot drive-push-pull; 170*f126890aSEmmanuel Vadot slew-rate = <0>; 171*f126890aSEmmanuel Vadot }; 172*f126890aSEmmanuel Vadot pins2 { 173*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('A', 10, AF7)>; /* USART1_RX */ 174*f126890aSEmmanuel Vadot bias-disable; 175*f126890aSEmmanuel Vadot }; 176*f126890aSEmmanuel Vadot }; 177*f126890aSEmmanuel Vadot 178*f126890aSEmmanuel Vadot usart3_pins_a: usart3-0 { 179*f126890aSEmmanuel Vadot pins1 { 180*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 10, AF7)>; /* USART3_TX */ 181*f126890aSEmmanuel Vadot bias-disable; 182*f126890aSEmmanuel Vadot drive-push-pull; 183*f126890aSEmmanuel Vadot slew-rate = <0>; 184*f126890aSEmmanuel Vadot }; 185*f126890aSEmmanuel Vadot pins2 { 186*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 11, AF7)>; /* USART3_RX */ 187*f126890aSEmmanuel Vadot bias-disable; 188*f126890aSEmmanuel Vadot }; 189*f126890aSEmmanuel Vadot }; 190*f126890aSEmmanuel Vadot 191*f126890aSEmmanuel Vadot usbotg_fs_pins_a: usbotg-fs-0 { 192*f126890aSEmmanuel Vadot pins { 193*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('A', 10, AF10)>, /* OTG_FS_ID */ 194*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 11, AF10)>, /* OTG_FS_DM */ 195*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 12, AF10)>; /* OTG_FS_DP */ 196*f126890aSEmmanuel Vadot bias-disable; 197*f126890aSEmmanuel Vadot drive-push-pull; 198*f126890aSEmmanuel Vadot slew-rate = <2>; 199*f126890aSEmmanuel Vadot }; 200*f126890aSEmmanuel Vadot }; 201*f126890aSEmmanuel Vadot 202*f126890aSEmmanuel Vadot usbotg_fs_pins_b: usbotg-fs-1 { 203*f126890aSEmmanuel Vadot pins { 204*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 12, AF12)>, /* OTG_HS_ID */ 205*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 14, AF12)>, /* OTG_HS_DM */ 206*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 15, AF12)>; /* OTG_HS_DP */ 207*f126890aSEmmanuel Vadot bias-disable; 208*f126890aSEmmanuel Vadot drive-push-pull; 209*f126890aSEmmanuel Vadot slew-rate = <2>; 210*f126890aSEmmanuel Vadot }; 211*f126890aSEmmanuel Vadot }; 212*f126890aSEmmanuel Vadot 213*f126890aSEmmanuel Vadot usbotg_hs_pins_a: usbotg-hs-0 { 214*f126890aSEmmanuel Vadot pins { 215*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('H', 4, AF10)>, /* OTG_HS_ULPI_NXT*/ 216*f126890aSEmmanuel Vadot <STM32_PINMUX('I', 11, AF10)>, /* OTG_HS_ULPI_DIR */ 217*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 0, AF10)>, /* OTG_HS_ULPI_STP */ 218*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 5, AF10)>, /* OTG_HS_ULPI_CK */ 219*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 3, AF10)>, /* OTG_HS_ULPI_D0 */ 220*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 0, AF10)>, /* OTG_HS_ULPI_D1 */ 221*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 1, AF10)>, /* OTG_HS_ULPI_D2 */ 222*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 10, AF10)>, /* OTG_HS_ULPI_D3 */ 223*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 11, AF10)>, /* OTG_HS_ULPI_D4 */ 224*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 12, AF10)>, /* OTG_HS_ULPI_D5 */ 225*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 13, AF10)>, /* OTG_HS_ULPI_D6 */ 226*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 5, AF10)>; /* OTG_HS_ULPI_D7 */ 227*f126890aSEmmanuel Vadot bias-disable; 228*f126890aSEmmanuel Vadot drive-push-pull; 229*f126890aSEmmanuel Vadot slew-rate = <2>; 230*f126890aSEmmanuel Vadot }; 231*f126890aSEmmanuel Vadot }; 232*f126890aSEmmanuel Vadot 233*f126890aSEmmanuel Vadot ethernet_mii: mii-0 { 234*f126890aSEmmanuel Vadot pins { 235*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('G', 13, AF11)>, /* ETH_MII_TXD0_ETH_RMII_TXD0 */ 236*f126890aSEmmanuel Vadot <STM32_PINMUX('G', 14, AF11)>, /* ETH_MII_TXD1_ETH_RMII_TXD1 */ 237*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 2, AF11)>, /* ETH_MII_TXD2 */ 238*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 8, AF11)>, /* ETH_MII_TXD3 */ 239*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 3, AF11)>, /* ETH_MII_TX_CLK */ 240*f126890aSEmmanuel Vadot <STM32_PINMUX('G', 11,AF11)>, /* ETH_MII_TX_EN_ETH_RMII_TX_EN */ 241*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 2, AF11)>, /* ETH_MDIO */ 242*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 1, AF11)>, /* ETH_MDC */ 243*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 1, AF11)>, /* ETH_MII_RX_CLK_ETH_RMII_REF_CLK */ 244*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 7, AF11)>, /* ETH_MII_RX_DV_ETH_RMII_CRS_DV */ 245*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 4, AF11)>, /* ETH_MII_RXD0_ETH_RMII_RXD0 */ 246*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 5, AF11)>, /* ETH_MII_RXD1_ETH_RMII_RXD1 */ 247*f126890aSEmmanuel Vadot <STM32_PINMUX('H', 6, AF11)>, /* ETH_MII_RXD2 */ 248*f126890aSEmmanuel Vadot <STM32_PINMUX('H', 7, AF11)>; /* ETH_MII_RXD3 */ 249*f126890aSEmmanuel Vadot slew-rate = <2>; 250*f126890aSEmmanuel Vadot }; 251*f126890aSEmmanuel Vadot }; 252*f126890aSEmmanuel Vadot 253*f126890aSEmmanuel Vadot adc3_in8_pin: adc-200 { 254*f126890aSEmmanuel Vadot pins { 255*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('F', 10, ANALOG)>; 256*f126890aSEmmanuel Vadot }; 257*f126890aSEmmanuel Vadot }; 258*f126890aSEmmanuel Vadot 259*f126890aSEmmanuel Vadot pwm1_pins: pwm1-0 { 260*f126890aSEmmanuel Vadot pins { 261*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('A', 8, AF1)>, /* TIM1_CH1 */ 262*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 13, AF1)>, /* TIM1_CH1N */ 263*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 12, AF1)>; /* TIM1_BKIN */ 264*f126890aSEmmanuel Vadot }; 265*f126890aSEmmanuel Vadot }; 266*f126890aSEmmanuel Vadot 267*f126890aSEmmanuel Vadot pwm3_pins: pwm3-0 { 268*f126890aSEmmanuel Vadot pins { 269*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 4, AF2)>, /* TIM3_CH1 */ 270*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 5, AF2)>; /* TIM3_CH2 */ 271*f126890aSEmmanuel Vadot }; 272*f126890aSEmmanuel Vadot }; 273*f126890aSEmmanuel Vadot 274*f126890aSEmmanuel Vadot i2c1_pins: i2c1-0 { 275*f126890aSEmmanuel Vadot pins { 276*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 9, AF4)>, /* I2C1_SDA */ 277*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 6, AF4)>; /* I2C1_SCL */ 278*f126890aSEmmanuel Vadot bias-disable; 279*f126890aSEmmanuel Vadot drive-open-drain; 280*f126890aSEmmanuel Vadot slew-rate = <3>; 281*f126890aSEmmanuel Vadot }; 282*f126890aSEmmanuel Vadot }; 283*f126890aSEmmanuel Vadot 284*f126890aSEmmanuel Vadot ltdc_pins_a: ltdc-0 { 285*f126890aSEmmanuel Vadot pins { 286*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('I', 12, AF14)>, /* LCD_HSYNC */ 287*f126890aSEmmanuel Vadot <STM32_PINMUX('I', 13, AF14)>, /* LCD_VSYNC */ 288*f126890aSEmmanuel Vadot <STM32_PINMUX('I', 14, AF14)>, /* LCD_CLK */ 289*f126890aSEmmanuel Vadot <STM32_PINMUX('I', 15, AF14)>, /* LCD_R0 */ 290*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 0, AF14)>, /* LCD_R1 */ 291*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 1, AF14)>, /* LCD_R2 */ 292*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 2, AF14)>, /* LCD_R3 */ 293*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 3, AF14)>, /* LCD_R4 */ 294*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 4, AF14)>, /* LCD_R5 */ 295*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 5, AF14)>, /* LCD_R6*/ 296*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 6, AF14)>, /* LCD_R7 */ 297*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 7, AF14)>, /* LCD_G0 */ 298*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 8, AF14)>, /* LCD_G1 */ 299*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 9, AF14)>, /* LCD_G2 */ 300*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 10, AF14)>, /* LCD_G3 */ 301*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 11, AF14)>, /* LCD_G4 */ 302*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 12, AF14)>, /* LCD_B0 */ 303*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 13, AF14)>, /* LCD_B1 */ 304*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 14, AF14)>, /* LCD_B2 */ 305*f126890aSEmmanuel Vadot <STM32_PINMUX('J', 15, AF14)>, /* LCD_B3*/ 306*f126890aSEmmanuel Vadot <STM32_PINMUX('K', 0, AF14)>, /* LCD_G5 */ 307*f126890aSEmmanuel Vadot <STM32_PINMUX('K', 1, AF14)>, /* LCD_G6 */ 308*f126890aSEmmanuel Vadot <STM32_PINMUX('K', 2, AF14)>, /* LCD_G7 */ 309*f126890aSEmmanuel Vadot <STM32_PINMUX('K', 3, AF14)>, /* LCD_B4 */ 310*f126890aSEmmanuel Vadot <STM32_PINMUX('K', 4, AF14)>, /* LCD_B5 */ 311*f126890aSEmmanuel Vadot <STM32_PINMUX('K', 5, AF14)>, /* LCD_B6 */ 312*f126890aSEmmanuel Vadot <STM32_PINMUX('K', 6, AF14)>, /* LCD_B7 */ 313*f126890aSEmmanuel Vadot <STM32_PINMUX('K', 7, AF14)>; /* LCD_DE */ 314*f126890aSEmmanuel Vadot slew-rate = <2>; 315*f126890aSEmmanuel Vadot }; 316*f126890aSEmmanuel Vadot }; 317*f126890aSEmmanuel Vadot 318*f126890aSEmmanuel Vadot ltdc_pins_b: ltdc-1 { 319*f126890aSEmmanuel Vadot pins { 320*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('C', 6, AF14)>, 321*f126890aSEmmanuel Vadot /* LCD_HSYNC */ 322*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 4, AF14)>, 323*f126890aSEmmanuel Vadot /* LCD_VSYNC */ 324*f126890aSEmmanuel Vadot <STM32_PINMUX('G', 7, AF14)>, 325*f126890aSEmmanuel Vadot /* LCD_CLK */ 326*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 10, AF14)>, 327*f126890aSEmmanuel Vadot /* LCD_R2 */ 328*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 0, AF9)>, 329*f126890aSEmmanuel Vadot /* LCD_R3 */ 330*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 11, AF14)>, 331*f126890aSEmmanuel Vadot /* LCD_R4 */ 332*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 12, AF14)>, 333*f126890aSEmmanuel Vadot /* LCD_R5 */ 334*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 1, AF9)>, 335*f126890aSEmmanuel Vadot /* LCD_R6*/ 336*f126890aSEmmanuel Vadot <STM32_PINMUX('G', 6, AF14)>, 337*f126890aSEmmanuel Vadot /* LCD_R7 */ 338*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 6, AF14)>, 339*f126890aSEmmanuel Vadot /* LCD_G2 */ 340*f126890aSEmmanuel Vadot <STM32_PINMUX('G', 10, AF9)>, 341*f126890aSEmmanuel Vadot /* LCD_G3 */ 342*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 10, AF14)>, 343*f126890aSEmmanuel Vadot /* LCD_G4 */ 344*f126890aSEmmanuel Vadot <STM32_PINMUX('D', 6, AF14)>, 345*f126890aSEmmanuel Vadot /* LCD_B2 */ 346*f126890aSEmmanuel Vadot <STM32_PINMUX('G', 11, AF14)>, 347*f126890aSEmmanuel Vadot /* LCD_B3*/ 348*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 11, AF14)>, 349*f126890aSEmmanuel Vadot /* LCD_G5 */ 350*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 7, AF14)>, 351*f126890aSEmmanuel Vadot /* LCD_G6 */ 352*f126890aSEmmanuel Vadot <STM32_PINMUX('D', 3, AF14)>, 353*f126890aSEmmanuel Vadot /* LCD_G7 */ 354*f126890aSEmmanuel Vadot <STM32_PINMUX('G', 12, AF9)>, 355*f126890aSEmmanuel Vadot /* LCD_B4 */ 356*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 3, AF14)>, 357*f126890aSEmmanuel Vadot /* LCD_B5 */ 358*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 8, AF14)>, 359*f126890aSEmmanuel Vadot /* LCD_B6 */ 360*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 9, AF14)>, 361*f126890aSEmmanuel Vadot /* LCD_B7 */ 362*f126890aSEmmanuel Vadot <STM32_PINMUX('F', 10, AF14)>; 363*f126890aSEmmanuel Vadot /* LCD_DE */ 364*f126890aSEmmanuel Vadot slew-rate = <2>; 365*f126890aSEmmanuel Vadot }; 366*f126890aSEmmanuel Vadot }; 367*f126890aSEmmanuel Vadot 368*f126890aSEmmanuel Vadot spi5_pins: spi5-0 { 369*f126890aSEmmanuel Vadot pins1 { 370*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('F', 7, AF5)>, 371*f126890aSEmmanuel Vadot /* SPI5_CLK */ 372*f126890aSEmmanuel Vadot <STM32_PINMUX('F', 9, AF5)>; 373*f126890aSEmmanuel Vadot /* SPI5_MOSI */ 374*f126890aSEmmanuel Vadot bias-disable; 375*f126890aSEmmanuel Vadot drive-push-pull; 376*f126890aSEmmanuel Vadot slew-rate = <0>; 377*f126890aSEmmanuel Vadot }; 378*f126890aSEmmanuel Vadot pins2 { 379*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('F', 8, AF5)>; 380*f126890aSEmmanuel Vadot /* SPI5_MISO */ 381*f126890aSEmmanuel Vadot bias-disable; 382*f126890aSEmmanuel Vadot }; 383*f126890aSEmmanuel Vadot }; 384*f126890aSEmmanuel Vadot 385*f126890aSEmmanuel Vadot i2c3_pins: i2c3-0 { 386*f126890aSEmmanuel Vadot pins { 387*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('C', 9, AF4)>, 388*f126890aSEmmanuel Vadot /* I2C3_SDA */ 389*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 8, AF4)>; 390*f126890aSEmmanuel Vadot /* I2C3_SCL */ 391*f126890aSEmmanuel Vadot bias-disable; 392*f126890aSEmmanuel Vadot drive-open-drain; 393*f126890aSEmmanuel Vadot slew-rate = <3>; 394*f126890aSEmmanuel Vadot }; 395*f126890aSEmmanuel Vadot }; 396*f126890aSEmmanuel Vadot 397*f126890aSEmmanuel Vadot dcmi_pins: dcmi-0 { 398*f126890aSEmmanuel Vadot pins { 399*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('A', 4, AF13)>, /* DCMI_HSYNC */ 400*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 7, AF13)>, /* DCMI_VSYNC */ 401*f126890aSEmmanuel Vadot <STM32_PINMUX('A', 6, AF13)>, /* DCMI_PIXCLK */ 402*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 6, AF13)>, /* DCMI_D0 */ 403*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 7, AF13)>, /* DCMI_D1 */ 404*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 8, AF13)>, /* DCMI_D2 */ 405*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 9, AF13)>, /* DCMI_D3 */ 406*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 11, AF13)>, /*DCMI_D4 */ 407*f126890aSEmmanuel Vadot <STM32_PINMUX('D', 3, AF13)>, /* DCMI_D5 */ 408*f126890aSEmmanuel Vadot <STM32_PINMUX('B', 8, AF13)>, /* DCMI_D6 */ 409*f126890aSEmmanuel Vadot <STM32_PINMUX('E', 6, AF13)>, /* DCMI_D7 */ 410*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 10, AF13)>, /* DCMI_D8 */ 411*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 12, AF13)>, /* DCMI_D9 */ 412*f126890aSEmmanuel Vadot <STM32_PINMUX('D', 6, AF13)>, /* DCMI_D10 */ 413*f126890aSEmmanuel Vadot <STM32_PINMUX('D', 2, AF13)>; /* DCMI_D11 */ 414*f126890aSEmmanuel Vadot bias-disable; 415*f126890aSEmmanuel Vadot drive-push-pull; 416*f126890aSEmmanuel Vadot slew-rate = <3>; 417*f126890aSEmmanuel Vadot }; 418*f126890aSEmmanuel Vadot }; 419*f126890aSEmmanuel Vadot 420*f126890aSEmmanuel Vadot sdio_pins: sdio-pins-0 { 421*f126890aSEmmanuel Vadot pins { 422*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDIO_D0 */ 423*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 9, AF12)>, /* SDIO_D1 */ 424*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 10, AF12)>, /* SDIO_D2 */ 425*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 11, AF12)>, /* SDIO_D3 */ 426*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 12, AF12)>, /* SDIO_CK */ 427*f126890aSEmmanuel Vadot <STM32_PINMUX('D', 2, AF12)>; /* SDIO_CMD */ 428*f126890aSEmmanuel Vadot drive-push-pull; 429*f126890aSEmmanuel Vadot slew-rate = <2>; 430*f126890aSEmmanuel Vadot }; 431*f126890aSEmmanuel Vadot }; 432*f126890aSEmmanuel Vadot 433*f126890aSEmmanuel Vadot sdio_pins_od: sdio-pins-od-0 { 434*f126890aSEmmanuel Vadot pins1 { 435*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDIO_D0 */ 436*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 9, AF12)>, /* SDIO_D1 */ 437*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 10, AF12)>, /* SDIO_D2 */ 438*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 11, AF12)>, /* SDIO_D3 */ 439*f126890aSEmmanuel Vadot <STM32_PINMUX('C', 12, AF12)>; /* SDIO_CK */ 440*f126890aSEmmanuel Vadot drive-push-pull; 441*f126890aSEmmanuel Vadot slew-rate = <2>; 442*f126890aSEmmanuel Vadot }; 443*f126890aSEmmanuel Vadot 444*f126890aSEmmanuel Vadot pins2 { 445*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDIO_CMD */ 446*f126890aSEmmanuel Vadot drive-open-drain; 447*f126890aSEmmanuel Vadot slew-rate = <2>; 448*f126890aSEmmanuel Vadot }; 449*f126890aSEmmanuel Vadot }; 450*f126890aSEmmanuel Vadot 451*f126890aSEmmanuel Vadot can1_pins_a: can1-0 { 452*f126890aSEmmanuel Vadot pins1 { 453*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 9, AF9)>; /* CAN1_TX */ 454*f126890aSEmmanuel Vadot }; 455*f126890aSEmmanuel Vadot pins2 { 456*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 8, AF9)>; /* CAN1_RX */ 457*f126890aSEmmanuel Vadot bias-pull-up; 458*f126890aSEmmanuel Vadot }; 459*f126890aSEmmanuel Vadot }; 460*f126890aSEmmanuel Vadot 461*f126890aSEmmanuel Vadot can2_pins_a: can2-0 { 462*f126890aSEmmanuel Vadot pins1 { 463*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 13, AF9)>; /* CAN2_TX */ 464*f126890aSEmmanuel Vadot }; 465*f126890aSEmmanuel Vadot pins2 { 466*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 5, AF9)>; /* CAN2_RX */ 467*f126890aSEmmanuel Vadot bias-pull-up; 468*f126890aSEmmanuel Vadot }; 469*f126890aSEmmanuel Vadot }; 470*f126890aSEmmanuel Vadot 471*f126890aSEmmanuel Vadot can2_pins_b: can2-1 { 472*f126890aSEmmanuel Vadot pins1 { 473*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 13, AF9)>; /* CAN2_TX */ 474*f126890aSEmmanuel Vadot }; 475*f126890aSEmmanuel Vadot pins2 { 476*f126890aSEmmanuel Vadot pinmux = <STM32_PINMUX('B', 12, AF9)>; /* CAN2_RX */ 477*f126890aSEmmanuel Vadot bias-pull-up; 478*f126890aSEmmanuel Vadot }; 479*f126890aSEmmanuel Vadot }; 480*f126890aSEmmanuel Vadot }; 481*f126890aSEmmanuel Vadot }; 482*f126890aSEmmanuel Vadot}; 483