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