1724ba675SRob Herring/* 2724ba675SRob Herring * Copyright (C) 2013,2014 Russell King 3724ba675SRob Herring * 4724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms 5724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual 6724ba675SRob Herring * licensing only applies to this file, and not this project as a 7724ba675SRob Herring * whole. 8724ba675SRob Herring * 9724ba675SRob Herring * a) This file is free software; you can redistribute it and/or 10724ba675SRob Herring * modify it under the terms of the GNU General Public License 11724ba675SRob Herring * version 2 as published by the Free Software Foundation. 12724ba675SRob Herring * 13724ba675SRob Herring * This file is distributed in the hope that it will be useful, 14724ba675SRob Herring * but WITHOUT ANY WARRANTY; without even the implied warranty of 15724ba675SRob Herring * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16724ba675SRob Herring * GNU General Public License for more details. 17724ba675SRob Herring * 18724ba675SRob Herring * Or, alternatively, 19724ba675SRob Herring * 20724ba675SRob Herring * b) Permission is hereby granted, free of charge, to any person 21724ba675SRob Herring * obtaining a copy of this software and associated documentation 22724ba675SRob Herring * files (the "Software"), to deal in the Software without 23724ba675SRob Herring * restriction, including without limitation the rights to use, 24724ba675SRob Herring * copy, modify, merge, publish, distribute, sublicense, and/or 25724ba675SRob Herring * sell copies of the Software, and to permit persons to whom the 26724ba675SRob Herring * Software is furnished to do so, subject to the following 27724ba675SRob Herring * conditions: 28724ba675SRob Herring * 29724ba675SRob Herring * The above copyright notice and this permission notice shall be 30724ba675SRob Herring * included in all copies or substantial portions of the Software. 31724ba675SRob Herring * 32724ba675SRob Herring * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 33724ba675SRob Herring * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 34724ba675SRob Herring * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 35724ba675SRob Herring * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 36724ba675SRob Herring * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 37724ba675SRob Herring * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 38724ba675SRob Herring * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 39724ba675SRob Herring * OTHER DEALINGS IN THE SOFTWARE. 40724ba675SRob Herring */ 41724ba675SRob Herring#include <dt-bindings/sound/fsl-imx-audmux.h> 42724ba675SRob Herring 43724ba675SRob Herring/ { 442a339523SJosua Mayer aliases { 452a339523SJosua Mayer rtc0 = &carrier_rtc; 462a339523SJosua Mayer rtc1 = &snvs_rtc; 472a339523SJosua Mayer }; 482a339523SJosua Mayer 49724ba675SRob Herring /* Will be filled by the bootloader */ 50724ba675SRob Herring memory@10000000 { 51724ba675SRob Herring device_type = "memory"; 52724ba675SRob Herring reg = <0x10000000 0>; 53724ba675SRob Herring }; 54724ba675SRob Herring 55724ba675SRob Herring chosen { 56724ba675SRob Herring stdout-path = &uart1; 57724ba675SRob Herring }; 58724ba675SRob Herring 59724ba675SRob Herring ir_recv: ir-receiver { 60724ba675SRob Herring compatible = "gpio-ir-receiver"; 61724ba675SRob Herring gpios = <&gpio3 5 GPIO_ACTIVE_LOW>; 62724ba675SRob Herring pinctrl-names = "default"; 63724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_gpio3_5>; 64724ba675SRob Herring }; 65724ba675SRob Herring 66724ba675SRob Herring v_3v2: regulator-v-3v2 { 67724ba675SRob Herring compatible = "regulator-fixed"; 68724ba675SRob Herring regulator-always-on; 69724ba675SRob Herring regulator-max-microvolt = <3300000>; 70724ba675SRob Herring regulator-min-microvolt = <3300000>; 71724ba675SRob Herring regulator-name = "v_3v2"; 72724ba675SRob Herring vin-supply = <&v_5v0>; 73724ba675SRob Herring }; 74724ba675SRob Herring 75724ba675SRob Herring v_5v0: regulator-v-5v0 { 76724ba675SRob Herring compatible = "regulator-fixed"; 77724ba675SRob Herring regulator-always-on; 78724ba675SRob Herring regulator-max-microvolt = <5000000>; 79724ba675SRob Herring regulator-min-microvolt = <5000000>; 80724ba675SRob Herring regulator-name = "v_5v0"; 81724ba675SRob Herring }; 82724ba675SRob Herring 83724ba675SRob Herring v_sd: regulator-v-sd { 84724ba675SRob Herring compatible = "regulator-fixed"; 85724ba675SRob Herring gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>; 86724ba675SRob Herring pinctrl-names = "default"; 87724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_vmmc>; 88724ba675SRob Herring regulator-boot-on; 89724ba675SRob Herring regulator-max-microvolt = <3300000>; 90724ba675SRob Herring regulator-min-microvolt = <3300000>; 91724ba675SRob Herring regulator-name = "v_sd"; 92724ba675SRob Herring startup-delay-us = <1000>; 93724ba675SRob Herring vin-supply = <&v_3v2>; 94724ba675SRob Herring }; 95724ba675SRob Herring 96724ba675SRob Herring v_usb2: regulator-v-usb2 { 97724ba675SRob Herring compatible = "regulator-fixed"; 98724ba675SRob Herring enable-active-high; 99724ba675SRob Herring gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 100724ba675SRob Herring pinctrl-names = "default"; 101724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_usbh1_vbus>; 102724ba675SRob Herring regulator-max-microvolt = <5000000>; 103724ba675SRob Herring regulator-min-microvolt = <5000000>; 104724ba675SRob Herring regulator-name = "v_usb2"; 105724ba675SRob Herring vin-supply = <&v_5v0>; 106724ba675SRob Herring }; 107724ba675SRob Herring 108724ba675SRob Herring v_usb1: regulator-v-usb1 { 109724ba675SRob Herring compatible = "regulator-fixed"; 110724ba675SRob Herring enable-active-high; 111724ba675SRob Herring gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; 112724ba675SRob Herring pinctrl-names = "default"; 113724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_usbotg_vbus>; 114724ba675SRob Herring regulator-max-microvolt = <5000000>; 115724ba675SRob Herring regulator-min-microvolt = <5000000>; 116724ba675SRob Herring regulator-name = "v_usb1"; 117724ba675SRob Herring vin-supply = <&v_5v0>; 118724ba675SRob Herring }; 119724ba675SRob Herring 120724ba675SRob Herring audio: sound-sgtl5000 { 121724ba675SRob Herring compatible = "simple-audio-card"; 122724ba675SRob Herring simple-audio-card,name = "On-board Codec"; 123724ba675SRob Herring simple-audio-card,format = "i2s"; 124724ba675SRob Herring simple-audio-card,bitclock-master = <&sound_codec>; 125724ba675SRob Herring simple-audio-card,frame-master = <&sound_codec>; 126724ba675SRob Herring simple-audio-card,widgets = 127724ba675SRob Herring "Microphone", "Headphone Jack", 128724ba675SRob Herring "Headphone", "Headphone Jack"; 129724ba675SRob Herring simple-audio-card,routing = 130724ba675SRob Herring "MIC_IN", "Headphone Jack", 131724ba675SRob Herring "Headphone Jack", "Mic Bias", 132724ba675SRob Herring "Headphone Jack", "HP_OUT"; 133724ba675SRob Herring 134724ba675SRob Herring sound_cpu: simple-audio-card,cpu { 135724ba675SRob Herring sound-dai = <&ssi1>; 136724ba675SRob Herring }; 137724ba675SRob Herring 138724ba675SRob Herring sound_codec: simple-audio-card,codec { 139724ba675SRob Herring sound-dai = <&sgtl5000>; 140724ba675SRob Herring }; 141724ba675SRob Herring }; 142724ba675SRob Herring 143*d469b771SElinor Montmasson spdif_out: spdif-out { 144*d469b771SElinor Montmasson compatible = "linux,spdif-dit"; 145*d469b771SElinor Montmasson #sound-dai-cells = <0>; 146*d469b771SElinor Montmasson }; 147*d469b771SElinor Montmasson 148724ba675SRob Herring sound-spdif { 149724ba675SRob Herring compatible = "fsl,imx-audio-spdif"; 150724ba675SRob Herring model = "On-board SPDIF"; 151724ba675SRob Herring /* IMX6 doesn't implement this yet */ 152*d469b771SElinor Montmasson audio-cpu = <&spdif>; 153*d469b771SElinor Montmasson audio-codec = <&spdif_out>; 154724ba675SRob Herring }; 155724ba675SRob Herring}; 156724ba675SRob Herring 157724ba675SRob Herring&audmux { 158724ba675SRob Herring status = "okay"; 159724ba675SRob Herring 160724ba675SRob Herring mux-ssi1 { 161724ba675SRob Herring fsl,audmux-port = <0>; 162724ba675SRob Herring fsl,port-config = < 163724ba675SRob Herring (IMX_AUDMUX_V2_PTCR_SYN | 164724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TFSEL(4) | 165724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TCSEL(4) | 166724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TFSDIR | 167724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TCLKDIR) 168724ba675SRob Herring IMX_AUDMUX_V2_PDCR_RXDSEL(4) 169724ba675SRob Herring >; 170724ba675SRob Herring }; 171724ba675SRob Herring 172724ba675SRob Herring mux-pins5 { 173724ba675SRob Herring fsl,audmux-port = <4>; 174724ba675SRob Herring fsl,port-config = < 175724ba675SRob Herring IMX_AUDMUX_V2_PTCR_SYN 176724ba675SRob Herring IMX_AUDMUX_V2_PDCR_RXDSEL(0) 177724ba675SRob Herring >; 178724ba675SRob Herring }; 179724ba675SRob Herring}; 180724ba675SRob Herring 181724ba675SRob Herring&can1 { 182724ba675SRob Herring pinctrl-names = "default"; 183724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_flexcan1>; 184724ba675SRob Herring status = "okay"; 185724ba675SRob Herring}; 186724ba675SRob Herring 187724ba675SRob Herring&hdmi { 188724ba675SRob Herring pinctrl-names = "default"; 189724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_hdmi>; 190724ba675SRob Herring ddc-i2c-bus = <&i2c2>; 191724ba675SRob Herring status = "okay"; 192724ba675SRob Herring}; 193724ba675SRob Herring 194724ba675SRob Herring&i2c1 { 195724ba675SRob Herring pinctrl-names = "default"; 196724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_i2c1>; 197724ba675SRob Herring status = "okay"; 198724ba675SRob Herring 199724ba675SRob Herring /* Pro baseboard model */ 2002a339523SJosua Mayer carrier_rtc: rtc@68 { 201724ba675SRob Herring compatible = "nxp,pcf8523"; 202724ba675SRob Herring reg = <0x68>; 203724ba675SRob Herring }; 204724ba675SRob Herring 205724ba675SRob Herring /* Pro baseboard model */ 206724ba675SRob Herring sgtl5000: codec@a { 207724ba675SRob Herring clocks = <&clks IMX6QDL_CLK_CKO>; 208724ba675SRob Herring compatible = "fsl,sgtl5000"; 209724ba675SRob Herring pinctrl-names = "default"; 210724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_sgtl5000>; 211724ba675SRob Herring #sound-dai-cells = <0>; 212724ba675SRob Herring reg = <0x0a>; 213724ba675SRob Herring VDDA-supply = <&v_3v2>; 214724ba675SRob Herring VDDIO-supply = <&v_3v2>; 215724ba675SRob Herring }; 216724ba675SRob Herring}; 217724ba675SRob Herring 218724ba675SRob Herring&i2c2 { 219724ba675SRob Herring clock-frequency = <100000>; 220724ba675SRob Herring pinctrl-names = "default"; 221724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_i2c2>; 222724ba675SRob Herring status = "okay"; 223724ba675SRob Herring}; 224724ba675SRob Herring 225724ba675SRob Herring&iomuxc { 226724ba675SRob Herring hummingboard { 227724ba675SRob Herring pinctrl_hummingboard_flexcan1: hummingboard-flexcan1 { 228724ba675SRob Herring fsl,pins = < 229724ba675SRob Herring MX6QDL_PAD_SD3_CLK__FLEXCAN1_RX 0x80000000 230724ba675SRob Herring MX6QDL_PAD_SD3_CMD__FLEXCAN1_TX 0x80000000 231724ba675SRob Herring >; 232724ba675SRob Herring }; 233724ba675SRob Herring 234724ba675SRob Herring pinctrl_hummingboard_gpio3_5: hummingboard-gpio3_5 { 235724ba675SRob Herring fsl,pins = < 236724ba675SRob Herring MX6QDL_PAD_EIM_DA5__GPIO3_IO05 0x1b0b1 237724ba675SRob Herring >; 238724ba675SRob Herring }; 239724ba675SRob Herring 240724ba675SRob Herring pinctrl_hummingboard_hdmi: hummingboard-hdmi { 241724ba675SRob Herring fsl,pins = < 242724ba675SRob Herring MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0 243724ba675SRob Herring >; 244724ba675SRob Herring }; 245724ba675SRob Herring 246724ba675SRob Herring pinctrl_hummingboard_i2c1: hummingboard-i2c1 { 247724ba675SRob Herring fsl,pins = < 248724ba675SRob Herring MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 249724ba675SRob Herring MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 250724ba675SRob Herring >; 251724ba675SRob Herring }; 252724ba675SRob Herring 253724ba675SRob Herring pinctrl_hummingboard_i2c2: hummingboard-i2c2 { 254724ba675SRob Herring fsl,pins = < 255724ba675SRob Herring MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 256724ba675SRob Herring MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 257724ba675SRob Herring >; 258724ba675SRob Herring }; 259724ba675SRob Herring 260724ba675SRob Herring pinctrl_hummingboard_pcie_reset: hummingboard-pcie-reset { 261724ba675SRob Herring fsl,pins = < 262724ba675SRob Herring MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0x1b0b1 263724ba675SRob Herring >; 264724ba675SRob Herring }; 265724ba675SRob Herring 266724ba675SRob Herring pinctrl_hummingboard_pwm1: pwm1grp { 267724ba675SRob Herring fsl,pins = <MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b1>; 268724ba675SRob Herring }; 269724ba675SRob Herring 270724ba675SRob Herring pinctrl_hummingboard_sgtl5000: hummingboard-sgtl5000 { 271724ba675SRob Herring fsl,pins = < 272724ba675SRob Herring MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0 273724ba675SRob Herring MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0 274724ba675SRob Herring MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0 275724ba675SRob Herring MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0 276724ba675SRob Herring MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x130b0 277724ba675SRob Herring >; 278724ba675SRob Herring }; 279724ba675SRob Herring 280724ba675SRob Herring pinctrl_hummingboard_spdif: hummingboard-spdif { 281724ba675SRob Herring fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>; 282724ba675SRob Herring }; 283724ba675SRob Herring 284724ba675SRob Herring pinctrl_hummingboard_usbh1_vbus: hummingboard-usbh1-vbus { 285724ba675SRob Herring fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>; 286724ba675SRob Herring }; 287724ba675SRob Herring 288724ba675SRob Herring pinctrl_hummingboard_usbotg_id: hummingboard-usbotg-id { 289724ba675SRob Herring /* 290724ba675SRob Herring * We want it pulled down for a fixed host connection. 291724ba675SRob Herring */ 292724ba675SRob Herring fsl,pins = <MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x13059>; 293724ba675SRob Herring }; 294724ba675SRob Herring 295724ba675SRob Herring pinctrl_hummingboard_usbotg_vbus: hummingboard-usbotg-vbus { 296724ba675SRob Herring fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>; 297724ba675SRob Herring }; 298724ba675SRob Herring 299724ba675SRob Herring pinctrl_hummingboard_usdhc2_aux: hummingboard-usdhc2-aux { 300724ba675SRob Herring fsl,pins = < 301724ba675SRob Herring MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 302724ba675SRob Herring >; 303724ba675SRob Herring }; 304724ba675SRob Herring 305724ba675SRob Herring pinctrl_hummingboard_usdhc2: hummingboard-usdhc2 { 306724ba675SRob Herring fsl,pins = < 307724ba675SRob Herring MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 308724ba675SRob Herring MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 309724ba675SRob Herring MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 310724ba675SRob Herring MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 311724ba675SRob Herring MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 312724ba675SRob Herring MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059 313724ba675SRob Herring >; 314724ba675SRob Herring }; 315724ba675SRob Herring pinctrl_hummingboard_vmmc: hummingboard-vmmc { 316724ba675SRob Herring fsl,pins = < 317724ba675SRob Herring MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 318724ba675SRob Herring >; 319724ba675SRob Herring }; 320724ba675SRob Herring }; 321724ba675SRob Herring}; 322724ba675SRob Herring 323724ba675SRob Herring&pcie { 324724ba675SRob Herring pinctrl-names = "default"; 325724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_pcie_reset>; 326724ba675SRob Herring reset-gpio = <&gpio3 4 GPIO_ACTIVE_LOW>; 327724ba675SRob Herring status = "okay"; 328724ba675SRob Herring}; 329724ba675SRob Herring 330724ba675SRob Herring&pwm1 { 331724ba675SRob Herring pinctrl-names = "default"; 332724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_pwm1>; 333724ba675SRob Herring status = "okay"; 334724ba675SRob Herring}; 335724ba675SRob Herring 336724ba675SRob Herring&pwm2 { 337724ba675SRob Herring pinctrl-names = "default"; 338724ba675SRob Herring status = "okay"; 339724ba675SRob Herring}; 340724ba675SRob Herring 341724ba675SRob Herring&spdif { 342724ba675SRob Herring pinctrl-names = "default"; 343724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_spdif>; 344724ba675SRob Herring status = "okay"; 345724ba675SRob Herring}; 346724ba675SRob Herring 347724ba675SRob Herring&ssi1 { 348724ba675SRob Herring status = "okay"; 349724ba675SRob Herring}; 350724ba675SRob Herring 351724ba675SRob Herring&usbh1 { 352724ba675SRob Herring disable-over-current; 353724ba675SRob Herring vbus-supply = <&v_usb2>; 354724ba675SRob Herring status = "okay"; 355724ba675SRob Herring}; 356724ba675SRob Herring 357724ba675SRob Herring&usbotg { 358724ba675SRob Herring disable-over-current; 359724ba675SRob Herring pinctrl-names = "default"; 360724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_usbotg_id>; 361724ba675SRob Herring vbus-supply = <&v_usb1>; 362724ba675SRob Herring status = "okay"; 363724ba675SRob Herring}; 364724ba675SRob Herring 365724ba675SRob Herring&usdhc2 { 366724ba675SRob Herring pinctrl-names = "default"; 367724ba675SRob Herring pinctrl-0 = < 368724ba675SRob Herring &pinctrl_hummingboard_usdhc2_aux 369724ba675SRob Herring &pinctrl_hummingboard_usdhc2 370724ba675SRob Herring >; 371724ba675SRob Herring vmmc-supply = <&v_sd>; 372724ba675SRob Herring cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; 373724ba675SRob Herring status = "okay"; 374724ba675SRob Herring}; 375724ba675SRob Herring 376724ba675SRob Herring&vcc_3v3 { 377724ba675SRob Herring vin-supply = <&v_3v2>; 378724ba675SRob Herring}; 379