1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 OR X11 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright 2017 (C) Priit Laes <plaes@plaes.org> 4*4882a593Smuzhiyun * Copyright 2018 (C) Pengutronix, Michael Grzeschik <mgr@pengutronix.de> 5*4882a593Smuzhiyun * Copyright 2019 (C) Pengutronix, Marco Felsch <kernel@pengutronix.de> 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Based on initial work by Nikita Yushchenko <nyushchenko at dev.rtsoft.ru> 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 11*4882a593Smuzhiyun#include <dt-bindings/sound/fsl-imx-audmux.h> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun/ { 14*4882a593Smuzhiyun reg_1p0v_s0: regulator-1p0v-s0 { 15*4882a593Smuzhiyun compatible = "regulator-fixed"; 16*4882a593Smuzhiyun regulator-name = "V_1V0_S0"; 17*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 18*4882a593Smuzhiyun regulator-max-microvolt = <1000000>; 19*4882a593Smuzhiyun regulator-always-on; 20*4882a593Smuzhiyun regulator-boot-on; 21*4882a593Smuzhiyun vin-supply = <®_smarc_suppy>; 22*4882a593Smuzhiyun }; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun reg_1p35v_vcoredig_s5: regulator-1p35v-vcoredig-s5 { 25*4882a593Smuzhiyun compatible = "regulator-fixed"; 26*4882a593Smuzhiyun regulator-name = "V_1V35_VCOREDIG_S5"; 27*4882a593Smuzhiyun regulator-min-microvolt = <1350000>; 28*4882a593Smuzhiyun regulator-max-microvolt = <1350000>; 29*4882a593Smuzhiyun regulator-always-on; 30*4882a593Smuzhiyun regulator-boot-on; 31*4882a593Smuzhiyun vin-supply = <®_3p3v_s5>; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun reg_1p8v_s5: regulator-1p8v-s5 { 35*4882a593Smuzhiyun compatible = "regulator-fixed"; 36*4882a593Smuzhiyun regulator-name = "V_1V8_S5"; 37*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 38*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 39*4882a593Smuzhiyun regulator-always-on; 40*4882a593Smuzhiyun regulator-boot-on; 41*4882a593Smuzhiyun vin-supply = <®_3p3v_s5>; 42*4882a593Smuzhiyun }; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun reg_3p3v_s0: regulator-3p3v-s0 { 45*4882a593Smuzhiyun compatible = "regulator-fixed"; 46*4882a593Smuzhiyun regulator-name = "V_3V3_S0"; 47*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 48*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 49*4882a593Smuzhiyun regulator-always-on; 50*4882a593Smuzhiyun regulator-boot-on; 51*4882a593Smuzhiyun vin-supply = <®_3p3v_s5>; 52*4882a593Smuzhiyun }; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun reg_3p3v_s5: regulator-3p3v-s5 { 55*4882a593Smuzhiyun compatible = "regulator-fixed"; 56*4882a593Smuzhiyun regulator-name = "V_3V3_S5"; 57*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 58*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 59*4882a593Smuzhiyun regulator-always-on; 60*4882a593Smuzhiyun regulator-boot-on; 61*4882a593Smuzhiyun vin-supply = <®_smarc_suppy>; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun reg_smarc_lcdbklt: regulator-smarc-lcdbklt { 65*4882a593Smuzhiyun compatible = "regulator-fixed"; 66*4882a593Smuzhiyun pinctrl-names = "default"; 67*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_lcdbklt_en>; 68*4882a593Smuzhiyun regulator-name = "LCD_BKLT_EN"; 69*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 70*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 71*4882a593Smuzhiyun gpio = <&gpio1 16 GPIO_ACTIVE_HIGH>; 72*4882a593Smuzhiyun enable-active-high; 73*4882a593Smuzhiyun }; 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun reg_smarc_lcdvdd: regulator-smarc-lcdvdd { 76*4882a593Smuzhiyun compatible = "regulator-fixed"; 77*4882a593Smuzhiyun pinctrl-names = "default"; 78*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_lcdvdd_en>; 79*4882a593Smuzhiyun regulator-name = "LCD_VDD_EN"; 80*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 81*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 82*4882a593Smuzhiyun gpio = <&gpio1 17 GPIO_ACTIVE_HIGH>; 83*4882a593Smuzhiyun enable-active-high; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun reg_smarc_rtc: regulator-smarc-rtc { 87*4882a593Smuzhiyun compatible = "regulator-fixed"; 88*4882a593Smuzhiyun regulator-name = "V_IN_RTC_BATT"; 89*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 90*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 91*4882a593Smuzhiyun regulator-always-on; 92*4882a593Smuzhiyun regulator-boot-on; 93*4882a593Smuzhiyun }; 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun /* Module supply range can be 3.00V ... 5.25V */ 96*4882a593Smuzhiyun reg_smarc_suppy: regulator-smarc-supply { 97*4882a593Smuzhiyun compatible = "regulator-fixed"; 98*4882a593Smuzhiyun regulator-name = "V_IN_WIDE"; 99*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 100*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 101*4882a593Smuzhiyun regulator-always-on; 102*4882a593Smuzhiyun regulator-boot-on; 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun lcd: lcd { 106*4882a593Smuzhiyun #address-cells = <1>; 107*4882a593Smuzhiyun #size-cells = <0>; 108*4882a593Smuzhiyun compatible = "fsl,imx-parallel-display"; 109*4882a593Smuzhiyun pinctrl-names = "default"; 110*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_lcd>; 111*4882a593Smuzhiyun status = "disabled"; 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun port@0 { 114*4882a593Smuzhiyun reg = <0>; 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun lcd_in: endpoint { 117*4882a593Smuzhiyun }; 118*4882a593Smuzhiyun }; 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun port@1 { 121*4882a593Smuzhiyun reg = <1>; 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun lcd_out: endpoint { 124*4882a593Smuzhiyun }; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun }; 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun lcd_backlight: lcd-backlight { 129*4882a593Smuzhiyun compatible = "pwm-backlight"; 130*4882a593Smuzhiyun pwms = <&pwm4 0 5000000 0>; 131*4882a593Smuzhiyun pwm-names = "LCD_BKLT_PWM"; 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; 134*4882a593Smuzhiyun default-brightness-level = <4>; 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun power-supply = <®_smarc_lcdbklt>; 137*4882a593Smuzhiyun status = "disabled"; 138*4882a593Smuzhiyun }; 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun i2c_intern: i2c-gpio-intern { 141*4882a593Smuzhiyun compatible = "i2c-gpio"; 142*4882a593Smuzhiyun pinctrl-names = "default"; 143*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c_gpio_intern>; 144*4882a593Smuzhiyun sda-gpios = <&gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 145*4882a593Smuzhiyun scl-gpios = <&gpio1 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 146*4882a593Smuzhiyun i2c-gpio,delay-us = <2>; /* ~100 kHz */ 147*4882a593Smuzhiyun #address-cells = <1>; 148*4882a593Smuzhiyun #size-cells = <0>; 149*4882a593Smuzhiyun }; 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun i2c_lcd: i2c-gpio-lcd { 152*4882a593Smuzhiyun compatible = "i2c-gpio"; 153*4882a593Smuzhiyun pinctrl-names = "default"; 154*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c_gpio_lcd>; 155*4882a593Smuzhiyun sda-gpios = <&gpio1 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 156*4882a593Smuzhiyun scl-gpios = <&gpio1 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 157*4882a593Smuzhiyun i2c-gpio,delay-us = <2>; /* ~100 kHz */ 158*4882a593Smuzhiyun #address-cells = <1>; 159*4882a593Smuzhiyun #size-cells = <0>; 160*4882a593Smuzhiyun status = "disabled"; 161*4882a593Smuzhiyun }; 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun i2c_cam: i2c-gpio-cam { 164*4882a593Smuzhiyun compatible = "i2c-gpio"; 165*4882a593Smuzhiyun pinctrl-names = "default"; 166*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c_gpio_cam>; 167*4882a593Smuzhiyun sda-gpios = <&gpio4 10 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 168*4882a593Smuzhiyun scl-gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 169*4882a593Smuzhiyun i2c-gpio,delay-us = <2>; /* ~100 kHz */ 170*4882a593Smuzhiyun #address-cells = <1>; 171*4882a593Smuzhiyun #size-cells = <0>; 172*4882a593Smuzhiyun status = "disabled"; 173*4882a593Smuzhiyun }; 174*4882a593Smuzhiyun}; 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun/* I2S0, I2S1 */ 177*4882a593Smuzhiyun&audmux { 178*4882a593Smuzhiyun pinctrl-names = "default"; 179*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_audmux>; 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun audmux_ssi1 { 182*4882a593Smuzhiyun fsl,audmux-port = <MX51_AUDMUX_PORT1_SSI0>; 183*4882a593Smuzhiyun fsl,port-config = < 184*4882a593Smuzhiyun (IMX_AUDMUX_V2_PTCR_TFSEL(MX51_AUDMUX_PORT3) | 185*4882a593Smuzhiyun IMX_AUDMUX_V2_PTCR_TCSEL(MX51_AUDMUX_PORT3) | 186*4882a593Smuzhiyun IMX_AUDMUX_V2_PTCR_SYN | 187*4882a593Smuzhiyun IMX_AUDMUX_V2_PTCR_TFSDIR | 188*4882a593Smuzhiyun IMX_AUDMUX_V2_PTCR_TCLKDIR) 189*4882a593Smuzhiyun IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT3) 190*4882a593Smuzhiyun >; 191*4882a593Smuzhiyun }; 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun audmux_adu3 { 194*4882a593Smuzhiyun fsl,audmux-port = <MX51_AUDMUX_PORT3>; 195*4882a593Smuzhiyun fsl,port-config = < 196*4882a593Smuzhiyun IMX_AUDMUX_V2_PTCR_SYN 197*4882a593Smuzhiyun IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT1_SSI0) 198*4882a593Smuzhiyun >; 199*4882a593Smuzhiyun }; 200*4882a593Smuzhiyun 201*4882a593Smuzhiyun audmux_ssi2 { 202*4882a593Smuzhiyun fsl,audmux-port = <MX51_AUDMUX_PORT2_SSI1>; 203*4882a593Smuzhiyun fsl,port-config = < 204*4882a593Smuzhiyun (IMX_AUDMUX_V2_PTCR_TFSEL(MX51_AUDMUX_PORT4) | 205*4882a593Smuzhiyun IMX_AUDMUX_V2_PTCR_TCSEL(MX51_AUDMUX_PORT4) | 206*4882a593Smuzhiyun IMX_AUDMUX_V2_PTCR_SYN | 207*4882a593Smuzhiyun IMX_AUDMUX_V2_PTCR_TFSDIR | 208*4882a593Smuzhiyun IMX_AUDMUX_V2_PTCR_TCLKDIR) 209*4882a593Smuzhiyun IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT4) 210*4882a593Smuzhiyun >; 211*4882a593Smuzhiyun }; 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun audmux_adu4 { 214*4882a593Smuzhiyun fsl,audmux-port = <MX51_AUDMUX_PORT4>; 215*4882a593Smuzhiyun fsl,port-config = < 216*4882a593Smuzhiyun IMX_AUDMUX_V2_PTCR_SYN 217*4882a593Smuzhiyun IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT2_SSI1) 218*4882a593Smuzhiyun >; 219*4882a593Smuzhiyun }; 220*4882a593Smuzhiyun}; 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun/* CAN0 */ 223*4882a593Smuzhiyun&can1 { 224*4882a593Smuzhiyun pinctrl-names = "default"; 225*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_flexcan1>; 226*4882a593Smuzhiyun}; 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun/* CAN1 */ 229*4882a593Smuzhiyun&can2 { 230*4882a593Smuzhiyun pinctrl-names = "default"; 231*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_flexcan2>; 232*4882a593Smuzhiyun}; 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun/* SPI1 */ 235*4882a593Smuzhiyun&ecspi2 { 236*4882a593Smuzhiyun pinctrl-names = "default"; 237*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_ecspi2>; 238*4882a593Smuzhiyun cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>, 239*4882a593Smuzhiyun <&gpio2 27 GPIO_ACTIVE_LOW>; 240*4882a593Smuzhiyun}; 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun/* SPI0 */ 243*4882a593Smuzhiyun&ecspi4 { 244*4882a593Smuzhiyun pinctrl-names = "default"; 245*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_ecspi4>; 246*4882a593Smuzhiyun cs-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>, 247*4882a593Smuzhiyun <&gpio3 29 GPIO_ACTIVE_LOW>; 248*4882a593Smuzhiyun status = "okay"; 249*4882a593Smuzhiyun 250*4882a593Smuzhiyun /* default boot source: workaround #1 for errata ERR006282 */ 251*4882a593Smuzhiyun smarc_flash: flash@0 { 252*4882a593Smuzhiyun compatible = "jedec,spi-nor"; 253*4882a593Smuzhiyun reg = <0>; 254*4882a593Smuzhiyun spi-max-frequency = <20000000>; 255*4882a593Smuzhiyun }; 256*4882a593Smuzhiyun}; 257*4882a593Smuzhiyun 258*4882a593Smuzhiyun/* GBE */ 259*4882a593Smuzhiyun&fec { 260*4882a593Smuzhiyun pinctrl-names = "default"; 261*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_enet>; 262*4882a593Smuzhiyun phy-mode = "rgmii"; 263*4882a593Smuzhiyun phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; 264*4882a593Smuzhiyun}; 265*4882a593Smuzhiyun 266*4882a593Smuzhiyun&i2c_intern { 267*4882a593Smuzhiyun pmic@8 { 268*4882a593Smuzhiyun compatible = "fsl,pfuze100"; 269*4882a593Smuzhiyun reg = <0x08>; 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun regulators { 272*4882a593Smuzhiyun reg_v_core_s0: sw1ab { 273*4882a593Smuzhiyun regulator-name = "V_CORE_S0"; 274*4882a593Smuzhiyun regulator-min-microvolt = <300000>; 275*4882a593Smuzhiyun regulator-max-microvolt = <1875000>; 276*4882a593Smuzhiyun regulator-boot-on; 277*4882a593Smuzhiyun regulator-always-on; 278*4882a593Smuzhiyun }; 279*4882a593Smuzhiyun 280*4882a593Smuzhiyun reg_vddsoc_s0: sw1c { 281*4882a593Smuzhiyun regulator-name = "V_VDDSOC_S0"; 282*4882a593Smuzhiyun regulator-min-microvolt = <300000>; 283*4882a593Smuzhiyun regulator-max-microvolt = <1875000>; 284*4882a593Smuzhiyun regulator-boot-on; 285*4882a593Smuzhiyun regulator-always-on; 286*4882a593Smuzhiyun }; 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun reg_3p15v_s0: sw2 { 289*4882a593Smuzhiyun regulator-name = "V_3V15_S0"; 290*4882a593Smuzhiyun regulator-min-microvolt = <800000>; 291*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 292*4882a593Smuzhiyun regulator-boot-on; 293*4882a593Smuzhiyun regulator-always-on; 294*4882a593Smuzhiyun }; 295*4882a593Smuzhiyun 296*4882a593Smuzhiyun /* sw3a/b is used in dual mode, but driver does not 297*4882a593Smuzhiyun * support it. Although, there's no need to control 298*4882a593Smuzhiyun * DDR power - so just leaving dummy entries for sw3a 299*4882a593Smuzhiyun * and sw3b for now. 300*4882a593Smuzhiyun */ 301*4882a593Smuzhiyun sw3a { 302*4882a593Smuzhiyun regulator-min-microvolt = <400000>; 303*4882a593Smuzhiyun regulator-max-microvolt = <1975000>; 304*4882a593Smuzhiyun regulator-boot-on; 305*4882a593Smuzhiyun regulator-always-on; 306*4882a593Smuzhiyun }; 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun sw3b { 309*4882a593Smuzhiyun regulator-min-microvolt = <400000>; 310*4882a593Smuzhiyun regulator-max-microvolt = <1975000>; 311*4882a593Smuzhiyun regulator-boot-on; 312*4882a593Smuzhiyun regulator-always-on; 313*4882a593Smuzhiyun }; 314*4882a593Smuzhiyun 315*4882a593Smuzhiyun reg_1p8v_s0: sw4 { 316*4882a593Smuzhiyun regulator-name = "V_1V8_S0"; 317*4882a593Smuzhiyun regulator-min-microvolt = <800000>; 318*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 319*4882a593Smuzhiyun regulator-boot-on; 320*4882a593Smuzhiyun regulator-always-on; 321*4882a593Smuzhiyun }; 322*4882a593Smuzhiyun 323*4882a593Smuzhiyun /* Regulator for USB */ 324*4882a593Smuzhiyun reg_5p0v_s0: swbst { 325*4882a593Smuzhiyun regulator-name = "V_5V0_S0"; 326*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 327*4882a593Smuzhiyun regulator-max-microvolt = <5150000>; 328*4882a593Smuzhiyun regulator-boot-on; 329*4882a593Smuzhiyun }; 330*4882a593Smuzhiyun 331*4882a593Smuzhiyun reg_vsnvs: vsnvs { 332*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 333*4882a593Smuzhiyun regulator-max-microvolt = <3000000>; 334*4882a593Smuzhiyun regulator-boot-on; 335*4882a593Smuzhiyun regulator-always-on; 336*4882a593Smuzhiyun }; 337*4882a593Smuzhiyun 338*4882a593Smuzhiyun reg_vrefddr: vrefddr { 339*4882a593Smuzhiyun regulator-boot-on; 340*4882a593Smuzhiyun regulator-always-on; 341*4882a593Smuzhiyun }; 342*4882a593Smuzhiyun 343*4882a593Smuzhiyun /* 344*4882a593Smuzhiyun * Per schematics, of all VGEN's, only VGEN5 has some 345*4882a593Smuzhiyun * usage ... but even that - over DNI resistor 346*4882a593Smuzhiyun */ 347*4882a593Smuzhiyun vgen1 { 348*4882a593Smuzhiyun regulator-min-microvolt = <800000>; 349*4882a593Smuzhiyun regulator-max-microvolt = <1550000>; 350*4882a593Smuzhiyun }; 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun vgen2 { 353*4882a593Smuzhiyun regulator-min-microvolt = <800000>; 354*4882a593Smuzhiyun regulator-max-microvolt = <1550000>; 355*4882a593Smuzhiyun }; 356*4882a593Smuzhiyun 357*4882a593Smuzhiyun vgen3 { 358*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 359*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 360*4882a593Smuzhiyun }; 361*4882a593Smuzhiyun 362*4882a593Smuzhiyun vgen4 { 363*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 364*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 365*4882a593Smuzhiyun }; 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun reg_2p5v_s0: vgen5 { 368*4882a593Smuzhiyun regulator-name = "V_2V5_S0"; 369*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 370*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 371*4882a593Smuzhiyun }; 372*4882a593Smuzhiyun 373*4882a593Smuzhiyun vgen6 { 374*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 375*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 376*4882a593Smuzhiyun }; 377*4882a593Smuzhiyun }; 378*4882a593Smuzhiyun }; 379*4882a593Smuzhiyun}; 380*4882a593Smuzhiyun 381*4882a593Smuzhiyun/* I2C_GP */ 382*4882a593Smuzhiyun&i2c1 { 383*4882a593Smuzhiyun clock-frequency = <100000>; 384*4882a593Smuzhiyun pinctrl-names = "default"; 385*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c1>; 386*4882a593Smuzhiyun}; 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun/* HDMI_CTRL */ 389*4882a593Smuzhiyun&i2c2 { 390*4882a593Smuzhiyun clock-frequency = <100000>; 391*4882a593Smuzhiyun pinctrl-names = "default"; 392*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c2>; 393*4882a593Smuzhiyun}; 394*4882a593Smuzhiyun 395*4882a593Smuzhiyun/* I2C_PM */ 396*4882a593Smuzhiyun&i2c3 { 397*4882a593Smuzhiyun clock-frequency = <100000>; 398*4882a593Smuzhiyun pinctrl-names = "default"; 399*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_i2c3>; 400*4882a593Smuzhiyun status = "okay"; 401*4882a593Smuzhiyun 402*4882a593Smuzhiyun smarc_eeprom: eeprom@50 { 403*4882a593Smuzhiyun compatible = "atmel,24c32"; 404*4882a593Smuzhiyun reg = <0x50>; 405*4882a593Smuzhiyun pagesize = <32>; 406*4882a593Smuzhiyun }; 407*4882a593Smuzhiyun}; 408*4882a593Smuzhiyun 409*4882a593Smuzhiyun&iomuxc { 410*4882a593Smuzhiyun pinctrl-names = "default"; 411*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_mgmt_gpios &pinctrl_gpio>; 412*4882a593Smuzhiyun 413*4882a593Smuzhiyun pinctrl_audmux: audmuxgrp { 414*4882a593Smuzhiyun fsl,pins = < 415*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0 416*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x130b0 417*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0 418*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0 419*4882a593Smuzhiyun 420*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT20__AUD4_TXC 0x130b0 421*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT21__AUD4_TXD 0x130b0 422*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS 0x130b0 423*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT23__AUD4_RXD 0x130b0 424*4882a593Smuzhiyun 425*4882a593Smuzhiyun /* AUDIO MCLK */ 426*4882a593Smuzhiyun MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x000b0 427*4882a593Smuzhiyun >; 428*4882a593Smuzhiyun }; 429*4882a593Smuzhiyun 430*4882a593Smuzhiyun pinctrl_ecspi2: ecspi2grp { 431*4882a593Smuzhiyun fsl,pins = < 432*4882a593Smuzhiyun MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1 433*4882a593Smuzhiyun MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1 434*4882a593Smuzhiyun MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1 435*4882a593Smuzhiyun 436*4882a593Smuzhiyun MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x1b0b0 /* CS0 */ 437*4882a593Smuzhiyun MX6QDL_PAD_EIM_LBA__GPIO2_IO27 0x1b0b0 /* CS1 */ 438*4882a593Smuzhiyun >; 439*4882a593Smuzhiyun }; 440*4882a593Smuzhiyun 441*4882a593Smuzhiyun pinctrl_ecspi4: ecspi4grp { 442*4882a593Smuzhiyun fsl,pins = < 443*4882a593Smuzhiyun MX6QDL_PAD_EIM_D21__ECSPI4_SCLK 0x100b1 444*4882a593Smuzhiyun MX6QDL_PAD_EIM_D28__ECSPI4_MOSI 0x100b1 445*4882a593Smuzhiyun MX6QDL_PAD_EIM_D22__ECSPI4_MISO 0x100b1 446*4882a593Smuzhiyun 447*4882a593Smuzhiyun /* SPI_IMX_CS2# - connected to internal flash */ 448*4882a593Smuzhiyun MX6QDL_PAD_EIM_D24__GPIO3_IO24 0x1b0b0 449*4882a593Smuzhiyun /* SPI_IMX_CS0# - connected to SMARC SPI0_CS0# */ 450*4882a593Smuzhiyun MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x1b0b0 451*4882a593Smuzhiyun >; 452*4882a593Smuzhiyun }; 453*4882a593Smuzhiyun 454*4882a593Smuzhiyun pinctrl_flexcan1: flexcan1grp { 455*4882a593Smuzhiyun fsl,pins = < 456*4882a593Smuzhiyun MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x1b0b0 457*4882a593Smuzhiyun MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x1b0b0 458*4882a593Smuzhiyun >; 459*4882a593Smuzhiyun }; 460*4882a593Smuzhiyun 461*4882a593Smuzhiyun pinctrl_flexcan2: flexcan2grp { 462*4882a593Smuzhiyun fsl,pins = < 463*4882a593Smuzhiyun MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x1b0b0 464*4882a593Smuzhiyun MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b0b0 465*4882a593Smuzhiyun >; 466*4882a593Smuzhiyun }; 467*4882a593Smuzhiyun 468*4882a593Smuzhiyun pinctrl_gpio: gpiogrp { 469*4882a593Smuzhiyun fsl,pins = < 470*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0x1b0b0 /* GPIO0 / CAM0_PWR# */ 471*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA1__GPIO3_IO01 0x1b0b0 /* GPIO1 / CAM1_PWR# */ 472*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA2__GPIO3_IO02 0x1b0b0 /* GPIO2 / CAM0_RST# */ 473*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA3__GPIO3_IO03 0x1b0b0 /* GPIO3 / CAM1_RST# */ 474*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0x1b0b0 /* GPIO4 / HDA_RST# */ 475*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA5__GPIO3_IO05 0x1b0b0 /* GPIO5 / PWM_OUT */ 476*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA6__GPIO3_IO06 0x1b0b0 /* GPIO6 / TACHIN */ 477*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA7__GPIO3_IO07 0x1b0b0 /* GPIO7 / PCAM_FLD */ 478*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x1b0b0 /* GPIO8 / CAN0_ERR# */ 479*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x1b0b0 /* GPIO9 / CAN1_ERR# */ 480*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA10__GPIO3_IO10 0x1b0b0 /* GPIO10 */ 481*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA11__GPIO3_IO11 0x1b0b0 /* GPIO11 */ 482*4882a593Smuzhiyun >; 483*4882a593Smuzhiyun }; 484*4882a593Smuzhiyun 485*4882a593Smuzhiyun pinctrl_enet: enetgrp { 486*4882a593Smuzhiyun fsl,pins = < 487*4882a593Smuzhiyun MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0 488*4882a593Smuzhiyun MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0 489*4882a593Smuzhiyun MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0 490*4882a593Smuzhiyun MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0 491*4882a593Smuzhiyun MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0 492*4882a593Smuzhiyun MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0 493*4882a593Smuzhiyun MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0 494*4882a593Smuzhiyun MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0 495*4882a593Smuzhiyun MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0 496*4882a593Smuzhiyun MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0 497*4882a593Smuzhiyun MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0 498*4882a593Smuzhiyun MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0 499*4882a593Smuzhiyun 500*4882a593Smuzhiyun MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 501*4882a593Smuzhiyun MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 502*4882a593Smuzhiyun MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0 503*4882a593Smuzhiyun MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x1b0b0 /* RST_GBE0_PHY# */ 504*4882a593Smuzhiyun >; 505*4882a593Smuzhiyun }; 506*4882a593Smuzhiyun 507*4882a593Smuzhiyun pinctrl_i2c_gpio_cam: i2c-gpiocamgrp { 508*4882a593Smuzhiyun fsl,pins = < 509*4882a593Smuzhiyun MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0 /* SCL */ 510*4882a593Smuzhiyun MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x1b0b0 /* SDA */ 511*4882a593Smuzhiyun >; 512*4882a593Smuzhiyun }; 513*4882a593Smuzhiyun 514*4882a593Smuzhiyun pinctrl_i2c_gpio_intern: i2c-gpiointerngrp { 515*4882a593Smuzhiyun fsl,pins = < 516*4882a593Smuzhiyun MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x1b0b0 /* SCL */ 517*4882a593Smuzhiyun MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x1b0b0 /* SDA */ 518*4882a593Smuzhiyun >; 519*4882a593Smuzhiyun }; 520*4882a593Smuzhiyun 521*4882a593Smuzhiyun pinctrl_i2c_gpio_lcd: i2c-gpiolcdgrp { 522*4882a593Smuzhiyun fsl,pins = < 523*4882a593Smuzhiyun MX6QDL_PAD_SD1_DAT2__GPIO1_IO19 0x1b0b0 /* SCL */ 524*4882a593Smuzhiyun MX6QDL_PAD_SD1_DAT3__GPIO1_IO21 0x1b0b0 /* SDA */ 525*4882a593Smuzhiyun >; 526*4882a593Smuzhiyun }; 527*4882a593Smuzhiyun 528*4882a593Smuzhiyun pinctrl_i2c1: i2c1grp { 529*4882a593Smuzhiyun fsl,pins = < 530*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1 531*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1 532*4882a593Smuzhiyun >; 533*4882a593Smuzhiyun }; 534*4882a593Smuzhiyun 535*4882a593Smuzhiyun pinctrl_i2c2: i2c2grp { 536*4882a593Smuzhiyun fsl,pins = < 537*4882a593Smuzhiyun MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 538*4882a593Smuzhiyun MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 539*4882a593Smuzhiyun >; 540*4882a593Smuzhiyun }; 541*4882a593Smuzhiyun 542*4882a593Smuzhiyun pinctrl_i2c3: i2c3grp { 543*4882a593Smuzhiyun fsl,pins = < 544*4882a593Smuzhiyun MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1 545*4882a593Smuzhiyun MX6QDL_PAD_GPIO_16__I2C3_SDA 0x4001b8b1 546*4882a593Smuzhiyun >; 547*4882a593Smuzhiyun }; 548*4882a593Smuzhiyun 549*4882a593Smuzhiyun pinctrl_lcd: lcdgrp { 550*4882a593Smuzhiyun fsl,pins = < 551*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x100f1 552*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x100f1 553*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x100f1 554*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x100f1 555*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x100f1 556*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x100f1 557*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x100f1 558*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x100f1 559*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x100f1 560*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x100f1 561*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x100f1 562*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x100f1 563*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x100f1 564*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x100f1 565*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x100f1 566*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x100f1 567*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x100f1 568*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x100f1 569*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x100f1 570*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x100f1 571*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x100f1 572*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x100f1 573*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x100f1 574*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x100f1 575*4882a593Smuzhiyun 576*4882a593Smuzhiyun MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x100f1 577*4882a593Smuzhiyun MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x100f1 /* DE */ 578*4882a593Smuzhiyun MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x100f1 /* HSYNC */ 579*4882a593Smuzhiyun MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x100f1 /* VSYNC */ 580*4882a593Smuzhiyun >; 581*4882a593Smuzhiyun }; 582*4882a593Smuzhiyun 583*4882a593Smuzhiyun pinctrl_lcdbklt_en: lcdbkltengrp { 584*4882a593Smuzhiyun fsl,pins = < 585*4882a593Smuzhiyun MX6QDL_PAD_SD1_DAT0__GPIO1_IO16 0x1b0b1 586*4882a593Smuzhiyun >; 587*4882a593Smuzhiyun }; 588*4882a593Smuzhiyun 589*4882a593Smuzhiyun pinctrl_lcdvdd_en: lcdvddengrp { 590*4882a593Smuzhiyun fsl,pins = < 591*4882a593Smuzhiyun MX6QDL_PAD_SD1_DAT1__GPIO1_IO17 0x1b0b0 592*4882a593Smuzhiyun >; 593*4882a593Smuzhiyun }; 594*4882a593Smuzhiyun 595*4882a593Smuzhiyun pinctrl_mipi_csi: mipi-csigrp { 596*4882a593Smuzhiyun fsl,pins = < 597*4882a593Smuzhiyun MX6QDL_PAD_CSI0_MCLK__CCM_CLKO1 0x000b0 /* CSI0/1 MCLK */ 598*4882a593Smuzhiyun >; 599*4882a593Smuzhiyun }; 600*4882a593Smuzhiyun 601*4882a593Smuzhiyun pinctrl_mgmt_gpios: mgmt-gpiosgrp { 602*4882a593Smuzhiyun fsl,pins = < 603*4882a593Smuzhiyun MX6QDL_PAD_EIM_WAIT__GPIO5_IO00 0x1b0b0 /* LID# */ 604*4882a593Smuzhiyun MX6QDL_PAD_SD3_DAT7__GPIO6_IO17 0x1b0b0 /* SLEEP# */ 605*4882a593Smuzhiyun MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x1b0b0 /* CHARGING# */ 606*4882a593Smuzhiyun MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0 /* CHARGER_PRSNT# */ 607*4882a593Smuzhiyun MX6QDL_PAD_SD1_CLK__GPIO1_IO20 0x1b0b0 /* CARRIER_STBY# */ 608*4882a593Smuzhiyun MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x1b0b0 /* BATLOW# */ 609*4882a593Smuzhiyun MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21 0x1b0b0 /* TEST# */ 610*4882a593Smuzhiyun MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b0b0 /* VDD_IO_SEL_D# */ 611*4882a593Smuzhiyun MX6QDL_PAD_NANDF_CS3__GPIO6_IO16 0x1b0b0 /* POWER_BTN# */ 612*4882a593Smuzhiyun >; 613*4882a593Smuzhiyun }; 614*4882a593Smuzhiyun 615*4882a593Smuzhiyun pinctrl_pcie: pciegrp { 616*4882a593Smuzhiyun fsl,pins = < 617*4882a593Smuzhiyun MX6QDL_PAD_EIM_D18__GPIO3_IO18 0x1b0b0 /* PCI_A_PRSNT# */ 618*4882a593Smuzhiyun MX6QDL_PAD_EIM_DA13__GPIO3_IO13 0x1b0b0 /* RST_PCIE_A# */ 619*4882a593Smuzhiyun MX6QDL_PAD_SD3_DAT6__GPIO6_IO18 0x1b0b0 /* PCIE_WAKE# */ 620*4882a593Smuzhiyun >; 621*4882a593Smuzhiyun }; 622*4882a593Smuzhiyun 623*4882a593Smuzhiyun pinctrl_pwm4: pwm4grp { 624*4882a593Smuzhiyun fsl,pins = < 625*4882a593Smuzhiyun MX6QDL_PAD_SD1_CMD__PWM4_OUT 0x1b0b1 626*4882a593Smuzhiyun >; 627*4882a593Smuzhiyun }; 628*4882a593Smuzhiyun 629*4882a593Smuzhiyun pinctrl_uart1: uart1grp { 630*4882a593Smuzhiyun fsl,pins = < 631*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 632*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1 633*4882a593Smuzhiyun MX6QDL_PAD_EIM_D20__UART1_RTS_B 0x1b0b1 634*4882a593Smuzhiyun MX6QDL_PAD_EIM_D19__UART1_CTS_B 0x1b0b1 635*4882a593Smuzhiyun >; 636*4882a593Smuzhiyun }; 637*4882a593Smuzhiyun 638*4882a593Smuzhiyun pinctrl_uart2: uart2grp { 639*4882a593Smuzhiyun fsl,pins = < 640*4882a593Smuzhiyun MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1 641*4882a593Smuzhiyun MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1 642*4882a593Smuzhiyun >; 643*4882a593Smuzhiyun }; 644*4882a593Smuzhiyun 645*4882a593Smuzhiyun pinctrl_uart4: uart4grp { 646*4882a593Smuzhiyun fsl,pins = < 647*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1 648*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1 649*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B 0x1b0b1 650*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B 0x1b0b1 651*4882a593Smuzhiyun >; 652*4882a593Smuzhiyun }; 653*4882a593Smuzhiyun 654*4882a593Smuzhiyun pinctrl_uart5: uart5grp { 655*4882a593Smuzhiyun fsl,pins = < 656*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA 0x1b0b1 657*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA 0x1b0b1 658*4882a593Smuzhiyun >; 659*4882a593Smuzhiyun }; 660*4882a593Smuzhiyun 661*4882a593Smuzhiyun pinctrl_usbotg: usbotggrp { 662*4882a593Smuzhiyun fsl,pins = < 663*4882a593Smuzhiyun MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x1f8b0 664*4882a593Smuzhiyun /* power, oc muxed but not used by the driver */ 665*4882a593Smuzhiyun MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18 0x1b0b0 /* USB power */ 666*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x1b0b0 /* USB OC */ 667*4882a593Smuzhiyun >; 668*4882a593Smuzhiyun }; 669*4882a593Smuzhiyun 670*4882a593Smuzhiyun pinctrl_usdhc3: usdhc3grp { 671*4882a593Smuzhiyun fsl,pins = < 672*4882a593Smuzhiyun MX6QDL_PAD_SD3_CLK__SD3_CLK 0x17059 673*4882a593Smuzhiyun MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 674*4882a593Smuzhiyun MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 675*4882a593Smuzhiyun MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 676*4882a593Smuzhiyun MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 677*4882a593Smuzhiyun MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 678*4882a593Smuzhiyun 679*4882a593Smuzhiyun MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x1b0b0 /* CD */ 680*4882a593Smuzhiyun MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x1b0b0 /* WP */ 681*4882a593Smuzhiyun MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x1b0b0 /* PWR_EN */ 682*4882a593Smuzhiyun >; 683*4882a593Smuzhiyun }; 684*4882a593Smuzhiyun 685*4882a593Smuzhiyun pinctrl_usdhc4: usdhc4grp { 686*4882a593Smuzhiyun fsl,pins = < 687*4882a593Smuzhiyun MX6QDL_PAD_SD4_CLK__SD4_CLK 0x17059 688*4882a593Smuzhiyun MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059 689*4882a593Smuzhiyun MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059 690*4882a593Smuzhiyun MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059 691*4882a593Smuzhiyun MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059 692*4882a593Smuzhiyun MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059 693*4882a593Smuzhiyun MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059 694*4882a593Smuzhiyun MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059 695*4882a593Smuzhiyun MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059 696*4882a593Smuzhiyun MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059 697*4882a593Smuzhiyun >; 698*4882a593Smuzhiyun }; 699*4882a593Smuzhiyun 700*4882a593Smuzhiyun pinctrl_wdog1: wdog1rp { 701*4882a593Smuzhiyun fsl,pins = < 702*4882a593Smuzhiyun MX6QDL_PAD_GPIO_9__WDOG1_B 0x1b0b0 703*4882a593Smuzhiyun >; 704*4882a593Smuzhiyun }; 705*4882a593Smuzhiyun}; 706*4882a593Smuzhiyun 707*4882a593Smuzhiyun&mipi_csi { 708*4882a593Smuzhiyun pinctrl-names = "default"; 709*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_mipi_csi>; 710*4882a593Smuzhiyun}; 711*4882a593Smuzhiyun 712*4882a593Smuzhiyun&pcie { 713*4882a593Smuzhiyun pinctrl-names = "default"; 714*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_pcie>; 715*4882a593Smuzhiyun wake-up-gpio = <&gpio6 18 GPIO_ACTIVE_HIGH>; 716*4882a593Smuzhiyun reset-gpio = <&gpio3 13 GPIO_ACTIVE_HIGH>; 717*4882a593Smuzhiyun}; 718*4882a593Smuzhiyun 719*4882a593Smuzhiyun/* LCD_BKLT_PWM */ 720*4882a593Smuzhiyun&pwm4 { 721*4882a593Smuzhiyun pinctrl-names = "default"; 722*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_pwm4>; 723*4882a593Smuzhiyun}; 724*4882a593Smuzhiyun 725*4882a593Smuzhiyun®_arm { 726*4882a593Smuzhiyun vin-supply = <®_v_core_s0>; 727*4882a593Smuzhiyun}; 728*4882a593Smuzhiyun 729*4882a593Smuzhiyun®_pu { 730*4882a593Smuzhiyun vin-supply = <®_vddsoc_s0>; 731*4882a593Smuzhiyun}; 732*4882a593Smuzhiyun 733*4882a593Smuzhiyun®_soc { 734*4882a593Smuzhiyun vin-supply = <®_vddsoc_s0>; 735*4882a593Smuzhiyun}; 736*4882a593Smuzhiyun 737*4882a593Smuzhiyun/* SER0 */ 738*4882a593Smuzhiyun&uart1 { 739*4882a593Smuzhiyun pinctrl-names = "default"; 740*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_uart1>; 741*4882a593Smuzhiyun uart-has-rtscts; 742*4882a593Smuzhiyun}; 743*4882a593Smuzhiyun 744*4882a593Smuzhiyun/* SER1 */ 745*4882a593Smuzhiyun&uart2 { 746*4882a593Smuzhiyun pinctrl-names = "default"; 747*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_uart2>; 748*4882a593Smuzhiyun}; 749*4882a593Smuzhiyun 750*4882a593Smuzhiyun/* SER2 */ 751*4882a593Smuzhiyun&uart4 { 752*4882a593Smuzhiyun pinctrl-names = "default"; 753*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_uart4>; 754*4882a593Smuzhiyun uart-has-rtscts; 755*4882a593Smuzhiyun}; 756*4882a593Smuzhiyun 757*4882a593Smuzhiyun/* SER3 */ 758*4882a593Smuzhiyun&uart5 { 759*4882a593Smuzhiyun pinctrl-names = "default"; 760*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_uart5>; 761*4882a593Smuzhiyun}; 762*4882a593Smuzhiyun 763*4882a593Smuzhiyun/* USB0 */ 764*4882a593Smuzhiyun&usbotg { 765*4882a593Smuzhiyun /* 766*4882a593Smuzhiyun * no 'imx6-usb-charger-detection' 767*4882a593Smuzhiyun * since USB_OTG_CHD_B pin is not wired 768*4882a593Smuzhiyun */ 769*4882a593Smuzhiyun pinctrl-names = "default"; 770*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_usbotg>; 771*4882a593Smuzhiyun}; 772*4882a593Smuzhiyun 773*4882a593Smuzhiyun/* USB1/2 via hub */ 774*4882a593Smuzhiyun&usbh1 { 775*4882a593Smuzhiyun vbus-supply = <®_5p0v_s0>; 776*4882a593Smuzhiyun}; 777*4882a593Smuzhiyun 778*4882a593Smuzhiyun/* SDIO */ 779*4882a593Smuzhiyun&usdhc3 { 780*4882a593Smuzhiyun pinctrl-names = "default"; 781*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_usdhc3>; 782*4882a593Smuzhiyun cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>; 783*4882a593Smuzhiyun wp-gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; 784*4882a593Smuzhiyun no-1-8-v; 785*4882a593Smuzhiyun}; 786*4882a593Smuzhiyun 787*4882a593Smuzhiyun/* SDMMC */ 788*4882a593Smuzhiyun&usdhc4 { 789*4882a593Smuzhiyun /* Internal eMMC, optional on some boards */ 790*4882a593Smuzhiyun pinctrl-names = "default"; 791*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_usdhc4>; 792*4882a593Smuzhiyun bus-width = <8>; 793*4882a593Smuzhiyun no-sdio; 794*4882a593Smuzhiyun no-sd; 795*4882a593Smuzhiyun non-removable; 796*4882a593Smuzhiyun vmmc-supply = <®_3p3v_s0>; 797*4882a593Smuzhiyun vqmmc-supply = <®_1p8v_s0>; 798*4882a593Smuzhiyun}; 799*4882a593Smuzhiyun 800*4882a593Smuzhiyun&wdog1 { 801*4882a593Smuzhiyun /* CPLD is feeded by watchdog (hardwired) */ 802*4882a593Smuzhiyun pinctrl-names = "default"; 803*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_wdog1>; 804*4882a593Smuzhiyun status = "okay"; 805*4882a593Smuzhiyun}; 806