xref: /linux/scripts/dtc/include-prefixes/arm/nxp/imx/imx6ull-dhcom-som.dtsi (revision 724ba6751532055db75992fc6ae21c3e322e94a7)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Copyright (C) 2023 DH electronics GmbH
4*724ba675SRob Herring */
5*724ba675SRob Herring
6*724ba675SRob Herring#include "imx6ull-dhcor-som.dtsi"
7*724ba675SRob Herring
8*724ba675SRob Herring/ {
9*724ba675SRob Herring	aliases {
10*724ba675SRob Herring		/delete-property/ spi2;
11*724ba675SRob Herring		/delete-property/ spi3;
12*724ba675SRob Herring		i2c0 = &i2c2;
13*724ba675SRob Herring		i2c1 = &i2c1;
14*724ba675SRob Herring		mmc2 = &usdhc2;
15*724ba675SRob Herring		rtc0 = &rtc_i2c;
16*724ba675SRob Herring		rtc1 = &snvs_rtc;
17*724ba675SRob Herring		serial0 = &uart1;
18*724ba675SRob Herring		serial1 = &uart6; /* DHCOM UART2, special hardware required */
19*724ba675SRob Herring		serial2 = &uart3;
20*724ba675SRob Herring		serial3 = &uart2; /* Use BT UART always as ttymxc3 */
21*724ba675SRob Herring		serial4 = &uart4;
22*724ba675SRob Herring		serial5 = &uart5;
23*724ba675SRob Herring		spi0 = &ecspi1;
24*724ba675SRob Herring		spi1 = &ecspi4; /* DHCOM SPI2, special hardware required */
25*724ba675SRob Herring	};
26*724ba675SRob Herring
27*724ba675SRob Herring	chosen {
28*724ba675SRob Herring		stdout-path = "serial0:115200n8";
29*724ba675SRob Herring	};
30*724ba675SRob Herring
31*724ba675SRob Herring	reg_ext_3v3_ref: regulator-ext-3v3-ref {
32*724ba675SRob Herring		compatible = "regulator-fixed";
33*724ba675SRob Herring		regulator-always-on;
34*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
35*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
36*724ba675SRob Herring		regulator-name = "VCC_3V3_REF";
37*724ba675SRob Herring	};
38*724ba675SRob Herring
39*724ba675SRob Herring	reg_usb_otg1_vbus: regulator-usb-otg1-vbus {
40*724ba675SRob Herring		compatible = "regulator-fixed";
41*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
42*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
43*724ba675SRob Herring		regulator-name = "usb-otg1-vbus";
44*724ba675SRob Herring	};
45*724ba675SRob Herring
46*724ba675SRob Herring	reg_usb_otg2_vbus: regulator-usb-otg2-vbus {
47*724ba675SRob Herring		compatible = "regulator-fixed";
48*724ba675SRob Herring		gpio = <&gpio1 5 GPIO_ACTIVE_LOW>;
49*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
50*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
51*724ba675SRob Herring		regulator-name = "usb-otg2-vbus";
52*724ba675SRob Herring	};
53*724ba675SRob Herring
54*724ba675SRob Herring	/* SoM with WiFi/BT: WiFi pin WL_REG_ON is connected to a DHCOM GPIO */
55*724ba675SRob Herring	/omit-if-no-ref/ usdhc1_pwrseq: usdhc1-pwrseq {
56*724ba675SRob Herring		compatible = "mmc-pwrseq-simple";
57*724ba675SRob Herring		reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; /* GPIO H */
58*724ba675SRob Herring	};
59*724ba675SRob Herring};
60*724ba675SRob Herring
61*724ba675SRob Herring/* SoM with WiFi/BT: BT pin BT_REG_ON is connected to a DHCOM GPIO */
62*724ba675SRob Herring&bluetooth {
63*724ba675SRob Herring	shutdown-gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>; /* GPIO I */
64*724ba675SRob Herring};
65*724ba675SRob Herring
66*724ba675SRob Herring&can1 {
67*724ba675SRob Herring	pinctrl-0 = <&pinctrl_flexcan1>;
68*724ba675SRob Herring	pinctrl-names = "default";
69*724ba675SRob Herring	status = "okay";
70*724ba675SRob Herring};
71*724ba675SRob Herring
72*724ba675SRob Herring/*
73*724ba675SRob Herring * The signals for CAN2 TX and RX are routed to the DHCOM UART1 RTS/CTS pins.
74*724ba675SRob Herring * Only if this pins are used as CAN interface enable it on board layer.
75*724ba675SRob Herring */
76*724ba675SRob Herring&can2 {
77*724ba675SRob Herring	pinctrl-0 = <&pinctrl_flexcan2>;
78*724ba675SRob Herring	pinctrl-names = "default";
79*724ba675SRob Herring};
80*724ba675SRob Herring
81*724ba675SRob Herring/* DHCOM SPI1 */
82*724ba675SRob Herring&ecspi1 {
83*724ba675SRob Herring	cs-gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
84*724ba675SRob Herring	pinctrl-0 = <&pinctrl_ecspi1>;
85*724ba675SRob Herring	pinctrl-names = "default";
86*724ba675SRob Herring	status = "okay";
87*724ba675SRob Herring};
88*724ba675SRob Herring
89*724ba675SRob Herring/*
90*724ba675SRob Herring * DHCOM SPI2
91*724ba675SRob Herring * Special hardware required that uses the pins of FEC2. Therefore this SPI
92*724ba675SRob Herring * interface can only be used if FEC2 is disabled.
93*724ba675SRob Herring */
94*724ba675SRob Herring&ecspi4 {
95*724ba675SRob Herring	cs-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>;
96*724ba675SRob Herring	pinctrl-0 = <&pinctrl_ecspi4>;
97*724ba675SRob Herring	pinctrl-names = "default";
98*724ba675SRob Herring};
99*724ba675SRob Herring
100*724ba675SRob Herring/* DHCOM ETH1 */
101*724ba675SRob Herring&fec1 {
102*724ba675SRob Herring	phy-handle = <&mdio2_phy0>;
103*724ba675SRob Herring	phy-mode = "rmii";
104*724ba675SRob Herring	pinctrl-0 = <&pinctrl_fec1>;
105*724ba675SRob Herring	pinctrl-names = "default";
106*724ba675SRob Herring	status = "okay";
107*724ba675SRob Herring};
108*724ba675SRob Herring
109*724ba675SRob Herring/* DHCOM ETH2 */
110*724ba675SRob Herring&fec2 {
111*724ba675SRob Herring	phy-handle = <&mdio2_phy1>;
112*724ba675SRob Herring	phy-mode = "rmii";
113*724ba675SRob Herring	pinctrl-0 = <&pinctrl_fec2>;
114*724ba675SRob Herring	pinctrl-names = "default";
115*724ba675SRob Herring	status = "okay";
116*724ba675SRob Herring
117*724ba675SRob Herring	mdio {
118*724ba675SRob Herring		#address-cells = <1>;
119*724ba675SRob Herring		#size-cells = <0>;
120*724ba675SRob Herring
121*724ba675SRob Herring		mdio2_phy0: ethernet-phy@0 {
122*724ba675SRob Herring			compatible = "ethernet-phy-id0007.c0f0", /* SMSC LAN8710Ai */
123*724ba675SRob Herring				     "ethernet-phy-ieee802.3-c22";
124*724ba675SRob Herring			reg = <0>;
125*724ba675SRob Herring			clock-names = "rmii-ref";
126*724ba675SRob Herring			clocks = <&clks IMX6UL_CLK_ENET_REF>;
127*724ba675SRob Herring			interrupt-parent = <&gpio5>;
128*724ba675SRob Herring			interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
129*724ba675SRob Herring			pinctrl-0 = <&pinctrl_fec1_phy &pinctrl_snvs_fec1_phy>;
130*724ba675SRob Herring			pinctrl-names = "default";
131*724ba675SRob Herring			reset-assert-us = <500>;
132*724ba675SRob Herring			reset-deassert-us = <500>;
133*724ba675SRob Herring			reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
134*724ba675SRob Herring			smsc,disable-energy-detect; /* Make plugin detection reliable */
135*724ba675SRob Herring		};
136*724ba675SRob Herring
137*724ba675SRob Herring		mdio2_phy1: ethernet-phy@1 {
138*724ba675SRob Herring			compatible = "ethernet-phy-id0007.c0f0", /* SMSC LAN8710Ai */
139*724ba675SRob Herring				     "ethernet-phy-ieee802.3-c22";
140*724ba675SRob Herring			reg = <1>;
141*724ba675SRob Herring			clock-names = "rmii-ref";
142*724ba675SRob Herring			clocks = <&clks IMX6UL_CLK_ENET2_REF>;
143*724ba675SRob Herring			interrupt-parent = <&gpio5>;
144*724ba675SRob Herring			interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
145*724ba675SRob Herring			pinctrl-0 = <&pinctrl_fec2_phy &pinctrl_snvs_fec2_phy>;
146*724ba675SRob Herring			pinctrl-names = "default";
147*724ba675SRob Herring			reset-assert-us = <500>;
148*724ba675SRob Herring			reset-deassert-us = <500>;
149*724ba675SRob Herring			reset-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
150*724ba675SRob Herring			smsc,disable-energy-detect; /* Make plugin detection reliable */
151*724ba675SRob Herring		};
152*724ba675SRob Herring	};
153*724ba675SRob Herring};
154*724ba675SRob Herring
155*724ba675SRob Herring&gpio1 {
156*724ba675SRob Herring	gpio-line-names =
157*724ba675SRob Herring		"", "", "", "",
158*724ba675SRob Herring		"", "", "", "",
159*724ba675SRob Herring		"", "", "", "DHCOM-INT",
160*724ba675SRob Herring		"", "", "", "",
161*724ba675SRob Herring		"", "", "DHCOM-I", "",
162*724ba675SRob Herring		"", "", "", "",
163*724ba675SRob Herring		"", "", "", "",
164*724ba675SRob Herring		"", "", "", "";
165*724ba675SRob Herring	pinctrl-0 = <&pinctrl_spi1_switch
166*724ba675SRob Herring		     &pinctrl_dhcom_i &pinctrl_dhcom_int>;
167*724ba675SRob Herring	pinctrl-names = "default";
168*724ba675SRob Herring};
169*724ba675SRob Herring
170*724ba675SRob Herring&gpio4 {
171*724ba675SRob Herring	gpio-line-names =
172*724ba675SRob Herring		"", "", "", "",
173*724ba675SRob Herring		"", "", "", "",
174*724ba675SRob Herring		"", "", "", "",
175*724ba675SRob Herring		"", "", "", "",
176*724ba675SRob Herring		"", "DHCOM-L", "DHCOM-K", "DHCOM-M",
177*724ba675SRob Herring		"DHCOM-J", "DHCOM-U", "DHCOM-T", "DHCOM-S",
178*724ba675SRob Herring		"DHCOM-R", "DHCOM-Q", "DHCOM-P", "DHCOM-O",
179*724ba675SRob Herring		"DHCOM-N", "", "", "";
180*724ba675SRob Herring	pinctrl-0 = <&pinctrl_dhcom_j &pinctrl_dhcom_k
181*724ba675SRob Herring		     &pinctrl_dhcom_l &pinctrl_dhcom_m
182*724ba675SRob Herring		     &pinctrl_dhcom_n &pinctrl_dhcom_o
183*724ba675SRob Herring		     &pinctrl_dhcom_p &pinctrl_dhcom_q
184*724ba675SRob Herring		     &pinctrl_dhcom_r &pinctrl_dhcom_s
185*724ba675SRob Herring		     &pinctrl_dhcom_t &pinctrl_dhcom_u>;
186*724ba675SRob Herring	pinctrl-names = "default";
187*724ba675SRob Herring};
188*724ba675SRob Herring
189*724ba675SRob Herring&gpio5 {
190*724ba675SRob Herring	gpio-line-names =
191*724ba675SRob Herring		"DHCOM-A", "DHCOM-B", "DHCOM-C", "DHCOM-D",
192*724ba675SRob Herring		"DHCOM-E", "", "", "DHCOM-F",
193*724ba675SRob Herring		"DHCOM-G", "DHCOM-H", "", "",
194*724ba675SRob Herring		"", "", "", "",
195*724ba675SRob Herring		"", "", "", "",
196*724ba675SRob Herring		"", "", "", "",
197*724ba675SRob Herring		"", "", "", "",
198*724ba675SRob Herring		"", "", "", "";
199*724ba675SRob Herring	pinctrl-0 = <&pinctrl_snvs_dhcom_a &pinctrl_snvs_dhcom_b
200*724ba675SRob Herring		     &pinctrl_snvs_dhcom_c &pinctrl_snvs_dhcom_d
201*724ba675SRob Herring		     &pinctrl_snvs_dhcom_e &pinctrl_snvs_dhcom_f
202*724ba675SRob Herring		     &pinctrl_snvs_dhcom_g &pinctrl_snvs_dhcom_h>;
203*724ba675SRob Herring	pinctrl-names = "default";
204*724ba675SRob Herring};
205*724ba675SRob Herring
206*724ba675SRob Herring/* DHCOM I2C2 */
207*724ba675SRob Herring&i2c1 {
208*724ba675SRob Herring	rtc_i2c: rtc@32 {
209*724ba675SRob Herring		compatible = "microcrystal,rv8803";
210*724ba675SRob Herring		reg = <0x32>;
211*724ba675SRob Herring	};
212*724ba675SRob Herring
213*724ba675SRob Herring	/* Microchip 24AA025E48T-I/OT containing MAC for DHCOM ETH1 */
214*724ba675SRob Herring	eeprom@50 {
215*724ba675SRob Herring		compatible = "atmel,24c02";
216*724ba675SRob Herring		reg = <0x50>;
217*724ba675SRob Herring		pagesize = <16>;
218*724ba675SRob Herring	};
219*724ba675SRob Herring
220*724ba675SRob Herring	/* TI ADC101C027 */
221*724ba675SRob Herring	adc@51 {
222*724ba675SRob Herring		compatible = "ti,adc101c";
223*724ba675SRob Herring		reg = <0x51>;
224*724ba675SRob Herring		vref-supply = <&reg_ext_3v3_ref>;
225*724ba675SRob Herring	};
226*724ba675SRob Herring
227*724ba675SRob Herring	/* TI ADC101C027 */
228*724ba675SRob Herring	adc@52 {
229*724ba675SRob Herring		compatible = "ti,adc101c";
230*724ba675SRob Herring		reg = <0x52>;
231*724ba675SRob Herring		vref-supply = <&reg_ext_3v3_ref>;
232*724ba675SRob Herring	};
233*724ba675SRob Herring
234*724ba675SRob Herring	/* Microchip 24AA025E48T-I/OT containing MAC for DHCOM ETH2 */
235*724ba675SRob Herring	eeprom@53 {
236*724ba675SRob Herring		compatible = "atmel,24c02";
237*724ba675SRob Herring		reg = <0x53>;
238*724ba675SRob Herring		pagesize = <16>;
239*724ba675SRob Herring	};
240*724ba675SRob Herring};
241*724ba675SRob Herring
242*724ba675SRob Herring/* DHCOM I2C1 */
243*724ba675SRob Herring&i2c2 {
244*724ba675SRob Herring	clock-frequency = <100000>;
245*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c2>;
246*724ba675SRob Herring	pinctrl-1 = <&pinctrl_i2c2_gpio>;
247*724ba675SRob Herring	pinctrl-names = "default", "gpio";
248*724ba675SRob Herring	scl-gpios = <&gpio1 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
249*724ba675SRob Herring	sda-gpios = <&gpio1 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
250*724ba675SRob Herring	status = "okay";
251*724ba675SRob Herring};
252*724ba675SRob Herring
253*724ba675SRob Herring&lcdif {
254*724ba675SRob Herring	pinctrl-0 = <&pinctrl_lcdif>;
255*724ba675SRob Herring	pinctrl-names = "default";
256*724ba675SRob Herring};
257*724ba675SRob Herring
258*724ba675SRob Herring&pwm1 {
259*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm1>;
260*724ba675SRob Herring	pinctrl-names = "default";
261*724ba675SRob Herring};
262*724ba675SRob Herring
263*724ba675SRob Herring&sai2 {
264*724ba675SRob Herring	assigned-clock-rates = <320000000>;
265*724ba675SRob Herring	assigned-clocks = <&clks IMX6UL_CLK_PLL3_PFD2>;
266*724ba675SRob Herring	pinctrl-0 = <&pinctrl_sai2>;
267*724ba675SRob Herring	pinctrl-names = "default";
268*724ba675SRob Herring};
269*724ba675SRob Herring
270*724ba675SRob Herring&tsc {
271*724ba675SRob Herring	measure-delay-time = <0xffff>;
272*724ba675SRob Herring	pinctrl-0 = <&pinctrl_tsc>;
273*724ba675SRob Herring	pinctrl-names = "default";
274*724ba675SRob Herring	pre-charge-time = <0xfff>;
275*724ba675SRob Herring	touchscreen-average-samples = <32>;
276*724ba675SRob Herring	xnur-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
277*724ba675SRob Herring};
278*724ba675SRob Herring
279*724ba675SRob Herring/* DHCOM UART1 */
280*724ba675SRob Herring&uart1 {
281*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
282*724ba675SRob Herring	pinctrl-names = "default";
283*724ba675SRob Herring	status = "okay";
284*724ba675SRob Herring};
285*724ba675SRob Herring
286*724ba675SRob Herring/*
287*724ba675SRob Herring * DHCOM UART2 (alternative)
288*724ba675SRob Herring * Special hardware required that uses DHCOM GPIO pins for DHCOM UART2.
289*724ba675SRob Herring * Therefore this UART interface can only be used if DHCOM GPIOs J/K/L/M are
290*724ba675SRob Herring * removed from GPIO hog muxing.
291*724ba675SRob Herring */
292*724ba675SRob Herring&uart6 {
293*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart6>;
294*724ba675SRob Herring	pinctrl-names = "default";
295*724ba675SRob Herring	uart-has-rtscts;
296*724ba675SRob Herring};
297*724ba675SRob Herring
298*724ba675SRob Herring&usbotg1 {
299*724ba675SRob Herring	adp-disable;
300*724ba675SRob Herring	disable-over-current;
301*724ba675SRob Herring	dr_mode = "otg";
302*724ba675SRob Herring	hnp-disable;
303*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbotg1>;
304*724ba675SRob Herring	pinctrl-names = "default";
305*724ba675SRob Herring	srp-disable;
306*724ba675SRob Herring	vbus-supply = <&reg_usb_otg1_vbus>;
307*724ba675SRob Herring	status = "okay";
308*724ba675SRob Herring};
309*724ba675SRob Herring
310*724ba675SRob Herring&usbotg2 {
311*724ba675SRob Herring	disable-over-current; /* Overcurrent pin is used for TSC */
312*724ba675SRob Herring	dr_mode = "host";
313*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbotg2>;
314*724ba675SRob Herring	pinctrl-names = "default";
315*724ba675SRob Herring	tpl-support;
316*724ba675SRob Herring	vbus-supply = <&reg_usb_otg2_vbus>;
317*724ba675SRob Herring	status = "okay";
318*724ba675SRob Herring};
319*724ba675SRob Herring
320*724ba675SRob Herring&usbphy1 {
321*724ba675SRob Herring	fsl,tx-d-cal = <106>;
322*724ba675SRob Herring};
323*724ba675SRob Herring
324*724ba675SRob Herring&usbphy2 {
325*724ba675SRob Herring	fsl,tx-d-cal = <106>;
326*724ba675SRob Herring};
327*724ba675SRob Herring
328*724ba675SRob Herring/* WiFi on LGA */
329*724ba675SRob Herring&usdhc1 {
330*724ba675SRob Herring	mmc-pwrseq = <&usdhc1_pwrseq>;
331*724ba675SRob Herring};
332*724ba675SRob Herring
333*724ba675SRob Herring/* eMMC on module */
334*724ba675SRob Herring&usdhc2 {
335*724ba675SRob Herring	bus-width = <8>;
336*724ba675SRob Herring	no-1-8-v;
337*724ba675SRob Herring	non-removable;
338*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc2>;
339*724ba675SRob Herring	pinctrl-names = "default";
340*724ba675SRob Herring	vmmc-supply = <&vcc_3v3>;
341*724ba675SRob Herring	vqmmc-supply = <&vcc_3v3>;
342*724ba675SRob Herring	status = "okay";
343*724ba675SRob Herring};
344*724ba675SRob Herring
345*724ba675SRob Herring&iomuxc {
346*724ba675SRob Herring	/* DHCOM GPIOs I..U + INT_HIGHEST_PRIORITY */
347*724ba675SRob Herring	pinctrl_dhcom_i: dhcom-i-grp {
348*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_UART1_CTS_B__GPIO1_IO18	0x400120b0>;
349*724ba675SRob Herring	};
350*724ba675SRob Herring
351*724ba675SRob Herring	pinctrl_dhcom_j: dhcom-j-grp {
352*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_CSI_HSYNC__GPIO4_IO20	0x400120b0>;
353*724ba675SRob Herring	};
354*724ba675SRob Herring
355*724ba675SRob Herring	pinctrl_dhcom_k: dhcom-k-grp {
356*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_CSI_PIXCLK__GPIO4_IO18	0x400120b0>;
357*724ba675SRob Herring	};
358*724ba675SRob Herring
359*724ba675SRob Herring	pinctrl_dhcom_l: dhcom-l-grp {
360*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_CSI_MCLK__GPIO4_IO17	0x400120b0>;
361*724ba675SRob Herring	};
362*724ba675SRob Herring
363*724ba675SRob Herring	pinctrl_dhcom_m: dhcom-m-grp {
364*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_CSI_VSYNC__GPIO4_IO19	0x400120b0>;
365*724ba675SRob Herring	};
366*724ba675SRob Herring
367*724ba675SRob Herring	pinctrl_dhcom_n: dhcom-n-grp {
368*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_CSI_DATA07__GPIO4_IO28	0x400120b0>;
369*724ba675SRob Herring	};
370*724ba675SRob Herring
371*724ba675SRob Herring	pinctrl_dhcom_o: dhcom-o-grp {
372*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_CSI_DATA06__GPIO4_IO27	0x400120b0>;
373*724ba675SRob Herring	};
374*724ba675SRob Herring
375*724ba675SRob Herring	pinctrl_dhcom_p: dhcom-p-grp {
376*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_CSI_DATA05__GPIO4_IO26	0x400120b0>;
377*724ba675SRob Herring	};
378*724ba675SRob Herring
379*724ba675SRob Herring	pinctrl_dhcom_q: dhcom-q-grp {
380*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_CSI_DATA04__GPIO4_IO25	0x400120b0>;
381*724ba675SRob Herring	};
382*724ba675SRob Herring
383*724ba675SRob Herring	pinctrl_dhcom_r: dhcom-r-grp {
384*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_CSI_DATA03__GPIO4_IO24	0x400120b0>;
385*724ba675SRob Herring	};
386*724ba675SRob Herring
387*724ba675SRob Herring	pinctrl_dhcom_s: dhcom-s-grp {
388*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_CSI_DATA02__GPIO4_IO23	0x400120b0>;
389*724ba675SRob Herring	};
390*724ba675SRob Herring
391*724ba675SRob Herring	pinctrl_dhcom_t: dhcom-t-grp {
392*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_CSI_DATA01__GPIO4_IO22	0x400120b0>;
393*724ba675SRob Herring	};
394*724ba675SRob Herring
395*724ba675SRob Herring	pinctrl_dhcom_u: dhcom-u-grp {
396*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_CSI_DATA00__GPIO4_IO21	0x400120b0>;
397*724ba675SRob Herring	};
398*724ba675SRob Herring
399*724ba675SRob Herring	pinctrl_dhcom_int: dhcom-int-grp {
400*724ba675SRob Herring		fsl,pins = <MX6UL_PAD_JTAG_TMS__GPIO1_IO11	0x400120b0>;
401*724ba675SRob Herring	};
402*724ba675SRob Herring
403*724ba675SRob Herring	pinctrl_ecspi1: ecspi1-grp {
404*724ba675SRob Herring		fsl,pins = <
405*724ba675SRob Herring			MX6UL_PAD_LCD_DATA23__ECSPI1_MISO	0x100b1
406*724ba675SRob Herring			MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI	0x100b1
407*724ba675SRob Herring			MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK	0x100b1
408*724ba675SRob Herring			MX6UL_PAD_LCD_DATA21__GPIO3_IO26	0x1b0b0 /* SS0 */
409*724ba675SRob Herring		>;
410*724ba675SRob Herring	};
411*724ba675SRob Herring
412*724ba675SRob Herring	pinctrl_ecspi4: ecspi4-grp {
413*724ba675SRob Herring		fsl,pins = <
414*724ba675SRob Herring			MX6UL_PAD_ENET2_TX_CLK__ECSPI4_MISO	0x100b1
415*724ba675SRob Herring			MX6UL_PAD_ENET2_TX_EN__ECSPI4_MOSI	0x100b1
416*724ba675SRob Herring			MX6UL_PAD_ENET2_TX_DATA1__ECSPI4_SCLK	0x100b1
417*724ba675SRob Herring			MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15	0x1b0b0 /* SS0 */
418*724ba675SRob Herring		>;
419*724ba675SRob Herring	};
420*724ba675SRob Herring
421*724ba675SRob Herring	pinctrl_fec1: fec1-grp {
422*724ba675SRob Herring		fsl,pins = <
423*724ba675SRob Herring			/* FEC1 uses MDIO bus from FEC2 */
424*724ba675SRob Herring			MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN	0x1b0b0
425*724ba675SRob Herring			MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER	0x1b0b0
426*724ba675SRob Herring			MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00	0x1b0b0
427*724ba675SRob Herring			MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01	0x1b0b0
428*724ba675SRob Herring			MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN	0x1b010
429*724ba675SRob Herring			MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00	0x1b010
430*724ba675SRob Herring			MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01	0x1b010
431*724ba675SRob Herring			MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1	0x4001b010
432*724ba675SRob Herring		>;
433*724ba675SRob Herring	};
434*724ba675SRob Herring
435*724ba675SRob Herring	pinctrl_fec1_phy: fec1-phy-grp {
436*724ba675SRob Herring		fsl,pins = <
437*724ba675SRob Herring			MX6UL_PAD_LCD_DATA18__GPIO3_IO23	0xb0 /* SMSC PHY reset */
438*724ba675SRob Herring		>;
439*724ba675SRob Herring	};
440*724ba675SRob Herring
441*724ba675SRob Herring	pinctrl_fec2: fec2-grp {
442*724ba675SRob Herring		fsl,pins = <
443*724ba675SRob Herring			MX6UL_PAD_GPIO1_IO07__ENET2_MDC		0x1b0b0
444*724ba675SRob Herring			MX6UL_PAD_GPIO1_IO06__ENET2_MDIO	0x1b0b0
445*724ba675SRob Herring			MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN	0x1b0b0
446*724ba675SRob Herring			MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER	0x1b0b0
447*724ba675SRob Herring			MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00	0x1b0b0
448*724ba675SRob Herring			MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01	0x1b0b0
449*724ba675SRob Herring			MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN	0x1b010
450*724ba675SRob Herring			MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00	0x1b010
451*724ba675SRob Herring			MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01	0x1b010
452*724ba675SRob Herring			MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2	0x4001b010
453*724ba675SRob Herring		>;
454*724ba675SRob Herring	};
455*724ba675SRob Herring
456*724ba675SRob Herring	pinctrl_fec2_phy: fec2-phy-grp {
457*724ba675SRob Herring		fsl,pins = <
458*724ba675SRob Herring			MX6UL_PAD_LCD_DATA19__GPIO3_IO24	0xb0 /* SMSC PHY reset */
459*724ba675SRob Herring		>;
460*724ba675SRob Herring	};
461*724ba675SRob Herring
462*724ba675SRob Herring	pinctrl_flexcan1: flexcan1-grp {
463*724ba675SRob Herring		fsl,pins = <
464*724ba675SRob Herring			MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX	0x1b020
465*724ba675SRob Herring			MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX	0x1b020
466*724ba675SRob Herring		>;
467*724ba675SRob Herring	};
468*724ba675SRob Herring
469*724ba675SRob Herring	pinctrl_flexcan2: flexcan2-grp {
470*724ba675SRob Herring		fsl,pins = <
471*724ba675SRob Herring			MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX	0x1b020
472*724ba675SRob Herring			MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX	0x1b020
473*724ba675SRob Herring		>;
474*724ba675SRob Herring	};
475*724ba675SRob Herring
476*724ba675SRob Herring	pinctrl_i2c2: i2c2-grp {
477*724ba675SRob Herring		fsl,pins = <
478*724ba675SRob Herring			MX6UL_PAD_UART5_TX_DATA__I2C2_SCL	0x4001b8b0
479*724ba675SRob Herring			MX6UL_PAD_UART5_RX_DATA__I2C2_SDA	0x4001b8b0
480*724ba675SRob Herring		>;
481*724ba675SRob Herring	};
482*724ba675SRob Herring
483*724ba675SRob Herring	pinctrl_i2c2_gpio: i2c2-gpio-grp {
484*724ba675SRob Herring		fsl,pins = <
485*724ba675SRob Herring			MX6UL_PAD_UART5_TX_DATA__GPIO1_IO30	0x4001b8b0
486*724ba675SRob Herring			MX6UL_PAD_UART5_RX_DATA__GPIO1_IO31	0x4001b8b0
487*724ba675SRob Herring		>;
488*724ba675SRob Herring	};
489*724ba675SRob Herring
490*724ba675SRob Herring	pinctrl_lcdif: lcdif-grp {
491*724ba675SRob Herring		fsl,pins = <
492*724ba675SRob Herring			MX6UL_PAD_LCD_CLK__LCDIF_CLK		0x79
493*724ba675SRob Herring			MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE	0x79
494*724ba675SRob Herring			MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC	0x79
495*724ba675SRob Herring			MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC	0x79
496*724ba675SRob Herring			MX6UL_PAD_LCD_DATA00__LCDIF_DATA00	0x79
497*724ba675SRob Herring			MX6UL_PAD_LCD_DATA01__LCDIF_DATA01	0x79
498*724ba675SRob Herring			MX6UL_PAD_LCD_DATA02__LCDIF_DATA02	0x79
499*724ba675SRob Herring			MX6UL_PAD_LCD_DATA03__LCDIF_DATA03	0x79
500*724ba675SRob Herring			MX6UL_PAD_LCD_DATA04__LCDIF_DATA04	0x79
501*724ba675SRob Herring			MX6UL_PAD_LCD_DATA05__LCDIF_DATA05	0x79
502*724ba675SRob Herring			MX6UL_PAD_LCD_DATA06__LCDIF_DATA06	0x79
503*724ba675SRob Herring			MX6UL_PAD_LCD_DATA07__LCDIF_DATA07	0x79
504*724ba675SRob Herring			MX6UL_PAD_LCD_DATA08__LCDIF_DATA08	0x79
505*724ba675SRob Herring			MX6UL_PAD_LCD_DATA09__LCDIF_DATA09	0x79
506*724ba675SRob Herring			MX6UL_PAD_LCD_DATA10__LCDIF_DATA10	0x79
507*724ba675SRob Herring			MX6UL_PAD_LCD_DATA11__LCDIF_DATA11	0x79
508*724ba675SRob Herring			MX6UL_PAD_LCD_DATA12__LCDIF_DATA12	0x79
509*724ba675SRob Herring			MX6UL_PAD_LCD_DATA13__LCDIF_DATA13	0x79
510*724ba675SRob Herring			MX6UL_PAD_LCD_DATA14__LCDIF_DATA14	0x79
511*724ba675SRob Herring			MX6UL_PAD_LCD_DATA15__LCDIF_DATA15	0x79
512*724ba675SRob Herring			MX6UL_PAD_LCD_DATA16__LCDIF_DATA16	0x79
513*724ba675SRob Herring			MX6UL_PAD_LCD_DATA17__LCDIF_DATA17	0x79
514*724ba675SRob Herring		>;
515*724ba675SRob Herring	};
516*724ba675SRob Herring
517*724ba675SRob Herring	pinctrl_pwm1: pwm1-grp {
518*724ba675SRob Herring		fsl,pins = <
519*724ba675SRob Herring			MX6UL_PAD_GPIO1_IO08__PWM1_OUT		0x110b0
520*724ba675SRob Herring		>;
521*724ba675SRob Herring	};
522*724ba675SRob Herring
523*724ba675SRob Herring	pinctrl_sai2: sai2-grp {
524*724ba675SRob Herring		fsl,pins = <
525*724ba675SRob Herring			MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA	0x130b0
526*724ba675SRob Herring			MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK	0x17088
527*724ba675SRob Herring			MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC	0x17088
528*724ba675SRob Herring			MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA	0x120b0
529*724ba675SRob Herring		>;
530*724ba675SRob Herring	};
531*724ba675SRob Herring
532*724ba675SRob Herring	pinctrl_tsc: tsc-grp {
533*724ba675SRob Herring		fsl,pins = <
534*724ba675SRob Herring			MX6UL_PAD_GPIO1_IO01__GPIO1_IO01	0xb0
535*724ba675SRob Herring			MX6UL_PAD_GPIO1_IO02__GPIO1_IO02	0xb0
536*724ba675SRob Herring			MX6UL_PAD_GPIO1_IO03__GPIO1_IO03	0xb0
537*724ba675SRob Herring			MX6UL_PAD_GPIO1_IO04__GPIO1_IO04	0xb0
538*724ba675SRob Herring		>;
539*724ba675SRob Herring	};
540*724ba675SRob Herring
541*724ba675SRob Herring	pinctrl_uart1: uart1-grp {
542*724ba675SRob Herring		fsl,pins = <
543*724ba675SRob Herring			MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX	0x1b0b1
544*724ba675SRob Herring			MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX	0x1b0b1
545*724ba675SRob Herring		>;
546*724ba675SRob Herring	};
547*724ba675SRob Herring
548*724ba675SRob Herring	pinctrl_uart6: uart6-grp {
549*724ba675SRob Herring		fsl,pins = <
550*724ba675SRob Herring			MX6UL_PAD_CSI_MCLK__UART6_DCE_TX	0x1b0b1
551*724ba675SRob Herring			MX6UL_PAD_CSI_PIXCLK__UART6_DCE_RX	0x1b0b1
552*724ba675SRob Herring			MX6UL_PAD_CSI_VSYNC__UART6_DCE_RTS	0x1b0b1
553*724ba675SRob Herring			MX6UL_PAD_CSI_HSYNC__UART6_DCE_CTS	0x1b0b1
554*724ba675SRob Herring		>;
555*724ba675SRob Herring	};
556*724ba675SRob Herring
557*724ba675SRob Herring	pinctrl_usbotg1: usbotg1-grp {
558*724ba675SRob Herring		fsl,pins = <
559*724ba675SRob Herring			MX6UL_PAD_GPIO1_IO00__ANATOP_OTG1_ID	0x17059
560*724ba675SRob Herring		>;
561*724ba675SRob Herring	};
562*724ba675SRob Herring
563*724ba675SRob Herring	pinctrl_usbotg2: usbotg2-grp {
564*724ba675SRob Herring		fsl,pins = <
565*724ba675SRob Herring			MX6UL_PAD_GPIO1_IO05__GPIO1_IO05	0x120b0
566*724ba675SRob Herring		>;
567*724ba675SRob Herring	};
568*724ba675SRob Herring
569*724ba675SRob Herring	pinctrl_usdhc2: usdhc2-grp {
570*724ba675SRob Herring		fsl,pins = <
571*724ba675SRob Herring			MX6UL_PAD_NAND_RE_B__USDHC2_CLK		0x10069
572*724ba675SRob Herring			MX6UL_PAD_NAND_WE_B__USDHC2_CMD		0x17059
573*724ba675SRob Herring			MX6UL_PAD_NAND_DATA00__USDHC2_DATA0	0x17059
574*724ba675SRob Herring			MX6UL_PAD_NAND_DATA01__USDHC2_DATA1	0x17059
575*724ba675SRob Herring			MX6UL_PAD_NAND_DATA02__USDHC2_DATA2	0x17059
576*724ba675SRob Herring			MX6UL_PAD_NAND_DATA03__USDHC2_DATA3	0x17059
577*724ba675SRob Herring			MX6UL_PAD_NAND_DATA04__USDHC2_DATA4	0x17059
578*724ba675SRob Herring			MX6UL_PAD_NAND_DATA05__USDHC2_DATA5	0x17059
579*724ba675SRob Herring			MX6UL_PAD_NAND_DATA06__USDHC2_DATA6	0x17059
580*724ba675SRob Herring			MX6UL_PAD_NAND_DATA07__USDHC2_DATA7	0x17059
581*724ba675SRob Herring			MX6UL_PAD_NAND_ALE__USDHC2_RESET_B	0x17059 /* SD2 Reset */
582*724ba675SRob Herring		>;
583*724ba675SRob Herring	};
584*724ba675SRob Herring};
585*724ba675SRob Herring
586*724ba675SRob Herring&iomuxc_snvs {
587*724ba675SRob Herring	/* DHCOM GPIOs A..H */
588*724ba675SRob Herring	pinctrl_snvs_dhcom_a: snvs-dhcom-a-grp {
589*724ba675SRob Herring		fsl,pins = <MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00	0x400120b0>;
590*724ba675SRob Herring	};
591*724ba675SRob Herring
592*724ba675SRob Herring	pinctrl_snvs_dhcom_b: snvs-dhcom-b-grp {
593*724ba675SRob Herring		fsl,pins = <MX6ULL_PAD_SNVS_TAMPER1__GPIO5_IO01	0x400120b0>;
594*724ba675SRob Herring	};
595*724ba675SRob Herring
596*724ba675SRob Herring	pinctrl_snvs_dhcom_c: snvs-dhcom-c-grp {
597*724ba675SRob Herring		fsl,pins = <MX6ULL_PAD_SNVS_TAMPER2__GPIO5_IO02	0x400120b0>;
598*724ba675SRob Herring	};
599*724ba675SRob Herring
600*724ba675SRob Herring	pinctrl_snvs_dhcom_d: snvs-dhcom-d-grp {
601*724ba675SRob Herring		fsl,pins = <MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03	0x400120b0>;
602*724ba675SRob Herring	};
603*724ba675SRob Herring
604*724ba675SRob Herring	pinctrl_snvs_dhcom_e: snvs-dhcom-e-grp {
605*724ba675SRob Herring		fsl,pins = <MX6ULL_PAD_SNVS_TAMPER4__GPIO5_IO04	0x400120b0>;
606*724ba675SRob Herring	};
607*724ba675SRob Herring
608*724ba675SRob Herring	pinctrl_snvs_dhcom_f: snvs-dhcom-f-grp {
609*724ba675SRob Herring		fsl,pins = <MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07	0x400120b0>;
610*724ba675SRob Herring	};
611*724ba675SRob Herring
612*724ba675SRob Herring	pinctrl_snvs_dhcom_g: snvs-dhcom-g-grp {
613*724ba675SRob Herring		fsl,pins = <MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08	0x400120b0>;
614*724ba675SRob Herring	};
615*724ba675SRob Herring
616*724ba675SRob Herring	pinctrl_snvs_dhcom_h: snvs-dhcom-h-grp {
617*724ba675SRob Herring		fsl,pins = <MX6ULL_PAD_SNVS_TAMPER9__GPIO5_IO09	0x400120b0>;
618*724ba675SRob Herring	};
619*724ba675SRob Herring
620*724ba675SRob Herring	pinctrl_snvs_fec1_phy: snvs-fec1-phy-grp {
621*724ba675SRob Herring		fsl,pins = <
622*724ba675SRob Herring			MX6ULL_PAD_SNVS_TAMPER5__GPIO5_IO05	0xb1 /* SMSC PHY Int */
623*724ba675SRob Herring		>;
624*724ba675SRob Herring	};
625*724ba675SRob Herring
626*724ba675SRob Herring	pinctrl_snvs_fec2_phy: snvs-fec2-phy-grp {
627*724ba675SRob Herring		fsl,pins = <
628*724ba675SRob Herring			MX6ULL_PAD_SNVS_TAMPER6__GPIO5_IO06	0xb1 /* SMSC PHY Int */
629*724ba675SRob Herring		>;
630*724ba675SRob Herring	};
631*724ba675SRob Herring};
632