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 pinctrl_hummingboard_flexcan1: hummingboard-flexcan1grp { 227724ba675SRob Herring fsl,pins = < 228724ba675SRob Herring MX6QDL_PAD_SD3_CLK__FLEXCAN1_RX 0x80000000 229724ba675SRob Herring MX6QDL_PAD_SD3_CMD__FLEXCAN1_TX 0x80000000 230724ba675SRob Herring >; 231724ba675SRob Herring }; 232724ba675SRob Herring 233724ba675SRob Herring pinctrl_hummingboard_gpio3_5: hummingboard-gpio3_5grp { 234724ba675SRob Herring fsl,pins = < 235724ba675SRob Herring MX6QDL_PAD_EIM_DA5__GPIO3_IO05 0x1b0b1 236724ba675SRob Herring >; 237724ba675SRob Herring }; 238724ba675SRob Herring 239724ba675SRob Herring pinctrl_hummingboard_hdmi: hummingboard-hdmigrp { 240724ba675SRob Herring fsl,pins = < 241724ba675SRob Herring MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0 242724ba675SRob Herring >; 243724ba675SRob Herring }; 244724ba675SRob Herring 245724ba675SRob Herring pinctrl_hummingboard_i2c1: hummingboard-i2c1grp { 246724ba675SRob Herring fsl,pins = < 247724ba675SRob Herring MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 248724ba675SRob Herring MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 249724ba675SRob Herring >; 250724ba675SRob Herring }; 251724ba675SRob Herring 252724ba675SRob Herring pinctrl_hummingboard_i2c2: hummingboard-i2c2grp { 253724ba675SRob Herring fsl,pins = < 254724ba675SRob Herring MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 255724ba675SRob Herring MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 256724ba675SRob Herring >; 257724ba675SRob Herring }; 258724ba675SRob Herring 259724ba675SRob Herring pinctrl_hummingboard_pcie_reset: hummingboard-pcie-resetgrp { 260724ba675SRob Herring fsl,pins = < 261724ba675SRob Herring MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0x1b0b1 262724ba675SRob Herring >; 263724ba675SRob Herring }; 264724ba675SRob Herring 265724ba675SRob Herring pinctrl_hummingboard_pwm1: pwm1grp { 266724ba675SRob Herring fsl,pins = <MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b1>; 267724ba675SRob Herring }; 268724ba675SRob Herring 269724ba675SRob Herring pinctrl_hummingboard_sgtl5000: hummingboard-sgtl5000grp { 270724ba675SRob Herring fsl,pins = < 271724ba675SRob Herring MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0 272724ba675SRob Herring MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0 273724ba675SRob Herring MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0 274724ba675SRob Herring MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0 275724ba675SRob Herring MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x130b0 276724ba675SRob Herring >; 277724ba675SRob Herring }; 278724ba675SRob Herring 279724ba675SRob Herring pinctrl_hummingboard_spdif: hummingboard-spdifgrp { 280724ba675SRob Herring fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>; 281724ba675SRob Herring }; 282724ba675SRob Herring 283724ba675SRob Herring pinctrl_hummingboard_usbh1_vbus: hummingboard-usbh1-vbusgrp { 284724ba675SRob Herring fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>; 285724ba675SRob Herring }; 286724ba675SRob Herring 287724ba675SRob Herring pinctrl_hummingboard_usbotg_id: hummingboard-usbotg-idgrp { 288724ba675SRob Herring /* 289724ba675SRob Herring * We want it pulled down for a fixed host connection. 290724ba675SRob Herring */ 291724ba675SRob Herring fsl,pins = <MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x13059>; 292724ba675SRob Herring }; 293724ba675SRob Herring 294724ba675SRob Herring pinctrl_hummingboard_usbotg_vbus: hummingboard-usbotg-vbusgrp { 295724ba675SRob Herring fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>; 296724ba675SRob Herring }; 297724ba675SRob Herring 298724ba675SRob Herring pinctrl_hummingboard_usdhc2_aux: hummingboard-usdhc2-auxgrp { 299724ba675SRob Herring fsl,pins = < 300724ba675SRob Herring MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 301724ba675SRob Herring >; 302724ba675SRob Herring }; 303724ba675SRob Herring 304724ba675SRob Herring pinctrl_hummingboard_usdhc2: hummingboard-usdhc2grp { 305724ba675SRob Herring fsl,pins = < 306724ba675SRob Herring MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 307724ba675SRob Herring MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 308724ba675SRob Herring MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 309724ba675SRob Herring MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 310724ba675SRob Herring MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 311724ba675SRob Herring MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059 312724ba675SRob Herring >; 313724ba675SRob Herring }; 314724ba675SRob Herring pinctrl_hummingboard_vmmc: hummingboard-vmmcgrp { 315724ba675SRob Herring fsl,pins = < 316724ba675SRob Herring MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 317724ba675SRob Herring >; 318724ba675SRob Herring }; 319724ba675SRob Herring}; 320724ba675SRob Herring 321724ba675SRob Herring&pcie { 322724ba675SRob Herring pinctrl-names = "default"; 323724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_pcie_reset>; 324724ba675SRob Herring reset-gpio = <&gpio3 4 GPIO_ACTIVE_LOW>; 325724ba675SRob Herring status = "okay"; 326724ba675SRob Herring}; 327724ba675SRob Herring 328724ba675SRob Herring&pwm1 { 329724ba675SRob Herring pinctrl-names = "default"; 330724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_pwm1>; 331724ba675SRob Herring status = "okay"; 332724ba675SRob Herring}; 333724ba675SRob Herring 334724ba675SRob Herring&pwm2 { 335724ba675SRob Herring pinctrl-names = "default"; 336724ba675SRob Herring status = "okay"; 337724ba675SRob Herring}; 338724ba675SRob Herring 339724ba675SRob Herring&spdif { 340724ba675SRob Herring pinctrl-names = "default"; 341724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_spdif>; 342724ba675SRob Herring status = "okay"; 343724ba675SRob Herring}; 344724ba675SRob Herring 345724ba675SRob Herring&ssi1 { 346724ba675SRob Herring status = "okay"; 347724ba675SRob Herring}; 348724ba675SRob Herring 349724ba675SRob Herring&usbh1 { 350724ba675SRob Herring disable-over-current; 351724ba675SRob Herring vbus-supply = <&v_usb2>; 352724ba675SRob Herring status = "okay"; 353724ba675SRob Herring}; 354724ba675SRob Herring 355724ba675SRob Herring&usbotg { 356724ba675SRob Herring disable-over-current; 357724ba675SRob Herring pinctrl-names = "default"; 358724ba675SRob Herring pinctrl-0 = <&pinctrl_hummingboard_usbotg_id>; 359724ba675SRob Herring vbus-supply = <&v_usb1>; 360724ba675SRob Herring status = "okay"; 361724ba675SRob Herring}; 362724ba675SRob Herring 363724ba675SRob Herring&usdhc2 { 364724ba675SRob Herring pinctrl-names = "default"; 365724ba675SRob Herring pinctrl-0 = < 366724ba675SRob Herring &pinctrl_hummingboard_usdhc2_aux 367724ba675SRob Herring &pinctrl_hummingboard_usdhc2 368724ba675SRob Herring >; 369724ba675SRob Herring vmmc-supply = <&v_sd>; 370724ba675SRob Herring cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; 371724ba675SRob Herring status = "okay"; 372724ba675SRob Herring}; 373724ba675SRob Herring 374724ba675SRob Herring&vcc_3v3 { 375724ba675SRob Herring vin-supply = <&v_3v2>; 376724ba675SRob Herring}; 377724ba675SRob Herring