xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/imx/mba6ulx.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright 2018-2022 TQ-Systems GmbH
4f126890aSEmmanuel Vadot * Author: Markus Niebel <Markus.Niebel@tq-group.com>
5f126890aSEmmanuel Vadot */
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot/ {
8f126890aSEmmanuel Vadot	model = "TQ-Systems MBA6ULx Baseboard";
9f126890aSEmmanuel Vadot
10f126890aSEmmanuel Vadot	aliases {
11f126890aSEmmanuel Vadot		mmc0 = &usdhc2;
12f126890aSEmmanuel Vadot		mmc1 = &usdhc1;
13f126890aSEmmanuel Vadot		rtc0 = &rtc0;
14f126890aSEmmanuel Vadot		rtc1 = &snvs_rtc;
15f126890aSEmmanuel Vadot	};
16f126890aSEmmanuel Vadot
17f126890aSEmmanuel Vadot	chosen {
18f126890aSEmmanuel Vadot		stdout-path = &uart1;
19f126890aSEmmanuel Vadot	};
20f126890aSEmmanuel Vadot
21f126890aSEmmanuel Vadot	backlight: backlight {
22f126890aSEmmanuel Vadot		compatible = "pwm-backlight";
23f126890aSEmmanuel Vadot		power-supply = <&reg_mba6ul_3v3>;
24f126890aSEmmanuel Vadot		enable-gpios = <&expander_out0 4 GPIO_ACTIVE_HIGH>;
25f126890aSEmmanuel Vadot		status = "disabled";
26f126890aSEmmanuel Vadot	};
27f126890aSEmmanuel Vadot
28f126890aSEmmanuel Vadot	beeper: beeper {
29f126890aSEmmanuel Vadot		compatible = "gpio-beeper";
30f126890aSEmmanuel Vadot		gpios = <&expander_out1 6 GPIO_ACTIVE_HIGH>;
31f126890aSEmmanuel Vadot	};
32f126890aSEmmanuel Vadot
33f126890aSEmmanuel Vadot	gpio_buttons: gpio-keys {
34f126890aSEmmanuel Vadot		compatible = "gpio-keys";
35f126890aSEmmanuel Vadot		pinctrl-names = "default";
36f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_buttons>;
37f126890aSEmmanuel Vadot
3884943d6fSEmmanuel Vadot		button-1 {
39f126890aSEmmanuel Vadot			label = "s14";
40f126890aSEmmanuel Vadot			linux,code = <KEY_1>;
41f126890aSEmmanuel Vadot			gpios = <&expander_in0 0 GPIO_ACTIVE_LOW>;
4284943d6fSEmmanuel Vadot			wakeup-source;
43f126890aSEmmanuel Vadot		};
44f126890aSEmmanuel Vadot
4584943d6fSEmmanuel Vadot		button-2 {
46f126890aSEmmanuel Vadot			label = "s6";
47f126890aSEmmanuel Vadot			linux,code = <KEY_2>;
48f126890aSEmmanuel Vadot			gpios = <&expander_in0 1 GPIO_ACTIVE_LOW>;
4984943d6fSEmmanuel Vadot			wakeup-source;
50f126890aSEmmanuel Vadot		};
51f126890aSEmmanuel Vadot
5284943d6fSEmmanuel Vadot		button-3 {
53f126890aSEmmanuel Vadot			label = "s7";
54f126890aSEmmanuel Vadot			linux,code = <KEY_3>;
55f126890aSEmmanuel Vadot			gpios = <&expander_in0 2 GPIO_ACTIVE_LOW>;
5684943d6fSEmmanuel Vadot			wakeup-source;
57f126890aSEmmanuel Vadot		};
58f126890aSEmmanuel Vadot
59f126890aSEmmanuel Vadot		power-button {
60f126890aSEmmanuel Vadot			label = "POWER";
61f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
62f126890aSEmmanuel Vadot			gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
63f126890aSEmmanuel Vadot			wakeup-source;
64f126890aSEmmanuel Vadot		};
65f126890aSEmmanuel Vadot	};
66f126890aSEmmanuel Vadot
67f126890aSEmmanuel Vadot	gpio-leds {
68f126890aSEmmanuel Vadot		compatible = "gpio-leds";
69f126890aSEmmanuel Vadot		status = "okay";
70f126890aSEmmanuel Vadot
71f126890aSEmmanuel Vadot		led1 {
72f126890aSEmmanuel Vadot			label = "led1";
73f126890aSEmmanuel Vadot			gpios = <&expander_out1 4 GPIO_ACTIVE_HIGH>;
74f126890aSEmmanuel Vadot			linux,default-trigger = "default-on";
75f126890aSEmmanuel Vadot		};
76f126890aSEmmanuel Vadot
77f126890aSEmmanuel Vadot		led2 {
78f126890aSEmmanuel Vadot			label = "led2";
79f126890aSEmmanuel Vadot			gpios = <&expander_out1 5 GPIO_ACTIVE_HIGH>;
80f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
81f126890aSEmmanuel Vadot		};
82f126890aSEmmanuel Vadot	};
83f126890aSEmmanuel Vadot
84f126890aSEmmanuel Vadot	reg_lcd_pwr: regulator-lcd-pwr {
85f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
86f126890aSEmmanuel Vadot		regulator-name = "lcd-pwr";
87f126890aSEmmanuel Vadot		gpio = <&expander_out0 1 GPIO_ACTIVE_HIGH>;
88f126890aSEmmanuel Vadot		enable-active-high;
89f126890aSEmmanuel Vadot		status = "disabled";
90f126890aSEmmanuel Vadot	};
91f126890aSEmmanuel Vadot
92f126890aSEmmanuel Vadot	reg_mba6ul_3v3: regulator-mba6ul-3v3 {
93f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
94f126890aSEmmanuel Vadot		regulator-name = "supply-mba6ul-3v3";
95f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
96f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
97f126890aSEmmanuel Vadot		regulator-always-on;
98f126890aSEmmanuel Vadot	};
99f126890aSEmmanuel Vadot
100f126890aSEmmanuel Vadot	reg_mba6ul_5v0: regulator-mba6ul-5v0 {
101f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
102f126890aSEmmanuel Vadot		regulator-name = "supply-mba6ul-5v0";
103f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
104f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
105f126890aSEmmanuel Vadot		regulator-always-on;
106f126890aSEmmanuel Vadot	};
107f126890aSEmmanuel Vadot
108f126890aSEmmanuel Vadot	reg_mpcie: regulator-mpcie-3v3 {
109f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
110f126890aSEmmanuel Vadot		regulator-name = "mpcie-3v3";
111f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
112f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
113f126890aSEmmanuel Vadot		gpio = <&expander_out0 2 GPIO_ACTIVE_HIGH>;
114f126890aSEmmanuel Vadot		enable-active-high;
115f126890aSEmmanuel Vadot		regulator-always-on;
116f126890aSEmmanuel Vadot		startup-delay-us = <500000>;
117f126890aSEmmanuel Vadot		vin-supply = <&reg_mba6ul_3v3>;
118f126890aSEmmanuel Vadot	};
119f126890aSEmmanuel Vadot
120f126890aSEmmanuel Vadot	reg_otg2vbus_5v0: regulator-otg2-vbus-5v0 {
121f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
122f126890aSEmmanuel Vadot		gpio = <&expander_out1 0 GPIO_ACTIVE_HIGH>;
123f126890aSEmmanuel Vadot		enable-active-high;
124f126890aSEmmanuel Vadot		regulator-name = "otg2-vbus-supply-5v0";
125f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
126f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
127f126890aSEmmanuel Vadot		vin-supply = <&reg_mpcie>;
128f126890aSEmmanuel Vadot	};
129f126890aSEmmanuel Vadot
130f126890aSEmmanuel Vadot	reserved-memory {
131f126890aSEmmanuel Vadot		#address-cells = <1>;
132f126890aSEmmanuel Vadot		#size-cells = <1>;
133f126890aSEmmanuel Vadot		ranges;
134f126890aSEmmanuel Vadot
135f126890aSEmmanuel Vadot		linux,cma {
136f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
137f126890aSEmmanuel Vadot			reusable;
138f126890aSEmmanuel Vadot			size = <0x6000000>;
139f126890aSEmmanuel Vadot			linux,cma-default;
140f126890aSEmmanuel Vadot		};
141f126890aSEmmanuel Vadot	};
142f126890aSEmmanuel Vadot
143f126890aSEmmanuel Vadot	sound {
144f126890aSEmmanuel Vadot		compatible = "fsl,imx-audio-tlv320aic32x4";
145f126890aSEmmanuel Vadot		model = "imx-audio-tlv320aic32x4";
146f126890aSEmmanuel Vadot		ssi-controller = <&sai1>;
147f126890aSEmmanuel Vadot		audio-codec = <&tlv320aic32x4>;
148f126890aSEmmanuel Vadot		audio-asrc = <&asrc>;
149f126890aSEmmanuel Vadot	};
150f126890aSEmmanuel Vadot};
151f126890aSEmmanuel Vadot
152f126890aSEmmanuel Vadot&can1 {
153f126890aSEmmanuel Vadot	pinctrl-names = "default";
154f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_flexcan1>;
155f126890aSEmmanuel Vadot	xceiver-supply = <&reg_mba6ul_3v3>;
156f126890aSEmmanuel Vadot	status = "okay";
157f126890aSEmmanuel Vadot};
158f126890aSEmmanuel Vadot
159f126890aSEmmanuel Vadot&can2 {
160f126890aSEmmanuel Vadot	pinctrl-names = "default";
161f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_flexcan2>;
162f126890aSEmmanuel Vadot	xceiver-supply = <&reg_mba6ul_3v3>;
163f126890aSEmmanuel Vadot	status = "okay";
164f126890aSEmmanuel Vadot};
165f126890aSEmmanuel Vadot
166f126890aSEmmanuel Vadot&clks {
167f126890aSEmmanuel Vadot	assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
168f126890aSEmmanuel Vadot	assigned-clock-rates = <768000000>;
169f126890aSEmmanuel Vadot};
170f126890aSEmmanuel Vadot
171f126890aSEmmanuel Vadot&ecspi2 {
172f126890aSEmmanuel Vadot	pinctrl-names = "default";
173f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_ecspi2>;
174f126890aSEmmanuel Vadot	num-cs = <1>;
175f126890aSEmmanuel Vadot	status = "okay";
176f126890aSEmmanuel Vadot};
177f126890aSEmmanuel Vadot
178f126890aSEmmanuel Vadot&fec1 {
179f126890aSEmmanuel Vadot	pinctrl-names = "default";
180f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_enet1>;
181f126890aSEmmanuel Vadot	phy-mode = "rmii";
182f126890aSEmmanuel Vadot	phy-handle = <&ethphy0>;
183f126890aSEmmanuel Vadot	phy-supply = <&reg_mba6ul_3v3>;
184f126890aSEmmanuel Vadot	phy-reset-gpios = <&expander_out1 1 GPIO_ACTIVE_LOW>;
185f126890aSEmmanuel Vadot	phy-reset-duration = <25>;
186f126890aSEmmanuel Vadot	phy-reset-post-delay = <1>;
187f126890aSEmmanuel Vadot	status = "okay";
188f126890aSEmmanuel Vadot};
189f126890aSEmmanuel Vadot
190f126890aSEmmanuel Vadot&fec2 {
191f126890aSEmmanuel Vadot	pinctrl-names = "default";
192f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_enet2>, <&pinctrl_enet2_mdc>;
193f126890aSEmmanuel Vadot	phy-mode = "rmii";
194f126890aSEmmanuel Vadot	phy-handle = <&ethphy1>;
195f126890aSEmmanuel Vadot	phy-supply = <&reg_mba6ul_3v3>;
196f126890aSEmmanuel Vadot	phy-reset-gpios = <&expander_out1 2 GPIO_ACTIVE_LOW>;
197f126890aSEmmanuel Vadot	phy-reset-duration = <25>;
198f126890aSEmmanuel Vadot	phy-reset-post-delay = <1>;
199f126890aSEmmanuel Vadot	status = "okay";
200f126890aSEmmanuel Vadot
201f126890aSEmmanuel Vadot	mdio {
202f126890aSEmmanuel Vadot		#address-cells = <1>;
203f126890aSEmmanuel Vadot		#size-cells = <0>;
204f126890aSEmmanuel Vadot
205f126890aSEmmanuel Vadot		ethphy0: ethernet-phy@0 {
206f126890aSEmmanuel Vadot			compatible = "ethernet-phy-ieee802.3-c22";
207f126890aSEmmanuel Vadot			clocks = <&clks IMX6UL_CLK_ENET_REF>;
208f126890aSEmmanuel Vadot			reg = <0>;
209f126890aSEmmanuel Vadot			max-speed = <100>;
210f126890aSEmmanuel Vadot		};
211f126890aSEmmanuel Vadot
212f126890aSEmmanuel Vadot		ethphy1: ethernet-phy@1 {
213f126890aSEmmanuel Vadot			compatible = "ethernet-phy-ieee802.3-c22";
214f126890aSEmmanuel Vadot			clocks = <&clks IMX6UL_CLK_ENET2_REF_125M>;
215f126890aSEmmanuel Vadot			reg = <1>;
216f126890aSEmmanuel Vadot			max-speed = <100>;
217f126890aSEmmanuel Vadot		};
218f126890aSEmmanuel Vadot	};
219f126890aSEmmanuel Vadot};
220f126890aSEmmanuel Vadot
221f126890aSEmmanuel Vadot&i2c4 {
222f126890aSEmmanuel Vadot	tlv320aic32x4: audio-codec@18 {
223f126890aSEmmanuel Vadot		compatible = "ti,tlv320aic32x4";
224f126890aSEmmanuel Vadot		reg = <0x18>;
225f126890aSEmmanuel Vadot		clocks = <&clks IMX6UL_CLK_SAI1>;
226f126890aSEmmanuel Vadot		clock-names = "mclk";
227f126890aSEmmanuel Vadot		ldoin-supply = <&reg_mba6ul_3v3>;
228f126890aSEmmanuel Vadot		iov-supply = <&reg_mba6ul_3v3>;
229f126890aSEmmanuel Vadot	};
230f126890aSEmmanuel Vadot
231f126890aSEmmanuel Vadot	jc42: temperature-sensor@19 {
232f126890aSEmmanuel Vadot		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
233f126890aSEmmanuel Vadot		reg = <0x19>;
234f126890aSEmmanuel Vadot	};
235f126890aSEmmanuel Vadot
236f126890aSEmmanuel Vadot	expander_out0: gpio-expander@20 {
237f126890aSEmmanuel Vadot		compatible = "nxp,pca9554";
238f126890aSEmmanuel Vadot		reg = <0x20>;
239f126890aSEmmanuel Vadot		gpio-controller;
240f126890aSEmmanuel Vadot		#gpio-cells = <2>;
241f126890aSEmmanuel Vadot		vcc-supply = <&reg_mba6ul_3v3>;
242f126890aSEmmanuel Vadot	};
243f126890aSEmmanuel Vadot
244f126890aSEmmanuel Vadot	expander_in0: gpio-expander@21 {
245f126890aSEmmanuel Vadot		compatible = "nxp,pca9554";
246f126890aSEmmanuel Vadot		reg = <0x21>;
247f126890aSEmmanuel Vadot		pinctrl-names = "default";
248f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_expander_in0>;
249f126890aSEmmanuel Vadot		interrupt-parent = <&gpio4>;
250f126890aSEmmanuel Vadot		interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
251f126890aSEmmanuel Vadot		interrupt-controller;
252f126890aSEmmanuel Vadot		#interrupt-cells = <2>;
253f126890aSEmmanuel Vadot		gpio-controller;
254f126890aSEmmanuel Vadot		#gpio-cells = <2>;
255f126890aSEmmanuel Vadot		vcc-supply = <&reg_mba6ul_3v3>;
256f126890aSEmmanuel Vadot
257f126890aSEmmanuel Vadot		enet1_int-hog {
258f126890aSEmmanuel Vadot			gpio-hog;
259f126890aSEmmanuel Vadot			gpios = <6 0>;
260f126890aSEmmanuel Vadot			input;
261f126890aSEmmanuel Vadot		};
262f126890aSEmmanuel Vadot
263f126890aSEmmanuel Vadot		enet2_int-hog {
264f126890aSEmmanuel Vadot			gpio-hog;
265f126890aSEmmanuel Vadot			gpios = <7 0>;
266f126890aSEmmanuel Vadot			input;
267f126890aSEmmanuel Vadot		};
268f126890aSEmmanuel Vadot	};
269f126890aSEmmanuel Vadot
270f126890aSEmmanuel Vadot	expander_out1: gpio-expander@22 {
271f126890aSEmmanuel Vadot		compatible = "nxp,pca9554";
272f126890aSEmmanuel Vadot		reg = <0x22>;
273f126890aSEmmanuel Vadot		gpio-controller;
274f126890aSEmmanuel Vadot		#gpio-cells = <2>;
275f126890aSEmmanuel Vadot		vcc-supply = <&reg_mba6ul_3v3>;
276f126890aSEmmanuel Vadot	};
277f126890aSEmmanuel Vadot
278f126890aSEmmanuel Vadot	analog_touch: touchscreen@41 {
279f126890aSEmmanuel Vadot		compatible = "st,stmpe811";
280f126890aSEmmanuel Vadot		reg = <0x41>;
281f126890aSEmmanuel Vadot		interrupts = <21 IRQ_TYPE_EDGE_FALLING>;
282f126890aSEmmanuel Vadot		interrupt-parent = <&gpio4>;
283f126890aSEmmanuel Vadot		status = "disabled";
284f126890aSEmmanuel Vadot
285aa1a8ff2SEmmanuel Vadot		touchscreen {
286f126890aSEmmanuel Vadot			compatible = "st,stmpe-ts";
287f126890aSEmmanuel Vadot			st,adc-freq = <1>;      /* 3.25 MHz ADC clock speed */
288f126890aSEmmanuel Vadot			st,ave-ctrl = <3>;      /* 8 sample average control */
289f126890aSEmmanuel Vadot			st,fraction-z = <7>;    /* 7 length fractional part in z */
290f126890aSEmmanuel Vadot			/*
291f126890aSEmmanuel Vadot			 * 50 mA typical 80 mA max touchscreen drivers
292f126890aSEmmanuel Vadot			 * current limit value
293f126890aSEmmanuel Vadot			 */
294f126890aSEmmanuel Vadot			st,i-drive = <1>;
295f126890aSEmmanuel Vadot			st,mod-12b = <1>;       /* 12-bit ADC */
296f126890aSEmmanuel Vadot			st,ref-sel = <0>;       /* internal ADC reference */
297f126890aSEmmanuel Vadot			st,sample-time = <4>;   /* ADC converstion time: 80 clocks */
298f126890aSEmmanuel Vadot			st,settling = <3>;      /* 1 ms panel driver settling time */
299f126890aSEmmanuel Vadot			st,touch-det-delay = <5>; /* 5 ms touch detect interrupt delay */
300f126890aSEmmanuel Vadot		};
301f126890aSEmmanuel Vadot	};
302f126890aSEmmanuel Vadot
303f126890aSEmmanuel Vadot	/* NXP SE97BTP with temperature sensor + eeprom */
304f126890aSEmmanuel Vadot	se97b: eeprom@51 {
305f126890aSEmmanuel Vadot		compatible = "nxp,se97b", "atmel,24c02";
306f126890aSEmmanuel Vadot		reg = <0x51>;
307f126890aSEmmanuel Vadot		pagesize = <16>;
308f126890aSEmmanuel Vadot		vcc-supply = <&reg_mba6ul_3v3>;
309f126890aSEmmanuel Vadot	};
310f126890aSEmmanuel Vadot};
311f126890aSEmmanuel Vadot
312f126890aSEmmanuel Vadot&pwm2 {
313f126890aSEmmanuel Vadot	pinctrl-names = "default";
314f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pwm2>;
315f126890aSEmmanuel Vadot	status = "okay";
316f126890aSEmmanuel Vadot};
317f126890aSEmmanuel Vadot
318f126890aSEmmanuel Vadot&sai1 {
319f126890aSEmmanuel Vadot	pinctrl-names = "default";
320f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_sai1>;
321f126890aSEmmanuel Vadot	assigned-clocks = <&clks IMX6UL_CLK_SAI1_SEL>,
322f126890aSEmmanuel Vadot			  <&clks IMX6UL_CLK_SAI1>;
323f126890aSEmmanuel Vadot	assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
324f126890aSEmmanuel Vadot	assigned-clock-rates = <0>, <24000000>;
325f126890aSEmmanuel Vadot	fsl,sai-mclk-direction-output;
326f126890aSEmmanuel Vadot	status = "okay";
327f126890aSEmmanuel Vadot};
328f126890aSEmmanuel Vadot
329f126890aSEmmanuel Vadot&uart1 {
330f126890aSEmmanuel Vadot	pinctrl-names = "default";
331f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart1>;
332f126890aSEmmanuel Vadot	status = "okay";
333f126890aSEmmanuel Vadot};
334f126890aSEmmanuel Vadot
335f126890aSEmmanuel Vadot&uart3 {
336f126890aSEmmanuel Vadot	pinctrl-names = "default";
337f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart3>;
338f126890aSEmmanuel Vadot	status = "okay";
339f126890aSEmmanuel Vadot};
340f126890aSEmmanuel Vadot
341f126890aSEmmanuel Vadot&uart6 {
342f126890aSEmmanuel Vadot	pinctrl-names = "default";
343f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart6>;
344f126890aSEmmanuel Vadot	/* for DTE mode, add below change */
345f126890aSEmmanuel Vadot	/* fsl,dte-mode; */
346f126890aSEmmanuel Vadot	/* pinctrl-0 = <&pinctrl_uart6dte>; */
347f126890aSEmmanuel Vadot	uart-has-rtscts;
348f126890aSEmmanuel Vadot	linux,rs485-enabled-at-boot-time;
349f126890aSEmmanuel Vadot	rs485-rts-active-low;
350f126890aSEmmanuel Vadot	rs485-rx-during-tx;
351f126890aSEmmanuel Vadot	status = "okay";
352f126890aSEmmanuel Vadot};
353f126890aSEmmanuel Vadot
354f126890aSEmmanuel Vadot/* otg-port */
355f126890aSEmmanuel Vadot&usbotg1 {
356f126890aSEmmanuel Vadot	pinctrl-names = "default";
357f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usb_otg1>;
358f126890aSEmmanuel Vadot	power-active-high;
359f126890aSEmmanuel Vadot	over-current-active-low;
360f126890aSEmmanuel Vadot	/* we implement only dual role but not a fully featured OTG */
361f126890aSEmmanuel Vadot	hnp-disable;
362f126890aSEmmanuel Vadot	srp-disable;
363f126890aSEmmanuel Vadot	adp-disable;
364f126890aSEmmanuel Vadot	dr_mode = "otg";
365f126890aSEmmanuel Vadot	status = "okay";
366f126890aSEmmanuel Vadot};
367f126890aSEmmanuel Vadot
368f126890aSEmmanuel Vadot/* 7-port usb hub */
369f126890aSEmmanuel Vadot/* id, pwr, oc pins not connected */
370f126890aSEmmanuel Vadot&usbotg2 {
371f126890aSEmmanuel Vadot	disable-over-current;
372f126890aSEmmanuel Vadot	vbus-supply = <&reg_otg2vbus_5v0>;
373f126890aSEmmanuel Vadot	dr_mode = "host";
374f126890aSEmmanuel Vadot	status = "okay";
375f126890aSEmmanuel Vadot};
376f126890aSEmmanuel Vadot
377f126890aSEmmanuel Vadot&usdhc1 {
378f126890aSEmmanuel Vadot	pinctrl-names = "default";
379f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc1>;
380f126890aSEmmanuel Vadot	cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
381f126890aSEmmanuel Vadot	wp-gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>;
382f126890aSEmmanuel Vadot	bus-width = <4>;
383f126890aSEmmanuel Vadot	vmmc-supply = <&reg_mba6ul_3v3>;
384f126890aSEmmanuel Vadot	vqmmc-supply = <&reg_vccsd>;
385f126890aSEmmanuel Vadot	no-1-8-v;
386f126890aSEmmanuel Vadot	no-mmc;
387f126890aSEmmanuel Vadot	no-sdio;
388f126890aSEmmanuel Vadot	status = "okay";
389f126890aSEmmanuel Vadot};
390f126890aSEmmanuel Vadot
391f126890aSEmmanuel Vadot&wdog1 {
392f126890aSEmmanuel Vadot	pinctrl-names = "default";
393f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_wdog1>;
394f126890aSEmmanuel Vadot	fsl,ext-reset-output;
395f126890aSEmmanuel Vadot	status = "okay";
396f126890aSEmmanuel Vadot};
397f126890aSEmmanuel Vadot
398f126890aSEmmanuel Vadot&iomuxc {
399f126890aSEmmanuel Vadot	pinctrl_buttons: buttonsgrp {
400f126890aSEmmanuel Vadot		fsl,pins = <
401f126890aSEmmanuel Vadot			MX6UL_PAD_GPIO1_IO03__GPIO1_IO03	0x100b0
402f126890aSEmmanuel Vadot		>;
403f126890aSEmmanuel Vadot	};
404f126890aSEmmanuel Vadot
405f126890aSEmmanuel Vadot	pinctrl_ecspi2: ecspi2grp {
406f126890aSEmmanuel Vadot		fsl,pins = <
407f126890aSEmmanuel Vadot			MX6UL_PAD_UART4_TX_DATA__ECSPI2_SCLK	0x1b020
408f126890aSEmmanuel Vadot			MX6UL_PAD_UART5_RX_DATA__ECSPI2_MISO	0x1b020
409f126890aSEmmanuel Vadot			MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSI	0x1b020
410f126890aSEmmanuel Vadot			MX6UL_PAD_UART4_RX_DATA__ECSPI2_SS0	0x1b020
411f126890aSEmmanuel Vadot		>;
412f126890aSEmmanuel Vadot	};
413f126890aSEmmanuel Vadot
414f126890aSEmmanuel Vadot	pinctrl_enet1: enet1grp {
415f126890aSEmmanuel Vadot		fsl,pins = <
416f126890aSEmmanuel Vadot			MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN	0x1b0b0
417f126890aSEmmanuel Vadot			MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER	0x1b0b0
418f126890aSEmmanuel Vadot			MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00	0x1b0b0
419f126890aSEmmanuel Vadot			MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01	0x1b0b0
420f126890aSEmmanuel Vadot			MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00	0x1b0b0
421f126890aSEmmanuel Vadot			MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01	0x1b0b0
422f126890aSEmmanuel Vadot			MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN	0x1b0b0
423f126890aSEmmanuel Vadot			MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1	0x4001b0a8
424f126890aSEmmanuel Vadot		>;
425f126890aSEmmanuel Vadot	};
426f126890aSEmmanuel Vadot
427f126890aSEmmanuel Vadot	pinctrl_enet2: enet2grp {
428f126890aSEmmanuel Vadot		fsl,pins = <
429f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN	0x1b0b0
430f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER	0x1b0b0
431f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00	0x1b0b0
432f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01	0x1b0b0
433f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00	0x1b0a0
434f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01	0x1b0a0
435f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN	0x1b0b0
436f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2	0x4001b0a8
437f126890aSEmmanuel Vadot		>;
438f126890aSEmmanuel Vadot	};
439f126890aSEmmanuel Vadot
440f126890aSEmmanuel Vadot	pinctrl_enet2_mdc: enet2mdcgrp {
441f126890aSEmmanuel Vadot		fsl,pins = <
442f126890aSEmmanuel Vadot			/* mdio */
443f126890aSEmmanuel Vadot			MX6UL_PAD_GPIO1_IO07__ENET2_MDC		0x1b0b0
444f126890aSEmmanuel Vadot			MX6UL_PAD_GPIO1_IO06__ENET2_MDIO	0x1b0b0
445f126890aSEmmanuel Vadot		>;
446f126890aSEmmanuel Vadot	};
447f126890aSEmmanuel Vadot
448f126890aSEmmanuel Vadot	pinctrl_expander_in0: expanderin0grp {
449f126890aSEmmanuel Vadot		fsl,pins = <
450f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_DATA02__GPIO4_IO23	0x1b0b1
451f126890aSEmmanuel Vadot		>;
452f126890aSEmmanuel Vadot	};
453f126890aSEmmanuel Vadot
454f126890aSEmmanuel Vadot	pinctrl_flexcan1: flexcan1grp {
455f126890aSEmmanuel Vadot		fsl,pins = <
456f126890aSEmmanuel Vadot			MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX	0x1b020
457f126890aSEmmanuel Vadot			MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX	0x1b020
458f126890aSEmmanuel Vadot		>;
459f126890aSEmmanuel Vadot	};
460f126890aSEmmanuel Vadot
461f126890aSEmmanuel Vadot	pinctrl_flexcan2: flexcan2grp {
462f126890aSEmmanuel Vadot		fsl,pins = <
463f126890aSEmmanuel Vadot			MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX	0x1b020
464f126890aSEmmanuel Vadot			MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX	0x1b020
465f126890aSEmmanuel Vadot		>;
466f126890aSEmmanuel Vadot	};
467f126890aSEmmanuel Vadot
468f126890aSEmmanuel Vadot	pinctrl_pwm2: pwm2grp {
469f126890aSEmmanuel Vadot		fsl,pins = <
4708d13bc63SEmmanuel Vadot			/* 100 k PD, DSE 120 OHM, SPEED LO */
471f126890aSEmmanuel Vadot			MX6UL_PAD_GPIO1_IO09__PWM2_OUT		0x00003050
472f126890aSEmmanuel Vadot		>;
473f126890aSEmmanuel Vadot	};
474f126890aSEmmanuel Vadot
475f126890aSEmmanuel Vadot	pinctrl_sai1: sai1grp {
476f126890aSEmmanuel Vadot		fsl,pins = <
477f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_DATA05__SAI1_TX_BCLK	0x1b0b1
478f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_DATA04__SAI1_TX_SYNC	0x1b0b1
479f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_DATA07__SAI1_TX_DATA	0x1f0b8
480f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_DATA06__SAI1_RX_DATA	0x110b0
481f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_DATA01__SAI1_MCLK		0x1b0b1
482f126890aSEmmanuel Vadot		>;
483f126890aSEmmanuel Vadot	};
484f126890aSEmmanuel Vadot
485f126890aSEmmanuel Vadot	pinctrl_uart1: uart1grp {
486f126890aSEmmanuel Vadot		fsl,pins = <
487f126890aSEmmanuel Vadot			MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX	0x1b0b1
488f126890aSEmmanuel Vadot			MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX	0x1b0b1
489f126890aSEmmanuel Vadot		>;
490f126890aSEmmanuel Vadot	};
491f126890aSEmmanuel Vadot
492f126890aSEmmanuel Vadot	pinctrl_uart3: uart3grp {
493f126890aSEmmanuel Vadot		fsl,pins = <
494f126890aSEmmanuel Vadot			MX6UL_PAD_UART3_TX_DATA__UART3_DCE_TX	0x1b0b1
495f126890aSEmmanuel Vadot			MX6UL_PAD_UART3_RX_DATA__UART3_DCE_RX	0x1b0b1
496f126890aSEmmanuel Vadot		>;
497f126890aSEmmanuel Vadot	};
498f126890aSEmmanuel Vadot
499f126890aSEmmanuel Vadot	pinctrl_uart6: uart6grp {
500f126890aSEmmanuel Vadot		fsl,pins = <
501f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_MCLK__UART6_DCE_TX	0x1b0b1
502f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_PIXCLK__UART6_DCE_RX	0x1b0b1
503f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_VSYNC__UART6_DCE_RTS	0x1b0b1
504f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_HSYNC__UART6_DCE_CTS	0x1b0b1
505f126890aSEmmanuel Vadot		>;
506f126890aSEmmanuel Vadot	};
507f126890aSEmmanuel Vadot
508*b2d2a78aSEmmanuel Vadot	pinctrl_uart6dte: uart6dtegrp {
509f126890aSEmmanuel Vadot		fsl,pins = <
510f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_PIXCLK__UART6_DTE_TX	0x1b0b1
511f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_MCLK__UART6_DTE_RX	0x1b0b1
512f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_HSYNC__UART6_DTE_RTS	0x1b0b1
513f126890aSEmmanuel Vadot			MX6UL_PAD_CSI_VSYNC__UART6_DTE_CTS	0x1b0b1
514f126890aSEmmanuel Vadot		>;
515f126890aSEmmanuel Vadot	};
516f126890aSEmmanuel Vadot
517f126890aSEmmanuel Vadot	pinctrl_usb_otg1: usbotg1grp {
518f126890aSEmmanuel Vadot		fsl,pins = <
519f126890aSEmmanuel Vadot			MX6UL_PAD_GPIO1_IO00__ANATOP_OTG1_ID	0x00017059
520f126890aSEmmanuel Vadot			MX6UL_PAD_GPIO1_IO01__USB_OTG1_OC	0x0001b0b0
521f126890aSEmmanuel Vadot			MX6UL_PAD_GPIO1_IO04__USB_OTG1_PWR	0x0001b099
522f126890aSEmmanuel Vadot		>;
523f126890aSEmmanuel Vadot	};
524f126890aSEmmanuel Vadot
525f126890aSEmmanuel Vadot	pinctrl_usdhc1: usdhc1grp {
526f126890aSEmmanuel Vadot		fsl,pins = <
527f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x00017069
528f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x00017059
529f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x00017059
530f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x00017059
531f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x00017059
532f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x00017059
533f126890aSEmmanuel Vadot			/* WP */
534f126890aSEmmanuel Vadot			MX6UL_PAD_UART1_CTS_B__GPIO1_IO18	0x0001b099
535f126890aSEmmanuel Vadot			/* CD */
536f126890aSEmmanuel Vadot			MX6UL_PAD_UART1_RTS_B__GPIO1_IO19	0x0001b099
537f126890aSEmmanuel Vadot		>;
538f126890aSEmmanuel Vadot	};
539f126890aSEmmanuel Vadot
540*b2d2a78aSEmmanuel Vadot	pinctrl_usdhc1_100mhz: usdhc1-100mhz-grp {
541f126890aSEmmanuel Vadot		fsl,pins = <
542f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x00017069
543f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x000170b9
544f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x000170b9
545f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x000170b9
546f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x000170b9
547f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x000170b9
548f126890aSEmmanuel Vadot			/* WP */
549f126890aSEmmanuel Vadot			MX6UL_PAD_UART1_CTS_B__GPIO1_IO18	0x0001b099
550f126890aSEmmanuel Vadot			/* CD */
551f126890aSEmmanuel Vadot			MX6UL_PAD_UART1_RTS_B__GPIO1_IO19	0x0001b099
552f126890aSEmmanuel Vadot		>;
553f126890aSEmmanuel Vadot	};
554f126890aSEmmanuel Vadot
555*b2d2a78aSEmmanuel Vadot	pinctrl_usdhc1_200mhz: usdhc1-200mhz-grp {
556f126890aSEmmanuel Vadot		fsl,pins = <
557f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x00017069
558f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x000170f9
559f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x000170f9
560f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x000170f9
561f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x000170f9
562f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x000170f9
563f126890aSEmmanuel Vadot			/* WP */
564f126890aSEmmanuel Vadot			MX6UL_PAD_UART1_CTS_B__GPIO1_IO18	0x0001b099
565f126890aSEmmanuel Vadot			/* CD */
566f126890aSEmmanuel Vadot			MX6UL_PAD_UART1_RTS_B__GPIO1_IO19	0x0001b099
567f126890aSEmmanuel Vadot		>;
568f126890aSEmmanuel Vadot	};
569f126890aSEmmanuel Vadot
570f126890aSEmmanuel Vadot	pinctrl_wdog1: wdog1grp {
571f126890aSEmmanuel Vadot		fsl,pins = <
572f126890aSEmmanuel Vadot			MX6UL_PAD_GPIO1_IO08__WDOG1_WDOG_B	0x0001b099
573f126890aSEmmanuel Vadot		>;
574f126890aSEmmanuel Vadot	};
575f126890aSEmmanuel Vadot};
576