1724ba675SRob Herring/* 2724ba675SRob Herring * Copyright (C) 2015 Lucas Stach <kernel@pengutronix.de> 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 42724ba675SRob Herring/dts-v1/; 43724ba675SRob Herring 44724ba675SRob Herring#include "imx6q.dtsi" 45724ba675SRob Herring#include "imx6qdl-sr-som.dtsi" 46724ba675SRob Herring#include "imx6qdl-sr-som-brcm.dtsi" 47724ba675SRob Herring 48724ba675SRob Herring/ { 49724ba675SRob Herring model = "Auvidea H100"; 50724ba675SRob Herring compatible = "auvidea,h100", "fsl,imx6q"; 51724ba675SRob Herring 52724ba675SRob Herring /* Will be filled by the bootloader */ 53724ba675SRob Herring memory@10000000 { 54724ba675SRob Herring device_type = "memory"; 55724ba675SRob Herring reg = <0x10000000 0>; 56724ba675SRob Herring }; 57724ba675SRob Herring 58724ba675SRob Herring aliases { 59724ba675SRob Herring rtc0 = &rtc; 60724ba675SRob Herring rtc1 = &snvs_rtc; 61724ba675SRob Herring }; 62724ba675SRob Herring 63724ba675SRob Herring chosen { 64724ba675SRob Herring stdout-path = &uart2; 65724ba675SRob Herring }; 66724ba675SRob Herring 67724ba675SRob Herring hdmi_osc: hdmi-osc { 68724ba675SRob Herring compatible = "fixed-clock"; 69724ba675SRob Herring clock-output-names = "hdmi-osc"; 70724ba675SRob Herring clock-frequency = <27000000>; 71724ba675SRob Herring #clock-cells = <0>; 72724ba675SRob Herring }; 73724ba675SRob Herring 74724ba675SRob Herring leds { 75724ba675SRob Herring compatible = "gpio-leds"; 76724ba675SRob Herring pinctrl-names = "default"; 77724ba675SRob Herring pinctrl-0 = <&pinctrl_h100_leds>; 78724ba675SRob Herring 79724ba675SRob Herring led0: led-power { 80724ba675SRob Herring label = "power"; 81724ba675SRob Herring gpios = <&gpio3 0 GPIO_ACTIVE_LOW>; 82724ba675SRob Herring default-state = "on"; 83724ba675SRob Herring }; 84724ba675SRob Herring 85724ba675SRob Herring led1: led-stream { 86724ba675SRob Herring label = "stream"; 87724ba675SRob Herring gpios = <&gpio2 29 GPIO_ACTIVE_LOW>; 88724ba675SRob Herring default-state = "off"; 89724ba675SRob Herring }; 90724ba675SRob Herring 91724ba675SRob Herring led2: led-rec { 92724ba675SRob Herring label = "rec"; 93724ba675SRob Herring gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; 94724ba675SRob Herring default-state = "off"; 95724ba675SRob Herring }; 96724ba675SRob Herring }; 97724ba675SRob Herring 98724ba675SRob Herring reg_3p3v: regulator-3p3v { 99724ba675SRob Herring compatible = "regulator-fixed"; 100724ba675SRob Herring regulator-name = "3P3V"; 101724ba675SRob Herring regulator-min-microvolt = <3300000>; 102724ba675SRob Herring regulator-max-microvolt = <3300000>; 103724ba675SRob Herring }; 104724ba675SRob Herring 105724ba675SRob Herring reg_hdmi: regulator-hdmi { 106724ba675SRob Herring pinctrl-names = "default"; 107724ba675SRob Herring pinctrl-0 = <&pinctrl_h100_reg_hdmi>; 108724ba675SRob Herring compatible = "regulator-fixed"; 109724ba675SRob Herring enable-active-high; 110724ba675SRob Herring gpio = <&gpio2 20 GPIO_ACTIVE_HIGH>; 111724ba675SRob Herring regulator-name = "V_HDMI"; 112724ba675SRob Herring regulator-min-microvolt = <5000000>; 113724ba675SRob Herring regulator-max-microvolt = <5000000>; 114724ba675SRob Herring regulator-always-on; 115724ba675SRob Herring }; 116724ba675SRob Herring 117724ba675SRob Herring reg_usbh1_vbus: regulator-usb-h1-vbus { 118724ba675SRob Herring compatible = "regulator-fixed"; 119724ba675SRob Herring enable-active-high; 120724ba675SRob Herring gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 121724ba675SRob Herring pinctrl-names = "default"; 122724ba675SRob Herring pinctrl-0 = <&pinctrl_h100_usbh1_vbus>; 123724ba675SRob Herring regulator-name = "USB_H1_VBUS"; 124724ba675SRob Herring regulator-min-microvolt = <5000000>; 125724ba675SRob Herring regulator-max-microvolt = <5000000>; 126724ba675SRob Herring }; 127724ba675SRob Herring 128724ba675SRob Herring reg_usbotg_vbus: regulator-usb-otg-vbus { 129724ba675SRob Herring compatible = "regulator-fixed"; 130724ba675SRob Herring enable-active-high; 131724ba675SRob Herring gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; 132724ba675SRob Herring pinctrl-names = "default"; 133724ba675SRob Herring pinctrl-0 = <&pinctrl_h100_usbotg_vbus>; 134724ba675SRob Herring regulator-name = "USB_OTG_VBUS"; 135724ba675SRob Herring regulator-min-microvolt = <5000000>; 136724ba675SRob Herring regulator-max-microvolt = <5000000>; 137724ba675SRob Herring }; 138724ba675SRob Herring 139724ba675SRob Herring sound-sgtl5000 { 140724ba675SRob Herring compatible = "fsl,imx-audio-sgtl5000"; 141724ba675SRob Herring model = "H100 on-board codec"; 142724ba675SRob Herring audio-codec = <&sgtl5000>; 143724ba675SRob Herring audio-routing = 144724ba675SRob Herring "MIC_IN", "Mic Jack", 145724ba675SRob Herring "Mic Jack", "Mic Bias", 146724ba675SRob Herring "Headphone Jack", "HP_OUT"; 147724ba675SRob Herring mux-ext-port = <5>; 148724ba675SRob Herring mux-int-port = <1>; 149724ba675SRob Herring ssi-controller = <&ssi1>; 150724ba675SRob Herring }; 151724ba675SRob Herring}; 152724ba675SRob Herring 153724ba675SRob Herring&audmux { 154724ba675SRob Herring status = "okay"; 155724ba675SRob Herring}; 156724ba675SRob Herring 157724ba675SRob Herring&hdmi { 158724ba675SRob Herring pinctrl-names = "default"; 159724ba675SRob Herring pinctrl-0 = <&pinctrl_h100_hdmi>; 160724ba675SRob Herring ddc-i2c-bus = <&i2c2>; 161724ba675SRob Herring status = "okay"; 162724ba675SRob Herring}; 163724ba675SRob Herring 164724ba675SRob Herring&i2c1 { 165724ba675SRob Herring pinctrl-names = "default"; 166724ba675SRob Herring pinctrl-0 = <&pinctrl_h100_i2c1>; 167724ba675SRob Herring status = "okay"; 168724ba675SRob Herring 169724ba675SRob Herring eeprom: eeprom@51 { 170724ba675SRob Herring compatible = "microchip,24c02", "atmel,24c02"; 171724ba675SRob Herring reg = <0x51>; 172724ba675SRob Herring }; 173724ba675SRob Herring 174724ba675SRob Herring rtc: pcf8523@68 { 175724ba675SRob Herring compatible = "nxp,pcf8523"; 176724ba675SRob Herring reg = <0x68>; 177724ba675SRob Herring }; 178724ba675SRob Herring 179724ba675SRob Herring sgtl5000: sgtl5000@a { 180724ba675SRob Herring compatible = "fsl,sgtl5000"; 181724ba675SRob Herring reg = <0x0a>; 182d54bcc3aSFabio Estevam #sound-dai-cells = <0>; 183724ba675SRob Herring pinctrl-names = "default"; 184724ba675SRob Herring pinctrl-0 = <&pinctrl_h100_sgtl5000>; 185724ba675SRob Herring clocks = <&clks IMX6QDL_CLK_CKO>; 186724ba675SRob Herring VDDA-supply = <®_3p3v>; 187724ba675SRob Herring VDDIO-supply = <®_3p3v>; 188724ba675SRob Herring }; 189724ba675SRob Herring 190724ba675SRob Herring tc358743: tc358743@f { 191724ba675SRob Herring compatible = "toshiba,tc358743"; 192724ba675SRob Herring reg = <0x0f>; 193724ba675SRob Herring pinctrl-names = "default"; 194724ba675SRob Herring pinctrl-0 = <&pinctrl_h100_tc358743>; 195724ba675SRob Herring clocks = <&hdmi_osc>; 196724ba675SRob Herring clock-names = "refclk"; 197724ba675SRob Herring reset-gpios = <&gpio6 15 GPIO_ACTIVE_LOW>; 198724ba675SRob Herring /* IRQ has a wrong pull resistor which renders it useless */ 199724ba675SRob Herring 200724ba675SRob Herring port { 201724ba675SRob Herring tc358743_out: endpoint { 202724ba675SRob Herring remote-endpoint = <&mipi_csi2_in>; 203724ba675SRob Herring data-lanes = <1 2 3 4>; 204724ba675SRob Herring clock-lanes = <0>; 205724ba675SRob Herring clock-noncontinuous; 206724ba675SRob Herring link-frequencies = /bits/ 64 <297000000>; 207724ba675SRob Herring }; 208724ba675SRob Herring }; 209724ba675SRob Herring }; 210724ba675SRob Herring}; 211724ba675SRob Herring 212724ba675SRob Herring&i2c2 { 213724ba675SRob Herring clock-frequency = <100000>; 214724ba675SRob Herring pinctrl-names = "default"; 215724ba675SRob Herring pinctrl-0 = <&pinctrl_h100_i2c2>; 216724ba675SRob Herring status = "okay"; 217724ba675SRob Herring}; 218724ba675SRob Herring 219724ba675SRob Herring&iomuxc { 220*47208272SMarek Vasut pinctrl_h100_hdmi: h100-hdmigrp { 221724ba675SRob Herring fsl,pins = < 222724ba675SRob Herring MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0 223724ba675SRob Herring >; 224724ba675SRob Herring }; 225724ba675SRob Herring 226*47208272SMarek Vasut pinctrl_h100_i2c1: h100-i2c1grp { 227724ba675SRob Herring fsl,pins = < 228724ba675SRob Herring MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 229724ba675SRob Herring MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 230724ba675SRob Herring >; 231724ba675SRob Herring }; 232724ba675SRob Herring 233*47208272SMarek Vasut pinctrl_h100_i2c2: h100-i2c2grp { 234724ba675SRob Herring fsl,pins = < 235724ba675SRob Herring MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 236724ba675SRob Herring MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 237724ba675SRob Herring >; 238724ba675SRob Herring }; 239724ba675SRob Herring 240*47208272SMarek Vasut pinctrl_h100_leds: pinctrl-h100-ledsgrp { 241724ba675SRob Herring fsl,pins = < 242724ba675SRob Herring MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0x1b0b0 243724ba675SRob Herring MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x1b0b0 244724ba675SRob Herring MX6QDL_PAD_EIM_EB0__GPIO2_IO28 0x1b0b0 245724ba675SRob Herring >; 246724ba675SRob Herring }; 247724ba675SRob Herring 248*47208272SMarek Vasut pinctrl_h100_reg_hdmi: h100-reg-hdmigrp { 249724ba675SRob Herring fsl,pins = < 250724ba675SRob Herring MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x1b0b0 251724ba675SRob Herring >; 252724ba675SRob Herring }; 253724ba675SRob Herring 254*47208272SMarek Vasut pinctrl_h100_sgtl5000: h100-sgtl5000grp { 255724ba675SRob Herring fsl,pins = < 256724ba675SRob Herring MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0 257724ba675SRob Herring MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0 258724ba675SRob Herring MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0 259724ba675SRob Herring MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0 260724ba675SRob Herring MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x130b0 261724ba675SRob Herring >; 262724ba675SRob Herring }; 263724ba675SRob Herring 264*47208272SMarek Vasut pinctrl_h100_tc358743: h100-tc358743grp { 265724ba675SRob Herring fsl,pins = < 266724ba675SRob Herring MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x1b0b0 267724ba675SRob Herring >; 268724ba675SRob Herring }; 269724ba675SRob Herring 270*47208272SMarek Vasut pinctrl_h100_uart2: h100-uart2grp { 271724ba675SRob Herring fsl,pins = < 272724ba675SRob Herring MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1 273724ba675SRob Herring MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1 274724ba675SRob Herring >; 275724ba675SRob Herring }; 276724ba675SRob Herring 277*47208272SMarek Vasut pinctrl_h100_usbh1_vbus: hummingboard-usbh1-vbusgrp { 278724ba675SRob Herring fsl,pins = < 279724ba675SRob Herring MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0 280724ba675SRob Herring >; 281724ba675SRob Herring }; 282724ba675SRob Herring 283*47208272SMarek Vasut pinctrl_h100_usbotg_id: hummingboard-usbotg-idgrp { 284724ba675SRob Herring fsl,pins = < 285724ba675SRob Herring MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059 286724ba675SRob Herring >; 287724ba675SRob Herring }; 288724ba675SRob Herring 289*47208272SMarek Vasut pinctrl_h100_usbotg_vbus: hummingboard-usbotg-vbusgrp { 290724ba675SRob Herring fsl,pins = < 291724ba675SRob Herring MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0 292724ba675SRob Herring >; 293724ba675SRob Herring }; 294724ba675SRob Herring 295*47208272SMarek Vasut pinctrl_h100_usdhc2: h100-usdhc2grp { 296724ba675SRob Herring fsl,pins = < 297724ba675SRob Herring MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 298724ba675SRob Herring MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 299724ba675SRob Herring MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 300724ba675SRob Herring MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 301724ba675SRob Herring MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 302724ba675SRob Herring MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 303724ba675SRob Herring MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059 304724ba675SRob Herring MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b0b0 305724ba675SRob Herring >; 306724ba675SRob Herring }; 307724ba675SRob Herring 308*47208272SMarek Vasut pinctrl_h100_usdhc2_100mhz: h100-usdhc2-100mhzgrp { 309724ba675SRob Herring fsl,pins = < 310724ba675SRob Herring MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 311724ba675SRob Herring MX6QDL_PAD_SD2_CMD__SD2_CMD 0x170b9 312724ba675SRob Herring MX6QDL_PAD_SD2_CLK__SD2_CLK 0x100b9 313724ba675SRob Herring MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170b9 314724ba675SRob Herring MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170b9 315724ba675SRob Herring MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170b9 316724ba675SRob Herring MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x170b9 317724ba675SRob Herring MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b0b0 318724ba675SRob Herring >; 319724ba675SRob Herring }; 320724ba675SRob Herring 321*47208272SMarek Vasut pinctrl_h100_usdhc2_200mhz: h100-usdhc2-200mhzgrp { 322724ba675SRob Herring fsl,pins = < 323724ba675SRob Herring MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071 324724ba675SRob Herring MX6QDL_PAD_SD2_CMD__SD2_CMD 0x170f9 325724ba675SRob Herring MX6QDL_PAD_SD2_CLK__SD2_CLK 0x100f9 326724ba675SRob Herring MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170f9 327724ba675SRob Herring MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170f9 328724ba675SRob Herring MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170f9 329724ba675SRob Herring MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x170f9 330724ba675SRob Herring MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b0b0 331724ba675SRob Herring >; 332724ba675SRob Herring }; 333724ba675SRob Herring}; 334724ba675SRob Herring 335724ba675SRob Herring&mipi_csi { 336724ba675SRob Herring status = "okay"; 337724ba675SRob Herring 338724ba675SRob Herring port { 339724ba675SRob Herring mipi_csi2_in: endpoint { 340724ba675SRob Herring remote-endpoint = <&tc358743_out>; 341724ba675SRob Herring data-lanes = <1 2 3 4>; 342724ba675SRob Herring clock-lanes = <0>; 343724ba675SRob Herring clock-noncontinuous; 344724ba675SRob Herring link-frequencies = /bits/ 64 <297000000>; 345724ba675SRob Herring }; 346724ba675SRob Herring }; 347724ba675SRob Herring}; 348724ba675SRob Herring 349724ba675SRob Herring&ssi1 { 350724ba675SRob Herring status = "okay"; 351724ba675SRob Herring}; 352724ba675SRob Herring 353724ba675SRob Herring&uart2 { 354724ba675SRob Herring pinctrl-names = "default"; 355724ba675SRob Herring pinctrl-0 = <&pinctrl_h100_uart2>; 356724ba675SRob Herring status = "okay"; 357724ba675SRob Herring}; 358724ba675SRob Herring 359724ba675SRob Herring&usbh1 { 360724ba675SRob Herring disable-over-current; 361724ba675SRob Herring vbus-supply = <®_usbh1_vbus>; 362724ba675SRob Herring status = "okay"; 363724ba675SRob Herring}; 364724ba675SRob Herring 365724ba675SRob Herring&usbotg { 366724ba675SRob Herring disable-over-current; 367724ba675SRob Herring pinctrl-names = "default"; 368724ba675SRob Herring pinctrl-0 = <&pinctrl_h100_usbotg_id>; 369724ba675SRob Herring vbus-supply = <®_usbotg_vbus>; 370724ba675SRob Herring status = "okay"; 371724ba675SRob Herring}; 372724ba675SRob Herring 373724ba675SRob Herring&usdhc2 { 374724ba675SRob Herring pinctrl-names = "default", "state_100mhz", "state_200mhz"; 375724ba675SRob Herring pinctrl-0 = <&pinctrl_h100_usdhc2>; 376724ba675SRob Herring pinctrl-1 = <&pinctrl_h100_usdhc2_100mhz>; 377724ba675SRob Herring pinctrl-2 = <&pinctrl_h100_usdhc2_200mhz>; 378724ba675SRob Herring vmmc-supply = <®_3p3v>; 379724ba675SRob Herring cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; 380724ba675SRob Herring status = "okay"; 381724ba675SRob Herring}; 382