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				compatible = "regulator-fixed";
318*724ba675SRob Herring				regulator-name = "DDR_1V5a";
319*724ba675SRob Herring				regulator-boot-on;
320*724ba675SRob Herring				regulator-always-on;
321*724ba675SRob Herring
322*724ba675SRob Herring			};
323*724ba675SRob Herring
324*724ba675SRob Herring			sw3b_reg: sw3b {
325*724ba675SRob Herring				compatible = "regulator-fixed";
326*724ba675SRob Herring				regulator-name = "DDR_1V5b";
327*724ba675SRob Herring				regulator-boot-on;
328*724ba675SRob Herring				regulator-always-on;
329*724ba675SRob Herring
330*724ba675SRob Herring			};
331*724ba675SRob Herring
332*724ba675SRob Herring			sw4_reg: sw4 {
333*724ba675SRob Herring				regulator-name = "AUX 3V15 (sw4)";
334*724ba675SRob Herring				regulator-min-microvolt = <800000>;
335*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
336*724ba675SRob Herring			};
337*724ba675SRob Herring
338*724ba675SRob Herring			swbst_reg: swbst {
339*724ba675SRob Herring				regulator-min-microvolt = <5000000>;
340*724ba675SRob Herring				regulator-max-microvolt = <5150000>;
341*724ba675SRob Herring				regulator-boot-on;
342*724ba675SRob Herring				regulator-always-on;
343*724ba675SRob Herring				status = "disabled";
344*724ba675SRob Herring			};
345*724ba675SRob Herring
346*724ba675SRob Herring			snvs_reg: vsnvs {
347*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
348*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
349*724ba675SRob Herring				regulator-boot-on;
350*724ba675SRob Herring				regulator-always-on;
351*724ba675SRob Herring			};
352*724ba675SRob Herring
353*724ba675SRob Herring			vref_reg: vrefddr {
354*724ba675SRob Herring				regulator-boot-on;
355*724ba675SRob Herring				regulator-always-on;
356*724ba675SRob Herring			};
357*724ba675SRob Herring
358*724ba675SRob Herring			vgen1_reg: vgen1 {
359*724ba675SRob Herring				regulator-min-microvolt = <800000>;
360*724ba675SRob Herring				regulator-max-microvolt = <1550000>;
361*724ba675SRob Herring				regulator-always-on;
362*724ba675SRob Herring			};
363*724ba675SRob Herring
364*724ba675SRob Herring			vgen2_reg: vgen2 {
365*724ba675SRob Herring				regulator-min-microvolt = <800000>;
366*724ba675SRob Herring				regulator-max-microvolt = <1550000>;
367*724ba675SRob Herring				regulator-always-on;
368*724ba675SRob Herring			};
369*724ba675SRob Herring
370*724ba675SRob Herring			vgen3_reg: vgen3 {
371*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
372*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
373*724ba675SRob Herring				regulator-always-on;
374*724ba675SRob Herring			};
375*724ba675SRob Herring
376*724ba675SRob Herring			vgen4_reg: vgen4 {
377*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
378*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
379*724ba675SRob Herring				regulator-always-on;
380*724ba675SRob Herring				regulator-boot-on;
381*724ba675SRob Herring			};
382*724ba675SRob Herring
383*724ba675SRob Herring			vgen5_reg: vgen5 {
384*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
385*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
386*724ba675SRob Herring				regulator-always-on;
387*724ba675SRob Herring				regulator-boot-on;
388*724ba675SRob Herring			};
389*724ba675SRob Herring
390*724ba675SRob Herring			vgen6_reg: vgen6 {
391*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
392*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
393*724ba675SRob Herring				regulator-always-on;
394*724ba675SRob Herring			};
395*724ba675SRob Herring		};
396*724ba675SRob Herring	};
397*724ba675SRob Herring
398*724ba675SRob Herring	lm75: sensor@49 {
399*724ba675SRob Herring		compatible = "national,lm75b";
400*724ba675SRob Herring		pinctrl-names = "default";
401*724ba675SRob Herring		pinctrl-0 = <&pinctrl_lm75>;
402*724ba675SRob Herring		reg = <0x49>;
403*724ba675SRob Herring	};
404*724ba675SRob Herring
405*724ba675SRob Herring	eeprom: eeprom@50 {
406*724ba675SRob Herring		compatible = "atmel,24c32";
407*724ba675SRob Herring		reg = <0x50>;
408*724ba675SRob Herring		pagesize = <32>;
409*724ba675SRob Herring	};
410*724ba675SRob Herring
411*724ba675SRob Herring	rtc: rtc@51 {
412*724ba675SRob Herring		pinctrl-names = "default";
413*724ba675SRob Herring		pinctrl-0 = <&pinctrl_rtc>;
414*724ba675SRob Herring		compatible = "nxp,pcf8563";
415*724ba675SRob Herring		reg = <0x51>;
416*724ba675SRob Herring	};
417*724ba675SRob Herring};
418*724ba675SRob Herring
419*724ba675SRob Herring&i2c2 {
420*724ba675SRob Herring	pinctrl-names = "default";
421*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c2>;
422*724ba675SRob Herring	clock-frequency = <100000>;
423*724ba675SRob Herring	status = "okay";
424*724ba675SRob Herring
425*724ba675SRob Herring	eeprom_ext: eeprom@50 {
426*724ba675SRob Herring		compatible = "atmel,24c32";
427*724ba675SRob Herring		reg = <0x50>;
428*724ba675SRob Herring		pagesize = <32>;
429*724ba675SRob Herring	};
430*724ba675SRob Herring};
431*724ba675SRob Herring
432*724ba675SRob Herring&i2c3 {
433*724ba675SRob Herring	pinctrl-names = "default";
434*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c3>;
435*724ba675SRob Herring	clock-frequency = <400000>;
436*724ba675SRob Herring	status = "okay";
437*724ba675SRob Herring
438*724ba675SRob Herring	usb3503: usb@8 {
439*724ba675SRob Herring		compatible = "smsc,usb3503";
440*724ba675SRob Herring		pinctrl-names = "default";
441*724ba675SRob Herring		pinctrl-0 = <&pinctrl_usb3503>;
442*724ba675SRob Herring		reg = <0x08>;
443*724ba675SRob Herring		connect-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>; /* Old: 0, SS: HIGH */
444*724ba675SRob Herring		intn-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>; /* Old: 1, SS: HIGH */
445*724ba675SRob Herring		reset-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>; /* Old: 0, SS: HIGH */
446*724ba675SRob Herring		initial-mode = <1>;
447*724ba675SRob Herring		clocks = <&refclk>;
448*724ba675SRob Herring		clock-names = "refclk";
449*724ba675SRob Herring		refclk-frequency = <12000000>;
450*724ba675SRob Herring	};
451*724ba675SRob Herring
452*724ba675SRob Herring	exc3000: touchscreen@2a {
453*724ba675SRob Herring		compatible = "eeti,exc3000";
454*724ba675SRob Herring		reg = <0x2a>;
455*724ba675SRob Herring		pinctrl-names = "default";
456*724ba675SRob Herring		pinctrl-0 = <&pinctrl_ctouch>;
457*724ba675SRob Herring		interrupt-parent = <&gpio4>;
458*724ba675SRob Herring		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
459*724ba675SRob Herring		touchscreen-size-x = <4096>;
460*724ba675SRob Herring		touchscreen-size-y = <4096>;
461*724ba675SRob Herring	};
462*724ba675SRob Herring
463*724ba675SRob Herring	vcnl4035: light-sensor@60 {
464*724ba675SRob Herring		compatible = "vishay,vcnl4035";
465*724ba675SRob Herring		pinctrl-names = "default";
466*724ba675SRob Herring		pinctrl-0 = <&pinctrl_proximity>;
467*724ba675SRob Herring		reg = <0x60>;
468*724ba675SRob Herring	};
469*724ba675SRob Herring};
470*724ba675SRob Herring
471*724ba675SRob Herring&ldb {
472*724ba675SRob Herring	status = "okay";
473*724ba675SRob Herring
474*724ba675SRob Herring	lvds0: lvds-channel@0 {
475*724ba675SRob Herring		fsl,data-mapping = "spwg";
476*724ba675SRob Herring		fsl,data-width = <24>;
477*724ba675SRob Herring
478*724ba675SRob Herring		port@4 {
479*724ba675SRob Herring			reg = <4>;
480*724ba675SRob Herring
481*724ba675SRob Herring			lvds0_out: endpoint {
482*724ba675SRob Herring				remote-endpoint = <&panel_in>;
483*724ba675SRob Herring			};
484*724ba675SRob Herring		};
485*724ba675SRob Herring	};
486*724ba675SRob Herring};
487*724ba675SRob Herring
488*724ba675SRob Herring&pwm1 {
489*724ba675SRob Herring	#pwm-cells = <2>;
490*724ba675SRob Herring	pinctrl-names = "default";
491*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm1>;
492*724ba675SRob Herring	status = "okay";
493*724ba675SRob Herring};
494*724ba675SRob Herring
495*724ba675SRob Herring&pwm2 {
496*724ba675SRob Herring	#pwm-cells = <2>;
497*724ba675SRob Herring	pinctrl-names = "default";
498*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm2>;
499*724ba675SRob Herring	status = "okay";
500*724ba675SRob Herring};
501*724ba675SRob Herring
502*724ba675SRob Herring&pwm3 {
503*724ba675SRob Herring	#pwm-cells = <2>;
504*724ba675SRob Herring	pinctrl-names = "default";
505*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm3>;
506*724ba675SRob Herring	status = "okay";
507*724ba675SRob Herring};
508*724ba675SRob Herring
509*724ba675SRob Herring&pwm4 {
510*724ba675SRob Herring	#pwm-cells = <2>;
511*724ba675SRob Herring	pinctrl-names = "default";
512*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm4>;
513*724ba675SRob Herring	status = "okay";
514*724ba675SRob Herring};
515*724ba675SRob Herring
516*724ba675SRob Herring&uart1 {
517*724ba675SRob Herring	pinctrl-names = "default";
518*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
519*724ba675SRob Herring	rts-gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
520*724ba675SRob Herring	linux,rs485-enabled-at-boot-time;
521*724ba675SRob Herring	rs485-rx-during-tx;
522*724ba675SRob Herring	status = "okay";
523*724ba675SRob Herring};
524*724ba675SRob Herring
525*724ba675SRob Herring&uart2 {
526*724ba675SRob Herring	pinctrl-names = "default";
527*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart2>;
528*724ba675SRob Herring	uart-has-rtscts;
529*724ba675SRob Herring	status = "okay";
530*724ba675SRob Herring};
531*724ba675SRob Herring
532*724ba675SRob Herring&usbh1 {
533*724ba675SRob Herring	vbus-supply = <&reg_usb_h1_vbus>;
534*724ba675SRob Herring	status = "okay";
535*724ba675SRob Herring};
536*724ba675SRob Herring
537*724ba675SRob Herring&usbh2 {
538*724ba675SRob Herring	pinctrl-names = "idle", "active";
539*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbh2_idle>;
540*724ba675SRob Herring	pinctrl-1 = <&pinctrl_usbh2_active>;
541*724ba675SRob Herring	vbus-supply = <&reg_usb_h2_vbus>;
542*724ba675SRob Herring	status = "okay";
543*724ba675SRob Herring};
544*724ba675SRob Herring
545*724ba675SRob Herring&usbotg {
546*724ba675SRob Herring	pinctrl-names = "default";
547*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbotg>;
548*724ba675SRob Herring	vbus-supply = <&reg_usb_otg_vbus>;
549*724ba675SRob Herring	disable-over-current;
550*724ba675SRob Herring	dr_mode = "otg";
551*724ba675SRob Herring	srp-disable;
552*724ba675SRob Herring	hnp-disable;
553*724ba675SRob Herring	adp-disable;
554*724ba675SRob Herring	status = "okay";
555*724ba675SRob Herring};
556*724ba675SRob Herring
557*724ba675SRob Herring&usbphynop1 {
558*724ba675SRob Herring	clocks = <&clks IMX6QDL_CLK_USBPHY1>;
559*724ba675SRob Herring	clock-names = "main_clk";
560*724ba675SRob Herring	vcc-supply = <&reg_usb_h1_vbus>;
561*724ba675SRob Herring};
562*724ba675SRob Herring
563*724ba675SRob Herring&usbphynop2 {
564*724ba675SRob Herring	vcc-supply = <&reg_usb_h2_vbus>;
565*724ba675SRob Herring};
566*724ba675SRob Herring
567*724ba675SRob Herring&usdhc2 {
568*724ba675SRob Herring	pinctrl-names = "default";
569*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc2>;
570*724ba675SRob Herring	cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
571*724ba675SRob Herring	no-1-8-v;
572*724ba675SRob Herring	keep-power-in-suspend;
573*724ba675SRob Herring	wakeup-source;
574*724ba675SRob Herring	voltage-ranges = <3300 3300>;
575*724ba675SRob Herring	vmmc-supply = <&reg_sw4>;
576*724ba675SRob Herring	fsl,wp-controller;
577*724ba675SRob Herring	status = "okay";
578*724ba675SRob Herring};
579*724ba675SRob Herring
580*724ba675SRob Herring&usdhc4 {
581*724ba675SRob Herring	pinctrl-names = "default";
582*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc4>;
583*724ba675SRob Herring	bus-width = <8>;
584*724ba675SRob Herring	non-removable;
585*724ba675SRob Herring	no-1-8-v;
586*724ba675SRob Herring	keep-power-in-suspend;
587*724ba675SRob Herring	voltage-ranges = <3300 3300>;
588*724ba675SRob Herring	vmmc-supply = <&reg_sw4>;
589*724ba675SRob Herring	fsl,wp-controller;
590*724ba675SRob Herring	status = "okay";
591*724ba675SRob Herring};
592*724ba675SRob Herring
593*724ba675SRob Herring&wdog1 {
594*724ba675SRob Herring	pinctrl-names = "default";
595*724ba675SRob Herring	pinctrl-0 = <&pinctrl_wdog1>;
596*724ba675SRob Herring	fsl,ext-reset-output;
597*724ba675SRob Herring	timeout-sec = <10>;
598*724ba675SRob Herring	status = "okay";
599*724ba675SRob Herring};
600*724ba675SRob Herring
601*724ba675SRob Herring&iomuxc {
602*724ba675SRob Herring	pinctrl_enet: enetgrp {
603*724ba675SRob Herring		fsl,pins = <
604*724ba675SRob Herring			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
605*724ba675SRob Herring			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
606*724ba675SRob Herring			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN	0x1b0b0
607*724ba675SRob Herring			MX6QDL_PAD_ENET_REF_CLK__GPIO1_IO23	0x1b0b0	/* FEC INT */
608*724ba675SRob Herring			MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER	0x1b0b0
609*724ba675SRob Herring			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN	0x0001b098
610*724ba675SRob Herring			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0	0x1b0b0
611*724ba675SRob Herring			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1	0x1b0b0
612*724ba675SRob Herring			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1	0x0001b098
613*724ba675SRob Herring			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0	0x0001b098
614*724ba675SRob Herring			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8
615*724ba675SRob Herring		>;
616*724ba675SRob Herring	};
617*724ba675SRob Herring
618*724ba675SRob Herring	pinctrl_reset_gpio_led: reset-gpio-led-grp {
619*724ba675SRob Herring		fsl,pins = <
620*724ba675SRob Herring			MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18		0x1b0b0
621*724ba675SRob Herring		>;
622*724ba675SRob Herring	};
623*724ba675SRob Herring
624*724ba675SRob Herring	pinctrl_i2c1: i2c1grp {
625*724ba675SRob Herring		fsl,pins = <
626*724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
627*724ba675SRob Herring			MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1
628*724ba675SRob Herring		>;
629*724ba675SRob Herring	};
630*724ba675SRob Herring
631*724ba675SRob Herring	pinctrl_i2c2: i2c2grp {
632*724ba675SRob Herring		fsl,pins = <
633*724ba675SRob Herring			MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b810
634*724ba675SRob Herring			MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b810
635*724ba675SRob Herring		>;
636*724ba675SRob Herring	};
637*724ba675SRob Herring
638*724ba675SRob Herring	pinctrl_i2c3: i2c3grp {
639*724ba675SRob Herring		fsl,pins = <
640*724ba675SRob Herring			MX6QDL_PAD_GPIO_5__I2C3_SCL  0x4001b8b1
641*724ba675SRob Herring			MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
642*724ba675SRob Herring		>;
643*724ba675SRob Herring	};
644*724ba675SRob Herring
645*724ba675SRob Herring	pinctrl_lcd_enable: lcdenablegrp {
646*724ba675SRob Herring		fsl,pins = <
647*724ba675SRob Herring			MX6QDL_PAD_EIM_D23__GPIO3_IO23  0x1b0b0 /* lcd enable */
648*724ba675SRob Herring			MX6QDL_PAD_EIM_D16__GPIO3_IO16  0x1b0b0 /* sel6_8 */
649*724ba675SRob Herring		>;
650*724ba675SRob Herring	};
651*724ba675SRob Herring
652*724ba675SRob Herring	pinctrl_lm75: lm75grp {
653*724ba675SRob Herring		fsl,pins = <
654*724ba675SRob Herring			MX6QDL_PAD_KEY_ROW0__GPIO4_IO07		0x1b0b0
655*724ba675SRob Herring		>;
656*724ba675SRob Herring	};
657*724ba675SRob Herring
658*724ba675SRob Herring	pinctrl_proximity: proximitygrp {
659*724ba675SRob Herring		fsl,pins = <
660*724ba675SRob Herring			MX6QDL_PAD_KEY_ROW2__GPIO4_IO11  0x1b0b0
661*724ba675SRob Herring		>;
662*724ba675SRob Herring	};
663*724ba675SRob Herring
664*724ba675SRob Herring	pinctrl_pwm1: pwm1grp {
665*724ba675SRob Herring		fsl,pins = <
666*724ba675SRob Herring			MX6QDL_PAD_SD1_DAT3__PWM1_OUT 0x0001b0b0
667*724ba675SRob Herring		>;
668*724ba675SRob Herring	};
669*724ba675SRob Herring
670*724ba675SRob Herring	pinctrl_pwm2: pwm2grp {
671*724ba675SRob Herring		fsl,pins = <
672*724ba675SRob Herring			MX6QDL_PAD_SD1_DAT2__PWM2_OUT 0x0001b0b0
673*724ba675SRob Herring		>;
674*724ba675SRob Herring	};
675*724ba675SRob Herring
676*724ba675SRob Herring	pinctrl_pwm3: pwm3grp {
677*724ba675SRob Herring		fsl,pins = <
678*724ba675SRob Herring			MX6QDL_PAD_SD1_DAT1__PWM3_OUT 0x0001b0b0
679*724ba675SRob Herring		>;
680*724ba675SRob Herring	};
681*724ba675SRob Herring
682*724ba675SRob Herring	pinctrl_pwm4: pwm4grp {
683*724ba675SRob Herring		fsl,pins = <
684*724ba675SRob Herring			MX6QDL_PAD_SD1_CMD__PWM4_OUT 0x0001b0b0
685*724ba675SRob Herring		>;
686*724ba675SRob Herring	};
687*724ba675SRob Herring
688*724ba675SRob Herring	pinctrl_rtc: rtc-grp {
689*724ba675SRob Herring		fsl,pins = <
690*724ba675SRob Herring			MX6QDL_PAD_KEY_COL1__GPIO4_IO08 0x1b0b0 /* RTC INT */
691*724ba675SRob Herring		>;
692*724ba675SRob Herring	};
693*724ba675SRob Herring
694*724ba675SRob Herring	pinctrl_ctouch: ctouch-grp {
695*724ba675SRob Herring		fsl,pins = <
696*724ba675SRob Herring			MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x1b0b0 /* CTOUCH_INT */
697*724ba675SRob Herring			MX6QDL_PAD_SD1_CLK__GPIO1_IO20 0x0001b0b0 /* CTOUCH_RESET */
698*724ba675SRob Herring		>;
699*724ba675SRob Herring	};
700*724ba675SRob Herring
701*724ba675SRob Herring	pinctrl_uart1: uart1grp {
702*724ba675SRob Herring		fsl,pins = <
703*724ba675SRob Herring			MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1
704*724ba675SRob Herring			MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1
705*724ba675SRob Herring			MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x0001b0b0
706*724ba675SRob Herring		>;
707*724ba675SRob Herring	};
708*724ba675SRob Herring
709*724ba675SRob Herring	pinctrl_uart2: uart2grp {
710*724ba675SRob Herring		fsl,pins = <
711*724ba675SRob Herring			MX6QDL_PAD_SD3_DAT4__UART2_RX_DATA 0x1b0b1
712*724ba675SRob Herring			MX6QDL_PAD_SD3_DAT5__UART2_TX_DATA 0x1b0b1
713*724ba675SRob Herring			MX6QDL_PAD_EIM_D28__UART2_CTS_B 0x1b0b1
714*724ba675SRob Herring			MX6QDL_PAD_EIM_D29__UART2_RTS_B 0x1b0b1
715*724ba675SRob Herring		>;
716*724ba675SRob Herring	};
717*724ba675SRob Herring
718*724ba675SRob Herring	pinctrl_usbh2_idle: usbh2-idle-grp {
719*724ba675SRob Herring		fsl,pins = <
720*724ba675SRob Herring			MX6QDL_PAD_RGMII_TXC__USB_H2_DATA      0x00013018
721*724ba675SRob Herring			MX6QDL_PAD_RGMII_TX_CTL__USB_H2_STROBE 0x00013018
722*724ba675SRob Herring		>;
723*724ba675SRob Herring	};
724*724ba675SRob Herring
725*724ba675SRob Herring	pinctrl_usbh2_active: usbh2-active-grp {
726*724ba675SRob Herring		fsl,pins = <
727*724ba675SRob Herring			MX6QDL_PAD_RGMII_TXC__USB_H2_DATA      0x00013018
728*724ba675SRob Herring			MX6QDL_PAD_RGMII_TX_CTL__USB_H2_STROBE 0x00017018
729*724ba675SRob Herring		>;
730*724ba675SRob Herring	};
731*724ba675SRob Herring
732*724ba675SRob Herring	pinctrl_usb3503: usb3503-grp {
733*724ba675SRob Herring		fsl,pins = <
734*724ba675SRob Herring			MX6QDL_PAD_CSI0_MCLK__CCM_CLKO1    0x00000018
735*724ba675SRob Herring			MX6QDL_PAD_GPIO_17__GPIO7_IO12     0x1b0b0 /* USB INT */
736*724ba675SRob Herring			MX6QDL_PAD_DISP0_DAT11__GPIO5_IO05 0x0001b0b0 /* USB Reset */
737*724ba675SRob Herring			MX6QDL_PAD_SD1_DAT0__GPIO1_IO16    0x1b0b0 /* USB Connect */
738*724ba675SRob Herring		>;
739*724ba675SRob Herring	};
740*724ba675SRob Herring
741*724ba675SRob Herring	pinctrl_usbotg: usbotggrp {
742*724ba675SRob Herring		fsl,pins = <
743*724ba675SRob Herring			MX6QDL_PAD_GPIO_1__USB_OTG_ID	0x17059
744*724ba675SRob Herring		>;
745*724ba675SRob Herring	};
746*724ba675SRob Herring
747*724ba675SRob Herring	pinctrl_usdhc2: usdhc2grp {
748*724ba675SRob Herring		fsl,pins = <
749*724ba675SRob Herring			MX6QDL_PAD_SD2_CMD__SD2_CMD    0x00017069
750*724ba675SRob Herring			MX6QDL_PAD_SD2_CLK__SD2_CLK    0x00010038
751*724ba675SRob Herring			MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x00017069
752*724ba675SRob Herring			MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x00017069
753*724ba675SRob Herring			MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x00017069
754*724ba675SRob Herring			MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x00017069
755*724ba675SRob Herring			MX6QDL_PAD_GPIO_4__SD2_CD_B    0x0001b0b0
756*724ba675SRob Herring		>;
757*724ba675SRob Herring	};
758*724ba675SRob Herring
759*724ba675SRob Herring	pinctrl_usdhc4: usdhc4grp {
760*724ba675SRob Herring		fsl,pins = <
761*724ba675SRob Herring			MX6QDL_PAD_SD4_CMD__SD4_CMD    0x00017059
762*724ba675SRob Herring			MX6QDL_PAD_SD4_CLK__SD4_CLK    0x00010059
763*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x00017059
764*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x00017059
765*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x00017059
766*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x00017059
767*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x00017059
768*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x00017059
769*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x00017059
770*724ba675SRob Herring			MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x00017059
771*724ba675SRob Herring		>;
772*724ba675SRob Herring	};
773*724ba675SRob Herring
774*724ba675SRob Herring	pinctrl_wdog1: wdoggrp {
775*724ba675SRob Herring		fsl,pins = <
776*724ba675SRob Herring			MX6QDL_PAD_GPIO_9__WDOG1_B 0x1b0b0
777*724ba675SRob Herring		>;
778*724ba675SRob Herring	};
779*724ba675SRob Herring};
780