1/* 2 * Copyright 2015 Timesys Corporation. 3 * Copyright 2015 General Electric Company 4 * 5 * This file is dual-licensed: you can use it either under the terms 6 * of the GPL or the X11 license, at your option. Note that this dual 7 * licensing only applies to this file, and not this project as a 8 * whole. 9 * 10 * a) This file is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU General Public License 12 * version 2 as published by the Free Software Foundation. 13 * 14 * This file is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * Or, alternatively, 20 * 21 * b) Permission is hereby granted, free of charge, to any person 22 * obtaining a copy of this software and associated documentation 23 * files (the "Software"), to deal in the Software without 24 * restriction, including without limitation the rights to use, 25 * copy, modify, merge, publish, distribute, sublicense, and/or 26 * sell copies of the Software, and to permit persons to whom the 27 * Software is furnished to do so, subject to the following 28 * conditions: 29 * 30 * The above copyright notice and this permission notice shall be 31 * included in all copies or substantial portions of the Software. 32 * 33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 * OTHER DEALINGS IN THE SOFTWARE. 41 */ 42 43#include "imx6q-ba16.dtsi" 44 45/ { 46 clocks { 47 mclk: clock@0 { 48 compatible = "fixed-clock"; 49 reg = <0>; 50 #clock-cells = <0>; 51 clock-frequency = <22000000>; 52 }; 53 }; 54 55 gpio-poweroff { 56 compatible = "gpio-poweroff"; 57 gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; 58 status = "okay"; 59 }; 60 61 reg_wl18xx_vmmc: regulator-wl18xx { 62 compatible = "regulator-fixed"; 63 regulator-name = "vwl1807"; 64 regulator-min-microvolt = <3300000>; 65 regulator-max-microvolt = <3300000>; 66 gpio = <&pca9539 3 GPIO_ACTIVE_HIGH>; 67 startup-delay-us = <70000>; 68 enable-active-high; 69 }; 70 71 reg_wlan: regulator-wlan { 72 compatible = "regulator-fixed"; 73 regulator-name = "3P3V_wlan"; 74 regulator-min-microvolt = <3300000>; 75 regulator-max-microvolt = <3300000>; 76 regulator-always-on; 77 regulator-boot-on; 78 gpio = <&gpio6 14 GPIO_ACTIVE_HIGH>; 79 }; 80 81 sound { 82 compatible = "fsl,imx6q-ba16-sgtl5000", 83 "fsl,imx-audio-sgtl5000"; 84 model = "imx6q-ba16-sgtl5000"; 85 ssi-controller = <&ssi1>; 86 audio-codec = <&sgtl5000>; 87 audio-routing = 88 "MIC_IN", "Mic Jack", 89 "Mic Jack", "Mic Bias", 90 "LINE_IN", "Line In Jack", 91 "Headphone Jack", "HP_OUT"; 92 mux-int-port = <1>; 93 mux-ext-port = <4>; 94 }; 95}; 96 97&ecspi5 { 98 cs-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>; 99 pinctrl-names = "default"; 100 pinctrl-0 = <&pinctrl_ecspi5>; 101 status = "okay"; 102 103 m25_eeprom: m25p80@0 { 104 compatible = "atmel,at25"; 105 spi-max-frequency = <10000000>; 106 size = <0x8000>; 107 pagesize = <64>; 108 reg = <0>; 109 address-width = <16>; 110 }; 111}; 112 113&i2c1 { 114 pinctrl-names = "default", "gpio"; 115 pinctrl-1 = <&pinctrl_i2c1_gpio>; 116 sda-gpios = <&gpio5 26 GPIO_ACTIVE_HIGH>; 117 scl-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>; 118 119 pca9547: mux@70 { 120 compatible = "nxp,pca9547"; 121 reg = <0x70>; 122 #address-cells = <1>; 123 #size-cells = <0>; 124 125 mux1_i2c1: i2c@0 { 126 #address-cells = <1>; 127 #size-cells = <0>; 128 reg = <0x0>; 129 130 ads7830: ads7830@48 { 131 compatible = "ti,ads7830"; 132 reg = <0x48>; 133 }; 134 135 mma8453: mma8453@1c { 136 compatible = "fsl,mma8453"; 137 reg = <0x1c>; 138 }; 139 }; 140 141 mux1_i2c2: i2c@1 { 142 #address-cells = <1>; 143 #size-cells = <0>; 144 reg = <0x1>; 145 146 eeprom: eeprom@50 { 147 compatible = "atmel,24c08"; 148 reg = <0x50>; 149 }; 150 151 mpl3115: mpl3115@60 { 152 compatible = "fsl,mpl3115"; 153 reg = <0x60>; 154 }; 155 }; 156 157 mux1_i2c3: i2c@2 { 158 #address-cells = <1>; 159 #size-cells = <0>; 160 reg = <0x2>; 161 }; 162 163 mux1_i2c4: i2c@3 { 164 #address-cells = <1>; 165 #size-cells = <0>; 166 reg = <0x3>; 167 168 sgtl5000: codec@0a { 169 compatible = "fsl,sgtl5000"; 170 reg = <0x0a>; 171 clocks = <&mclk>; 172 VDDA-supply = <®_1p8v>; 173 VDDIO-supply = <®_3p3v>; 174 }; 175 }; 176 177 mux1_i2c5: i2c@4 { 178 #address-cells = <1>; 179 #size-cells = <0>; 180 reg = <0x4>; 181 182 pca9539: pca9539@74 { 183 compatible = "nxp,pca9539"; 184 reg = <0x74>; 185 gpio-controller; 186 #gpio-cells = <2>; 187 interrupt-controller; 188 interrupt-parent = <&gpio2>; 189 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 190 191 P10 { 192 gpio-hog; 193 gpios = <8 0>; 194 output-low; 195 line-name = "PCA9539-P10"; 196 }; 197 198 P11 { 199 gpio-hog; 200 gpios = <9 0>; 201 output-low; 202 line-name = "PCA9539-P11"; 203 }; 204 205 P12 { 206 gpio-hog; 207 gpios = <10 0>; 208 output-low; 209 line-name = "PCA9539-P12"; 210 }; 211 212 P13 { 213 gpio-hog; 214 gpios = <11 0>; 215 output-low; 216 line-name = "PCA9539-P13"; 217 }; 218 219 P14 { 220 gpio-hog; 221 gpios = <12 0>; 222 output-low; 223 line-name = "PCA9539-P14"; 224 }; 225 226 P15 { 227 gpio-hog; 228 gpios = <13 0>; 229 output-low; 230 line-name = "PCA9539-P15"; 231 }; 232 233 P16 { 234 gpio-hog; 235 gpios = <14 0>; 236 output-low; 237 line-name = "PCA9539-P16"; 238 }; 239 240 P17 { 241 gpio-hog; 242 gpios = <15 0>; 243 output-low; 244 line-name = "PCA9539-P17"; 245 }; 246 }; 247 }; 248 249 mux1_i2c6: i2c@5 { 250 #address-cells = <1>; 251 #size-cells = <0>; 252 reg = <0x5>; 253 }; 254 255 mux1_i2c7: i2c@6 { 256 #address-cells = <1>; 257 #size-cells = <0>; 258 reg = <0x6>; 259 }; 260 261 mux1_i2c8: i2c@7 { 262 #address-cells = <1>; 263 #size-cells = <0>; 264 reg = <0x7>; 265 }; 266 }; 267}; 268 269&i2c2 { 270 pinctrl-names = "default", "gpio"; 271 pinctrl-1 = <&pinctrl_i2c2_gpio>; 272 sda-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>; 273 scl-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; 274}; 275 276&i2c3 { 277 pinctrl-names = "default", "gpio"; 278 pinctrl-1 = <&pinctrl_i2c3_gpio>; 279 sda-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; 280 scl-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; 281}; 282 283&iomuxc { 284 pinctrl_i2c1_gpio: i2c1gpiogrp { 285 fsl,pins = < 286 MX6QDL_PAD_CSI0_DAT8__GPIO5_IO26 0x1b0b0 287 MX6QDL_PAD_CSI0_DAT9__GPIO5_IO27 0x1b0b0 288 >; 289 }; 290 291 pinctrl_i2c2_gpio: i2c2gpiogrp { 292 fsl,pins = < 293 MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x1b0b0 294 MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x1b0b0 295 >; 296 }; 297 298 pinctrl_i2c3_gpio: i2c3gpiogrp { 299 fsl,pins = < 300 MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x1b0b0 301 MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0 302 >; 303 }; 304}; 305 306&usdhc4 { 307 pinctrl-names = "default"; 308 pinctrl-0 = <&pinctrl_usdhc4>; 309 bus-width = <4>; 310 vmmc-supply = <®_wl18xx_vmmc>; 311 no-1-8-v; 312 non-removable; 313 wakeup-source; 314 keep-power-in-suspend; 315 cap-power-off-card; 316 max-frequency = <25000000>; 317 #address-cells = <1>; 318 #size-cells = <0>; 319 status = "okay"; 320 321 wlcore: wlcore@2 { 322 compatible = "ti,wl1837"; 323 reg = <2>; 324 interrupt-parent = <&gpio2>; 325 interrupts = <6 IRQ_TYPE_LEVEL_HIGH>; 326 tcxo-clock-frequency = <26000000>; 327 }; 328}; 329