1*724ba675SRob Herring/* 2*724ba675SRob Herring * Copyright (C) 2013,2014 Russell King 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 11*724ba675SRob Herring * version 2 as published by the Free Software Foundation. 12*724ba675SRob Herring * 13*724ba675SRob Herring * This file is distributed in the hope that it will be useful, 14*724ba675SRob Herring * but WITHOUT ANY WARRANTY; without even the implied warranty of 15*724ba675SRob Herring * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*724ba675SRob Herring * GNU General Public License for more details. 17*724ba675SRob Herring * 18*724ba675SRob Herring * Or, alternatively, 19*724ba675SRob Herring * 20*724ba675SRob Herring * b) Permission is hereby granted, free of charge, to any person 21*724ba675SRob Herring * obtaining a copy of this software and associated documentation 22*724ba675SRob Herring * files (the "Software"), to deal in the Software without 23*724ba675SRob Herring * restriction, including without limitation the rights to use, 24*724ba675SRob Herring * copy, modify, merge, publish, distribute, sublicense, and/or 25*724ba675SRob Herring * sell copies of the Software, and to permit persons to whom the 26*724ba675SRob Herring * Software is furnished to do so, subject to the following 27*724ba675SRob Herring * conditions: 28*724ba675SRob Herring * 29*724ba675SRob Herring * The above copyright notice and this permission notice shall be 30*724ba675SRob Herring * included in all copies or substantial portions of the Software. 31*724ba675SRob Herring * 32*724ba675SRob Herring * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 33*724ba675SRob Herring * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 34*724ba675SRob Herring * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 35*724ba675SRob Herring * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 36*724ba675SRob Herring * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 37*724ba675SRob Herring * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 38*724ba675SRob Herring * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 39*724ba675SRob Herring * OTHER DEALINGS IN THE SOFTWARE. 40*724ba675SRob Herring */ 41*724ba675SRob Herring#include <dt-bindings/sound/fsl-imx-audmux.h> 42*724ba675SRob Herring 43*724ba675SRob Herring/ { 44*724ba675SRob Herring /* Will be filled by the bootloader */ 45*724ba675SRob Herring memory@10000000 { 46*724ba675SRob Herring device_type = "memory"; 47*724ba675SRob Herring reg = <0x10000000 0>; 48*724ba675SRob Herring }; 49*724ba675SRob Herring 50*724ba675SRob Herring chosen { 51*724ba675SRob Herring stdout-path = &uart1; 52*724ba675SRob Herring }; 53*724ba675SRob Herring 54*724ba675SRob Herring ir_recv: ir-receiver { 55*724ba675SRob Herring compatible = "gpio-ir-receiver"; 56*724ba675SRob Herring gpios = <&gpio3 5 GPIO_ACTIVE_LOW>; 57*724ba675SRob Herring pinctrl-names = "default"; 58*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_gpio3_5>; 59*724ba675SRob Herring }; 60*724ba675SRob Herring 61*724ba675SRob Herring v_3v2: regulator-v-3v2 { 62*724ba675SRob Herring compatible = "regulator-fixed"; 63*724ba675SRob Herring regulator-always-on; 64*724ba675SRob Herring regulator-max-microvolt = <3300000>; 65*724ba675SRob Herring regulator-min-microvolt = <3300000>; 66*724ba675SRob Herring regulator-name = "v_3v2"; 67*724ba675SRob Herring vin-supply = <&v_5v0>; 68*724ba675SRob Herring }; 69*724ba675SRob Herring 70*724ba675SRob Herring v_5v0: regulator-v-5v0 { 71*724ba675SRob Herring compatible = "regulator-fixed"; 72*724ba675SRob Herring regulator-always-on; 73*724ba675SRob Herring regulator-max-microvolt = <5000000>; 74*724ba675SRob Herring regulator-min-microvolt = <5000000>; 75*724ba675SRob Herring regulator-name = "v_5v0"; 76*724ba675SRob Herring }; 77*724ba675SRob Herring 78*724ba675SRob Herring v_sd: regulator-v-sd { 79*724ba675SRob Herring compatible = "regulator-fixed"; 80*724ba675SRob Herring gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>; 81*724ba675SRob Herring pinctrl-names = "default"; 82*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_vmmc>; 83*724ba675SRob Herring regulator-boot-on; 84*724ba675SRob Herring regulator-max-microvolt = <3300000>; 85*724ba675SRob Herring regulator-min-microvolt = <3300000>; 86*724ba675SRob Herring regulator-name = "v_sd"; 87*724ba675SRob Herring startup-delay-us = <1000>; 88*724ba675SRob Herring vin-supply = <&v_3v2>; 89*724ba675SRob Herring }; 90*724ba675SRob Herring 91*724ba675SRob Herring v_usb2: regulator-v-usb2 { 92*724ba675SRob Herring compatible = "regulator-fixed"; 93*724ba675SRob Herring enable-active-high; 94*724ba675SRob Herring gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 95*724ba675SRob Herring pinctrl-names = "default"; 96*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_usbh1_vbus>; 97*724ba675SRob Herring regulator-max-microvolt = <5000000>; 98*724ba675SRob Herring regulator-min-microvolt = <5000000>; 99*724ba675SRob Herring regulator-name = "v_usb2"; 100*724ba675SRob Herring vin-supply = <&v_5v0>; 101*724ba675SRob Herring }; 102*724ba675SRob Herring 103*724ba675SRob Herring v_usb1: regulator-v-usb1 { 104*724ba675SRob Herring compatible = "regulator-fixed"; 105*724ba675SRob Herring enable-active-high; 106*724ba675SRob Herring gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; 107*724ba675SRob Herring pinctrl-names = "default"; 108*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_usbotg_vbus>; 109*724ba675SRob Herring regulator-max-microvolt = <5000000>; 110*724ba675SRob Herring regulator-min-microvolt = <5000000>; 111*724ba675SRob Herring regulator-name = "v_usb1"; 112*724ba675SRob Herring vin-supply = <&v_5v0>; 113*724ba675SRob Herring }; 114*724ba675SRob Herring 115*724ba675SRob Herring audio: sound-sgtl5000 { 116*724ba675SRob Herring compatible = "simple-audio-card"; 117*724ba675SRob Herring simple-audio-card,name = "On-board Codec"; 118*724ba675SRob Herring simple-audio-card,format = "i2s"; 119*724ba675SRob Herring simple-audio-card,bitclock-master = <&sound_codec>; 120*724ba675SRob Herring simple-audio-card,frame-master = <&sound_codec>; 121*724ba675SRob Herring simple-audio-card,widgets = 122*724ba675SRob Herring "Microphone", "Headphone Jack", 123*724ba675SRob Herring "Headphone", "Headphone Jack"; 124*724ba675SRob Herring simple-audio-card,routing = 125*724ba675SRob Herring "MIC_IN", "Headphone Jack", 126*724ba675SRob Herring "Headphone Jack", "Mic Bias", 127*724ba675SRob Herring "Headphone Jack", "HP_OUT"; 128*724ba675SRob Herring 129*724ba675SRob Herring sound_cpu: simple-audio-card,cpu { 130*724ba675SRob Herring sound-dai = <&ssi1>; 131*724ba675SRob Herring }; 132*724ba675SRob Herring 133*724ba675SRob Herring sound_codec: simple-audio-card,codec { 134*724ba675SRob Herring sound-dai = <&sgtl5000>; 135*724ba675SRob Herring }; 136*724ba675SRob Herring }; 137*724ba675SRob Herring 138*724ba675SRob Herring sound-spdif { 139*724ba675SRob Herring compatible = "fsl,imx-audio-spdif"; 140*724ba675SRob Herring model = "On-board SPDIF"; 141*724ba675SRob Herring /* IMX6 doesn't implement this yet */ 142*724ba675SRob Herring spdif-controller = <&spdif>; 143*724ba675SRob Herring spdif-out; 144*724ba675SRob Herring }; 145*724ba675SRob Herring}; 146*724ba675SRob Herring 147*724ba675SRob Herring&audmux { 148*724ba675SRob Herring status = "okay"; 149*724ba675SRob Herring 150*724ba675SRob Herring mux-ssi1 { 151*724ba675SRob Herring fsl,audmux-port = <0>; 152*724ba675SRob Herring fsl,port-config = < 153*724ba675SRob Herring (IMX_AUDMUX_V2_PTCR_SYN | 154*724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TFSEL(4) | 155*724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TCSEL(4) | 156*724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TFSDIR | 157*724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TCLKDIR) 158*724ba675SRob Herring IMX_AUDMUX_V2_PDCR_RXDSEL(4) 159*724ba675SRob Herring >; 160*724ba675SRob Herring }; 161*724ba675SRob Herring 162*724ba675SRob Herring mux-pins5 { 163*724ba675SRob Herring fsl,audmux-port = <4>; 164*724ba675SRob Herring fsl,port-config = < 165*724ba675SRob Herring IMX_AUDMUX_V2_PTCR_SYN 166*724ba675SRob Herring IMX_AUDMUX_V2_PDCR_RXDSEL(0) 167*724ba675SRob Herring >; 168*724ba675SRob Herring }; 169*724ba675SRob Herring}; 170*724ba675SRob Herring 171*724ba675SRob Herring&can1 { 172*724ba675SRob Herring pinctrl-names = "default"; 173*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_flexcan1>; 174*724ba675SRob Herring status = "okay"; 175*724ba675SRob Herring}; 176*724ba675SRob Herring 177*724ba675SRob Herring&hdmi { 178*724ba675SRob Herring pinctrl-names = "default"; 179*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_hdmi>; 180*724ba675SRob Herring ddc-i2c-bus = <&i2c2>; 181*724ba675SRob Herring status = "okay"; 182*724ba675SRob Herring}; 183*724ba675SRob Herring 184*724ba675SRob Herring&i2c1 { 185*724ba675SRob Herring pinctrl-names = "default"; 186*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_i2c1>; 187*724ba675SRob Herring status = "okay"; 188*724ba675SRob Herring 189*724ba675SRob Herring /* Pro baseboard model */ 190*724ba675SRob Herring rtc@68 { 191*724ba675SRob Herring compatible = "nxp,pcf8523"; 192*724ba675SRob Herring reg = <0x68>; 193*724ba675SRob Herring }; 194*724ba675SRob Herring 195*724ba675SRob Herring /* Pro baseboard model */ 196*724ba675SRob Herring sgtl5000: codec@a { 197*724ba675SRob Herring clocks = <&clks IMX6QDL_CLK_CKO>; 198*724ba675SRob Herring compatible = "fsl,sgtl5000"; 199*724ba675SRob Herring pinctrl-names = "default"; 200*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_sgtl5000>; 201*724ba675SRob Herring #sound-dai-cells = <0>; 202*724ba675SRob Herring reg = <0x0a>; 203*724ba675SRob Herring VDDA-supply = <&v_3v2>; 204*724ba675SRob Herring VDDIO-supply = <&v_3v2>; 205*724ba675SRob Herring }; 206*724ba675SRob Herring}; 207*724ba675SRob Herring 208*724ba675SRob Herring&i2c2 { 209*724ba675SRob Herring clock-frequency = <100000>; 210*724ba675SRob Herring pinctrl-names = "default"; 211*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_i2c2>; 212*724ba675SRob Herring status = "okay"; 213*724ba675SRob Herring}; 214*724ba675SRob Herring 215*724ba675SRob Herring&iomuxc { 216*724ba675SRob Herring hummingboard { 217*724ba675SRob Herring pinctrl_hummingboard_flexcan1: hummingboard-flexcan1 { 218*724ba675SRob Herring fsl,pins = < 219*724ba675SRob Herring MX6QDL_PAD_SD3_CLK__FLEXCAN1_RX 0x80000000 220*724ba675SRob Herring MX6QDL_PAD_SD3_CMD__FLEXCAN1_TX 0x80000000 221*724ba675SRob Herring >; 222*724ba675SRob Herring }; 223*724ba675SRob Herring 224*724ba675SRob Herring pinctrl_hummingboard_gpio3_5: hummingboard-gpio3_5 { 225*724ba675SRob Herring fsl,pins = < 226*724ba675SRob Herring MX6QDL_PAD_EIM_DA5__GPIO3_IO05 0x1b0b1 227*724ba675SRob Herring >; 228*724ba675SRob Herring }; 229*724ba675SRob Herring 230*724ba675SRob Herring pinctrl_hummingboard_hdmi: hummingboard-hdmi { 231*724ba675SRob Herring fsl,pins = < 232*724ba675SRob Herring MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0 233*724ba675SRob Herring >; 234*724ba675SRob Herring }; 235*724ba675SRob Herring 236*724ba675SRob Herring pinctrl_hummingboard_i2c1: hummingboard-i2c1 { 237*724ba675SRob Herring fsl,pins = < 238*724ba675SRob Herring MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 239*724ba675SRob Herring MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 240*724ba675SRob Herring >; 241*724ba675SRob Herring }; 242*724ba675SRob Herring 243*724ba675SRob Herring pinctrl_hummingboard_i2c2: hummingboard-i2c2 { 244*724ba675SRob Herring fsl,pins = < 245*724ba675SRob Herring MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 246*724ba675SRob Herring MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 247*724ba675SRob Herring >; 248*724ba675SRob Herring }; 249*724ba675SRob Herring 250*724ba675SRob Herring pinctrl_hummingboard_pcie_reset: hummingboard-pcie-reset { 251*724ba675SRob Herring fsl,pins = < 252*724ba675SRob Herring MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0x1b0b1 253*724ba675SRob Herring >; 254*724ba675SRob Herring }; 255*724ba675SRob Herring 256*724ba675SRob Herring pinctrl_hummingboard_pwm1: pwm1grp { 257*724ba675SRob Herring fsl,pins = <MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b1>; 258*724ba675SRob Herring }; 259*724ba675SRob Herring 260*724ba675SRob Herring pinctrl_hummingboard_sgtl5000: hummingboard-sgtl5000 { 261*724ba675SRob Herring fsl,pins = < 262*724ba675SRob Herring MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0 263*724ba675SRob Herring MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0 264*724ba675SRob Herring MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0 265*724ba675SRob Herring MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0 266*724ba675SRob Herring MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x130b0 267*724ba675SRob Herring >; 268*724ba675SRob Herring }; 269*724ba675SRob Herring 270*724ba675SRob Herring pinctrl_hummingboard_spdif: hummingboard-spdif { 271*724ba675SRob Herring fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>; 272*724ba675SRob Herring }; 273*724ba675SRob Herring 274*724ba675SRob Herring pinctrl_hummingboard_usbh1_vbus: hummingboard-usbh1-vbus { 275*724ba675SRob Herring fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>; 276*724ba675SRob Herring }; 277*724ba675SRob Herring 278*724ba675SRob Herring pinctrl_hummingboard_usbotg_id: hummingboard-usbotg-id { 279*724ba675SRob Herring /* 280*724ba675SRob Herring * We want it pulled down for a fixed host connection. 281*724ba675SRob Herring */ 282*724ba675SRob Herring fsl,pins = <MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x13059>; 283*724ba675SRob Herring }; 284*724ba675SRob Herring 285*724ba675SRob Herring pinctrl_hummingboard_usbotg_vbus: hummingboard-usbotg-vbus { 286*724ba675SRob Herring fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>; 287*724ba675SRob Herring }; 288*724ba675SRob Herring 289*724ba675SRob Herring pinctrl_hummingboard_usdhc2_aux: hummingboard-usdhc2-aux { 290*724ba675SRob Herring fsl,pins = < 291*724ba675SRob Herring MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 292*724ba675SRob Herring >; 293*724ba675SRob Herring }; 294*724ba675SRob Herring 295*724ba675SRob Herring pinctrl_hummingboard_usdhc2: hummingboard-usdhc2 { 296*724ba675SRob Herring fsl,pins = < 297*724ba675SRob Herring MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 298*724ba675SRob Herring MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 299*724ba675SRob Herring MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 300*724ba675SRob Herring MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 301*724ba675SRob Herring MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 302*724ba675SRob Herring MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059 303*724ba675SRob Herring >; 304*724ba675SRob Herring }; 305*724ba675SRob Herring pinctrl_hummingboard_vmmc: hummingboard-vmmc { 306*724ba675SRob Herring fsl,pins = < 307*724ba675SRob Herring MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 308*724ba675SRob Herring >; 309*724ba675SRob Herring }; 310*724ba675SRob Herring }; 311*724ba675SRob Herring}; 312*724ba675SRob Herring 313*724ba675SRob Herring&pcie { 314*724ba675SRob Herring pinctrl-names = "default"; 315*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_pcie_reset>; 316*724ba675SRob Herring reset-gpio = <&gpio3 4 GPIO_ACTIVE_LOW>; 317*724ba675SRob Herring status = "okay"; 318*724ba675SRob Herring}; 319*724ba675SRob Herring 320*724ba675SRob Herring&pwm1 { 321*724ba675SRob Herring pinctrl-names = "default"; 322*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_pwm1>; 323*724ba675SRob Herring status = "okay"; 324*724ba675SRob Herring}; 325*724ba675SRob Herring 326*724ba675SRob Herring&pwm2 { 327*724ba675SRob Herring pinctrl-names = "default"; 328*724ba675SRob Herring status = "okay"; 329*724ba675SRob Herring}; 330*724ba675SRob Herring 331*724ba675SRob Herring&spdif { 332*724ba675SRob Herring pinctrl-names = "default"; 333*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_spdif>; 334*724ba675SRob Herring status = "okay"; 335*724ba675SRob Herring}; 336*724ba675SRob Herring 337*724ba675SRob Herring&ssi1 { 338*724ba675SRob Herring status = "okay"; 339*724ba675SRob Herring}; 340*724ba675SRob Herring 341*724ba675SRob Herring&usbh1 { 342*724ba675SRob Herring disable-over-current; 343*724ba675SRob Herring vbus-supply = <&v_usb2>; 344*724ba675SRob Herring status = "okay"; 345*724ba675SRob Herring}; 346*724ba675SRob Herring 347*724ba675SRob Herring&usbotg { 348*724ba675SRob Herring disable-over-current; 349*724ba675SRob Herring pinctrl-names = "default"; 350*724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_usbotg_id>; 351*724ba675SRob Herring vbus-supply = <&v_usb1>; 352*724ba675SRob Herring status = "okay"; 353*724ba675SRob Herring}; 354*724ba675SRob Herring 355*724ba675SRob Herring&usdhc2 { 356*724ba675SRob Herring pinctrl-names = "default"; 357*724ba675SRob Herring pinctrl-0 = < 358*724ba675SRob Herring &pinctrl_hummingboard_usdhc2_aux 359*724ba675SRob Herring &pinctrl_hummingboard_usdhc2 360*724ba675SRob Herring >; 361*724ba675SRob Herring vmmc-supply = <&v_sd>; 362*724ba675SRob Herring cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; 363*724ba675SRob Herring status = "okay"; 364*724ba675SRob Herring}; 365*724ba675SRob Herring 366*724ba675SRob Herring&vcc_3v3 { 367*724ba675SRob Herring vin-supply = <&v_3v2>; 368*724ba675SRob Herring}; 369