xref: /openbmc/linux/arch/arm/boot/dts/nxp/imx/imx6q-pistachio.dts (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1724ba675SRob Herring/*
2724ba675SRob Herring * Copyright (C) 2017 NutsBoard.Org
3724ba675SRob Herring *
4724ba675SRob Herring * Author: Wig Cheng <onlywig@gmail.com>
5724ba675SRob Herring *
6724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms
7724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual
8724ba675SRob Herring * licensing only applies to this file, and not this project as a
9724ba675SRob Herring * whole.
10724ba675SRob Herring *
11724ba675SRob Herring *  a) This file is free software; you can redistribute it and/or
12724ba675SRob Herring *     modify it under the terms of the GNU General Public License as
13724ba675SRob Herring *     published by the Free Software Foundation; either version 2 of the
14724ba675SRob Herring *     License, or (at your option) any later version.
15724ba675SRob Herring *
16724ba675SRob Herring *     This file is distributed in the hope that it will be useful,
17724ba675SRob Herring *     but WITHOUT ANY WARRANTY; without even the implied warranty of
18724ba675SRob Herring *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19724ba675SRob Herring *     GNU General Public License for more details.
20724ba675SRob Herring *
21724ba675SRob Herring * Or, alternatively,
22724ba675SRob Herring *
23724ba675SRob Herring *  b) Permission is hereby granted, free of charge, to any person
24724ba675SRob Herring *     obtaining a copy of this software and associated documentation
25724ba675SRob Herring *     files (the "Software"), to deal in the Software without
26724ba675SRob Herring *     restriction, including without limitation the rights to use,
27724ba675SRob Herring *     copy, modify, merge, publish, distribute, sublicense, and/or
28724ba675SRob Herring *     sell copies of the Software, and to permit persons to whom the
29724ba675SRob Herring *     Software is furnished to do so, subject to the following
30724ba675SRob Herring *     conditions:
31724ba675SRob Herring *
32724ba675SRob Herring *     The above copyright notice and this permission notice shall be
33724ba675SRob Herring *     included in all copies or substantial portions of the Software.
34724ba675SRob Herring *
35724ba675SRob Herring *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36724ba675SRob Herring *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37724ba675SRob Herring *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38724ba675SRob Herring *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39724ba675SRob Herring *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40724ba675SRob Herring *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41724ba675SRob Herring *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42724ba675SRob Herring *     OTHER DEALINGS IN THE SOFTWARE.
43724ba675SRob Herring */
44724ba675SRob Herring
45724ba675SRob Herring/dts-v1/;
46724ba675SRob Herring
47724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
48724ba675SRob Herring#include <dt-bindings/input/input.h>
49724ba675SRob Herring#include "imx6q.dtsi"
50724ba675SRob Herring
51724ba675SRob Herring/ {
52724ba675SRob Herring	model = "NutsBoard i.MX6 Quad Pistachio board";
53724ba675SRob Herring	compatible = "nutsboard,imx6q-pistachio", "fsl,imx6q";
54724ba675SRob Herring
55724ba675SRob Herring	chosen {
56724ba675SRob Herring		stdout-path = &uart4;
57724ba675SRob Herring	};
58724ba675SRob Herring
59724ba675SRob Herring	memory@10000000 {
60724ba675SRob Herring		device_type = "memory";
61724ba675SRob Herring		reg = <0x10000000 0x80000000>;
62724ba675SRob Herring	};
63724ba675SRob Herring
64724ba675SRob Herring	reg_3p3v: regulator-3p3v {
65724ba675SRob Herring		compatible = "regulator-fixed";
66724ba675SRob Herring		regulator-name = "3P3V";
67724ba675SRob Herring		regulator-min-microvolt = <3300000>;
68724ba675SRob Herring		regulator-max-microvolt = <3300000>;
69724ba675SRob Herring	};
70724ba675SRob Herring
71724ba675SRob Herring	reg_1p8v: regulator-1p8v {
72724ba675SRob Herring		compatible = "regulator-fixed";
73724ba675SRob Herring		regulator-name = "1P8V";
74724ba675SRob Herring		regulator-min-microvolt = <1800000>;
75724ba675SRob Herring		regulator-max-microvolt = <1800000>;
76724ba675SRob Herring	};
77724ba675SRob Herring
78724ba675SRob Herring	wlan_en_reg: regulator-wlan_en {
79724ba675SRob Herring		compatible = "regulator-fixed";
80724ba675SRob Herring		regulator-name = "wlan-en-regulator";
81724ba675SRob Herring		regulator-min-microvolt = <1800000>;
82724ba675SRob Herring		regulator-max-microvolt = <1800000>;
83724ba675SRob Herring		gpio = <&gpio2 24 GPIO_ACTIVE_HIGH>;
84724ba675SRob Herring		startup-delay-us = <70000>;
85724ba675SRob Herring		enable-active-high;
86724ba675SRob Herring	};
87724ba675SRob Herring
88724ba675SRob Herring	reg_usb_otg_vbus: regulator-usb_vbus {
89724ba675SRob Herring		compatible = "regulator-fixed";
90724ba675SRob Herring		regulator-name = "usb_otg_vbus";
91724ba675SRob Herring		regulator-min-microvolt = <5000000>;
92724ba675SRob Herring		regulator-max-microvolt = <5000000>;
93724ba675SRob Herring		gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
94724ba675SRob Herring		enable-active-high;
95724ba675SRob Herring		vin-supply = <&swbst_reg>;
96724ba675SRob Herring	};
97724ba675SRob Herring
98724ba675SRob Herring	gpio-keys {
99724ba675SRob Herring		compatible = "gpio-keys";
100724ba675SRob Herring		pinctrl-names = "default";
101724ba675SRob Herring		pinctrl-0 = <&pinctrl_gpio_keys>;
102724ba675SRob Herring
103724ba675SRob Herring		key-power {
104724ba675SRob Herring			label = "Power Button";
105724ba675SRob Herring			gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
106724ba675SRob Herring			wakeup-source;
107724ba675SRob Herring			linux,code = <KEY_POWER>;
108724ba675SRob Herring		};
109724ba675SRob Herring	};
110724ba675SRob Herring
111724ba675SRob Herring	sound {
112724ba675SRob Herring		compatible = "fsl,imx-sgtl5000",
113724ba675SRob Herring			   "fsl,imx-audio-sgtl5000";
114724ba675SRob Herring		model = "audio-sgtl5000";
115724ba675SRob Herring		ssi-controller = <&ssi1>;
116724ba675SRob Herring		audio-codec = <&codec>;
117724ba675SRob Herring		audio-routing =
118724ba675SRob Herring			"MIC_IN", "Mic Jack",
119724ba675SRob Herring			"Mic Jack", "Mic Bias",
120724ba675SRob Herring			"Headphone Jack", "HP_OUT";
121724ba675SRob Herring		mux-int-port = <1>;
122724ba675SRob Herring		mux-ext-port = <3>;
123724ba675SRob Herring	};
124724ba675SRob Herring
125724ba675SRob Herring	backlight_lvds: backlight-lvds {
126724ba675SRob Herring		compatible = "pwm-backlight";
127724ba675SRob Herring		pwms = <&pwm1 0 50000>;
128724ba675SRob Herring		brightness-levels = <
129724ba675SRob Herring			0  /*1  2  3  4  5  6*/  7  8  9
130724ba675SRob Herring			10 11 12 13 14 15 16 17 18 19
131724ba675SRob Herring			20 21 22 23 24 25 26 27 28 29
132724ba675SRob Herring			30 31 32 33 34 35 36 37 38 39
133724ba675SRob Herring			40 41 42 43 44 45 46 47 48 49
134724ba675SRob Herring			50 51 52 53 54 55 56 57 58 59
135724ba675SRob Herring			60 61 62 63 64 65 66 67 68 69
136724ba675SRob Herring			70 71 72 73 74 75 76 77 78 79
137724ba675SRob Herring			80 81 82 83 84 85 86 87 88 89
138724ba675SRob Herring			90 91 92 93 94 95 96 97 98 99
139724ba675SRob Herring			100
140724ba675SRob Herring		>;
141724ba675SRob Herring		default-brightness-level = <94>;
142724ba675SRob Herring		status = "okay";
143724ba675SRob Herring	};
144724ba675SRob Herring
145724ba675SRob Herring	panel {
146724ba675SRob Herring		compatible = "hannstar,hsd100pxn1";
147724ba675SRob Herring		backlight = <&backlight_lvds>;
148724ba675SRob Herring
149724ba675SRob Herring		port {
150724ba675SRob Herring			panel_in: endpoint {
151724ba675SRob Herring				remote-endpoint = <&lvds0_out>;
152724ba675SRob Herring			};
153724ba675SRob Herring		};
154724ba675SRob Herring	};
155724ba675SRob Herring};
156724ba675SRob Herring
157724ba675SRob Herring&audmux {
158724ba675SRob Herring	pinctrl-names = "default";
159724ba675SRob Herring	pinctrl-0 = <&pinctrl_audmux>;
160724ba675SRob Herring	status = "okay";
161724ba675SRob Herring};
162724ba675SRob Herring
163724ba675SRob Herring&can2 {
164724ba675SRob Herring	pinctrl-names = "default";
165724ba675SRob Herring	pinctrl-0 = <&pinctrl_flexcan2>;
166724ba675SRob Herring	status = "okay";
167724ba675SRob Herring};
168724ba675SRob Herring
169724ba675SRob Herring&clks {
170724ba675SRob Herring	assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
171724ba675SRob Herring			  <&clks IMX6QDL_CLK_LDB_DI1_SEL>;
172724ba675SRob Herring	assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>,
173724ba675SRob Herring				 <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
174724ba675SRob Herring};
175724ba675SRob Herring
176724ba675SRob Herring&fec {
177724ba675SRob Herring	pinctrl-names = "default";
178724ba675SRob Herring	pinctrl-0 = <&pinctrl_enet>;
179724ba675SRob Herring	phy-mode = "rgmii";
180724ba675SRob Herring	status = "okay";
181724ba675SRob Herring};
182724ba675SRob Herring
183724ba675SRob Herring&hdmi {
184724ba675SRob Herring	ddc-i2c-bus = <&i2c2>;
185724ba675SRob Herring	status = "okay";
186724ba675SRob Herring};
187724ba675SRob Herring
188724ba675SRob Herring&i2c1 {
189724ba675SRob Herring	clock-frequency = <100000>;
190724ba675SRob Herring	pinctrl-names = "default";
191724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c1>;
192724ba675SRob Herring	status = "okay";
193724ba675SRob Herring
194724ba675SRob Herring	codec: sgtl5000@a {
195724ba675SRob Herring		compatible = "fsl,sgtl5000";
196724ba675SRob Herring		pinctrl-names = "default";
197724ba675SRob Herring		pinctrl-0 = <&pinctrl_i2c1_sgtl5000>;
198724ba675SRob Herring		reg = <0x0a>;
199*d54bcc3aSFabio Estevam		#sound-dai-cells = <0>;
200724ba675SRob Herring		clocks = <&clks IMX6QDL_CLK_CKO>;
201724ba675SRob Herring		VDDA-supply = <&reg_1p8v>;
202724ba675SRob Herring		VDDIO-supply = <&reg_1p8v>;
203724ba675SRob Herring	};
204724ba675SRob Herring};
205724ba675SRob Herring
206724ba675SRob Herring&i2c2 {
207724ba675SRob Herring	clock-frequency = <100000>;
208724ba675SRob Herring	pinctrl-names = "default";
209724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c2>;
210724ba675SRob Herring	status = "okay";
211724ba675SRob Herring
212724ba675SRob Herring	pmic: pmic@8 {
213724ba675SRob Herring		compatible = "fsl,pfuze100";
214724ba675SRob Herring		reg = <0x08>;
215724ba675SRob Herring
216724ba675SRob Herring		regulators {
217724ba675SRob Herring			sw1a_reg: sw1ab {
218724ba675SRob Herring				regulator-min-microvolt = <300000>;
219724ba675SRob Herring				regulator-max-microvolt = <1875000>;
220724ba675SRob Herring				regulator-boot-on;
221724ba675SRob Herring				regulator-always-on;
222724ba675SRob Herring				regulator-ramp-delay = <6250>;
223724ba675SRob Herring			};
224724ba675SRob Herring
225724ba675SRob Herring			sw1c_reg: sw1c {
226724ba675SRob Herring				regulator-min-microvolt = <300000>;
227724ba675SRob Herring				regulator-max-microvolt = <1875000>;
228724ba675SRob Herring				regulator-boot-on;
229724ba675SRob Herring				regulator-always-on;
230724ba675SRob Herring				regulator-ramp-delay = <6250>;
231724ba675SRob Herring			};
232724ba675SRob Herring
233724ba675SRob Herring			sw2_reg: sw2 {
234724ba675SRob Herring				regulator-min-microvolt = <800000>;
235724ba675SRob Herring				regulator-max-microvolt = <3300000>;
236724ba675SRob Herring				regulator-boot-on;
237724ba675SRob Herring				regulator-always-on;
238724ba675SRob Herring				regulator-ramp-delay = <6250>;
239724ba675SRob Herring			};
240724ba675SRob Herring
241724ba675SRob Herring			sw3a_reg: sw3a {
242724ba675SRob Herring				regulator-min-microvolt = <400000>;
243724ba675SRob Herring				regulator-max-microvolt = <1975000>;
244724ba675SRob Herring				regulator-boot-on;
245724ba675SRob Herring				regulator-always-on;
246724ba675SRob Herring			};
247724ba675SRob Herring
248724ba675SRob Herring			sw3b_reg: sw3b {
249724ba675SRob Herring				regulator-min-microvolt = <400000>;
250724ba675SRob Herring				regulator-max-microvolt = <1975000>;
251724ba675SRob Herring				regulator-boot-on;
252724ba675SRob Herring				regulator-always-on;
253724ba675SRob Herring			};
254724ba675SRob Herring
255724ba675SRob Herring			sw4_reg: sw4 {
256724ba675SRob Herring				regulator-min-microvolt = <800000>;
257724ba675SRob Herring				regulator-max-microvolt = <3300000>;
258724ba675SRob Herring			};
259724ba675SRob Herring
260724ba675SRob Herring			swbst_reg: swbst {
261724ba675SRob Herring				regulator-min-microvolt = <5000000>;
262724ba675SRob Herring				regulator-max-microvolt = <5150000>;
263724ba675SRob Herring			};
264724ba675SRob Herring
265724ba675SRob Herring			snvs_reg: vsnvs {
266724ba675SRob Herring				regulator-min-microvolt = <1000000>;
267724ba675SRob Herring				regulator-max-microvolt = <3000000>;
268724ba675SRob Herring				regulator-boot-on;
269724ba675SRob Herring				regulator-always-on;
270724ba675SRob Herring			};
271724ba675SRob Herring
272724ba675SRob Herring			vref_reg: vrefddr {
273724ba675SRob Herring				regulator-boot-on;
274724ba675SRob Herring				regulator-always-on;
275724ba675SRob Herring			};
276724ba675SRob Herring
277724ba675SRob Herring			vgen1_reg: vgen1 {
278724ba675SRob Herring				regulator-min-microvolt = <800000>;
279724ba675SRob Herring				regulator-max-microvolt = <1550000>;
280724ba675SRob Herring			};
281724ba675SRob Herring
282724ba675SRob Herring			vgen2_reg: vgen2 {
283724ba675SRob Herring				regulator-min-microvolt = <800000>;
284724ba675SRob Herring				regulator-max-microvolt = <1550000>;
285724ba675SRob Herring			};
286724ba675SRob Herring
287724ba675SRob Herring			vgen3_reg: vgen3 {
288724ba675SRob Herring				regulator-min-microvolt = <1800000>;
289724ba675SRob Herring				regulator-max-microvolt = <3300000>;
290724ba675SRob Herring			};
291724ba675SRob Herring
292724ba675SRob Herring			vgen4_reg: vgen4 {
293724ba675SRob Herring				regulator-min-microvolt = <1800000>;
294724ba675SRob Herring				regulator-max-microvolt = <3300000>;
295724ba675SRob Herring				regulator-always-on;
296724ba675SRob Herring			};
297724ba675SRob Herring
298724ba675SRob Herring			vgen5_reg: vgen5 {
299724ba675SRob Herring				regulator-min-microvolt = <1800000>;
300724ba675SRob Herring				regulator-max-microvolt = <3300000>;
301724ba675SRob Herring				regulator-always-on;
302724ba675SRob Herring			};
303724ba675SRob Herring			vgen6_reg: vgen6 {
304724ba675SRob Herring				regulator-min-microvolt = <1800000>;
305724ba675SRob Herring				regulator-max-microvolt = <3300000>;
306724ba675SRob Herring				regulator-always-on;
307724ba675SRob Herring			};
308724ba675SRob Herring		};
309724ba675SRob Herring	};
310724ba675SRob Herring
311724ba675SRob Herring	ar1021@4d {
312724ba675SRob Herring		compatible = "microchip,ar1021-i2c";
313724ba675SRob Herring		reg = <0x4d>;
314724ba675SRob Herring		interrupt-parent = <&gpio6>;
315724ba675SRob Herring		interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
316724ba675SRob Herring	};
317724ba675SRob Herring};
318724ba675SRob Herring
319724ba675SRob Herring&i2c3 {
320724ba675SRob Herring	clock-frequency = <100000>;
321724ba675SRob Herring	pinctrl-names = "default";
322724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c3>;
323724ba675SRob Herring	status = "okay";
324724ba675SRob Herring};
325724ba675SRob Herring
326724ba675SRob Herring&iomuxc {
327724ba675SRob Herring	pinctrl-names = "default";
328724ba675SRob Herring
329724ba675SRob Herring	pinctrl_hog: hoggrp {
330724ba675SRob Herring		fsl,pins = <
331724ba675SRob Herring			MX6QDL_PAD_EIM_D22__GPIO3_IO22	0x1b0b0  /*pcie power*/
332724ba675SRob Herring			MX6QDL_PAD_EIM_A25__GPIO5_IO02	0x1b0b0   /*LCD power*/
333724ba675SRob Herring			MX6QDL_PAD_EIM_D16__GPIO3_IO16	0x1b0b0   /*backlight power*/
334724ba675SRob Herring			MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x1b0b1 /*SD3 CD pin*/
335724ba675SRob Herring			MX6QDL_PAD_KEY_COL2__GPIO4_IO10	0x1b0b0 /*codec power*/
336724ba675SRob Herring			MX6QDL_PAD_EIM_A16__GPIO2_IO22	0x1b0b0 /*touch reset*/
337724ba675SRob Herring			MX6QDL_PAD_NANDF_ALE__GPIO6_IO08	0x1b0b01 /*touch irq*/
338724ba675SRob Herring			MX6QDL_PAD_GPIO_7__GPIO1_IO07	 0x1b0b0/*backlight pwr*/
339724ba675SRob Herring			MX6QDL_PAD_GPIO_16__GPIO7_IO11	0x1b0b0 /*gpio 5V_1*/
340724ba675SRob Herring			MX6QDL_PAD_EIM_A19__GPIO2_IO19	0x1b0b0 /*gpio 5V_2*/
341724ba675SRob Herring			MX6QDL_PAD_EIM_A24__GPIO5_IO04	0x1b0b0 /*gpio 5V_3*/
342724ba675SRob Herring			MX6QDL_PAD_GPIO_17__GPIO7_IO12	0x1b0b0 /*gpio 5V_4*/
343724ba675SRob Herring			MX6QDL_PAD_NANDF_CLE__GPIO6_IO07	0x1b0b0 /*AUX_5V_EN*/
344724ba675SRob Herring			MX6QDL_PAD_NANDF_WP_B__GPIO6_IO09	0x1b0b0 /*AUX_5VB_EN*/
345724ba675SRob Herring			MX6QDL_PAD_NANDF_RB0__GPIO6_IO10	0x1b0b0 /*AUX_3V3_EN*/
346724ba675SRob Herring			MX6QDL_PAD_EIM_D21__GPIO3_IO21	0x1b0b0 /*I2C expander pwr*/
347724ba675SRob Herring		>;
348724ba675SRob Herring	};
349724ba675SRob Herring
350724ba675SRob Herring	pinctrl_audmux: audmuxgrp {
351724ba675SRob Herring		fsl,pins = <
352724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0
353724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
354724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0
355724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
356724ba675SRob Herring		>;
357724ba675SRob Herring	};
358724ba675SRob Herring
359724ba675SRob Herring	pinctrl_ecspi1: ecspi1grp {
360724ba675SRob Herring		fsl,pins = <
361724ba675SRob Herring			MX6QDL_PAD_KEY_COL1__ECSPI1_MISO	0x100b1
362724ba675SRob Herring			MX6QDL_PAD_KEY_ROW0__ECSPI1_MOSI	0x100b1
363724ba675SRob Herring			MX6QDL_PAD_KEY_COL0__ECSPI1_SCLK	0x100b1
364724ba675SRob Herring			MX6QDL_PAD_KEY_ROW1__GPIO4_IO09		0x1b0b0
365724ba675SRob Herring		>;
366724ba675SRob Herring	};
367724ba675SRob Herring
368724ba675SRob Herring	pinctrl_enet: enetgrp {
369724ba675SRob Herring		fsl,pins = <
370724ba675SRob Herring			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b8b0
371724ba675SRob Herring			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
372724ba675SRob Herring			/* AR8035 reset */
373724ba675SRob Herring			MX6QDL_PAD_EIM_A20__GPIO2_IO18		0x130b0
374724ba675SRob Herring			/* AR8035 interrupt */
375724ba675SRob Herring			MX6QDL_PAD_EIM_CS0__GPIO2_IO23		0x1b0b1
376724ba675SRob Herring			MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
377724ba675SRob Herring			MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
378724ba675SRob Herring			MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
379724ba675SRob Herring			MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
380724ba675SRob Herring			MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
381724ba675SRob Herring			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
382724ba675SRob Herring			/* AR8035 CLK_25M --> ENET_REF_CLK (V22) */
383724ba675SRob Herring			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x0a0b1
384724ba675SRob Herring			/* AR8035 pin strapping: IO voltage: pull up */
385724ba675SRob Herring			MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
386724ba675SRob Herring			/* AR8035 pin strapping: PHYADDR#0: pull down */
387724ba675SRob Herring			MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x13030
388724ba675SRob Herring			/* AR8035 pin strapping: PHYADDR#1: pull down */
389724ba675SRob Herring			MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x13030
390724ba675SRob Herring			/* AR8035 pin strapping: MODE#1: pull up */
391724ba675SRob Herring			MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
392724ba675SRob Herring			/* AR8035 pin strapping: MODE#3: pull up */
393724ba675SRob Herring			MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
394724ba675SRob Herring			/* AR8035 pin strapping: MODE#0: pull down */
395724ba675SRob Herring			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x13030
396724ba675SRob Herring		>;
397724ba675SRob Herring	};
398724ba675SRob Herring
399724ba675SRob Herring	pinctrl_flexcan2: flexcan2grp {
400724ba675SRob Herring		fsl,pins = <
401724ba675SRob Herring			MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX	0x1b0b0
402724ba675SRob Herring			MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX	0x1b0b0
403724ba675SRob Herring		>;
404724ba675SRob Herring	};
405724ba675SRob Herring
406724ba675SRob Herring	pinctrl_gpio_keys: gpio_keysgrp {
407724ba675SRob Herring		fsl,pins = <
408724ba675SRob Herring			MX6QDL_PAD_SD4_DAT4__GPIO2_IO12 0x1b0b0
409724ba675SRob Herring		>;
410724ba675SRob Herring	};
411724ba675SRob Herring
412724ba675SRob Herring	pinctrl_hdmi_cec: hdmicecgrp {
413724ba675SRob Herring		fsl,pins = <
414724ba675SRob Herring			MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x108b0
415724ba675SRob Herring		>;
416724ba675SRob Herring	};
417724ba675SRob Herring
418724ba675SRob Herring	pinctrl_i2c1: i2c1grp {
419724ba675SRob Herring		fsl,pins = <
420724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT8__I2C1_SDA		0x4001b8b1
421724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT9__I2C1_SCL		0x4001b8b1
422724ba675SRob Herring		>;
423724ba675SRob Herring	};
424724ba675SRob Herring
425724ba675SRob Herring	pinctrl_i2c2: i2c2grp {
426724ba675SRob Herring		fsl,pins = <
427724ba675SRob Herring			MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
428724ba675SRob Herring			MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
429724ba675SRob Herring		>;
430724ba675SRob Herring	};
431724ba675SRob Herring
432724ba675SRob Herring	pinctrl_i2c3: i2c3grp {
433724ba675SRob Herring		fsl,pins = <
434724ba675SRob Herring			MX6QDL_PAD_GPIO_3__I2C3_SCL		0x4001b8b1
435724ba675SRob Herring			MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001b8b1
436724ba675SRob Herring		>;
437724ba675SRob Herring	};
438724ba675SRob Herring
439724ba675SRob Herring	pinctrl_i2c1_sgtl5000: i2c1-sgtl5000grp {
440724ba675SRob Herring		fsl,pins = <
441724ba675SRob Herring			MX6QDL_PAD_GPIO_0__CCM_CLKO1			0x000b0 /* sys_mclk */
442724ba675SRob Herring			MX6QDL_PAD_SD3_RST__GPIO7_IO08		0x130b0 /*headphone det*/
443724ba675SRob Herring			MX6QDL_PAD_GPIO_8__GPIO1_IO08			0x130b0 /*microphone det*/
444724ba675SRob Herring		>;
445724ba675SRob Herring	};
446724ba675SRob Herring
447724ba675SRob Herring	pinctrl_pwm1: pwm1grp {
448724ba675SRob Herring		fsl,pins = <
449724ba675SRob Herring			MX6QDL_PAD_GPIO_9__PWM1_OUT	    0x1b0b1
450724ba675SRob Herring		>;
451724ba675SRob Herring	};
452724ba675SRob Herring
453724ba675SRob Herring	pinctrl_uart1: uart1grp {
454724ba675SRob Herring		fsl,pins = <
455724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT10__UART1_RX_DATA	0x1b0b1
456724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT11__UART1_TX_DATA	0x1b0b1
457724ba675SRob Herring			MX6QDL_PAD_EIM_D20__UART1_CTS_B	0x1b0b1
458724ba675SRob Herring			MX6QDL_PAD_EIM_D19__UART1_RTS_B	0x1b0b1
459724ba675SRob Herring			MX6QDL_PAD_EIM_D23__UART1_DCD_B	0x1b0b0
460724ba675SRob Herring			MX6QDL_PAD_EIM_D24__UART1_DTR_B	0x1b0b0
461724ba675SRob Herring			MX6QDL_PAD_EIM_D25__UART1_DSR_B	0x1b0b0
462724ba675SRob Herring		>;
463724ba675SRob Herring	};
464724ba675SRob Herring
465724ba675SRob Herring	pinctrl_uart2: uart2grp {
466724ba675SRob Herring		fsl,pins = <
467724ba675SRob Herring			MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
468724ba675SRob Herring			MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
469724ba675SRob Herring			MX6QDL_PAD_EIM_D28__UART2_CTS_B	0x1b0b1
470724ba675SRob Herring			MX6QDL_PAD_EIM_D29__UART2_RTS_B	0x1b0b1
471724ba675SRob Herring		>;
472724ba675SRob Herring	};
473724ba675SRob Herring
474724ba675SRob Herring	pinctrl_uart3: uart3grp {
475724ba675SRob Herring		fsl,pins = <
476724ba675SRob Herring			MX6QDL_PAD_SD4_CLK__UART3_RX_DATA	0x1b0b1
477724ba675SRob Herring			MX6QDL_PAD_SD4_CMD__UART3_TX_DATA	0x1b0b1
478724ba675SRob Herring			MX6QDL_PAD_EIM_D30__UART3_CTS_B		0x1b0b1
479724ba675SRob Herring			MX6QDL_PAD_EIM_D31__UART3_RTS_B		0x1b0b1
480724ba675SRob Herring		>;
481724ba675SRob Herring	};
482724ba675SRob Herring
483724ba675SRob Herring	pinctrl_uart4: uart4grp {
484724ba675SRob Herring		fsl,pins = <
485724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA	0x1b0b1
486724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA	0x1b0b1
487724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B	0x1b0b1
488724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B	0x1b0b1
489724ba675SRob Herring		>;
490724ba675SRob Herring	};
491724ba675SRob Herring
492724ba675SRob Herring	pinctrl_uart5: uart5grp {
493724ba675SRob Herring		fsl,pins = <
494724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA	0x1b0b1
495724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA	0x1b0b1
496724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT18__UART5_RTS_B	0x1b0b1
497724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT19__UART5_CTS_B	0x1b0b1
498724ba675SRob Herring			MX6QDL_PAD_EIM_A21__GPIO2_IO17		 0x15059 /*BT_EN*/
499724ba675SRob Herring		>;
500724ba675SRob Herring	};
501724ba675SRob Herring
502724ba675SRob Herring	pinctrl_usbotg: usbotggrp {
503724ba675SRob Herring		fsl,pins = <
504724ba675SRob Herring			MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x17059
505724ba675SRob Herring		>;
506724ba675SRob Herring	};
507724ba675SRob Herring
508724ba675SRob Herring	pinctrl_usdhc1: usdhc1grp {
509724ba675SRob Herring		fsl,pins = <
510724ba675SRob Herring			MX6QDL_PAD_SD1_CMD__SD1_CMD		0x17059
511724ba675SRob Herring			MX6QDL_PAD_SD1_CLK__SD1_CLK		0x10059
512724ba675SRob Herring			MX6QDL_PAD_SD1_DAT0__SD1_DATA0		0x17059
513724ba675SRob Herring			MX6QDL_PAD_SD1_DAT1__SD1_DATA1		0x17059
514724ba675SRob Herring			MX6QDL_PAD_SD1_DAT2__SD1_DATA2		0x17059
515724ba675SRob Herring			MX6QDL_PAD_SD1_DAT3__SD1_DATA3		0x17059
516724ba675SRob Herring			MX6QDL_PAD_NANDF_D0__SD1_DATA4		0x17059
517724ba675SRob Herring			MX6QDL_PAD_NANDF_D1__SD1_DATA5		0x17059
518724ba675SRob Herring			MX6QDL_PAD_NANDF_D2__SD1_DATA6		0x17059
519724ba675SRob Herring			MX6QDL_PAD_NANDF_D3__SD1_DATA7		0x17059
520724ba675SRob Herring		>;
521724ba675SRob Herring	};
522724ba675SRob Herring
523724ba675SRob Herring	pinctrl_usdhc2: usdhc2grp {
524724ba675SRob Herring		fsl,pins = <
525724ba675SRob Herring			MX6QDL_PAD_SD2_CMD__SD2_CMD		0x17059
526724ba675SRob Herring			MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10059
527724ba675SRob Herring			MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059
528724ba675SRob Herring			MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059
529724ba675SRob Herring			MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059
530724ba675SRob Herring			MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059
531724ba675SRob Herring			MX6QDL_PAD_EIM_RW__GPIO2_IO26			0x15059 /*WL_EN_LDO*/
532724ba675SRob Herring			MX6QDL_PAD_EIM_CS1__GPIO2_IO24		0x15059 /*WL_EN*/
533724ba675SRob Herring			MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18	0x15059 /*WL_IRQ*/
534724ba675SRob Herring		>;
535724ba675SRob Herring	};
536724ba675SRob Herring
537724ba675SRob Herring	pinctrl_usdhc3: usdhc3grp {
538724ba675SRob Herring		fsl,pins = <
539724ba675SRob Herring			MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17071
540724ba675SRob Herring			MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10071
541724ba675SRob Herring			MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17071
542724ba675SRob Herring			MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17071
543724ba675SRob Herring			MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17071
544724ba675SRob Herring			MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17071
545724ba675SRob Herring		>;
546724ba675SRob Herring	};
547724ba675SRob Herring
548724ba675SRob Herring	pinctrl_wdog: wdoggrp {
549724ba675SRob Herring		fsl,pins = <
550724ba675SRob Herring			MX6QDL_PAD_GPIO_1__WDOG2_B	0x1b0b00
551724ba675SRob Herring		>;
552724ba675SRob Herring	};
553724ba675SRob Herring};
554724ba675SRob Herring
555724ba675SRob Herring&ldb {
556724ba675SRob Herring	status = "okay";
557724ba675SRob Herring
558724ba675SRob Herring	lvds-channel@1 {
559724ba675SRob Herring		fsl,data-mapping = "spwg";
560724ba675SRob Herring		fsl,data-width = <18>;
561724ba675SRob Herring		status = "okay";
562724ba675SRob Herring
563724ba675SRob Herring		port@4 {
564724ba675SRob Herring			reg = <4>;
565724ba675SRob Herring
566724ba675SRob Herring			lvds0_out: endpoint {
567724ba675SRob Herring				remote-endpoint = <&panel_in>;
568724ba675SRob Herring			};
569724ba675SRob Herring		};
570724ba675SRob Herring	};
571724ba675SRob Herring};
572724ba675SRob Herring
573724ba675SRob Herring&pwm1 {
574724ba675SRob Herring	#pwm-cells = <2>;
575724ba675SRob Herring	pinctrl-names = "default";
576724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm1>;
577724ba675SRob Herring	status = "okay";
578724ba675SRob Herring};
579724ba675SRob Herring
580724ba675SRob Herring&snvs_poweroff {
581724ba675SRob Herring	status = "okay";
582724ba675SRob Herring};
583724ba675SRob Herring
584724ba675SRob Herring&ssi1 {
585724ba675SRob Herring	status = "okay";
586724ba675SRob Herring};
587724ba675SRob Herring
588724ba675SRob Herring&uart1 {
589724ba675SRob Herring	pinctrl-names = "default";
590724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
591724ba675SRob Herring	uart-has-rtscts;
592724ba675SRob Herring	fsl,dte-mode;
593724ba675SRob Herring	status = "okay";
594724ba675SRob Herring};
595724ba675SRob Herring
596724ba675SRob Herring&uart2 {
597724ba675SRob Herring	pinctrl-names = "default";
598724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart2>;
599724ba675SRob Herring	uart-has-rtscts;
600724ba675SRob Herring	status = "okay";
601724ba675SRob Herring};
602724ba675SRob Herring
603724ba675SRob Herring&uart3 {
604724ba675SRob Herring	pinctrl-names = "default";
605724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart3>;
606724ba675SRob Herring	uart-has-rtscts;
607724ba675SRob Herring	status = "okay";
608724ba675SRob Herring};
609724ba675SRob Herring
610724ba675SRob Herring&uart4 {
611724ba675SRob Herring	pinctrl-names = "default";
612724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart4>;
613724ba675SRob Herring	uart-has-rtscts;
614724ba675SRob Herring	status = "okay";
615724ba675SRob Herring};
616724ba675SRob Herring
617724ba675SRob Herring&uart5 {
618724ba675SRob Herring	pinctrl-names = "default";
619724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart5>;
620724ba675SRob Herring	uart-has-rtscts;
621724ba675SRob Herring	status = "okay";
622724ba675SRob Herring};
623724ba675SRob Herring
624724ba675SRob Herring&usbotg {
625724ba675SRob Herring	vbus-supply = <&reg_usb_otg_vbus>;
626724ba675SRob Herring	pinctrl-names = "default";
627724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbotg>;
628724ba675SRob Herring	disable-over-current;
629724ba675SRob Herring	srp-disable;
630724ba675SRob Herring	hnp-disable;
631724ba675SRob Herring	adp-disable;
632724ba675SRob Herring	status = "okay";
633724ba675SRob Herring};
634724ba675SRob Herring
635724ba675SRob Herring&usbh1 {
636724ba675SRob Herring	status = "okay";
637724ba675SRob Herring};
638724ba675SRob Herring
639724ba675SRob Herring&usbphy1 {
640724ba675SRob Herring	fsl,tx-d-cal = <0x5>;
641724ba675SRob Herring};
642724ba675SRob Herring
643724ba675SRob Herring&usbphy2 {
644724ba675SRob Herring	fsl,tx-d-cal = <0x5>;
645724ba675SRob Herring};
646724ba675SRob Herring
647724ba675SRob Herring&usdhc1 {
648724ba675SRob Herring	pinctrl-names = "default";
649724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc1>;
650724ba675SRob Herring	bus-width = <8>;
651724ba675SRob Herring	keep-power-in-suspend;
652724ba675SRob Herring	vmmc-supply = <&reg_3p3v>;
653724ba675SRob Herring	status = "okay";
654724ba675SRob Herring};
655724ba675SRob Herring
656724ba675SRob Herring&usdhc2 {
657724ba675SRob Herring	pinctrl-names = "default";
658724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc2>;
659724ba675SRob Herring	bus-width = <4>;
660724ba675SRob Herring	vmmc-supply = <&wlan_en_reg>;
661724ba675SRob Herring	no-1-8-v;
662724ba675SRob Herring	keep-power-in-suspend;
663724ba675SRob Herring	non-removable;
664724ba675SRob Herring	cap-power-off-card;
665724ba675SRob Herring	status = "okay";
666724ba675SRob Herring
667724ba675SRob Herring	#address-cells = <1>;
668724ba675SRob Herring	#size-cells = <0>;
669724ba675SRob Herring	wlcore: wlcore@2 {
670724ba675SRob Herring		compatible = "ti,wl1835";
671724ba675SRob Herring		reg = <2>;
672724ba675SRob Herring		interrupt-parent = <&gpio5>;
673724ba675SRob Herring		interrupts = <18 IRQ_TYPE_LEVEL_HIGH>;
674724ba675SRob Herring		ref-clock-frequency = <38400000>;
675724ba675SRob Herring		tcxo-clock-frequency = <26000000>;
676724ba675SRob Herring	};
677724ba675SRob Herring};
678724ba675SRob Herring
679724ba675SRob Herring&usdhc3 {
680724ba675SRob Herring	pinctrl-names = "default";
681724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc3>;
682724ba675SRob Herring	bus-width = <4>;
683724ba675SRob Herring	cd-gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
684724ba675SRob Herring	no-1-8-v;
685724ba675SRob Herring	keep-power-in-suspend;
686724ba675SRob Herring	wakeup-source;
687724ba675SRob Herring	status = "okay";
688724ba675SRob Herring};
689724ba675SRob Herring
690724ba675SRob Herring&sata {
691724ba675SRob Herring	status = "okay";
692724ba675SRob Herring};
693724ba675SRob Herring
694724ba675SRob Herring&wdog1 {
695724ba675SRob Herring	status = "okay";
696724ba675SRob Herring};
697