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/ { 44*2a339523SJosua Mayer aliases { 45*2a339523SJosua Mayer rtc0 = &carrier_rtc; 46*2a339523SJosua Mayer rtc1 = &snvs_rtc; 47*2a339523SJosua Mayer }; 48*2a339523SJosua 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 143724ba675SRob Herring sound-spdif { 144724ba675SRob Herring compatible = "fsl,imx-audio-spdif"; 145724ba675SRob Herring model = "On-board SPDIF"; 146724ba675SRob Herring /* IMX6 doesn't implement this yet */ 147724ba675SRob Herring spdif-controller = <&spdif>; 148724ba675SRob Herring spdif-out; 149724ba675SRob Herring }; 150724ba675SRob Herring}; 151724ba675SRob Herring 152724ba675SRob Herring&audmux { 153724ba675SRob Herring status = "okay"; 154724ba675SRob Herring 155724ba675SRob Herring mux-ssi1 { 156724ba675SRob Herring fsl,audmux-port = <0>; 157724ba675SRob Herring fsl,port-config = < 158724ba675SRob Herring (IMX_AUDMUX_V2_PTCR_SYN | 159724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TFSEL(4) | 160724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TCSEL(4) | 161724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TFSDIR | 162724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TCLKDIR) 163724ba675SRob Herring IMX_AUDMUX_V2_PDCR_RXDSEL(4) 164724ba675SRob Herring >; 165724ba675SRob Herring }; 166724ba675SRob Herring 167724ba675SRob Herring mux-pins5 { 168724ba675SRob Herring fsl,audmux-port = <4>; 169724ba675SRob Herring fsl,port-config = < 170724ba675SRob Herring IMX_AUDMUX_V2_PTCR_SYN 171724ba675SRob Herring IMX_AUDMUX_V2_PDCR_RXDSEL(0) 172724ba675SRob Herring >; 173724ba675SRob Herring }; 174724ba675SRob Herring}; 175724ba675SRob Herring 176724ba675SRob Herring&can1 { 177724ba675SRob Herring pinctrl-names = "default"; 178724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_flexcan1>; 179724ba675SRob Herring status = "okay"; 180724ba675SRob Herring}; 181724ba675SRob Herring 182724ba675SRob Herring&hdmi { 183724ba675SRob Herring pinctrl-names = "default"; 184724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_hdmi>; 185724ba675SRob Herring ddc-i2c-bus = <&i2c2>; 186724ba675SRob Herring status = "okay"; 187724ba675SRob Herring}; 188724ba675SRob Herring 189724ba675SRob Herring&i2c1 { 190724ba675SRob Herring pinctrl-names = "default"; 191724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_i2c1>; 192724ba675SRob Herring status = "okay"; 193724ba675SRob Herring 194724ba675SRob Herring /* Pro baseboard model */ 195*2a339523SJosua Mayer carrier_rtc: rtc@68 { 196724ba675SRob Herring compatible = "nxp,pcf8523"; 197724ba675SRob Herring reg = <0x68>; 198724ba675SRob Herring }; 199724ba675SRob Herring 200724ba675SRob Herring /* Pro baseboard model */ 201724ba675SRob Herring sgtl5000: codec@a { 202724ba675SRob Herring clocks = <&clks IMX6QDL_CLK_CKO>; 203724ba675SRob Herring compatible = "fsl,sgtl5000"; 204724ba675SRob Herring pinctrl-names = "default"; 205724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_sgtl5000>; 206724ba675SRob Herring #sound-dai-cells = <0>; 207724ba675SRob Herring reg = <0x0a>; 208724ba675SRob Herring VDDA-supply = <&v_3v2>; 209724ba675SRob Herring VDDIO-supply = <&v_3v2>; 210724ba675SRob Herring }; 211724ba675SRob Herring}; 212724ba675SRob Herring 213724ba675SRob Herring&i2c2 { 214724ba675SRob Herring clock-frequency = <100000>; 215724ba675SRob Herring pinctrl-names = "default"; 216724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_i2c2>; 217724ba675SRob Herring status = "okay"; 218724ba675SRob Herring}; 219724ba675SRob Herring 220724ba675SRob Herring&iomuxc { 221724ba675SRob Herring hummingboard { 222724ba675SRob Herring pinctrl_hummingboard_flexcan1: hummingboard-flexcan1 { 223724ba675SRob Herring fsl,pins = < 224724ba675SRob Herring MX6QDL_PAD_SD3_CLK__FLEXCAN1_RX 0x80000000 225724ba675SRob Herring MX6QDL_PAD_SD3_CMD__FLEXCAN1_TX 0x80000000 226724ba675SRob Herring >; 227724ba675SRob Herring }; 228724ba675SRob Herring 229724ba675SRob Herring pinctrl_hummingboard_gpio3_5: hummingboard-gpio3_5 { 230724ba675SRob Herring fsl,pins = < 231724ba675SRob Herring MX6QDL_PAD_EIM_DA5__GPIO3_IO05 0x1b0b1 232724ba675SRob Herring >; 233724ba675SRob Herring }; 234724ba675SRob Herring 235724ba675SRob Herring pinctrl_hummingboard_hdmi: hummingboard-hdmi { 236724ba675SRob Herring fsl,pins = < 237724ba675SRob Herring MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0 238724ba675SRob Herring >; 239724ba675SRob Herring }; 240724ba675SRob Herring 241724ba675SRob Herring pinctrl_hummingboard_i2c1: hummingboard-i2c1 { 242724ba675SRob Herring fsl,pins = < 243724ba675SRob Herring MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 244724ba675SRob Herring MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 245724ba675SRob Herring >; 246724ba675SRob Herring }; 247724ba675SRob Herring 248724ba675SRob Herring pinctrl_hummingboard_i2c2: hummingboard-i2c2 { 249724ba675SRob Herring fsl,pins = < 250724ba675SRob Herring MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 251724ba675SRob Herring MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 252724ba675SRob Herring >; 253724ba675SRob Herring }; 254724ba675SRob Herring 255724ba675SRob Herring pinctrl_hummingboard_pcie_reset: hummingboard-pcie-reset { 256724ba675SRob Herring fsl,pins = < 257724ba675SRob Herring MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0x1b0b1 258724ba675SRob Herring >; 259724ba675SRob Herring }; 260724ba675SRob Herring 261724ba675SRob Herring pinctrl_hummingboard_pwm1: pwm1grp { 262724ba675SRob Herring fsl,pins = <MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b1>; 263724ba675SRob Herring }; 264724ba675SRob Herring 265724ba675SRob Herring pinctrl_hummingboard_sgtl5000: hummingboard-sgtl5000 { 266724ba675SRob Herring fsl,pins = < 267724ba675SRob Herring MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0 268724ba675SRob Herring MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0 269724ba675SRob Herring MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0 270724ba675SRob Herring MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0 271724ba675SRob Herring MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x130b0 272724ba675SRob Herring >; 273724ba675SRob Herring }; 274724ba675SRob Herring 275724ba675SRob Herring pinctrl_hummingboard_spdif: hummingboard-spdif { 276724ba675SRob Herring fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>; 277724ba675SRob Herring }; 278724ba675SRob Herring 279724ba675SRob Herring pinctrl_hummingboard_usbh1_vbus: hummingboard-usbh1-vbus { 280724ba675SRob Herring fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>; 281724ba675SRob Herring }; 282724ba675SRob Herring 283724ba675SRob Herring pinctrl_hummingboard_usbotg_id: hummingboard-usbotg-id { 284724ba675SRob Herring /* 285724ba675SRob Herring * We want it pulled down for a fixed host connection. 286724ba675SRob Herring */ 287724ba675SRob Herring fsl,pins = <MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x13059>; 288724ba675SRob Herring }; 289724ba675SRob Herring 290724ba675SRob Herring pinctrl_hummingboard_usbotg_vbus: hummingboard-usbotg-vbus { 291724ba675SRob Herring fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>; 292724ba675SRob Herring }; 293724ba675SRob Herring 294724ba675SRob Herring pinctrl_hummingboard_usdhc2_aux: hummingboard-usdhc2-aux { 295724ba675SRob Herring fsl,pins = < 296724ba675SRob Herring MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 297724ba675SRob Herring >; 298724ba675SRob Herring }; 299724ba675SRob Herring 300724ba675SRob Herring pinctrl_hummingboard_usdhc2: hummingboard-usdhc2 { 301724ba675SRob Herring fsl,pins = < 302724ba675SRob Herring MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 303724ba675SRob Herring MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 304724ba675SRob Herring MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 305724ba675SRob Herring MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 306724ba675SRob Herring MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 307724ba675SRob Herring MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059 308724ba675SRob Herring >; 309724ba675SRob Herring }; 310724ba675SRob Herring pinctrl_hummingboard_vmmc: hummingboard-vmmc { 311724ba675SRob Herring fsl,pins = < 312724ba675SRob Herring MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 313724ba675SRob Herring >; 314724ba675SRob Herring }; 315724ba675SRob Herring }; 316724ba675SRob Herring}; 317724ba675SRob Herring 318724ba675SRob Herring&pcie { 319724ba675SRob Herring pinctrl-names = "default"; 320724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_pcie_reset>; 321724ba675SRob Herring reset-gpio = <&gpio3 4 GPIO_ACTIVE_LOW>; 322724ba675SRob Herring status = "okay"; 323724ba675SRob Herring}; 324724ba675SRob Herring 325724ba675SRob Herring&pwm1 { 326724ba675SRob Herring pinctrl-names = "default"; 327724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_pwm1>; 328724ba675SRob Herring status = "okay"; 329724ba675SRob Herring}; 330724ba675SRob Herring 331724ba675SRob Herring&pwm2 { 332724ba675SRob Herring pinctrl-names = "default"; 333724ba675SRob Herring status = "okay"; 334724ba675SRob Herring}; 335724ba675SRob Herring 336724ba675SRob Herring&spdif { 337724ba675SRob Herring pinctrl-names = "default"; 338724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_spdif>; 339724ba675SRob Herring status = "okay"; 340724ba675SRob Herring}; 341724ba675SRob Herring 342724ba675SRob Herring&ssi1 { 343724ba675SRob Herring status = "okay"; 344724ba675SRob Herring}; 345724ba675SRob Herring 346724ba675SRob Herring&usbh1 { 347724ba675SRob Herring disable-over-current; 348724ba675SRob Herring vbus-supply = <&v_usb2>; 349724ba675SRob Herring status = "okay"; 350724ba675SRob Herring}; 351724ba675SRob Herring 352724ba675SRob Herring&usbotg { 353724ba675SRob Herring disable-over-current; 354724ba675SRob Herring pinctrl-names = "default"; 355724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_usbotg_id>; 356724ba675SRob Herring vbus-supply = <&v_usb1>; 357724ba675SRob Herring status = "okay"; 358724ba675SRob Herring}; 359724ba675SRob Herring 360724ba675SRob Herring&usdhc2 { 361724ba675SRob Herring pinctrl-names = "default"; 362724ba675SRob Herring pinctrl-0 = < 363724ba675SRob Herring &pinctrl_hummingboard_usdhc2_aux 364724ba675SRob Herring &pinctrl_hummingboard_usdhc2 365724ba675SRob Herring >; 366724ba675SRob Herring vmmc-supply = <&v_sd>; 367724ba675SRob Herring cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; 368724ba675SRob Herring status = "okay"; 369724ba675SRob Herring}; 370724ba675SRob Herring 371724ba675SRob Herring&vcc_3v3 { 372724ba675SRob Herring vin-supply = <&v_3v2>; 373724ba675SRob Herring}; 374