xref: /freebsd/sys/contrib/device-tree/src/arm/nxp/imx/imx6dl-riotboard.dts (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright 2014 Iain Paton <ipaton0@gmail.com>
4f126890aSEmmanuel Vadot */
5f126890aSEmmanuel Vadot
6f126890aSEmmanuel Vadot/dts-v1/;
7f126890aSEmmanuel Vadot#include "imx6dl.dtsi"
8f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
9f126890aSEmmanuel Vadot
10f126890aSEmmanuel Vadot/ {
11f126890aSEmmanuel Vadot	model = "RIoTboard i.MX6S";
12f126890aSEmmanuel Vadot	compatible = "riot,imx6s-riotboard", "fsl,imx6dl";
13f126890aSEmmanuel Vadot
14f126890aSEmmanuel Vadot	memory@10000000 {
15f126890aSEmmanuel Vadot		device_type = "memory";
16f126890aSEmmanuel Vadot		reg = <0x10000000 0x40000000>;
17f126890aSEmmanuel Vadot	};
18f126890aSEmmanuel Vadot
19f126890aSEmmanuel Vadot	chosen {
20f126890aSEmmanuel Vadot		stdout-path = "serial1:115200n8";
21f126890aSEmmanuel Vadot	};
22f126890aSEmmanuel Vadot
23f126890aSEmmanuel Vadot	leds {
24f126890aSEmmanuel Vadot		compatible = "gpio-leds";
25f126890aSEmmanuel Vadot		pinctrl-names = "default";
26f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_led>;
27f126890aSEmmanuel Vadot
28f126890aSEmmanuel Vadot		led0: led-user1 {
29f126890aSEmmanuel Vadot			label = "user1";
30f126890aSEmmanuel Vadot			gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
31f126890aSEmmanuel Vadot			default-state = "on";
32f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
33f126890aSEmmanuel Vadot		};
34f126890aSEmmanuel Vadot
35f126890aSEmmanuel Vadot		led1: led-user2 {
36f126890aSEmmanuel Vadot			label = "user2";
37f126890aSEmmanuel Vadot			gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
38f126890aSEmmanuel Vadot			default-state = "off";
39f126890aSEmmanuel Vadot		};
40f126890aSEmmanuel Vadot	};
41f126890aSEmmanuel Vadot
42f126890aSEmmanuel Vadot	sound {
43f126890aSEmmanuel Vadot		compatible = "fsl,imx-audio-sgtl5000";
44f126890aSEmmanuel Vadot		model = "imx6-riotboard-sgtl5000";
45f126890aSEmmanuel Vadot		ssi-controller = <&ssi1>;
46f126890aSEmmanuel Vadot		audio-codec = <&codec>;
47f126890aSEmmanuel Vadot		audio-routing =
48f126890aSEmmanuel Vadot			"MIC_IN", "Mic Jack",
49f126890aSEmmanuel Vadot			"Mic Jack", "Mic Bias",
50f126890aSEmmanuel Vadot			"Headphone Jack", "HP_OUT";
51f126890aSEmmanuel Vadot			mux-int-port = <1>;
52f126890aSEmmanuel Vadot			mux-ext-port = <3>;
53f126890aSEmmanuel Vadot	};
54f126890aSEmmanuel Vadot
55f126890aSEmmanuel Vadot	reg_2p5v: regulator-2p5v {
56f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
57f126890aSEmmanuel Vadot		regulator-name = "2P5V";
58f126890aSEmmanuel Vadot		regulator-min-microvolt = <2500000>;
59f126890aSEmmanuel Vadot		regulator-max-microvolt = <2500000>;
60f126890aSEmmanuel Vadot	};
61f126890aSEmmanuel Vadot
62f126890aSEmmanuel Vadot	reg_3p3v: regulator-3p3v {
63f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
64f126890aSEmmanuel Vadot		regulator-name = "3P3V";
65f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
66f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
67f126890aSEmmanuel Vadot	};
68f126890aSEmmanuel Vadot
69f126890aSEmmanuel Vadot	reg_usb_otg_vbus: regulator-usbotgvbus {
70f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
71f126890aSEmmanuel Vadot		regulator-name = "usb_otg_vbus";
72f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
73f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
74f126890aSEmmanuel Vadot		gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
75f126890aSEmmanuel Vadot	};
76f126890aSEmmanuel Vadot};
77f126890aSEmmanuel Vadot
78f126890aSEmmanuel Vadot&audmux {
79f126890aSEmmanuel Vadot	pinctrl-names = "default";
80f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_audmux>;
81f126890aSEmmanuel Vadot	status = "okay";
82f126890aSEmmanuel Vadot};
83f126890aSEmmanuel Vadot
84f126890aSEmmanuel Vadot&clks {
85f126890aSEmmanuel Vadot	fsl,pmic-stby-poweroff;
86f126890aSEmmanuel Vadot};
87f126890aSEmmanuel Vadot
88f126890aSEmmanuel Vadot&fec {
89f126890aSEmmanuel Vadot	pinctrl-names = "default";
90f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_enet>;
91f126890aSEmmanuel Vadot	phy-mode = "rgmii-id";
92f126890aSEmmanuel Vadot	phy-handle = <&rgmii_phy>;
93f126890aSEmmanuel Vadot	/delete-property/ interrupts;
94f126890aSEmmanuel Vadot	interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>,
95f126890aSEmmanuel Vadot			      <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
96f126890aSEmmanuel Vadot	fsl,err006687-workaround-present;
97f126890aSEmmanuel Vadot	status = "okay";
98f126890aSEmmanuel Vadot
99f126890aSEmmanuel Vadot	mdio {
100f126890aSEmmanuel Vadot		#address-cells = <1>;
101f126890aSEmmanuel Vadot		#size-cells = <0>;
102f126890aSEmmanuel Vadot
103f126890aSEmmanuel Vadot		/* Atheros AR8035 PHY */
104f126890aSEmmanuel Vadot		rgmii_phy: ethernet-phy@4 {
105f126890aSEmmanuel Vadot			reg = <4>;
106f126890aSEmmanuel Vadot			interrupts-extended = <&gpio1 28 IRQ_TYPE_LEVEL_LOW>;
107f126890aSEmmanuel Vadot			reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
108f126890aSEmmanuel Vadot			reset-assert-us = <10000>;
109f126890aSEmmanuel Vadot			reset-deassert-us = <1000>;
110f126890aSEmmanuel Vadot			qca,smarteee-tw-us-1g = <24>;
111f126890aSEmmanuel Vadot			qca,clk-out-frequency = <125000000>;
112f126890aSEmmanuel Vadot		};
113f126890aSEmmanuel Vadot	};
114f126890aSEmmanuel Vadot};
115f126890aSEmmanuel Vadot
116f126890aSEmmanuel Vadot&gpio1 {
117f126890aSEmmanuel Vadot	gpio-line-names =
118f126890aSEmmanuel Vadot		"", "", "SD2_WP", "", "SD2_CD", "I2C3_SCL",
119f126890aSEmmanuel Vadot			"I2C3_SDA", "I2C4_SCL",
120f126890aSEmmanuel Vadot		"I2C4_SDA", "", "", "", "", "", "", "",
121f126890aSEmmanuel Vadot		"", "PWM3", "", "", "", "", "", "",
122f126890aSEmmanuel Vadot		"", "", "", "", "", "", "", "";
123f126890aSEmmanuel Vadot};
124f126890aSEmmanuel Vadot
125f126890aSEmmanuel Vadot&gpio3 {
126f126890aSEmmanuel Vadot	gpio-line-names =
127f126890aSEmmanuel Vadot		"", "", "", "", "", "", "", "",
128f126890aSEmmanuel Vadot		"", "", "", "", "", "", "", "",
129f126890aSEmmanuel Vadot		"", "", "", "", "", "", "USB_OTG_VBUS", "",
130f126890aSEmmanuel Vadot		"UART3_TXD", "UART3_RXD", "", "", "EIM_D28", "", "", "";
131f126890aSEmmanuel Vadot};
132f126890aSEmmanuel Vadot
133f126890aSEmmanuel Vadot&gpio4 {
134f126890aSEmmanuel Vadot	gpio-line-names =
135f126890aSEmmanuel Vadot		"", "", "", "", "", "", "UART4_TXD", "UART4_RXD",
136f126890aSEmmanuel Vadot		"UART5_TXD", "UART5_RXD", "", "", "", "", "", "",
137f126890aSEmmanuel Vadot		"GPIO4_16", "GPIO4_17", "GPIO4_18", "GPIO4_19", "",
138f126890aSEmmanuel Vadot			"CSPI3_CLK", "CSPI3_MOSI", "CSPI3_MISO",
139f126890aSEmmanuel Vadot		"CSPI3_CS0", "CSPI3_CS1", "GPIO4_26", "GPIO4_27",
140f126890aSEmmanuel Vadot			"CSPI3_RDY", "PWM1", "PWM2", "GPIO4_31";
141f126890aSEmmanuel Vadot};
142f126890aSEmmanuel Vadot
143f126890aSEmmanuel Vadot&gpio5 {
144f126890aSEmmanuel Vadot	gpio-line-names =
145f126890aSEmmanuel Vadot		"", "", "EIM_A25", "", "", "GPIO5_05", "GPIO5_06",
146f126890aSEmmanuel Vadot			"GPIO5_07",
147f126890aSEmmanuel Vadot		"GPIO5_08", "CSPI2_CS1", "CSPI2_MOSI", "CSPI2_MISO",
148f126890aSEmmanuel Vadot			"CSPI2_CS0", "CSPI2_CLK", "", "",
149f126890aSEmmanuel Vadot		"", "", "", "", "", "", "", "",
150f126890aSEmmanuel Vadot		"", "", "", "", "", "", "", "";
151f126890aSEmmanuel Vadot};
152f126890aSEmmanuel Vadot
153f126890aSEmmanuel Vadot&gpio7 {
154f126890aSEmmanuel Vadot	gpio-line-names =
155f126890aSEmmanuel Vadot		"SD3_CD", "SD3_WP", "", "", "", "", "", "",
156f126890aSEmmanuel Vadot		"", "", "", "", "", "", "", "",
157f126890aSEmmanuel Vadot		"", "", "", "", "", "", "", "",
158f126890aSEmmanuel Vadot		"", "", "", "", "", "", "", "";
159f126890aSEmmanuel Vadot};
160f126890aSEmmanuel Vadot
161f126890aSEmmanuel Vadot&hdmi {
162f126890aSEmmanuel Vadot	ddc-i2c-bus = <&i2c2>;
163f126890aSEmmanuel Vadot	status = "okay";
164f126890aSEmmanuel Vadot};
165f126890aSEmmanuel Vadot
166f126890aSEmmanuel Vadot&i2c1 {
167f126890aSEmmanuel Vadot	clock-frequency = <100000>;
168f126890aSEmmanuel Vadot	pinctrl-names = "default";
169f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c1>;
170f126890aSEmmanuel Vadot	status = "okay";
171f126890aSEmmanuel Vadot
172f126890aSEmmanuel Vadot	codec: sgtl5000@a {
173f126890aSEmmanuel Vadot		compatible = "fsl,sgtl5000";
174f126890aSEmmanuel Vadot		reg = <0x0a>;
175*aa1a8ff2SEmmanuel Vadot		#sound-dai-cells = <0>;
176f126890aSEmmanuel Vadot		clocks = <&clks IMX6QDL_CLK_CKO>;
177f126890aSEmmanuel Vadot		VDDA-supply = <&reg_2p5v>;
178f126890aSEmmanuel Vadot		VDDIO-supply = <&reg_3p3v>;
179f126890aSEmmanuel Vadot	};
180f126890aSEmmanuel Vadot
181f126890aSEmmanuel Vadot	pmic: pmic@8 {
182f126890aSEmmanuel Vadot		compatible = "fsl,pfuze100";
183f126890aSEmmanuel Vadot		reg = <0x08>;
184f126890aSEmmanuel Vadot		interrupt-parent = <&gpio5>;
185f126890aSEmmanuel Vadot		interrupts = <16 8>;
186f126890aSEmmanuel Vadot		fsl,pmic-stby-poweroff;
187f126890aSEmmanuel Vadot
188f126890aSEmmanuel Vadot		regulators {
189f126890aSEmmanuel Vadot			reg_vddcore: sw1ab {				/* VDDARM_IN */
190f126890aSEmmanuel Vadot				regulator-min-microvolt = <300000>;
191f126890aSEmmanuel Vadot				regulator-max-microvolt = <1875000>;
192f126890aSEmmanuel Vadot				regulator-always-on;
193f126890aSEmmanuel Vadot			};
194f126890aSEmmanuel Vadot
195f126890aSEmmanuel Vadot			reg_vddsoc: sw1c {				/* VDDSOC_IN */
196f126890aSEmmanuel Vadot				regulator-min-microvolt = <300000>;
197f126890aSEmmanuel Vadot				regulator-max-microvolt = <1875000>;
198f126890aSEmmanuel Vadot				regulator-always-on;
199f126890aSEmmanuel Vadot			};
200f126890aSEmmanuel Vadot
201f126890aSEmmanuel Vadot			reg_gen_3v3: sw2 {				/* VDDHIGH_IN */
202f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
203f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
204f126890aSEmmanuel Vadot				regulator-always-on;
205f126890aSEmmanuel Vadot			};
206f126890aSEmmanuel Vadot
207f126890aSEmmanuel Vadot			reg_ddr_1v5a: sw3a {				/* NVCC_DRAM, NVCC_RGMII */
208f126890aSEmmanuel Vadot				regulator-min-microvolt = <400000>;
209f126890aSEmmanuel Vadot				regulator-max-microvolt = <1975000>;
210f126890aSEmmanuel Vadot				regulator-always-on;
211f126890aSEmmanuel Vadot			};
212f126890aSEmmanuel Vadot
213f126890aSEmmanuel Vadot			reg_ddr_1v5b: sw3b {				/* NVCC_DRAM, NVCC_RGMII */
214f126890aSEmmanuel Vadot				regulator-min-microvolt = <400000>;
215f126890aSEmmanuel Vadot				regulator-max-microvolt = <1975000>;
216f126890aSEmmanuel Vadot				regulator-always-on;
217f126890aSEmmanuel Vadot			};
218f126890aSEmmanuel Vadot
219f126890aSEmmanuel Vadot			reg_ddr_vtt: sw4 {				/* MIPI conn */
220f126890aSEmmanuel Vadot				regulator-min-microvolt = <400000>;
221f126890aSEmmanuel Vadot				regulator-max-microvolt = <1975000>;
222f126890aSEmmanuel Vadot				regulator-always-on;
223f126890aSEmmanuel Vadot			};
224f126890aSEmmanuel Vadot
225f126890aSEmmanuel Vadot			reg_5v_600mA: swbst {				/* not used */
226f126890aSEmmanuel Vadot				regulator-min-microvolt = <5000000>;
227f126890aSEmmanuel Vadot				regulator-max-microvolt = <5150000>;
228f126890aSEmmanuel Vadot			};
229f126890aSEmmanuel Vadot
230f126890aSEmmanuel Vadot			reg_snvs_3v: vsnvs {				/* VDD_SNVS_IN */
231f126890aSEmmanuel Vadot				regulator-min-microvolt = <1500000>;
232f126890aSEmmanuel Vadot				regulator-max-microvolt = <3000000>;
233f126890aSEmmanuel Vadot				regulator-always-on;
234f126890aSEmmanuel Vadot			};
235f126890aSEmmanuel Vadot
236f126890aSEmmanuel Vadot			vref_reg: vrefddr {				/* VREF_DDR */
237f126890aSEmmanuel Vadot				regulator-boot-on;
238f126890aSEmmanuel Vadot				regulator-always-on;
239f126890aSEmmanuel Vadot			};
240f126890aSEmmanuel Vadot
241f126890aSEmmanuel Vadot			reg_vgen1_1v5: vgen1 {				/* not used */
242f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
243f126890aSEmmanuel Vadot				regulator-max-microvolt = <1550000>;
244f126890aSEmmanuel Vadot			};
245f126890aSEmmanuel Vadot
246f126890aSEmmanuel Vadot			reg_vgen2_1v2_eth: vgen2 {			/* pcie ? */
247f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
248f126890aSEmmanuel Vadot				regulator-max-microvolt = <1550000>;
249f126890aSEmmanuel Vadot				regulator-always-on;
250f126890aSEmmanuel Vadot			};
251f126890aSEmmanuel Vadot
252f126890aSEmmanuel Vadot			reg_vgen3_2v8: vgen3 {				/* not used */
253f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
254f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
255f126890aSEmmanuel Vadot			};
256f126890aSEmmanuel Vadot			reg_vgen4_1v8: vgen4 {				/* NVCC_SD3 */
257f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
258f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
259f126890aSEmmanuel Vadot				regulator-always-on;
260f126890aSEmmanuel Vadot			};
261f126890aSEmmanuel Vadot
262f126890aSEmmanuel Vadot			reg_vgen5_2v5_sgtl: vgen5 {			/* Pwr LED & 5V0_delayed enable */
263f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
264f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
265f126890aSEmmanuel Vadot				regulator-always-on;
266f126890aSEmmanuel Vadot			};
267f126890aSEmmanuel Vadot
268f126890aSEmmanuel Vadot			reg_vgen6_3v3: vgen6 {				/* #V#_DELAYED enable, MIPI */
269f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
270f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
271f126890aSEmmanuel Vadot				regulator-always-on;
272f126890aSEmmanuel Vadot			};
273f126890aSEmmanuel Vadot		};
274f126890aSEmmanuel Vadot	};
275f126890aSEmmanuel Vadot};
276f126890aSEmmanuel Vadot
277f126890aSEmmanuel Vadot&i2c2 {
278f126890aSEmmanuel Vadot	clock-frequency = <100000>;
279f126890aSEmmanuel Vadot	pinctrl-names = "default";
280f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c2>;
281f126890aSEmmanuel Vadot	status = "okay";
282f126890aSEmmanuel Vadot};
283f126890aSEmmanuel Vadot
284f126890aSEmmanuel Vadot&i2c4 {
285f126890aSEmmanuel Vadot	clock-frequency = <100000>;
286f126890aSEmmanuel Vadot	pinctrl-names = "default";
287f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c4>;
288f126890aSEmmanuel Vadot	clocks = <&clks 116>;
289f126890aSEmmanuel Vadot	status = "okay";
290f126890aSEmmanuel Vadot};
291f126890aSEmmanuel Vadot
292f126890aSEmmanuel Vadot&pwm1 {
293f126890aSEmmanuel Vadot	pinctrl-names = "default";
294f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pwm1>;
295f126890aSEmmanuel Vadot	status = "okay";
296f126890aSEmmanuel Vadot};
297f126890aSEmmanuel Vadot
298f126890aSEmmanuel Vadot&pwm2 {
299f126890aSEmmanuel Vadot	pinctrl-names = "default";
300f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pwm2>;
301f126890aSEmmanuel Vadot	status = "okay";
302f126890aSEmmanuel Vadot};
303f126890aSEmmanuel Vadot
304f126890aSEmmanuel Vadot&pwm3 {
305f126890aSEmmanuel Vadot	pinctrl-names = "default";
306f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pwm3>;
307f126890aSEmmanuel Vadot	status = "okay";
308f126890aSEmmanuel Vadot};
309f126890aSEmmanuel Vadot
310f126890aSEmmanuel Vadot&pwm4 {
311f126890aSEmmanuel Vadot	pinctrl-names = "default";
312f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pwm4>;
313f126890aSEmmanuel Vadot	status = "okay";
314f126890aSEmmanuel Vadot};
315f126890aSEmmanuel Vadot
316f126890aSEmmanuel Vadot&ssi1 {
317f126890aSEmmanuel Vadot	status = "okay";
318f126890aSEmmanuel Vadot};
319f126890aSEmmanuel Vadot
320f126890aSEmmanuel Vadot&uart1 {
321f126890aSEmmanuel Vadot	pinctrl-names = "default";
322f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart1>;
323f126890aSEmmanuel Vadot	status = "okay";
324f126890aSEmmanuel Vadot};
325f126890aSEmmanuel Vadot
326f126890aSEmmanuel Vadot&uart2 {
327f126890aSEmmanuel Vadot	pinctrl-names = "default";
328f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart2>;
329f126890aSEmmanuel Vadot	status = "okay";
330f126890aSEmmanuel Vadot};
331f126890aSEmmanuel Vadot
332f126890aSEmmanuel Vadot&uart3 {
333f126890aSEmmanuel Vadot	pinctrl-names = "default";
334f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart3>;
335f126890aSEmmanuel Vadot	status = "okay";
336f126890aSEmmanuel Vadot};
337f126890aSEmmanuel Vadot
338f126890aSEmmanuel Vadot&uart4 {
339f126890aSEmmanuel Vadot	pinctrl-names = "default";
340f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart4>;
341f126890aSEmmanuel Vadot	status = "okay";
342f126890aSEmmanuel Vadot};
343f126890aSEmmanuel Vadot
344f126890aSEmmanuel Vadot&uart5 {
345f126890aSEmmanuel Vadot	pinctrl-names = "default";
346f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart5>;
347f126890aSEmmanuel Vadot	status = "okay";
348f126890aSEmmanuel Vadot};
349f126890aSEmmanuel Vadot
350f126890aSEmmanuel Vadot&usbh1 {
351f126890aSEmmanuel Vadot	dr_mode = "host";
352f126890aSEmmanuel Vadot	disable-over-current;
353f126890aSEmmanuel Vadot	status = "okay";
354f126890aSEmmanuel Vadot};
355f126890aSEmmanuel Vadot
356f126890aSEmmanuel Vadot&usbotg {
357f126890aSEmmanuel Vadot	vbus-supply = <&reg_usb_otg_vbus>;
358f126890aSEmmanuel Vadot	pinctrl-names = "default";
359f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usbotg>;
360f126890aSEmmanuel Vadot	disable-over-current;
361f126890aSEmmanuel Vadot	dr_mode = "otg";
362f126890aSEmmanuel Vadot	status = "okay";
363f126890aSEmmanuel Vadot};
364f126890aSEmmanuel Vadot
365f126890aSEmmanuel Vadot&usdhc2 {
366f126890aSEmmanuel Vadot	pinctrl-names = "default";
367f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc2>;
368f126890aSEmmanuel Vadot	cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
369f126890aSEmmanuel Vadot	wp-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
370f126890aSEmmanuel Vadot	vmmc-supply = <&reg_3p3v>;
371f126890aSEmmanuel Vadot	status = "okay";
372f126890aSEmmanuel Vadot};
373f126890aSEmmanuel Vadot
374f126890aSEmmanuel Vadot&usdhc3 {
375f126890aSEmmanuel Vadot	pinctrl-names = "default";
376f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc3>;
377f126890aSEmmanuel Vadot	cd-gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
378f126890aSEmmanuel Vadot	wp-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
379f126890aSEmmanuel Vadot	vmmc-supply = <&reg_3p3v>;
380f126890aSEmmanuel Vadot	status = "okay";
381f126890aSEmmanuel Vadot};
382f126890aSEmmanuel Vadot
383f126890aSEmmanuel Vadot&usdhc4 {
384f126890aSEmmanuel Vadot	pinctrl-names = "default";
385f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc4>;
386f126890aSEmmanuel Vadot	vmmc-supply = <&reg_3p3v>;
387f126890aSEmmanuel Vadot	non-removable;
388f126890aSEmmanuel Vadot	status = "okay";
389f126890aSEmmanuel Vadot};
390f126890aSEmmanuel Vadot
391f126890aSEmmanuel Vadot&iomuxc {
392f126890aSEmmanuel Vadot	pinctrl-names = "default";
393f126890aSEmmanuel Vadot
394f126890aSEmmanuel Vadot	imx6-riotboard {
395f126890aSEmmanuel Vadot		pinctrl_audmux: audmuxgrp {
396f126890aSEmmanuel Vadot			fsl,pins = <
397f126890aSEmmanuel Vadot				MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0
398f126890aSEmmanuel Vadot				MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
399f126890aSEmmanuel Vadot				MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0
400f126890aSEmmanuel Vadot				MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
401f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_0__CCM_CLKO1		0x130b0		/* CAM_MCLK */
402f126890aSEmmanuel Vadot			>;
403f126890aSEmmanuel Vadot		};
404f126890aSEmmanuel Vadot
405f126890aSEmmanuel Vadot		pinctrl_ecspi1: ecspi1grp {
406f126890aSEmmanuel Vadot			fsl,pins = <
407f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
408f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
409f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
410f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT23__GPIO5_IO17	0x000b1		/* CS0 */
411f126890aSEmmanuel Vadot			>;
412f126890aSEmmanuel Vadot		};
413f126890aSEmmanuel Vadot
414f126890aSEmmanuel Vadot		pinctrl_ecspi2: ecspi2grp {
415f126890aSEmmanuel Vadot			fsl,pins = <
416f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09	0x000b1		/* CS1 */
417f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT16__ECSPI2_MOSI	0x100b1
418f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT17__ECSPI2_MISO	0x100b1
419f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12	0x000b1		/* CS0 */
420f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT19__ECSPI2_SCLK	0x100b1
421f126890aSEmmanuel Vadot			>;
422f126890aSEmmanuel Vadot		};
423f126890aSEmmanuel Vadot
424f126890aSEmmanuel Vadot		pinctrl_ecspi3: ecspi3grp {
425f126890aSEmmanuel Vadot			fsl,pins = <
426f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK	0x100b1
427f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI	0x100b1
428f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO	0x100b1
429f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24	0x000b1		/* CS0 */
430f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT4__GPIO4_IO25	0x000b1		/* CS1 */
431f126890aSEmmanuel Vadot			>;
432f126890aSEmmanuel Vadot		};
433f126890aSEmmanuel Vadot
434f126890aSEmmanuel Vadot		pinctrl_enet: enetgrp {
435f126890aSEmmanuel Vadot			fsl,pins = <
436f126890aSEmmanuel Vadot				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
437f126890aSEmmanuel Vadot				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
438f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
439f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
440f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
441f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
442f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
443f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
444f126890aSEmmanuel Vadot				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x0a0b1		/* AR8035 CLK_25M --> ENET_REF_CLK (V22) */
445f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030		/* AR8035 pin strapping: IO voltage: pull up */
446f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x13030		/* AR8035 pin strapping: PHYADDR#0: pull down */
447f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x13030		/* AR8035 pin strapping: PHYADDR#1: pull down */
448f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030		/* AR8035 pin strapping: MODE#1: pull up */
449f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030		/* AR8035 pin strapping: MODE#3: pull up */
450f126890aSEmmanuel Vadot				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x130b0		/* AR8035 pin strapping: MODE#0: pull down */
451f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8	/* GPIO16 -> AR8035 25MHz */
452f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D31__GPIO3_IO31		0x130b0		/* RGMII_nRST */
453f126890aSEmmanuel Vadot				MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28	0x180b0		/* AR8035 interrupt */
454f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_6__ENET_IRQ		0x000b1
455f126890aSEmmanuel Vadot			>;
456f126890aSEmmanuel Vadot		};
457f126890aSEmmanuel Vadot
458f126890aSEmmanuel Vadot		pinctrl_i2c1: i2c1grp {
459f126890aSEmmanuel Vadot			fsl,pins = <
460f126890aSEmmanuel Vadot				MX6QDL_PAD_CSI0_DAT8__I2C1_SDA		0x4001b8b1
461f126890aSEmmanuel Vadot				MX6QDL_PAD_CSI0_DAT9__I2C1_SCL		0x4001b8b1
462f126890aSEmmanuel Vadot			>;
463f126890aSEmmanuel Vadot		};
464f126890aSEmmanuel Vadot
465f126890aSEmmanuel Vadot		pinctrl_i2c2: i2c2grp {
466f126890aSEmmanuel Vadot			fsl,pins = <
467f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
468f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
469f126890aSEmmanuel Vadot			>;
470f126890aSEmmanuel Vadot		};
471f126890aSEmmanuel Vadot
472f126890aSEmmanuel Vadot		pinctrl_i2c3: i2c3grp {
473f126890aSEmmanuel Vadot			fsl,pins = <
474f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_5__I2C3_SCL		0x4001b8b1
475f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001b8b1
476f126890aSEmmanuel Vadot			>;
477f126890aSEmmanuel Vadot		};
478f126890aSEmmanuel Vadot
479f126890aSEmmanuel Vadot		pinctrl_i2c4: i2c4grp {
480f126890aSEmmanuel Vadot			fsl,pins = <
481f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_7__I2C4_SCL             0x4001b8b1
482f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_8__I2C4_SDA             0x4001b8b1
483f126890aSEmmanuel Vadot			>;
484f126890aSEmmanuel Vadot		};
485f126890aSEmmanuel Vadot
486f126890aSEmmanuel Vadot		pinctrl_led: ledgrp {
487f126890aSEmmanuel Vadot			fsl,pins = <
488f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_A25__GPIO5_IO02		0x1b0b1	/* user led0 */
489f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D28__GPIO3_IO28		0x1b0b1	/* user led1 */
490f126890aSEmmanuel Vadot			>;
491f126890aSEmmanuel Vadot		};
492f126890aSEmmanuel Vadot
493f126890aSEmmanuel Vadot		pinctrl_pwm1: pwm1grp {
494f126890aSEmmanuel Vadot			fsl,pins = <
495f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT8__PWM1_OUT		0x1b0b1
496f126890aSEmmanuel Vadot			>;
497f126890aSEmmanuel Vadot		};
498f126890aSEmmanuel Vadot
499f126890aSEmmanuel Vadot		pinctrl_pwm2: pwm2grp {
500f126890aSEmmanuel Vadot			fsl,pins = <
501f126890aSEmmanuel Vadot				MX6QDL_PAD_DISP0_DAT9__PWM2_OUT		0x1b0b1
502f126890aSEmmanuel Vadot			>;
503f126890aSEmmanuel Vadot		};
504f126890aSEmmanuel Vadot
505f126890aSEmmanuel Vadot		pinctrl_pwm3: pwm3grp {
506f126890aSEmmanuel Vadot			fsl,pins = <
507f126890aSEmmanuel Vadot				MX6QDL_PAD_SD1_DAT1__PWM3_OUT		0x1b0b1
508f126890aSEmmanuel Vadot			>;
509f126890aSEmmanuel Vadot		};
510f126890aSEmmanuel Vadot
511f126890aSEmmanuel Vadot		pinctrl_pwm4: pwm4grp {
512f126890aSEmmanuel Vadot			fsl,pins = <
513f126890aSEmmanuel Vadot				MX6QDL_PAD_SD1_CMD__PWM4_OUT		0x1b0b1
514f126890aSEmmanuel Vadot			>;
515f126890aSEmmanuel Vadot		};
516f126890aSEmmanuel Vadot
517f126890aSEmmanuel Vadot		pinctrl_uart1: uart1grp {
518f126890aSEmmanuel Vadot			fsl,pins = <
519f126890aSEmmanuel Vadot				MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0b1
520f126890aSEmmanuel Vadot				MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0b1
521f126890aSEmmanuel Vadot			>;
522f126890aSEmmanuel Vadot		};
523f126890aSEmmanuel Vadot
524f126890aSEmmanuel Vadot		pinctrl_uart2: uart2grp {
525f126890aSEmmanuel Vadot			fsl,pins = <
526f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
527f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
528f126890aSEmmanuel Vadot			>;
529f126890aSEmmanuel Vadot		};
530f126890aSEmmanuel Vadot
531f126890aSEmmanuel Vadot		pinctrl_uart3: uart3grp {
532f126890aSEmmanuel Vadot			fsl,pins = <
533f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D24__UART3_TX_DATA	0x1b0b1
534f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D25__UART3_RX_DATA	0x1b0b1
535f126890aSEmmanuel Vadot			>;
536f126890aSEmmanuel Vadot		};
537f126890aSEmmanuel Vadot
538f126890aSEmmanuel Vadot		pinctrl_uart4: uart4grp {
539f126890aSEmmanuel Vadot			fsl,pins = <
540f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
541f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
542f126890aSEmmanuel Vadot			>;
543f126890aSEmmanuel Vadot		};
544f126890aSEmmanuel Vadot
545f126890aSEmmanuel Vadot		pinctrl_uart5: uart5grp {
546f126890aSEmmanuel Vadot			fsl,pins = <
547f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_COL1__UART5_TX_DATA	0x1b0b1
548f126890aSEmmanuel Vadot				MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA	0x1b0b1
549f126890aSEmmanuel Vadot			>;
550f126890aSEmmanuel Vadot		};
551f126890aSEmmanuel Vadot
552f126890aSEmmanuel Vadot		pinctrl_usbotg: usbotggrp {
553f126890aSEmmanuel Vadot			fsl,pins = <
554f126890aSEmmanuel Vadot				MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x17059
555f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D22__GPIO3_IO22		0x000b0	/* MX6QDL_PAD_EIM_D22__USB_OTG_PWR */
556f126890aSEmmanuel Vadot				MX6QDL_PAD_EIM_D21__USB_OTG_OC		0x1b0b0
557f126890aSEmmanuel Vadot			>;
558f126890aSEmmanuel Vadot		};
559f126890aSEmmanuel Vadot
560f126890aSEmmanuel Vadot		pinctrl_usdhc2: usdhc2grp {
561f126890aSEmmanuel Vadot			fsl,pins = <
562f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_CMD__SD2_CMD		0x17059
563f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10059
564f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059
565f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059
566f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059
567f126890aSEmmanuel Vadot				MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059
568f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_4__GPIO1_IO04		0x1b0b0	/* SD2 CD */
569f126890aSEmmanuel Vadot				MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x1f0b0	/* SD2 WP */
570f126890aSEmmanuel Vadot			>;
571f126890aSEmmanuel Vadot		};
572f126890aSEmmanuel Vadot
573f126890aSEmmanuel Vadot		pinctrl_usdhc3: usdhc3grp {
574f126890aSEmmanuel Vadot			fsl,pins = <
575f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
576f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
577f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
578f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
579f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
580f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
581f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_DAT5__GPIO7_IO00		0x1b0b0	/* SD3 CD */
582f126890aSEmmanuel Vadot				MX6QDL_PAD_SD3_DAT4__GPIO7_IO01		0x1f0b0	/* SD3 WP */
583f126890aSEmmanuel Vadot			>;
584f126890aSEmmanuel Vadot		};
585f126890aSEmmanuel Vadot
586f126890aSEmmanuel Vadot		pinctrl_usdhc4: usdhc4grp {
587f126890aSEmmanuel Vadot			fsl,pins = <
588f126890aSEmmanuel Vadot				MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059
589f126890aSEmmanuel Vadot				MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059
590f126890aSEmmanuel Vadot				MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059
591f126890aSEmmanuel Vadot				MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059
592f126890aSEmmanuel Vadot				MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059
593f126890aSEmmanuel Vadot				MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059
594f126890aSEmmanuel Vadot				MX6QDL_PAD_NANDF_ALE__GPIO6_IO08	0x17059	/* SD4 RST (eMMC) */
595f126890aSEmmanuel Vadot			>;
596f126890aSEmmanuel Vadot		};
597f126890aSEmmanuel Vadot	};
598f126890aSEmmanuel Vadot};
599