1 // SPDX-License-Identifier: GPL-2.0+
2 //
3 // Copyright 2012 Freescale Semiconductor, Inc.
4 // Copyright 2011 Linaro Ltd.
5 
6 #include <dt-bindings/gpio/gpio.h>
7 #include <dt-bindings/input/input.h>
8 
9 / {
10 	chosen {
11 		stdout-path = &uart4;
12 	};
13 
14 	memory@10000000 {
15 		device_type = "memory";
16 		reg = <0x10000000 0x80000000>;
17 	};
18 
19 	leds {
20 		compatible = "gpio-leds";
21 		pinctrl-names = "default";
22 		pinctrl-0 = <&pinctrl_gpio_leds>;
23 
24 		user {
25 			label = "debug";
26 			gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>;
27 		};
28 	};
29 
30 	gpio-keys {
31 		compatible = "gpio-keys";
32 		pinctrl-names = "default";
33 		pinctrl-0 = <&pinctrl_gpio_keys>;
34 
35 		home {
36 			label = "Home";
37 			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
38 			linux,code = <KEY_HOME>;
39 			wakeup-source;
40 		};
41 
42 		back {
43 			label = "Back";
44 			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
45 			linux,code = <KEY_BACK>;
46 			wakeup-source;
47 		};
48 
49 		program {
50 			label = "Program";
51 			gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
52 			linux,code = <KEY_PROGRAM>;
53 			wakeup-source;
54 		};
55 
56 		volume-up {
57 			label = "Volume Up";
58 			gpios = <&gpio2 15 GPIO_ACTIVE_LOW>;
59 			linux,code = <KEY_VOLUMEUP>;
60 			wakeup-source;
61 		};
62 
63 		volume-down {
64 			label = "Volume Down";
65 			gpios = <&gpio5 14 GPIO_ACTIVE_LOW>;
66 			linux,code = <KEY_VOLUMEDOWN>;
67 			wakeup-source;
68 		};
69 	};
70 
71 	clocks {
72 		codec_osc: anaclk2 {
73 			compatible = "fixed-clock";
74 			#clock-cells = <0>;
75 			clock-frequency = <24576000>;
76 		};
77 	};
78 
79 	reg_audio: regulator-audio {
80 		compatible = "regulator-fixed";
81 		regulator-name = "cs42888_supply";
82 		regulator-min-microvolt = <3300000>;
83 		regulator-max-microvolt = <3300000>;
84 		regulator-always-on;
85 	};
86 
87 	reg_usb_h1_vbus: regulator-usb-h1-vbus {
88 		compatible = "regulator-fixed";
89 		regulator-name = "usb_h1_vbus";
90 		regulator-min-microvolt = <5000000>;
91 		regulator-max-microvolt = <5000000>;
92 		gpio = <&max7310_b 7 GPIO_ACTIVE_HIGH>;
93 		enable-active-high;
94 	};
95 
96 	reg_usb_otg_vbus: regulator-usb-otg-vbus {
97 		compatible = "regulator-fixed";
98 		regulator-name = "usb_otg_vbus";
99 		regulator-min-microvolt = <5000000>;
100 		regulator-max-microvolt = <5000000>;
101 		gpio = <&max7310_c 1 GPIO_ACTIVE_HIGH>;
102 		enable-active-high;
103 	};
104 
105 	reg_can_en: regulator-can-en {
106 		compatible = "regulator-fixed";
107 		regulator-name = "can-en";
108 		regulator-min-microvolt = <3300000>;
109 		regulator-max-microvolt = <3300000>;
110 		gpio = <&max7310_b 6 GPIO_ACTIVE_HIGH>;
111 		enable-active-high;
112 	};
113 
114 	reg_can_stby: regulator-can-stby {
115 		compatible = "regulator-fixed";
116 		regulator-name = "can-stby";
117 		regulator-min-microvolt = <3300000>;
118 		regulator-max-microvolt = <3300000>;
119 		gpio = <&max7310_b 5 GPIO_ACTIVE_HIGH>;
120 		enable-active-high;
121 		vin-supply = <&reg_can_en>;
122 	};
123 
124 	sound-cs42888 {
125 		compatible = "fsl,imx6-sabreauto-cs42888",
126 			"fsl,imx-audio-cs42888";
127 		model = "imx-cs42888";
128 		audio-cpu = <&esai>;
129 		audio-asrc = <&asrc>;
130 		audio-codec = <&codec>;
131 		audio-routing =
132 			"Line Out Jack", "AOUT1L",
133 			"Line Out Jack", "AOUT1R",
134 			"Line Out Jack", "AOUT2L",
135 			"Line Out Jack", "AOUT2R",
136 			"Line Out Jack", "AOUT3L",
137 			"Line Out Jack", "AOUT3R",
138 			"Line Out Jack", "AOUT4L",
139 			"Line Out Jack", "AOUT4R",
140 			"AIN1L", "Line In Jack",
141 			"AIN1R", "Line In Jack",
142 			"AIN2L", "Line In Jack",
143 			"AIN2R", "Line In Jack";
144 	};
145 
146 	sound-spdif {
147 		compatible = "fsl,imx-audio-spdif",
148 			   "fsl,imx-sabreauto-spdif";
149 		model = "imx-spdif";
150 		spdif-controller = <&spdif>;
151 		spdif-in;
152 	};
153 
154 	backlight {
155 		compatible = "pwm-backlight";
156 		pwms = <&pwm3 0 5000000>;
157 		brightness-levels = <0 4 8 16 32 64 128 255>;
158 		default-brightness-level = <7>;
159 		status = "okay";
160 	};
161 
162 	i2cmux {
163 		compatible = "i2c-mux-gpio";
164 		#address-cells = <1>;
165 		#size-cells = <0>;
166 		pinctrl-names = "default";
167 		pinctrl-0 = <&pinctrl_i2c3mux>;
168 		mux-gpios = <&gpio5 4 0>;
169 		i2c-parent = <&i2c3>;
170 		idle-state = <0>;
171 
172 		i2c@1 {
173 			#address-cells = <1>;
174 			#size-cells = <0>;
175 			reg = <1>;
176 
177 			adv7180: camera@21 {
178 				compatible = "adi,adv7180";
179 				reg = <0x21>;
180 				powerdown-gpios = <&max7310_b 2 GPIO_ACTIVE_LOW>;
181 				interrupt-parent = <&gpio1>;
182 				interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
183 
184 				port {
185 					adv7180_to_ipu1_csi0_mux: endpoint {
186 						remote-endpoint = <&ipu1_csi0_mux_from_parallel_sensor>;
187 						bus-width = <8>;
188 					};
189 				};
190 			};
191 
192 			max7310_a: gpio@30 {
193 				compatible = "maxim,max7310";
194 				reg = <0x30>;
195 				gpio-controller;
196 				#gpio-cells = <2>;
197 			};
198 
199 			max7310_b: gpio@32 {
200 				compatible = "maxim,max7310";
201 				reg = <0x32>;
202 				gpio-controller;
203 				#gpio-cells = <2>;
204 				pinctrl-names = "default";
205 				pinctrl-0 = <&pinctrl_max7310>;
206 				reset-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
207 			};
208 
209 			max7310_c: gpio@34 {
210 				compatible = "maxim,max7310";
211 				reg = <0x34>;
212 				gpio-controller;
213 				#gpio-cells = <2>;
214 			};
215 
216 			light-sensor@44 {
217 				compatible = "isil,isl29023";
218 				reg = <0x44>;
219 				interrupt-parent = <&gpio5>;
220 				interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
221 			};
222 
223 			magnetometer@e {
224 				compatible = "fsl,mag3110";
225 				reg = <0x0e>;
226 				interrupt-parent = <&gpio2>;
227 				interrupts = <29 IRQ_TYPE_EDGE_RISING>;
228 			};
229 
230 			accelerometer@1c {
231 				compatible = "fsl,mma8451";
232 				reg = <0x1c>;
233 				pinctrl-names = "default";
234 				pinctrl-0 = <&pinctrl_mma8451_int>;
235 				interrupt-parent = <&gpio6>;
236 				interrupts = <31 IRQ_TYPE_LEVEL_LOW>;
237 			};
238 		};
239 	};
240 };
241 
242 &ipu1_csi0_from_ipu1_csi0_mux {
243 	bus-width = <8>;
244 };
245 
246 &ipu1_csi0_mux_from_parallel_sensor {
247 	remote-endpoint = <&adv7180_to_ipu1_csi0_mux>;
248 	bus-width = <8>;
249 };
250 
251 &ipu1_csi0 {
252 	pinctrl-names = "default";
253 	pinctrl-0 = <&pinctrl_ipu1_csi0>;
254 };
255 
256 &clks {
257 	assigned-clocks = <&clks IMX6QDL_PLL4_BYPASS_SRC>,
258 			  <&clks IMX6QDL_PLL4_BYPASS>,
259 			  <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
260 			  <&clks IMX6QDL_CLK_LDB_DI1_SEL>,
261 			  <&clks IMX6QDL_CLK_PLL4_POST_DIV>;
262 	assigned-clock-parents = <&clks IMX6QDL_CLK_LVDS2_IN>,
263 				 <&clks IMX6QDL_PLL4_BYPASS_SRC>,
264 				 <&clks IMX6QDL_CLK_PLL3_USB_OTG>,
265 				 <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
266 	assigned-clock-rates = <0>, <0>, <0>, <0>, <24576000>;
267 };
268 
269 &ecspi1 {
270 	cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
271 	pinctrl-names = "default";
272 	pinctrl-0 = <&pinctrl_ecspi1 &pinctrl_ecspi1_cs>;
273 	status = "disabled"; /* pin conflict with WEIM NOR */
274 
275 	flash: m25p80@0 {
276 		#address-cells = <1>;
277 		#size-cells = <1>;
278 		compatible = "st,m25p32", "jedec,spi-nor";
279 		spi-max-frequency = <20000000>;
280 		reg = <0>;
281 	};
282 };
283 
284 &esai {
285 	pinctrl-names = "default";
286 	pinctrl-0 = <&pinctrl_esai>;
287 	assigned-clocks = <&clks IMX6QDL_CLK_ESAI_SEL>,
288 			  <&clks IMX6QDL_CLK_ESAI_EXTAL>;
289 	assigned-clock-parents = <&clks IMX6QDL_CLK_PLL4_AUDIO_DIV>;
290 	assigned-clock-rates = <0>, <24576000>;
291 	status = "okay";
292 };
293 
294 &fec {
295 	pinctrl-names = "default";
296 	pinctrl-0 = <&pinctrl_enet>;
297 	phy-mode = "rgmii-id";
298 	interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>,
299 			      <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
300 	fsl,err006687-workaround-present;
301 	fsl,magic-packet;
302 	status = "okay";
303 };
304 
305 &can1 {
306 	pinctrl-names = "default";
307 	pinctrl-0 = <&pinctrl_flexcan1>;
308 	xceiver-supply = <&reg_can_stby>;
309 	status = "disabled"; /* pin conflict with fec */
310 };
311 
312 &can2 {
313 	pinctrl-names = "default";
314 	pinctrl-0 = <&pinctrl_flexcan2>;
315 	xceiver-supply = <&reg_can_stby>;
316 	status = "okay";
317 };
318 
319 &gpmi {
320 	pinctrl-names = "default";
321 	pinctrl-0 = <&pinctrl_gpmi_nand>;
322 	status = "okay";
323 };
324 
325 &hdmi {
326 	pinctrl-names = "default";
327 	pinctrl-0 = <&pinctrl_hdmi_cec>;
328 	ddc-i2c-bus = <&i2c2>;
329 	status = "okay";
330 };
331 
332 &i2c2 {
333 	clock-frequency = <100000>;
334 	pinctrl-names = "default";
335 	pinctrl-0 = <&pinctrl_i2c2>;
336 	status = "okay";
337 
338 	pmic: pfuze100@8 {
339 		compatible = "fsl,pfuze100";
340 		reg = <0x08>;
341 
342 		regulators {
343 			sw1a_reg: sw1ab {
344 				regulator-min-microvolt = <300000>;
345 				regulator-max-microvolt = <1875000>;
346 				regulator-boot-on;
347 				regulator-always-on;
348 				regulator-ramp-delay = <6250>;
349 			};
350 
351 			sw1c_reg: sw1c {
352 				regulator-min-microvolt = <300000>;
353 				regulator-max-microvolt = <1875000>;
354 				regulator-boot-on;
355 				regulator-always-on;
356 				regulator-ramp-delay = <6250>;
357 			};
358 
359 			sw2_reg: sw2 {
360 				regulator-min-microvolt = <800000>;
361 				regulator-max-microvolt = <3300000>;
362 				regulator-boot-on;
363 				regulator-always-on;
364 			};
365 
366 			sw3a_reg: sw3a {
367 				regulator-min-microvolt = <400000>;
368 				regulator-max-microvolt = <1975000>;
369 				regulator-boot-on;
370 				regulator-always-on;
371 			};
372 
373 			sw3b_reg: sw3b {
374 				regulator-min-microvolt = <400000>;
375 				regulator-max-microvolt = <1975000>;
376 				regulator-boot-on;
377 				regulator-always-on;
378 			};
379 
380 			sw4_reg: sw4 {
381 				regulator-min-microvolt = <800000>;
382 				regulator-max-microvolt = <3300000>;
383 			};
384 
385 			swbst_reg: swbst {
386 				regulator-min-microvolt = <5000000>;
387 				regulator-max-microvolt = <5150000>;
388 			};
389 
390 			snvs_reg: vsnvs {
391 				regulator-min-microvolt = <1000000>;
392 				regulator-max-microvolt = <3000000>;
393 				regulator-boot-on;
394 				regulator-always-on;
395 			};
396 
397 			vref_reg: vrefddr {
398 				regulator-boot-on;
399 				regulator-always-on;
400 			};
401 
402 			vgen1_reg: vgen1 {
403 				regulator-min-microvolt = <800000>;
404 				regulator-max-microvolt = <1550000>;
405 			};
406 
407 			vgen2_reg: vgen2 {
408 				regulator-min-microvolt = <800000>;
409 				regulator-max-microvolt = <1550000>;
410 			};
411 
412 			vgen3_reg: vgen3 {
413 				regulator-min-microvolt = <1800000>;
414 				regulator-max-microvolt = <3300000>;
415 			};
416 
417 			vgen4_reg: vgen4 {
418 				regulator-min-microvolt = <1800000>;
419 				regulator-max-microvolt = <3300000>;
420 				regulator-always-on;
421 			};
422 
423 			vgen5_reg: vgen5 {
424 				regulator-min-microvolt = <1800000>;
425 				regulator-max-microvolt = <3300000>;
426 				regulator-always-on;
427 			};
428 
429 			vgen6_reg: vgen6 {
430 				regulator-min-microvolt = <1800000>;
431 				regulator-max-microvolt = <3300000>;
432 				regulator-always-on;
433 			};
434 		};
435 	};
436 
437 	codec: cs42888@48 {
438 		compatible = "cirrus,cs42888";
439 		reg = <0x48>;
440 		clocks = <&codec_osc>;
441 		clock-names = "mclk";
442 		VA-supply = <&reg_audio>;
443 		VD-supply = <&reg_audio>;
444 		VLS-supply = <&reg_audio>;
445 		VLC-supply = <&reg_audio>;
446 	};
447 
448 	touchscreen@4 {
449 		compatible = "eeti,egalax_ts";
450 		reg = <0x04>;
451 		pinctrl-names = "default";
452 		pinctrl-0 = <&pinctrl_egalax_int>;
453 		interrupt-parent = <&gpio2>;
454 		interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
455 		wakeup-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>;
456 	};
457 };
458 
459 &i2c3 {
460 	pinctrl-names = "default";
461 	pinctrl-0 = <&pinctrl_i2c3>;
462 	status = "okay";
463 };
464 
465 &iomuxc {
466 	pinctrl-names = "default";
467 	pinctrl-0 = <&pinctrl_hog>;
468 
469 	imx6qdl-sabreauto {
470 		pinctrl_hog: hoggrp {
471 			fsl,pins = <
472 				MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x80000000
473 				MX6QDL_PAD_SD2_DAT2__GPIO1_IO13  0x80000000
474 				MX6QDL_PAD_GPIO_18__SD3_VSELECT 0x17059
475 			>;
476 		};
477 
478 		pinctrl_ecspi1: ecspi1grp {
479 			fsl,pins = <
480 				MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
481 				MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
482 				MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
483 			>;
484 		};
485 
486 		pinctrl_ecspi1_cs: ecspi1cs {
487 			fsl,pins = <
488 				MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x80000000
489 			>;
490 		};
491 
492 		pinctrl_egalax_int: egalax-intgrp {
493 			fsl,pins = <
494 				MX6QDL_PAD_EIM_EB0__GPIO2_IO28		0xb0b1
495 			>;
496 		};
497 
498 		pinctrl_enet: enetgrp {
499 			fsl,pins = <
500 				MX6QDL_PAD_KEY_COL1__ENET_MDIO		0x1b0b0
501 				MX6QDL_PAD_KEY_COL2__ENET_MDC		0x1b0b0
502 				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
503 				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
504 				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
505 				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
506 				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
507 				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
508 				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
509 				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
510 				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
511 				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
512 				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
513 				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
514 				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
515 				MX6QDL_PAD_GPIO_6__ENET_IRQ		0x000b1
516 			>;
517 		};
518 
519 		pinctrl_esai: esaigrp {
520 			fsl,pins = <
521 				MX6QDL_PAD_ENET_CRS_DV__ESAI_TX_CLK 0x1b030
522 				MX6QDL_PAD_ENET_RXD1__ESAI_TX_FS    0x1b030
523 				MX6QDL_PAD_ENET_TX_EN__ESAI_TX3_RX2 0x1b030
524 				MX6QDL_PAD_GPIO_5__ESAI_TX2_RX3     0x1b030
525 				MX6QDL_PAD_ENET_TXD0__ESAI_TX4_RX1  0x1b030
526 				MX6QDL_PAD_ENET_MDC__ESAI_TX5_RX0   0x1b030
527 				MX6QDL_PAD_GPIO_17__ESAI_TX0        0x1b030
528 				MX6QDL_PAD_NANDF_CS3__ESAI_TX1      0x1b030
529 				MX6QDL_PAD_ENET_MDIO__ESAI_RX_CLK   0x1b030
530 				MX6QDL_PAD_GPIO_9__ESAI_RX_FS       0x1b030
531 			>;
532 		};
533 
534 		pinctrl_flexcan1: flexcan1grp {
535 			fsl,pins = <
536 				MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x17059
537 				MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX	0x17059
538 			>;
539 		};
540 
541 		pinctrl_flexcan2: flexcan2grp {
542 			fsl,pins = <
543 				MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX	0x17059
544 				MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX	0x17059
545 			>;
546 		};
547 
548 		pinctrl_gpio_keys: gpiokeysgrp {
549 			fsl,pins = <
550 				MX6QDL_PAD_SD2_CMD__GPIO1_IO11		0x1b0b0
551 				MX6QDL_PAD_SD2_DAT3__GPIO1_IO12		0x1b0b0
552 				MX6QDL_PAD_SD4_DAT4__GPIO2_IO12		0x1b0b0
553 				MX6QDL_PAD_SD4_DAT7__GPIO2_IO15		0x1b0b0
554 				MX6QDL_PAD_DISP0_DAT20__GPIO5_IO14	0x1b0b0
555 			>;
556 		};
557 
558 		pinctrl_gpio_leds: gpioledsgrp {
559 			fsl,pins = <
560 				MX6QDL_PAD_DISP0_DAT21__GPIO5_IO15	0x80000000
561 			>;
562 		};
563 
564 		pinctrl_gpmi_nand: gpminandgrp {
565 			fsl,pins = <
566 				MX6QDL_PAD_NANDF_CLE__NAND_CLE		0xb0b1
567 				MX6QDL_PAD_NANDF_ALE__NAND_ALE		0xb0b1
568 				MX6QDL_PAD_NANDF_WP_B__NAND_WP_B	0xb0b1
569 				MX6QDL_PAD_NANDF_RB0__NAND_READY_B	0xb000
570 				MX6QDL_PAD_NANDF_CS0__NAND_CE0_B	0xb0b1
571 				MX6QDL_PAD_NANDF_CS1__NAND_CE1_B	0xb0b1
572 				MX6QDL_PAD_SD4_CMD__NAND_RE_B		0xb0b1
573 				MX6QDL_PAD_SD4_CLK__NAND_WE_B		0xb0b1
574 				MX6QDL_PAD_NANDF_D0__NAND_DATA00	0xb0b1
575 				MX6QDL_PAD_NANDF_D1__NAND_DATA01	0xb0b1
576 				MX6QDL_PAD_NANDF_D2__NAND_DATA02	0xb0b1
577 				MX6QDL_PAD_NANDF_D3__NAND_DATA03	0xb0b1
578 				MX6QDL_PAD_NANDF_D4__NAND_DATA04	0xb0b1
579 				MX6QDL_PAD_NANDF_D5__NAND_DATA05	0xb0b1
580 				MX6QDL_PAD_NANDF_D6__NAND_DATA06	0xb0b1
581 				MX6QDL_PAD_NANDF_D7__NAND_DATA07	0xb0b1
582 				MX6QDL_PAD_SD4_DAT0__NAND_DQS		0x00b1
583 			>;
584 		};
585 
586 		pinctrl_hdmi_cec: hdmicecgrp {
587 			fsl,pins = <
588 				MX6QDL_PAD_EIM_A25__HDMI_TX_CEC_LINE	0x1f8b0
589 			>;
590 		};
591 
592 		pinctrl_i2c2: i2c2grp {
593 			fsl,pins = <
594 				MX6QDL_PAD_EIM_EB2__I2C2_SCL	0x4001b8b1
595 				MX6QDL_PAD_KEY_ROW3__I2C2_SDA	0x4001b8b1
596 			>;
597 		};
598 
599 		pinctrl_i2c3: i2c3grp {
600 			fsl,pins = <
601 				MX6QDL_PAD_GPIO_3__I2C3_SCL  0x4001b8b1
602 				MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
603 			>;
604 		};
605 
606 		pinctrl_i2c3mux: i2c3muxgrp {
607 			fsl,pins = <
608 				MX6QDL_PAD_EIM_A24__GPIO5_IO04 0x0b0b1
609 			>;
610 		};
611 
612 		pinctrl_ipu1_csi0: ipu1csi0grp {
613 			fsl,pins = <
614 				MX6QDL_PAD_CSI0_DAT12__IPU1_CSI0_DATA12  0x1b0b0
615 				MX6QDL_PAD_CSI0_DAT13__IPU1_CSI0_DATA13  0x1b0b0
616 				MX6QDL_PAD_CSI0_DAT14__IPU1_CSI0_DATA14  0x1b0b0
617 				MX6QDL_PAD_CSI0_DAT15__IPU1_CSI0_DATA15  0x1b0b0
618 				MX6QDL_PAD_CSI0_DAT16__IPU1_CSI0_DATA16  0x1b0b0
619 				MX6QDL_PAD_CSI0_DAT17__IPU1_CSI0_DATA17  0x1b0b0
620 				MX6QDL_PAD_CSI0_DAT18__IPU1_CSI0_DATA18  0x1b0b0
621 				MX6QDL_PAD_CSI0_DAT19__IPU1_CSI0_DATA19  0x1b0b0
622 				MX6QDL_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK 0x1b0b0
623 				MX6QDL_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC    0x1b0b0
624 				MX6QDL_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC   0x1b0b0
625 			>;
626 		};
627 
628 		pinctrl_max7310: max7310grp {
629 			fsl,pins = <
630 				MX6QDL_PAD_SD2_DAT0__GPIO1_IO15 0x1b0b0
631 			>;
632 		};
633 
634 		pinctrl_mma8451_int: mma8451intgrp {
635 			fsl,pins = <
636 				MX6QDL_PAD_EIM_BCLK__GPIO6_IO31		0xb0b1
637 			>;
638 		};
639 
640 		pinctrl_pwm3: pwm1grp {
641 			fsl,pins = <
642 				MX6QDL_PAD_SD4_DAT1__PWM3_OUT		0x1b0b1
643 			>;
644 		};
645 
646 		pinctrl_gpt_input_capture0: gptinputcapture0grp {
647 			fsl,pins = <
648 				MX6QDL_PAD_SD1_DAT0__GPT_CAPTURE1	0x1b0b0
649 			>;
650 		};
651 
652 		pinctrl_gpt_input_capture1: gptinputcapture1grp {
653 			fsl,pins = <
654 				MX6QDL_PAD_SD1_DAT1__GPT_CAPTURE2	0x1b0b0
655 			>;
656 		};
657 
658 		pinctrl_spdif: spdifgrp {
659 			fsl,pins = <
660 				MX6QDL_PAD_KEY_COL3__SPDIF_IN 0x1b0b0
661 			>;
662 		};
663 
664 		pinctrl_uart4: uart4grp {
665 			fsl,pins = <
666 				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
667 				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
668 			>;
669 		};
670 
671 		pinctrl_usbotg: usbotggrp {
672 			fsl,pins = <
673 				MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
674 			>;
675 		};
676 
677 		pinctrl_usdhc3: usdhc3grp {
678 			fsl,pins = <
679 				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
680 				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
681 				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
682 				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
683 				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
684 				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
685 				MX6QDL_PAD_SD3_DAT4__SD3_DATA4		0x17059
686 				MX6QDL_PAD_SD3_DAT5__SD3_DATA5		0x17059
687 				MX6QDL_PAD_SD3_DAT6__SD3_DATA6		0x17059
688 				MX6QDL_PAD_SD3_DAT7__SD3_DATA7		0x17059
689 			>;
690 		};
691 
692 		pinctrl_usdhc3_100mhz: usdhc3grp100mhz {
693 			fsl,pins = <
694 				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x170b9
695 				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x100b9
696 				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x170b9
697 				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x170b9
698 				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x170b9
699 				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x170b9
700 				MX6QDL_PAD_SD3_DAT4__SD3_DATA4		0x170b9
701 				MX6QDL_PAD_SD3_DAT5__SD3_DATA5		0x170b9
702 				MX6QDL_PAD_SD3_DAT6__SD3_DATA6		0x170b9
703 				MX6QDL_PAD_SD3_DAT7__SD3_DATA7		0x170b9
704 			>;
705 		};
706 
707 		pinctrl_usdhc3_200mhz: usdhc3grp200mhz {
708 			fsl,pins = <
709 				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x170f9
710 				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x100f9
711 				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x170f9
712 				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x170f9
713 				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x170f9
714 				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x170f9
715 				MX6QDL_PAD_SD3_DAT4__SD3_DATA4		0x170f9
716 				MX6QDL_PAD_SD3_DAT5__SD3_DATA5		0x170f9
717 				MX6QDL_PAD_SD3_DAT6__SD3_DATA6		0x170f9
718 				MX6QDL_PAD_SD3_DAT7__SD3_DATA7		0x170f9
719 			>;
720 		};
721 
722 		pinctrl_weim_cs0: weimcs0grp {
723 			fsl,pins = <
724 				MX6QDL_PAD_EIM_CS0__EIM_CS0_B		0xb0b1
725 			>;
726 		};
727 
728 		pinctrl_weim_nor: weimnorgrp {
729 			fsl,pins = <
730 				MX6QDL_PAD_EIM_OE__EIM_OE_B		0xb0b1
731 				MX6QDL_PAD_EIM_RW__EIM_RW		0xb0b1
732 				MX6QDL_PAD_EIM_WAIT__EIM_WAIT_B		0xb060
733 				MX6QDL_PAD_EIM_D16__EIM_DATA16		0x1b0b0
734 				MX6QDL_PAD_EIM_D17__EIM_DATA17		0x1b0b0
735 				MX6QDL_PAD_EIM_D18__EIM_DATA18		0x1b0b0
736 				MX6QDL_PAD_EIM_D19__EIM_DATA19		0x1b0b0
737 				MX6QDL_PAD_EIM_D20__EIM_DATA20		0x1b0b0
738 				MX6QDL_PAD_EIM_D21__EIM_DATA21		0x1b0b0
739 				MX6QDL_PAD_EIM_D22__EIM_DATA22		0x1b0b0
740 				MX6QDL_PAD_EIM_D23__EIM_DATA23		0x1b0b0
741 				MX6QDL_PAD_EIM_D24__EIM_DATA24		0x1b0b0
742 				MX6QDL_PAD_EIM_D25__EIM_DATA25		0x1b0b0
743 				MX6QDL_PAD_EIM_D26__EIM_DATA26		0x1b0b0
744 				MX6QDL_PAD_EIM_D27__EIM_DATA27		0x1b0b0
745 				MX6QDL_PAD_EIM_D28__EIM_DATA28		0x1b0b0
746 				MX6QDL_PAD_EIM_D29__EIM_DATA29		0x1b0b0
747 				MX6QDL_PAD_EIM_D30__EIM_DATA30		0x1b0b0
748 				MX6QDL_PAD_EIM_D31__EIM_DATA31		0x1b0b0
749 				MX6QDL_PAD_EIM_A23__EIM_ADDR23		0xb0b1
750 				MX6QDL_PAD_EIM_A22__EIM_ADDR22		0xb0b1
751 				MX6QDL_PAD_EIM_A21__EIM_ADDR21		0xb0b1
752 				MX6QDL_PAD_EIM_A20__EIM_ADDR20		0xb0b1
753 				MX6QDL_PAD_EIM_A19__EIM_ADDR19		0xb0b1
754 				MX6QDL_PAD_EIM_A18__EIM_ADDR18		0xb0b1
755 				MX6QDL_PAD_EIM_A17__EIM_ADDR17		0xb0b1
756 				MX6QDL_PAD_EIM_A16__EIM_ADDR16		0xb0b1
757 				MX6QDL_PAD_EIM_DA15__EIM_AD15		0xb0b1
758 				MX6QDL_PAD_EIM_DA14__EIM_AD14		0xb0b1
759 				MX6QDL_PAD_EIM_DA13__EIM_AD13		0xb0b1
760 				MX6QDL_PAD_EIM_DA12__EIM_AD12		0xb0b1
761 				MX6QDL_PAD_EIM_DA11__EIM_AD11		0xb0b1
762 				MX6QDL_PAD_EIM_DA10__EIM_AD10		0xb0b1
763 				MX6QDL_PAD_EIM_DA9__EIM_AD09		0xb0b1
764 				MX6QDL_PAD_EIM_DA8__EIM_AD08		0xb0b1
765 				MX6QDL_PAD_EIM_DA7__EIM_AD07		0xb0b1
766 				MX6QDL_PAD_EIM_DA6__EIM_AD06		0xb0b1
767 				MX6QDL_PAD_EIM_DA5__EIM_AD05		0xb0b1
768 				MX6QDL_PAD_EIM_DA4__EIM_AD04		0xb0b1
769 				MX6QDL_PAD_EIM_DA3__EIM_AD03		0xb0b1
770 				MX6QDL_PAD_EIM_DA2__EIM_AD02		0xb0b1
771 				MX6QDL_PAD_EIM_DA1__EIM_AD01		0xb0b1
772 				MX6QDL_PAD_EIM_DA0__EIM_AD00		0xb0b1
773 			>;
774 		};
775 	};
776 };
777 
778 &ldb {
779 	status = "okay";
780 
781 	lvds-channel@0 {
782 		fsl,data-mapping = "spwg";
783 		fsl,data-width = <18>;
784 		status = "okay";
785 
786 		display-timings {
787 			native-mode = <&timing0>;
788 			timing0: hsd100pxn1 {
789 				clock-frequency = <65000000>;
790 				hactive = <1024>;
791 				vactive = <768>;
792 				hback-porch = <220>;
793 				hfront-porch = <40>;
794 				vback-porch = <21>;
795 				vfront-porch = <7>;
796 				hsync-len = <60>;
797 				vsync-len = <10>;
798 			};
799 		};
800 	};
801 };
802 
803 &pwm3 {
804 	#pwm-cells = <2>;
805 	pinctrl-names = "default";
806 	pinctrl-0 = <&pinctrl_pwm3>;
807 	status = "okay";
808 };
809 
810 &pcie {
811 	status = "okay";
812 };
813 
814 &spdif {
815 	pinctrl-names = "default";
816 	pinctrl-0 = <&pinctrl_spdif>;
817 	status = "okay";
818 };
819 
820 &uart4 {
821 	pinctrl-names = "default";
822 	pinctrl-0 = <&pinctrl_uart4>;
823 	status = "okay";
824 };
825 
826 &usbh1 {
827 	vbus-supply = <&reg_usb_h1_vbus>;
828 	status = "okay";
829 };
830 
831 &usbotg {
832 	vbus-supply = <&reg_usb_otg_vbus>;
833 	pinctrl-names = "default";
834 	pinctrl-0 = <&pinctrl_usbotg>;
835 	status = "okay";
836 };
837 
838 &usdhc3 {
839 	pinctrl-names = "default", "state_100mhz", "state_200mhz";
840 	pinctrl-0 = <&pinctrl_usdhc3>;
841 	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
842 	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
843 	cd-gpios = <&gpio6 15 GPIO_ACTIVE_LOW>;
844 	wp-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
845 	status = "okay";
846 };
847 
848 &weim {
849 	pinctrl-names = "default";
850 	pinctrl-0 = <&pinctrl_weim_nor &pinctrl_weim_cs0>;
851 	ranges = <0 0 0x08000000 0x08000000>;
852 	status = "disabled"; /* pin conflict with SPI NOR */
853 
854 	nor@0,0 {
855 		compatible = "cfi-flash";
856 		reg = <0 0 0x02000000>;
857 		#address-cells = <1>;
858 		#size-cells = <1>;
859 		bank-width = <2>;
860 		fsl,weim-cs-timing = <0x00620081 0x00000001 0x1c022000
861 				0x0000c000 0x1404a38e 0x00000000>;
862 	};
863 };
864