1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright 2014 FEDEVEL, Inc. 4*724ba675SRob Herring * 5*724ba675SRob Herring * Author: Robert Nelson <robertcnelson@gmail.com> 6*724ba675SRob Herring */ 7*724ba675SRob Herring 8*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 9*724ba675SRob Herring#include <dt-bindings/input/input.h> 10*724ba675SRob Herring 11*724ba675SRob Herring/ { 12*724ba675SRob Herring chosen { 13*724ba675SRob Herring stdout-path = &uart1; 14*724ba675SRob Herring }; 15*724ba675SRob Herring 16*724ba675SRob Herring regulators { 17*724ba675SRob Herring compatible = "simple-bus"; 18*724ba675SRob Herring #address-cells = <1>; 19*724ba675SRob Herring #size-cells = <0>; 20*724ba675SRob Herring 21*724ba675SRob Herring reg_3p3v: regulator@0 { 22*724ba675SRob Herring compatible = "regulator-fixed"; 23*724ba675SRob Herring reg = <0>; 24*724ba675SRob Herring regulator-name = "3P3V"; 25*724ba675SRob Herring regulator-min-microvolt = <3300000>; 26*724ba675SRob Herring regulator-max-microvolt = <3300000>; 27*724ba675SRob Herring regulator-always-on; 28*724ba675SRob Herring }; 29*724ba675SRob Herring 30*724ba675SRob Herring reg_usbh1_vbus: regulator@1 { 31*724ba675SRob Herring compatible = "regulator-fixed"; 32*724ba675SRob Herring reg = <1>; 33*724ba675SRob Herring pinctrl-names = "default"; 34*724ba675SRob Herring regulator-name = "usbh1_vbus"; 35*724ba675SRob Herring regulator-min-microvolt = <5000000>; 36*724ba675SRob Herring regulator-max-microvolt = <5000000>; 37*724ba675SRob Herring gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>; 38*724ba675SRob Herring enable-active-high; 39*724ba675SRob Herring }; 40*724ba675SRob Herring 41*724ba675SRob Herring reg_usb_otg_vbus: regulator@2 { 42*724ba675SRob Herring compatible = "regulator-fixed"; 43*724ba675SRob Herring reg = <2>; 44*724ba675SRob Herring pinctrl-names = "default"; 45*724ba675SRob Herring regulator-name = "usb_otg_vbus"; 46*724ba675SRob Herring regulator-min-microvolt = <5000000>; 47*724ba675SRob Herring regulator-max-microvolt = <5000000>; 48*724ba675SRob Herring gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; 49*724ba675SRob Herring enable-active-high; 50*724ba675SRob Herring }; 51*724ba675SRob Herring }; 52*724ba675SRob Herring 53*724ba675SRob Herring leds { 54*724ba675SRob Herring compatible = "gpio-leds"; 55*724ba675SRob Herring pinctrl-names = "default"; 56*724ba675SRob Herring pinctrl-0 = <&pinctrl_led>; 57*724ba675SRob Herring 58*724ba675SRob Herring led0: led-usr { 59*724ba675SRob Herring label = "usr"; 60*724ba675SRob Herring gpios = <&gpio1 2 GPIO_ACTIVE_LOW>; 61*724ba675SRob Herring default-state = "off"; 62*724ba675SRob Herring linux,default-trigger = "heartbeat"; 63*724ba675SRob Herring }; 64*724ba675SRob Herring }; 65*724ba675SRob Herring 66*724ba675SRob Herring sound { 67*724ba675SRob Herring compatible = "fsl,imx6-rex-sgtl5000", 68*724ba675SRob Herring "fsl,imx-audio-sgtl5000"; 69*724ba675SRob Herring model = "imx6-rex-sgtl5000"; 70*724ba675SRob Herring ssi-controller = <&ssi1>; 71*724ba675SRob Herring audio-codec = <&codec>; 72*724ba675SRob Herring audio-routing = 73*724ba675SRob Herring "MIC_IN", "Mic Jack", 74*724ba675SRob Herring "Mic Jack", "Mic Bias", 75*724ba675SRob Herring "Headphone Jack", "HP_OUT"; 76*724ba675SRob Herring mux-int-port = <1>; 77*724ba675SRob Herring mux-ext-port = <3>; 78*724ba675SRob Herring }; 79*724ba675SRob Herring}; 80*724ba675SRob Herring 81*724ba675SRob Herring&audmux { 82*724ba675SRob Herring pinctrl-names = "default"; 83*724ba675SRob Herring pinctrl-0 = <&pinctrl_audmux>; 84*724ba675SRob Herring status = "okay"; 85*724ba675SRob Herring}; 86*724ba675SRob Herring 87*724ba675SRob Herring&ecspi2 { 88*724ba675SRob Herring cs-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>; 89*724ba675SRob Herring pinctrl-names = "default"; 90*724ba675SRob Herring pinctrl-0 = <&pinctrl_ecspi2>; 91*724ba675SRob Herring status = "okay"; 92*724ba675SRob Herring}; 93*724ba675SRob Herring 94*724ba675SRob Herring&ecspi3 { 95*724ba675SRob Herring cs-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>; 96*724ba675SRob Herring pinctrl-names = "default"; 97*724ba675SRob Herring pinctrl-0 = <&pinctrl_ecspi3>; 98*724ba675SRob Herring status = "okay"; 99*724ba675SRob Herring}; 100*724ba675SRob Herring 101*724ba675SRob Herring&fec { 102*724ba675SRob Herring pinctrl-names = "default"; 103*724ba675SRob Herring pinctrl-0 = <&pinctrl_enet>; 104*724ba675SRob Herring phy-mode = "rgmii"; 105*724ba675SRob Herring phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; 106*724ba675SRob Herring status = "okay"; 107*724ba675SRob Herring}; 108*724ba675SRob Herring 109*724ba675SRob Herring&hdmi { 110*724ba675SRob Herring ddc-i2c-bus = <&i2c2>; 111*724ba675SRob Herring status = "okay"; 112*724ba675SRob Herring}; 113*724ba675SRob Herring 114*724ba675SRob Herring&i2c1 { 115*724ba675SRob Herring clock-frequency = <100000>; 116*724ba675SRob Herring pinctrl-names = "default"; 117*724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c1>; 118*724ba675SRob Herring status = "okay"; 119*724ba675SRob Herring 120*724ba675SRob Herring codec: sgtl5000@a { 121*724ba675SRob Herring compatible = "fsl,sgtl5000"; 122*724ba675SRob Herring reg = <0x0a>; 123*724ba675SRob Herring clocks = <&clks IMX6QDL_CLK_CKO>; 124*724ba675SRob Herring VDDA-supply = <®_3p3v>; 125*724ba675SRob Herring VDDIO-supply = <®_3p3v>; 126*724ba675SRob Herring }; 127*724ba675SRob Herring}; 128*724ba675SRob Herring 129*724ba675SRob Herring&i2c2 { 130*724ba675SRob Herring clock-frequency = <100000>; 131*724ba675SRob Herring pinctrl-names = "default"; 132*724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c2>; 133*724ba675SRob Herring status = "okay"; 134*724ba675SRob Herring 135*724ba675SRob Herring pca9535: gpio-expander@27 { 136*724ba675SRob Herring compatible = "nxp,pca9535"; 137*724ba675SRob Herring reg = <0x27>; 138*724ba675SRob Herring gpio-controller; 139*724ba675SRob Herring #gpio-cells = <2>; 140*724ba675SRob Herring pinctrl-names = "default"; 141*724ba675SRob Herring pinctrl-0 = <&pinctrl_pca9535>; 142*724ba675SRob Herring interrupt-parent = <&gpio6>; 143*724ba675SRob Herring interrupts = <16 IRQ_TYPE_LEVEL_LOW>; 144*724ba675SRob Herring interrupt-controller; 145*724ba675SRob Herring #interrupt-cells = <2>; 146*724ba675SRob Herring }; 147*724ba675SRob Herring 148*724ba675SRob Herring eeprom@57 { 149*724ba675SRob Herring compatible = "atmel,24c02"; 150*724ba675SRob Herring reg = <0x57>; 151*724ba675SRob Herring }; 152*724ba675SRob Herring}; 153*724ba675SRob Herring 154*724ba675SRob Herring&i2c3 { 155*724ba675SRob Herring clock-frequency = <100000>; 156*724ba675SRob Herring pinctrl-names = "default"; 157*724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c3>; 158*724ba675SRob Herring status = "okay"; 159*724ba675SRob Herring}; 160*724ba675SRob Herring 161*724ba675SRob Herring&iomuxc { 162*724ba675SRob Herring pinctrl-names = "default"; 163*724ba675SRob Herring pinctrl-0 = <&pinctrl_hog>; 164*724ba675SRob Herring 165*724ba675SRob Herring imx6qdl-rex { 166*724ba675SRob Herring pinctrl_hog: hoggrp { 167*724ba675SRob Herring fsl,pins = < 168*724ba675SRob Herring /* SGTL5000 sys_mclk */ 169*724ba675SRob Herring MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x030b0 170*724ba675SRob Herring >; 171*724ba675SRob Herring }; 172*724ba675SRob Herring 173*724ba675SRob Herring pinctrl_audmux: audmuxgrp { 174*724ba675SRob Herring fsl,pins = < 175*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0 176*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0 177*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0 178*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0 179*724ba675SRob Herring >; 180*724ba675SRob Herring }; 181*724ba675SRob Herring 182*724ba675SRob Herring pinctrl_ecspi2: ecspi2grp { 183*724ba675SRob Herring fsl,pins = < 184*724ba675SRob Herring MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO 0x100b1 185*724ba675SRob Herring MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI 0x100b1 186*724ba675SRob Herring MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK 0x100b1 187*724ba675SRob Herring /* CS */ 188*724ba675SRob Herring MX6QDL_PAD_DISP0_DAT5__GPIO4_IO26 0x000b1 189*724ba675SRob Herring >; 190*724ba675SRob Herring }; 191*724ba675SRob Herring 192*724ba675SRob Herring pinctrl_ecspi3: ecspi3grp { 193*724ba675SRob Herring fsl,pins = < 194*724ba675SRob Herring MX6QDL_PAD_DISP0_DAT17__ECSPI2_MISO 0x100b1 195*724ba675SRob Herring MX6QDL_PAD_DISP0_DAT16__ECSPI2_MOSI 0x100b1 196*724ba675SRob Herring MX6QDL_PAD_DISP0_DAT19__ECSPI2_SCLK 0x100b1 197*724ba675SRob Herring /* CS */ 198*724ba675SRob Herring MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12 0x000b1 199*724ba675SRob Herring >; 200*724ba675SRob Herring }; 201*724ba675SRob Herring 202*724ba675SRob Herring pinctrl_enet: enetgrp { 203*724ba675SRob Herring fsl,pins = < 204*724ba675SRob Herring MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 205*724ba675SRob Herring MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 206*724ba675SRob Herring MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b030 207*724ba675SRob Herring MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030 208*724ba675SRob Herring MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030 209*724ba675SRob Herring MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030 210*724ba675SRob Herring MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b030 211*724ba675SRob Herring MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030 212*724ba675SRob Herring MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0 213*724ba675SRob Herring MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030 214*724ba675SRob Herring MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b030 215*724ba675SRob Herring MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b030 216*724ba675SRob Herring MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030 217*724ba675SRob Herring MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030 218*724ba675SRob Herring MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030 219*724ba675SRob Herring MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8 220*724ba675SRob Herring /* Phy reset */ 221*724ba675SRob Herring MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x000b0 222*724ba675SRob Herring >; 223*724ba675SRob Herring }; 224*724ba675SRob Herring 225*724ba675SRob Herring pinctrl_i2c1: i2c1grp { 226*724ba675SRob Herring fsl,pins = < 227*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1 228*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1 229*724ba675SRob Herring >; 230*724ba675SRob Herring }; 231*724ba675SRob Herring 232*724ba675SRob Herring pinctrl_i2c2: i2c2grp { 233*724ba675SRob Herring fsl,pins = < 234*724ba675SRob Herring MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 235*724ba675SRob Herring MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 236*724ba675SRob Herring >; 237*724ba675SRob Herring }; 238*724ba675SRob Herring 239*724ba675SRob Herring pinctrl_i2c3: i2c3grp { 240*724ba675SRob Herring fsl,pins = < 241*724ba675SRob Herring MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1 242*724ba675SRob Herring MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1 243*724ba675SRob Herring >; 244*724ba675SRob Herring }; 245*724ba675SRob Herring 246*724ba675SRob Herring pinctrl_led: ledgrp { 247*724ba675SRob Herring fsl,pins = < 248*724ba675SRob Herring /* user led */ 249*724ba675SRob Herring MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 250*724ba675SRob Herring >; 251*724ba675SRob Herring }; 252*724ba675SRob Herring 253*724ba675SRob Herring pinctrl_pca9535: pca9535grp { 254*724ba675SRob Herring fsl,pins = < 255*724ba675SRob Herring MX6QDL_PAD_NANDF_CS3__GPIO6_IO16 0x17059 256*724ba675SRob Herring >; 257*724ba675SRob Herring }; 258*724ba675SRob Herring 259*724ba675SRob Herring pinctrl_uart1: uart1grp { 260*724ba675SRob Herring fsl,pins = < 261*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1 262*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 263*724ba675SRob Herring >; 264*724ba675SRob Herring }; 265*724ba675SRob Herring 266*724ba675SRob Herring pinctrl_uart2: uart2grp { 267*724ba675SRob Herring fsl,pins = < 268*724ba675SRob Herring MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1 269*724ba675SRob Herring MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1 270*724ba675SRob Herring >; 271*724ba675SRob Herring }; 272*724ba675SRob Herring 273*724ba675SRob Herring pinctrl_usbh1: usbh1grp { 274*724ba675SRob Herring fsl,pins = < 275*724ba675SRob Herring /* power enable, high active */ 276*724ba675SRob Herring MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x10b0 277*724ba675SRob Herring >; 278*724ba675SRob Herring }; 279*724ba675SRob Herring 280*724ba675SRob Herring pinctrl_usbotg: usbotggrp { 281*724ba675SRob Herring fsl,pins = < 282*724ba675SRob Herring MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059 283*724ba675SRob Herring MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x1b0b0 284*724ba675SRob Herring /* power enable, high active */ 285*724ba675SRob Herring MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x10b0 286*724ba675SRob Herring >; 287*724ba675SRob Herring }; 288*724ba675SRob Herring 289*724ba675SRob Herring pinctrl_usdhc2: usdhc2grp { 290*724ba675SRob Herring fsl,pins = < 291*724ba675SRob Herring MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 292*724ba675SRob Herring MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 293*724ba675SRob Herring MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 294*724ba675SRob Herring MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 295*724ba675SRob Herring MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 296*724ba675SRob Herring MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059 297*724ba675SRob Herring /* CD */ 298*724ba675SRob Herring MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0 299*724ba675SRob Herring /* WP */ 300*724ba675SRob Herring MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1f0b0 301*724ba675SRob Herring >; 302*724ba675SRob Herring }; 303*724ba675SRob Herring 304*724ba675SRob Herring pinctrl_usdhc3: usdhc3grp { 305*724ba675SRob Herring fsl,pins = < 306*724ba675SRob Herring MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 307*724ba675SRob Herring MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 308*724ba675SRob Herring MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 309*724ba675SRob Herring MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 310*724ba675SRob Herring MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 311*724ba675SRob Herring MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 312*724ba675SRob Herring /* CD */ 313*724ba675SRob Herring MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0 314*724ba675SRob Herring /* WP */ 315*724ba675SRob Herring MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1f0b0 316*724ba675SRob Herring >; 317*724ba675SRob Herring }; 318*724ba675SRob Herring }; 319*724ba675SRob Herring}; 320*724ba675SRob Herring 321*724ba675SRob Herring&ssi1 { 322*724ba675SRob Herring status = "okay"; 323*724ba675SRob Herring}; 324*724ba675SRob Herring 325*724ba675SRob Herring&uart1 { 326*724ba675SRob Herring pinctrl-names = "default"; 327*724ba675SRob Herring pinctrl-0 = <&pinctrl_uart1>; 328*724ba675SRob Herring status = "okay"; 329*724ba675SRob Herring}; 330*724ba675SRob Herring 331*724ba675SRob Herring&uart2 { 332*724ba675SRob Herring pinctrl-names = "default"; 333*724ba675SRob Herring pinctrl-0 = <&pinctrl_uart2>; 334*724ba675SRob Herring status = "okay"; 335*724ba675SRob Herring}; 336*724ba675SRob Herring 337*724ba675SRob Herring&usbh1 { 338*724ba675SRob Herring vbus-supply = <®_usbh1_vbus>; 339*724ba675SRob Herring pinctrl-names = "default"; 340*724ba675SRob Herring pinctrl-0 = <&pinctrl_usbh1>; 341*724ba675SRob Herring status = "okay"; 342*724ba675SRob Herring}; 343*724ba675SRob Herring 344*724ba675SRob Herring&usbotg { 345*724ba675SRob Herring vbus-supply = <®_usb_otg_vbus>; 346*724ba675SRob Herring pinctrl-names = "default"; 347*724ba675SRob Herring pinctrl-0 = <&pinctrl_usbotg>; 348*724ba675SRob Herring status = "okay"; 349*724ba675SRob Herring}; 350*724ba675SRob Herring 351*724ba675SRob Herring&usdhc2 { 352*724ba675SRob Herring pinctrl-names = "default"; 353*724ba675SRob Herring pinctrl-0 = <&pinctrl_usdhc2>; 354*724ba675SRob Herring bus-width = <4>; 355*724ba675SRob Herring cd-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>; 356*724ba675SRob Herring wp-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; 357*724ba675SRob Herring status = "okay"; 358*724ba675SRob Herring}; 359*724ba675SRob Herring 360*724ba675SRob Herring&usdhc3 { 361*724ba675SRob Herring pinctrl-names = "default"; 362*724ba675SRob Herring pinctrl-0 = <&pinctrl_usdhc3>; 363*724ba675SRob Herring bus-width = <4>; 364*724ba675SRob Herring cd-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>; 365*724ba675SRob Herring wp-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; 366*724ba675SRob Herring status = "okay"; 367*724ba675SRob Herring}; 368