1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Support for the i.MX6-based Bosch ACC board.
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (C) 2016 Garz & Fricke GmbH
6*724ba675SRob Herring * Copyright (C) 2018 DENX Software Engineering GmbH, Heiko Schocher <hs@denx.de>
7*724ba675SRob Herring * Copyright (C) 2018 DENX Software Engineering GmbH, Niel Fourie <lusus@denx.de>
8*724ba675SRob Herring * Copyright (C) 2019-2021 Bosch Thermotechnik GmbH, Matthias Winker <matthias.winker@bosch.com>
9*724ba675SRob Herring * Copyright (C) 2022 DENX Software Engineering GmbH, Philip Oberfichtner <pro@denx.de>
10*724ba675SRob Herring */
11*724ba675SRob Herring
12*724ba675SRob Herring/dts-v1/;
13*724ba675SRob Herring
14*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
15*724ba675SRob Herring#include <dt-bindings/leds/common.h>
16*724ba675SRob Herring#include "imx6q.dtsi"
17*724ba675SRob Herring
18*724ba675SRob Herring/ {
19*724ba675SRob Herring	model = "Bosch ACC";
20*724ba675SRob Herring	compatible = "bosch,imx6q-acc", "fsl,imx6q";
21*724ba675SRob Herring
22*724ba675SRob Herring	aliases {
23*724ba675SRob Herring		i2c0 = &i2c1;
24*724ba675SRob Herring		i2c1 = &i2c2;
25*724ba675SRob Herring		i2c2 = &i2c3;
26*724ba675SRob Herring		mmc0 = &usdhc4;
27*724ba675SRob Herring		mmc1 = &usdhc2;
28*724ba675SRob Herring		serial0 = &uart2;
29*724ba675SRob Herring		serial1 = &uart1;
30*724ba675SRob Herring	};
31*724ba675SRob Herring
32*724ba675SRob Herring	memory@10000000 {
33*724ba675SRob Herring		device_type = "memory";
34*724ba675SRob Herring		reg = <0x10000000 0x40000000>;
35*724ba675SRob Herring	};
36*724ba675SRob Herring
37*724ba675SRob Herring	backlight_lvds: backlight-lvds {
38*724ba675SRob Herring		compatible = "pwm-backlight";
39*724ba675SRob Herring		pwms = <&pwm1 0 200000>;
40*724ba675SRob Herring		brightness-levels = <0 61 499 1706 4079 8022 13938 22237 33328 47623 65535>;
41*724ba675SRob Herring		num-interpolated-steps = <10>;
42*724ba675SRob Herring		default-brightness-level = <60>;
43*724ba675SRob Herring		power-supply = <&reg_lcd>;
44*724ba675SRob Herring	};
45*724ba675SRob Herring
46*724ba675SRob Herring	panel {
47*724ba675SRob Herring		compatible = "dataimage,fg1001l0dsswmg01";
48*724ba675SRob Herring		backlight = <&backlight_lvds>;
49*724ba675SRob Herring
50*724ba675SRob Herring		port {
51*724ba675SRob Herring			panel_in: endpoint {
52*724ba675SRob Herring				remote-endpoint = <&lvds0_out>;
53*724ba675SRob Herring			};
54*724ba675SRob Herring		};
55*724ba675SRob Herring	};
56*724ba675SRob Herring
57*724ba675SRob Herring	refclk: refclk {
58*724ba675SRob Herring		compatible = "fixed-factor-clock";
59*724ba675SRob Herring		#clock-cells = <0>;
60*724ba675SRob Herring		clocks = <&clks IMX6QDL_CLK_CKO2>;
61*724ba675SRob Herring		clock-div = <1>;
62*724ba675SRob Herring		clock-mult = <1>;
63*724ba675SRob Herring		clock-output-names = "12mhz_refclk";
64*724ba675SRob Herring		assigned-clocks = <&clks IMX6QDL_CLK_CKO>,
65*724ba675SRob Herring				  <&clks IMX6QDL_CLK_CKO2>,
66*724ba675SRob Herring				  <&clks IMX6QDL_CLK_CKO2_SEL>;
67*724ba675SRob Herring		assigned-clock-parents = <&clks IMX6QDL_CLK_CKO2>,
68*724ba675SRob Herring					 <&clks IMX6QDL_CLK_CKO2_PODF>,
69*724ba675SRob Herring					 <&clks IMX6QDL_CLK_OSC>;
70*724ba675SRob Herring		assigned-clock-rates = <0>, <12000000>, <0>;
71*724ba675SRob Herring	};
72*724ba675SRob Herring
73*724ba675SRob Herring	cpus {
74*724ba675SRob Herring		cpu0: cpu@0 {
75*724ba675SRob Herring			operating-points = <
76*724ba675SRob Herring				/* kHz    uV */
77*724ba675SRob Herring				1200000 1275000
78*724ba675SRob Herring				996000  1225000
79*724ba675SRob Herring				852000  1225000
80*724ba675SRob Herring				792000  1150000
81*724ba675SRob Herring				396000  950000
82*724ba675SRob Herring			>;
83*724ba675SRob Herring			fsl,soc-operating-points = <
84*724ba675SRob Herring				/* ARM kHz  SOC-PU uV */
85*724ba675SRob Herring				1200000 1225000
86*724ba675SRob Herring				996000	1175000
87*724ba675SRob Herring				852000	1175000
88*724ba675SRob Herring				792000	1150000
89*724ba675SRob Herring				396000	1150000
90*724ba675SRob Herring			>;
91*724ba675SRob Herring		};
92*724ba675SRob Herring
93*724ba675SRob Herring		cpu1: cpu@1 {
94*724ba675SRob Herring			operating-points = <
95*724ba675SRob Herring				/* kHz    uV */
96*724ba675SRob Herring				1200000 1275000
97*724ba675SRob Herring				996000  1225000
98*724ba675SRob Herring				852000  1225000
99*724ba675SRob Herring				792000  1150000
100*724ba675SRob Herring				396000  950000
101*724ba675SRob Herring			>;
102*724ba675SRob Herring			fsl,soc-operating-points = <
103*724ba675SRob Herring				/* ARM kHz  SOC-PU uV */
104*724ba675SRob Herring				1200000 1225000
105*724ba675SRob Herring				996000	1175000
106*724ba675SRob Herring				852000	1175000
107*724ba675SRob Herring				792000	1150000
108*724ba675SRob Herring				396000	1150000
109*724ba675SRob Herring			>;
110*724ba675SRob Herring		};
111*724ba675SRob Herring	};
112*724ba675SRob Herring
113*724ba675SRob Herring	pwm-leds {
114*724ba675SRob Herring		compatible = "pwm-leds";
115*724ba675SRob Herring
116*724ba675SRob Herring		led_red: led-0 {
117*724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
118*724ba675SRob Herring			max-brightness = <248>;
119*724ba675SRob Herring			default-state = "off";
120*724ba675SRob Herring			pwms = <&pwm2 0 500000>;
121*724ba675SRob Herring		};
122*724ba675SRob Herring
123*724ba675SRob Herring		led_white: led-1 {
124*724ba675SRob Herring			color = <LED_COLOR_ID_WHITE>;
125*724ba675SRob Herring			max-brightness = <248>;
126*724ba675SRob Herring			default-state = "off";
127*724ba675SRob Herring			pwms = <&pwm3 0 500000>;
128*724ba675SRob Herring			linux,default-trigger = "heartbeat";
129*724ba675SRob Herring		};
130*724ba675SRob Herring	};
131*724ba675SRob Herring
132*724ba675SRob Herring	gpio-leds {
133*724ba675SRob Herring		compatible = "gpio-leds";
134*724ba675SRob Herring		pinctrl-names = "default";
135*724ba675SRob Herring		pinctrl-0 = <&pinctrl_reset_gpio_led>;
136*724ba675SRob Herring
137*724ba675SRob Herring		led-2 {
138*724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
139*724ba675SRob Herring			gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>;
140*724ba675SRob Herring			default-state = "off";
141*724ba675SRob Herring		};
142*724ba675SRob Herring	};
143*724ba675SRob Herring
144*724ba675SRob Herring	reg_5p0: regulator-5p0 {
145*724ba675SRob Herring		compatible = "regulator-fixed";
146*724ba675SRob Herring		regulator-name = "5p0";
147*724ba675SRob Herring	};
148*724ba675SRob Herring
149*724ba675SRob Herring	reg_vin: regulator-vin {
150*724ba675SRob Herring		compatible = "regulator-fixed";
151*724ba675SRob Herring		regulator-name = "VIN";
152*724ba675SRob Herring		regulator-min-microvolt = <4500000>;
153*724ba675SRob Herring		regulator-max-microvolt = <4500000>;
154*724ba675SRob Herring		regulator-always-on;
155*724ba675SRob Herring		vin-supply = <&reg_5p0>;
156*724ba675SRob Herring	};
157*724ba675SRob Herring
158*724ba675SRob Herring	reg_usb_otg_vbus: regulator-usb-otg-vbus {
159*724ba675SRob Herring		compatible = "regulator-fixed";
160*724ba675SRob Herring		regulator-name = "usb_otg_vbus";
161*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
162*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
163*724ba675SRob Herring	};
164*724ba675SRob Herring
165*724ba675SRob Herring	reg_usb_h1_vbus: regulator-usb-h1-vbus {
166*724ba675SRob Herring		compatible = "regulator-fixed";
167*724ba675SRob Herring		regulator-name = "usb_h1_vbus";
168*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
169*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
170*724ba675SRob Herring		regulator-always-on;
171*724ba675SRob Herring		vin-supply = <&reg_5p0>;
172*724ba675SRob Herring	};
173*724ba675SRob Herring
174*724ba675SRob Herring	reg_usb_h2_vbus: regulator-usb-h2-vbus {
175*724ba675SRob Herring		compatible = "regulator-fixed";
176*724ba675SRob Herring		regulator-name = "usb_h2_vbus";
177*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
178*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
179*724ba675SRob Herring		vin-supply = <&reg_5p0> ;
180*724ba675SRob Herring		regulator-always-on;
181*724ba675SRob Herring	};
182*724ba675SRob Herring
183*724ba675SRob Herring	reg_vsnvs: regulator-vsnvs {
184*724ba675SRob Herring		compatible = "regulator-fixed";
185*724ba675SRob Herring		regulator-name = "VSNVS_3V0";
186*724ba675SRob Herring		regulator-min-microvolt = <3000000>;
187*724ba675SRob Herring		regulator-max-microvolt = <3000000>;
188*724ba675SRob Herring		regulator-always-on;
189*724ba675SRob Herring		vin-supply = <&reg_5p0>;
190*724ba675SRob Herring	};
191*724ba675SRob Herring
192*724ba675SRob Herring	reg_lcd: regulator-lcd {
193*724ba675SRob Herring		compatible = "regulator-fixed";
194*724ba675SRob Herring		regulator-name = "LCD0 POWER";
195*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
196*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
197*724ba675SRob Herring		pinctrl-names = "default";
198*724ba675SRob Herring		pinctrl-0 = <&pinctrl_lcd_enable>;
199*724ba675SRob Herring		gpio = <&gpio3 23 GPIO_ACTIVE_HIGH>;
200*724ba675SRob Herring		enable-active-high;
201*724ba675SRob Herring		regulator-boot-on;
202*724ba675SRob Herring	};
203*724ba675SRob Herring
204*724ba675SRob Herring	reg_dac: regulator-dac {
205*724ba675SRob Herring		compatible = "regulator-fixed";
206*724ba675SRob Herring		regulator-name = "vref_dac";
207*724ba675SRob Herring		regulator-min-microvolt = <20000>;
208*724ba675SRob Herring		regulator-max-microvolt = <20000>;
209*724ba675SRob Herring		vin-supply = <&reg_5p0> ;
210*724ba675SRob Herring		regulator-boot-on;
211*724ba675SRob Herring	};
212*724ba675SRob Herring
213*724ba675SRob Herring	reg_sw4: regulator-sw4 {
214*724ba675SRob Herring		compatible = "regulator-fixed";
215*724ba675SRob Herring		regulator-name = "SW4_3V3";
216*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
217*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
218*724ba675SRob Herring		regulator-always-on;
219*724ba675SRob Herring		vin-supply = <&reg_5p0>;
220*724ba675SRob Herring	};
221*724ba675SRob Herring
222*724ba675SRob Herring	reg_sys: regulator-sys {
223*724ba675SRob Herring		compatible = "regulator-fixed";
224*724ba675SRob Herring		regulator-name = "SYS_4V2";
225*724ba675SRob Herring		regulator-min-microvolt = <4200000>;
226*724ba675SRob Herring		regulator-max-microvolt = <4200000>;
227*724ba675SRob Herring		regulator-always-on;
228*724ba675SRob Herring		vin-supply = <&reg_5p0>;
229*724ba675SRob Herring	};
230*724ba675SRob Herring};
231*724ba675SRob Herring
232*724ba675SRob Herring&reg_arm {
233*724ba675SRob Herring	vin-supply = <&sw2_reg>;
234*724ba675SRob Herring};
235*724ba675SRob Herring
236*724ba675SRob Herring&reg_soc {
237*724ba675SRob Herring	vin-supply = <&sw1c_reg>;
238*724ba675SRob Herring};
239*724ba675SRob Herring
240*724ba675SRob Herring&reg_vdd1p1 {
241*724ba675SRob Herring	vin-supply = <&reg_vsnvs>;
242*724ba675SRob Herring};
243*724ba675SRob Herring
244*724ba675SRob Herring&reg_vdd2p5 {
245*724ba675SRob Herring	vin-supply = <&reg_vsnvs>;
246*724ba675SRob Herring};
247*724ba675SRob Herring
248*724ba675SRob Herring&reg_vdd3p0 {
249*724ba675SRob Herring	vin-supply = <&reg_vsnvs>;
250*724ba675SRob Herring};
251*724ba675SRob Herring
252*724ba675SRob Herring&fec {
253*724ba675SRob Herring	pinctrl-names = "default";
254*724ba675SRob Herring	pinctrl-0 = <&pinctrl_enet>;
255*724ba675SRob Herring	clocks = <&clks IMX6QDL_CLK_ENET>,
256*724ba675SRob Herring		<&clks IMX6QDL_CLK_ENET>,
257*724ba675SRob Herring		<&clks IMX6QDL_CLK_ENET>,
258*724ba675SRob Herring		<&clks IMX6QDL_CLK_ENET_REF>;
259*724ba675SRob Herring	clock-names = "ipg", "ahb", "ptp", "enet_out";
260*724ba675SRob Herring	phy-mode = "rmii";
261*724ba675SRob Herring	phy-supply = <&reg_sw4>;
262*724ba675SRob Herring	phy-handle = <&ethphy>;
263*724ba675SRob Herring	status = "okay";
264*724ba675SRob Herring
265*724ba675SRob Herring	mdio {
266*724ba675SRob Herring		#address-cells = <1>;
267*724ba675SRob Herring		#size-cells = <0>;
268*724ba675SRob Herring
269*724ba675SRob Herring		ethphy: ethernet-phy@0 {
270*724ba675SRob Herring			compatible = "ethernet-phy-ieee802.3-c22";
271*724ba675SRob Herring			reg = <0>;
272*724ba675SRob Herring			interrupt-parent = <&gpio1>;
273*724ba675SRob Herring			interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
274*724ba675SRob Herring			smsc,disable-energy-detect;
275*724ba675SRob Herring		};
276*724ba675SRob Herring	};
277*724ba675SRob Herring};
278*724ba675SRob Herring
279*724ba675SRob Herring&gpu_vg {
280*724ba675SRob Herring	status = "disabled";
281*724ba675SRob Herring};
282*724ba675SRob Herring
283*724ba675SRob Herring&gpu_2d {
284*724ba675SRob Herring	status = "disabled";
285*724ba675SRob Herring};
286*724ba675SRob Herring
287*724ba675SRob Herring&i2c1 {
288*724ba675SRob Herring	pinctrl-names = "default";
289*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c1>;
290*724ba675SRob Herring	clock-frequency = <400000>;
291*724ba675SRob Herring	status = "okay";
292*724ba675SRob Herring
293*724ba675SRob Herring	pmic: pmic@8 {
294*724ba675SRob Herring		compatible = "fsl,pfuze100";
295*724ba675SRob Herring		reg = <0x08>;
296*724ba675SRob Herring
297*724ba675SRob Herring		regulators {
298*724ba675SRob Herring			sw1c_reg: sw1c {
299*724ba675SRob Herring				regulator-name = "VDD_SOC (sw1abc)";
300*724ba675SRob Herring				regulator-min-microvolt = <1275000>;
301*724ba675SRob Herring				regulator-max-microvolt = <1500000>;
302*724ba675SRob Herring				regulator-boot-on;
303*724ba675SRob Herring				regulator-always-on;
304*724ba675SRob Herring				regulator-ramp-delay = <6250>;
305*724ba675SRob Herring			};
306*724ba675SRob Herring
307*724ba675SRob Herring			sw2_reg: sw2 {
308*724ba675SRob Herring				regulator-name = "VDD_ARM (sw2)";
309*724ba675SRob Herring				regulator-min-microvolt = <1050000>;
310*724ba675SRob Herring				regulator-max-microvolt = <1500000>;
311*724ba675SRob Herring				regulator-boot-on;
312*724ba675SRob Herring				regulator-always-on;
313*724ba675SRob Herring				regulator-ramp-delay = <6250>;
314*724ba675SRob Herring			};
315*724ba675SRob Herring
316*724ba675SRob Herring			sw3a_reg: sw3a {
317*724ba675SRob Herring				regulator-name = "DDR_1V5a";
318*724ba675SRob Herring				regulator-boot-on;
319*724ba675SRob Herring				regulator-always-on;
320*724ba675SRob Herring
321*724ba675SRob Herring			};
322*724ba675SRob Herring
323*724ba675SRob Herring			sw3b_reg: sw3b {
324*724ba675SRob Herring				regulator-name = "DDR_1V5b";
325*724ba675SRob Herring				regulator-boot-on;
326*724ba675SRob Herring				regulator-always-on;
327*724ba675SRob Herring
328*724ba675SRob Herring			};
329*724ba675SRob Herring
330*724ba675SRob Herring			sw4_reg: sw4 {
331*724ba675SRob Herring				regulator-name = "AUX 3V15 (sw4)";
332*724ba675SRob Herring				regulator-min-microvolt = <800000>;
333*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
334*724ba675SRob Herring			};
335*724ba675SRob Herring
336*724ba675SRob Herring			swbst_reg: swbst {
337*724ba675SRob Herring				regulator-min-microvolt = <5000000>;
338*724ba675SRob Herring				regulator-max-microvolt = <5150000>;
339*724ba675SRob Herring				regulator-boot-on;
340*724ba675SRob Herring				regulator-always-on;
341*724ba675SRob Herring				status = "disabled";
342*724ba675SRob Herring			};
343*724ba675SRob Herring
344*724ba675SRob Herring			snvs_reg: vsnvs {
345*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
346*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
347*724ba675SRob Herring				regulator-boot-on;
348*724ba675SRob Herring				regulator-always-on;
349*724ba675SRob Herring			};
350*724ba675SRob Herring
351*724ba675SRob Herring			vref_reg: vrefddr {
352*724ba675SRob Herring				regulator-boot-on;
353*724ba675SRob Herring				regulator-always-on;
354*724ba675SRob Herring			};
355*724ba675SRob Herring
356*724ba675SRob Herring			vgen1_reg: vgen1 {
357*724ba675SRob Herring				regulator-min-microvolt = <800000>;
358*724ba675SRob Herring				regulator-max-microvolt = <1550000>;
359*724ba675SRob Herring				regulator-always-on;
360*724ba675SRob Herring			};
361*724ba675SRob Herring
362*724ba675SRob Herring			vgen2_reg: vgen2 {
363*724ba675SRob Herring				regulator-min-microvolt = <800000>;
364*724ba675SRob Herring				regulator-max-microvolt = <1550000>;
365*724ba675SRob Herring				regulator-always-on;
366*724ba675SRob Herring			};
367*724ba675SRob Herring
368*724ba675SRob Herring			vgen3_reg: vgen3 {
369*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
370*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
371*724ba675SRob Herring				regulator-always-on;
372*724ba675SRob Herring			};
373*724ba675SRob Herring
374*724ba675SRob Herring			vgen4_reg: vgen4 {
375*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
376*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
377*724ba675SRob Herring				regulator-always-on;
378*724ba675SRob Herring				regulator-boot-on;
379*724ba675SRob Herring			};
380*724ba675SRob Herring
381*724ba675SRob Herring			vgen5_reg: vgen5 {
382*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
383*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
384*724ba675SRob Herring				regulator-always-on;
385*724ba675SRob Herring				regulator-boot-on;
386*724ba675SRob Herring			};
387*724ba675SRob Herring
388*724ba675SRob Herring			vgen6_reg: vgen6 {
389*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
390*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
391*724ba675SRob Herring				regulator-always-on;
392*724ba675SRob Herring			};
393*724ba675SRob Herring		};
394*724ba675SRob Herring	};
395*724ba675SRob Herring
396*724ba675SRob Herring	lm75: sensor@49 {
397*724ba675SRob Herring		compatible = "national,lm75b";
398*724ba675SRob Herring		pinctrl-names = "default";
399*724ba675SRob Herring		pinctrl-0 = <&pinctrl_lm75>;
400*724ba675SRob Herring		reg = <0x49>;
401*724ba675SRob Herring	};
402*724ba675SRob Herring
403*724ba675SRob Herring	eeprom: eeprom@50 {
404*724ba675SRob Herring		compatible = "atmel,24c32";
405*724ba675SRob Herring		reg = <0x50>;
406*724ba675SRob Herring		pagesize = <32>;
407*724ba675SRob Herring	};
408*724ba675SRob Herring
409*724ba675SRob Herring	rtc: rtc@51 {
410*724ba675SRob Herring		pinctrl-names = "default";
411*724ba675SRob Herring		pinctrl-0 = <&pinctrl_rtc>;
412*724ba675SRob Herring		compatible = "nxp,pcf8563";
413*724ba675SRob Herring		reg = <0x51>;
414*724ba675SRob Herring	};
415*724ba675SRob Herring};
416*724ba675SRob Herring
417*724ba675SRob Herring&i2c2 {
418*724ba675SRob Herring	pinctrl-names = "default";
419*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c2>;
420*724ba675SRob Herring	clock-frequency = <100000>;
421*724ba675SRob Herring	status = "okay";
422*724ba675SRob Herring
423*724ba675SRob Herring	eeprom_ext: eeprom@50 {
424*724ba675SRob Herring		compatible = "atmel,24c32";
425*724ba675SRob Herring		reg = <0x50>;
426*724ba675SRob Herring		pagesize = <32>;
427*724ba675SRob Herring	};
428*724ba675SRob Herring};
429*724ba675SRob Herring
430*724ba675SRob Herring&i2c3 {
431*724ba675SRob Herring	pinctrl-names = "default";
432*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c3>;
433*724ba675SRob Herring	clock-frequency = <400000>;
434*724ba675SRob Herring	status = "okay";
435*724ba675SRob Herring
436*724ba675SRob Herring	usb3503: usb@8 {
437*724ba675SRob Herring		compatible = "smsc,usb3503";
438*724ba675SRob Herring		pinctrl-names = "default";
439*724ba675SRob Herring		pinctrl-0 = <&pinctrl_usb3503>;
440*724ba675SRob Herring		reg = <0x08>;
441*724ba675SRob Herring		connect-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>; /* Old: 0, SS: HIGH */
442*724ba675SRob Herring		intn-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>; /* Old: 1, SS: HIGH */
443*724ba675SRob Herring		reset-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>; /* Old: 0, SS: HIGH */
444*724ba675SRob Herring		initial-mode = <1>;
445*724ba675SRob Herring		clocks = <&refclk>;
446*724ba675SRob Herring		clock-names = "refclk";
447*724ba675SRob Herring		refclk-frequency = <12000000>;
448*724ba675SRob Herring	};
449*724ba675SRob Herring
450*724ba675SRob Herring	exc3000: touchscreen@2a {
451*724ba675SRob Herring		compatible = "eeti,exc3000";
452*724ba675SRob Herring		reg = <0x2a>;
453*724ba675SRob Herring		pinctrl-names = "default";
454*724ba675SRob Herring		pinctrl-0 = <&pinctrl_ctouch>;
455*724ba675SRob Herring		interrupt-parent = <&gpio4>;
456*724ba675SRob Herring		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
457*724ba675SRob Herring		touchscreen-size-x = <4096>;
458*724ba675SRob Herring		touchscreen-size-y = <4096>;
459*724ba675SRob Herring	};
460*724ba675SRob Herring
461*724ba675SRob Herring	vcnl4035: light-sensor@60 {
462*724ba675SRob Herring		compatible = "vishay,vcnl4035";
463*724ba675SRob Herring		pinctrl-names = "default";
464*724ba675SRob Herring		pinctrl-0 = <&pinctrl_proximity>;
465*724ba675SRob Herring		reg = <0x60>;
466*724ba675SRob Herring	};
467*724ba675SRob Herring};
468*724ba675SRob Herring
469*724ba675SRob Herring&ldb {
470*724ba675SRob Herring	status = "okay";
471*724ba675SRob Herring
472*724ba675SRob Herring	lvds0: lvds-channel@0 {
473*724ba675SRob Herring		fsl,data-mapping = "spwg";
474*724ba675SRob Herring		fsl,data-width = <24>;
475*724ba675SRob Herring
476*724ba675SRob Herring		port@4 {
477*724ba675SRob Herring			reg = <4>;
478*724ba675SRob Herring
479*724ba675SRob Herring			lvds0_out: endpoint {
480*724ba675SRob Herring				remote-endpoint = <&panel_in>;
481*724ba675SRob Herring			};
482*724ba675SRob Herring		};
483*724ba675SRob Herring	};
484*724ba675SRob Herring};
485*724ba675SRob Herring
486*724ba675SRob Herring&pwm1 {
487*724ba675SRob Herring	#pwm-cells = <2>;
488*724ba675SRob Herring	pinctrl-names = "default";
489*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm1>;
490*724ba675SRob Herring	status = "okay";
491*724ba675SRob Herring};
492*724ba675SRob Herring
493*724ba675SRob Herring&pwm2 {
494*724ba675SRob Herring	#pwm-cells = <2>;
495*724ba675SRob Herring	pinctrl-names = "default";
496*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm2>;
497*724ba675SRob Herring	status = "okay";
498*724ba675SRob Herring};
499*724ba675SRob Herring
500*724ba675SRob Herring&pwm3 {
501*724ba675SRob Herring	#pwm-cells = <2>;
502*724ba675SRob Herring	pinctrl-names = "default";
503*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm3>;
504*724ba675SRob Herring	status = "okay";
505*724ba675SRob Herring};
506*724ba675SRob Herring
507*724ba675SRob Herring&pwm4 {
508*724ba675SRob Herring	#pwm-cells = <2>;
509*724ba675SRob Herring	pinctrl-names = "default";
510*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm4>;
511*724ba675SRob Herring	status = "okay";
512*724ba675SRob Herring};
513*724ba675SRob Herring
514*724ba675SRob Herring&uart1 {
515*724ba675SRob Herring	pinctrl-names = "default";
516*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
517*724ba675SRob Herring	rts-gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
518*724ba675SRob Herring	linux,rs485-enabled-at-boot-time;
519*724ba675SRob Herring	rs485-rx-during-tx;
520*724ba675SRob Herring	status = "okay";
521*724ba675SRob Herring};
522*724ba675SRob Herring
523*724ba675SRob Herring&uart2 {
524*724ba675SRob Herring	pinctrl-names = "default";
525*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart2>;
526*724ba675SRob Herring	uart-has-rtscts;
527*724ba675SRob Herring	status = "okay";
528*724ba675SRob Herring};
529*724ba675SRob Herring
530*724ba675SRob Herring&usbh1 {
531*724ba675SRob Herring	vbus-supply = <&reg_usb_h1_vbus>;
532*724ba675SRob Herring	status = "okay";
533*724ba675SRob Herring};
534*724ba675SRob Herring
535*724ba675SRob Herring&usbh2 {
536*724ba675SRob Herring	pinctrl-names = "idle", "active";
537*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbh2_idle>;
538*724ba675SRob Herring	pinctrl-1 = <&pinctrl_usbh2_active>;
539*724ba675SRob Herring	vbus-supply = <&reg_usb_h2_vbus>;
540*724ba675SRob Herring	status = "okay";
541*724ba675SRob Herring};
542*724ba675SRob Herring
543*724ba675SRob Herring&usbotg {
544*724ba675SRob Herring	pinctrl-names = "default";
545*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbotg>;
546*724ba675SRob Herring	vbus-supply = <&reg_usb_otg_vbus>;
547*724ba675SRob Herring	disable-over-current;
548*724ba675SRob Herring	dr_mode = "otg";
549*724ba675SRob Herring	srp-disable;
550*724ba675SRob Herring	hnp-disable;
551*724ba675SRob Herring	adp-disable;
552*724ba675SRob Herring	status = "okay";
553*724ba675SRob Herring};
554*724ba675SRob Herring
555*724ba675SRob Herring&usbphynop1 {
556*724ba675SRob Herring	clocks = <&clks IMX6QDL_CLK_USBPHY1>;
557*724ba675SRob Herring	clock-names = "main_clk";
558*724ba675SRob Herring	vcc-supply = <&reg_usb_h1_vbus>;
559*724ba675SRob Herring};
560*724ba675SRob Herring
561*724ba675SRob Herring&usbphynop2 {
562*724ba675SRob Herring	vcc-supply = <&reg_usb_h2_vbus>;
563*724ba675SRob Herring};
564*724ba675SRob Herring
565*724ba675SRob Herring&usdhc2 {
566*724ba675SRob Herring	pinctrl-names = "default";
567*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc2>;
568*724ba675SRob Herring	cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
569*724ba675SRob Herring	no-1-8-v;
570*724ba675SRob Herring	keep-power-in-suspend;
571*724ba675SRob Herring	wakeup-source;
572*724ba675SRob Herring	voltage-ranges = <3300 3300>;
573*724ba675SRob Herring	vmmc-supply = <&reg_sw4>;
574*724ba675SRob Herring	fsl,wp-controller;
575*724ba675SRob Herring	status = "okay";
576*724ba675SRob Herring};
577*724ba675SRob Herring
578*724ba675SRob Herring&usdhc4 {
579*724ba675SRob Herring	pinctrl-names = "default";
580*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc4>;
581*724ba675SRob Herring	bus-width = <8>;
582*724ba675SRob Herring	non-removable;
583*724ba675SRob Herring	no-1-8-v;
584*724ba675SRob Herring	keep-power-in-suspend;
585*724ba675SRob Herring	voltage-ranges = <3300 3300>;
586*724ba675SRob Herring	vmmc-supply = <&reg_sw4>;
587*724ba675SRob Herring	fsl,wp-controller;
588*724ba675SRob Herring	status = "okay";
589*724ba675SRob Herring};
590*724ba675SRob Herring
591*724ba675SRob Herring&wdog1 {
592*724ba675SRob Herring	pinctrl-names = "default";
593*724ba675SRob Herring	pinctrl-0 = <&pinctrl_wdog1>;
594*724ba675SRob Herring	fsl,ext-reset-output;
595*724ba675SRob Herring	timeout-sec = <10>;
596*724ba675SRob Herring	status = "okay";
597*724ba675SRob Herring};
598*724ba675SRob Herring
599*724ba675SRob Herring&iomuxc {
600*724ba675SRob Herring	pinctrl_enet: enetgrp {
601*724ba675SRob Herring		fsl,pins = <
602*724ba675SRob Herring			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
603*724ba675SRob Herring			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
604*724ba675SRob Herring			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN	0x1b0b0
605*724ba675SRob Herring			MX6QDL_PAD_ENET_REF_CLK__GPIO1_IO23	0x1b0b0	/* FEC INT */
606*724ba675SRob Herring			MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER	0x1b0b0
607*724ba675SRob Herring			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN	0x0001b098
608*724ba675SRob Herring			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0	0x1b0b0
609*724ba675SRob Herring			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1	0x1b0b0
610*724ba675SRob Herring			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1	0x0001b098
611*724ba675SRob Herring			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0	0x0001b098
612*724ba675SRob Herring			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8
613*724ba675SRob Herring		>;
614*724ba675SRob Herring	};
615*724ba675SRob Herring
616*724ba675SRob Herring	pinctrl_reset_gpio_led: reset-gpio-led-grp {
617*724ba675SRob Herring		fsl,pins = <
618*724ba675SRob Herring			MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18		0x1b0b0
619*724ba675SRob Herring		>;
620*724ba675SRob Herring	};
621*724ba675SRob Herring
622*724ba675SRob Herring	pinctrl_i2c1: i2c1grp {
623*724ba675SRob Herring		fsl,pins = <
624*724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
625*724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1
626*724ba675SRob Herring		>;
627*724ba675SRob Herring	};
628*724ba675SRob Herring
629*724ba675SRob Herring	pinctrl_i2c2: i2c2grp {
630*724ba675SRob Herring		fsl,pins = <
631*724ba675SRob Herring			MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b810
632*724ba675SRob Herring			MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b810
633*724ba675SRob Herring		>;
634*724ba675SRob Herring	};
635*724ba675SRob Herring
636*724ba675SRob Herring	pinctrl_i2c3: i2c3grp {
637*724ba675SRob Herring		fsl,pins = <
638*724ba675SRob Herring			MX6QDL_PAD_GPIO_5__I2C3_SCL  0x4001b8b1
639*724ba675SRob Herring			MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
640*724ba675SRob Herring		>;
641*724ba675SRob Herring	};
642*724ba675SRob Herring
643*724ba675SRob Herring	pinctrl_lcd_enable: lcdenablegrp {
644*724ba675SRob Herring		fsl,pins = <
645*724ba675SRob Herring			MX6QDL_PAD_EIM_D23__GPIO3_IO23  0x1b0b0 /* lcd enable */
646*724ba675SRob Herring			MX6QDL_PAD_EIM_D16__GPIO3_IO16  0x1b0b0 /* sel6_8 */
647*724ba675SRob Herring		>;
648*724ba675SRob Herring	};
649*724ba675SRob Herring
650*724ba675SRob Herring	pinctrl_lm75: lm75grp {
651*724ba675SRob Herring		fsl,pins = <
652*724ba675SRob Herring			MX6QDL_PAD_KEY_ROW0__GPIO4_IO07		0x1b0b0
653*724ba675SRob Herring		>;
654*724ba675SRob Herring	};
655*724ba675SRob Herring
656*724ba675SRob Herring	pinctrl_proximity: proximitygrp {
657*724ba675SRob Herring		fsl,pins = <
658*724ba675SRob Herring			MX6QDL_PAD_KEY_ROW2__GPIO4_IO11  0x1b0b0
659*724ba675SRob Herring		>;
660*724ba675SRob Herring	};
661*724ba675SRob Herring
662*724ba675SRob Herring	pinctrl_pwm1: pwm1grp {
663*724ba675SRob Herring		fsl,pins = <
664*724ba675SRob Herring			MX6QDL_PAD_SD1_DAT3__PWM1_OUT 0x0001b0b0
665*724ba675SRob Herring		>;
666*724ba675SRob Herring	};
667*724ba675SRob Herring
668*724ba675SRob Herring	pinctrl_pwm2: pwm2grp {
669*724ba675SRob Herring		fsl,pins = <
670*724ba675SRob Herring			MX6QDL_PAD_SD1_DAT2__PWM2_OUT 0x0001b0b0
671*724ba675SRob Herring		>;
672*724ba675SRob Herring	};
673*724ba675SRob Herring
674*724ba675SRob Herring	pinctrl_pwm3: pwm3grp {
675*724ba675SRob Herring		fsl,pins = <
676*724ba675SRob Herring			MX6QDL_PAD_SD1_DAT1__PWM3_OUT 0x0001b0b0
677*724ba675SRob Herring		>;
678*724ba675SRob Herring	};
679*724ba675SRob Herring
680*724ba675SRob Herring	pinctrl_pwm4: pwm4grp {
681*724ba675SRob Herring		fsl,pins = <
682*724ba675SRob Herring			MX6QDL_PAD_SD1_CMD__PWM4_OUT 0x0001b0b0
683*724ba675SRob Herring		>;
684*724ba675SRob Herring	};
685*724ba675SRob Herring
686*724ba675SRob Herring	pinctrl_rtc: rtc-grp {
687*724ba675SRob Herring		fsl,pins = <
688*724ba675SRob Herring			MX6QDL_PAD_KEY_COL1__GPIO4_IO08 0x1b0b0 /* RTC INT */
689*724ba675SRob Herring		>;
690*724ba675SRob Herring	};
691*724ba675SRob Herring
692*724ba675SRob Herring	pinctrl_ctouch: ctouch-grp {
693*724ba675SRob Herring		fsl,pins = <
694*724ba675SRob Herring			MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x1b0b0 /* CTOUCH_INT */
695*724ba675SRob Herring			MX6QDL_PAD_SD1_CLK__GPIO1_IO20 0x0001b0b0 /* CTOUCH_RESET */
696*724ba675SRob Herring		>;
697*724ba675SRob Herring	};
698*724ba675SRob Herring
699*724ba675SRob Herring	pinctrl_uart1: uart1grp {
700*724ba675SRob Herring		fsl,pins = <
701*724ba675SRob Herring			MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
702*724ba675SRob Herring			MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
703*724ba675SRob Herring			MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x0001b0b0
704*724ba675SRob Herring		>;
705*724ba675SRob Herring	};
706*724ba675SRob Herring
707*724ba675SRob Herring	pinctrl_uart2: uart2grp {
708*724ba675SRob Herring		fsl,pins = <
709*724ba675SRob Herring			MX6QDL_PAD_SD3_DAT4__UART2_RX_DATA 0x1b0b1
710*724ba675SRob Herring			MX6QDL_PAD_SD3_DAT5__UART2_TX_DATA 0x1b0b1
711*724ba675SRob Herring			MX6QDL_PAD_EIM_D28__UART2_CTS_B 0x1b0b1
712*724ba675SRob Herring			MX6QDL_PAD_EIM_D29__UART2_RTS_B 0x1b0b1
713*724ba675SRob Herring		>;
714*724ba675SRob Herring	};
715*724ba675SRob Herring
716*724ba675SRob Herring	pinctrl_usbh2_idle: usbh2-idle-grp {
717*724ba675SRob Herring		fsl,pins = <
718*724ba675SRob Herring			MX6QDL_PAD_RGMII_TXC__USB_H2_DATA      0x00013018
719*724ba675SRob Herring			MX6QDL_PAD_RGMII_TX_CTL__USB_H2_STROBE 0x00013018
720*724ba675SRob Herring		>;
721*724ba675SRob Herring	};
722*724ba675SRob Herring
723*724ba675SRob Herring	pinctrl_usbh2_active: usbh2-active-grp {
724*724ba675SRob Herring		fsl,pins = <
725*724ba675SRob Herring			MX6QDL_PAD_RGMII_TXC__USB_H2_DATA      0x00013018
726*724ba675SRob Herring			MX6QDL_PAD_RGMII_TX_CTL__USB_H2_STROBE 0x00017018
727*724ba675SRob Herring		>;
728*724ba675SRob Herring	};
729*724ba675SRob Herring
730*724ba675SRob Herring	pinctrl_usb3503: usb3503-grp {
731*724ba675SRob Herring		fsl,pins = <
732*724ba675SRob Herring			MX6QDL_PAD_CSI0_MCLK__CCM_CLKO1    0x00000018
733*724ba675SRob Herring			MX6QDL_PAD_GPIO_17__GPIO7_IO12     0x1b0b0 /* USB INT */
734*724ba675SRob Herring			MX6QDL_PAD_DISP0_DAT11__GPIO5_IO05 0x0001b0b0 /* USB Reset */
735*724ba675SRob Herring			MX6QDL_PAD_SD1_DAT0__GPIO1_IO16    0x1b0b0 /* USB Connect */
736*724ba675SRob Herring		>;
737*724ba675SRob Herring	};
738*724ba675SRob Herring
739*724ba675SRob Herring	pinctrl_usbotg: usbotggrp {
740*724ba675SRob Herring		fsl,pins = <
741*724ba675SRob Herring			MX6QDL_PAD_GPIO_1__USB_OTG_ID	0x17059
742*724ba675SRob Herring		>;
743*724ba675SRob Herring	};
744*724ba675SRob Herring
745*724ba675SRob Herring	pinctrl_usdhc2: usdhc2grp {
746*724ba675SRob Herring		fsl,pins = <
747*724ba675SRob Herring			MX6QDL_PAD_SD2_CMD__SD2_CMD    0x00017069
748*724ba675SRob Herring			MX6QDL_PAD_SD2_CLK__SD2_CLK    0x00010038
749*724ba675SRob Herring			MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x00017069
750*724ba675SRob Herring			MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x00017069
751*724ba675SRob Herring			MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x00017069
752*724ba675SRob Herring			MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x00017069
753*724ba675SRob Herring			MX6QDL_PAD_GPIO_4__SD2_CD_B    0x0001b0b0
754*724ba675SRob Herring		>;
755*724ba675SRob Herring	};
756*724ba675SRob Herring
757*724ba675SRob Herring	pinctrl_usdhc4: usdhc4grp {
758*724ba675SRob Herring		fsl,pins = <
759*724ba675SRob Herring			MX6QDL_PAD_SD4_CMD__SD4_CMD    0x00017059
760*724ba675SRob Herring			MX6QDL_PAD_SD4_CLK__SD4_CLK    0x00010059
761*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x00017059
762*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x00017059
763*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x00017059
764*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x00017059
765*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x00017059
766*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x00017059
767*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x00017059
768*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x00017059
769*724ba675SRob Herring		>;
770*724ba675SRob Herring	};
771*724ba675SRob Herring
772*724ba675SRob Herring	pinctrl_wdog1: wdoggrp {
773*724ba675SRob Herring		fsl,pins = <
774*724ba675SRob Herring			MX6QDL_PAD_GPIO_9__WDOG1_B 0x1b0b0
775*724ba675SRob Herring		>;
776*724ba675SRob Herring	};
777*724ba675SRob Herring};
778