xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/imx/imx6sx-softing-vining-2000.dts (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright (C) 2016 Christoph Fritz <chf.fritz@googlemail.com>
4f126890aSEmmanuel Vadot */
5f126890aSEmmanuel Vadot
6f126890aSEmmanuel Vadot/dts-v1/;
7f126890aSEmmanuel Vadot
8f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
9f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
10f126890aSEmmanuel Vadot#include "imx6sx.dtsi"
11f126890aSEmmanuel Vadot
12f126890aSEmmanuel Vadot/ {
13f126890aSEmmanuel Vadot	model = "Softing VIN|ING 2000";
14f126890aSEmmanuel Vadot	compatible = "samtec,imx6sx-vining-2000", "fsl,imx6sx";
15f126890aSEmmanuel Vadot
16f126890aSEmmanuel Vadot	chosen {
17f126890aSEmmanuel Vadot		stdout-path = &uart1;
18f126890aSEmmanuel Vadot	};
19f126890aSEmmanuel Vadot
20f126890aSEmmanuel Vadot	memory@80000000 {
21f126890aSEmmanuel Vadot		device_type = "memory";
22f126890aSEmmanuel Vadot		reg = <0x80000000 0x40000000>;
23f126890aSEmmanuel Vadot	};
24f126890aSEmmanuel Vadot
25f126890aSEmmanuel Vadot	reg_usb_otg1_vbus: regulator-usb_otg1_vbus {
26f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
27f126890aSEmmanuel Vadot		regulator-name = "usb_otg1_vbus";
28f126890aSEmmanuel Vadot		pinctrl-names = "default";
29f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_usb_otg1>;
30f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
31f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
32f126890aSEmmanuel Vadot		gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
33f126890aSEmmanuel Vadot		enable-active-high;
34f126890aSEmmanuel Vadot	};
35f126890aSEmmanuel Vadot
36f126890aSEmmanuel Vadot	reg_peri_3v3: regulator-peri_3v3 {
37f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
38f126890aSEmmanuel Vadot		regulator-name = "peri_3v3";
39f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
40f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
41f126890aSEmmanuel Vadot	};
42f126890aSEmmanuel Vadot
43f126890aSEmmanuel Vadot	led-controller {
44f126890aSEmmanuel Vadot		compatible = "pwm-leds";
45f126890aSEmmanuel Vadot
46f126890aSEmmanuel Vadot		led-1 {
47f126890aSEmmanuel Vadot			label = "red";
48f126890aSEmmanuel Vadot			max-brightness = <255>;
49*7d0873ebSEmmanuel Vadot			pwms = <&pwm6 0 50000 0>;
50f126890aSEmmanuel Vadot		};
51f126890aSEmmanuel Vadot
52f126890aSEmmanuel Vadot		led-2 {
53f126890aSEmmanuel Vadot			label = "green";
54f126890aSEmmanuel Vadot			max-brightness = <255>;
55*7d0873ebSEmmanuel Vadot			pwms = <&pwm2 0 50000 0>;
56f126890aSEmmanuel Vadot		};
57f126890aSEmmanuel Vadot
58f126890aSEmmanuel Vadot		led-3 {
59f126890aSEmmanuel Vadot			label = "blue";
60f126890aSEmmanuel Vadot			max-brightness = <255>;
61*7d0873ebSEmmanuel Vadot			pwms = <&pwm1 0 50000 0>;
62f126890aSEmmanuel Vadot		};
63f126890aSEmmanuel Vadot	};
64f126890aSEmmanuel Vadot};
65f126890aSEmmanuel Vadot
66f126890aSEmmanuel Vadot&adc1 {
67f126890aSEmmanuel Vadot	vref-supply = <&reg_peri_3v3>;
68f126890aSEmmanuel Vadot	status = "okay";
69f126890aSEmmanuel Vadot};
70f126890aSEmmanuel Vadot
71f126890aSEmmanuel Vadot&cpu0 {
72f126890aSEmmanuel Vadot	/*
73f126890aSEmmanuel Vadot	 * This board has a shared rail of reg_arm and reg_soc (supplied by
74f126890aSEmmanuel Vadot	 * sw1a_reg) which is modeled below, but still this module behaves
75f126890aSEmmanuel Vadot	 * unstable without higher voltages. Hence, set higher voltages here.
76f126890aSEmmanuel Vadot	 */
77f126890aSEmmanuel Vadot	operating-points = <
78f126890aSEmmanuel Vadot		/* kHz    uV */
79f126890aSEmmanuel Vadot		996000  1250000
80f126890aSEmmanuel Vadot		792000  1175000
81f126890aSEmmanuel Vadot		396000  1175000
82f126890aSEmmanuel Vadot		198000  1175000
83f126890aSEmmanuel Vadot		>;
84f126890aSEmmanuel Vadot	fsl,soc-operating-points = <
85f126890aSEmmanuel Vadot		/* ARM kHz  SOC uV */
86f126890aSEmmanuel Vadot		996000	1250000
87f126890aSEmmanuel Vadot		792000	1175000
88f126890aSEmmanuel Vadot		396000	1175000
89f126890aSEmmanuel Vadot		198000  1175000
90f126890aSEmmanuel Vadot	>;
91f126890aSEmmanuel Vadot};
92f126890aSEmmanuel Vadot
93f126890aSEmmanuel Vadot&ecspi4 {
94f126890aSEmmanuel Vadot	pinctrl-names = "default";
95f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_ecspi4>;
96f126890aSEmmanuel Vadot	cs-gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
97f126890aSEmmanuel Vadot	status = "okay";
98f126890aSEmmanuel Vadot};
99f126890aSEmmanuel Vadot
100f126890aSEmmanuel Vadot&fec1 {
101f126890aSEmmanuel Vadot	pinctrl-names = "default";
102f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_enet1>;
103f126890aSEmmanuel Vadot	phy-supply = <&reg_peri_3v3>;
104f126890aSEmmanuel Vadot	phy-reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
105f126890aSEmmanuel Vadot	phy-reset-duration = <5>;
106f126890aSEmmanuel Vadot	phy-mode = "rmii";
107f126890aSEmmanuel Vadot	phy-handle = <&ethphy0>;
108f126890aSEmmanuel Vadot	status = "okay";
109f126890aSEmmanuel Vadot
110f126890aSEmmanuel Vadot	mdio {
111f126890aSEmmanuel Vadot		#address-cells = <1>;
112f126890aSEmmanuel Vadot		#size-cells = <0>;
113f126890aSEmmanuel Vadot
114f126890aSEmmanuel Vadot		ethphy0: ethernet0-phy@0 {
115f126890aSEmmanuel Vadot			reg = <0>;
116f126890aSEmmanuel Vadot			max-speed = <100>;
117f126890aSEmmanuel Vadot			interrupt-parent = <&gpio2>;
118f126890aSEmmanuel Vadot			interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
119f126890aSEmmanuel Vadot		};
120f126890aSEmmanuel Vadot	};
121f126890aSEmmanuel Vadot};
122f126890aSEmmanuel Vadot
123f126890aSEmmanuel Vadot&fec2 {
124f126890aSEmmanuel Vadot	pinctrl-names = "default";
125f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_enet2>;
126f126890aSEmmanuel Vadot	phy-supply = <&reg_peri_3v3>;
127f126890aSEmmanuel Vadot	phy-reset-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>;
128f126890aSEmmanuel Vadot	phy-reset-duration = <5>;
129f126890aSEmmanuel Vadot	phy-mode = "rmii";
130f126890aSEmmanuel Vadot	phy-handle = <&ethphy1>;
131f126890aSEmmanuel Vadot	status = "okay";
132f126890aSEmmanuel Vadot
133f126890aSEmmanuel Vadot	mdio {
134f126890aSEmmanuel Vadot		#address-cells = <1>;
135f126890aSEmmanuel Vadot		#size-cells = <0>;
136f126890aSEmmanuel Vadot
137f126890aSEmmanuel Vadot		ethphy1: ethernet1-phy@0 {
138f126890aSEmmanuel Vadot			reg = <0>;
139f126890aSEmmanuel Vadot			max-speed = <100>;
140f126890aSEmmanuel Vadot			interrupt-parent = <&gpio2>;
141f126890aSEmmanuel Vadot			interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
142f126890aSEmmanuel Vadot		};
143f126890aSEmmanuel Vadot	};
144f126890aSEmmanuel Vadot};
145f126890aSEmmanuel Vadot
146f126890aSEmmanuel Vadot&flexcan1 {
147f126890aSEmmanuel Vadot	pinctrl-names = "default";
148f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_flexcan1>;
149f126890aSEmmanuel Vadot	status = "okay";
150f126890aSEmmanuel Vadot};
151f126890aSEmmanuel Vadot
152f126890aSEmmanuel Vadot&flexcan2 {
153f126890aSEmmanuel Vadot	pinctrl-names = "default";
154f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_flexcan2>;
155f126890aSEmmanuel Vadot	status = "okay";
156f126890aSEmmanuel Vadot};
157f126890aSEmmanuel Vadot
158f126890aSEmmanuel Vadot&i2c1 {
159f126890aSEmmanuel Vadot	clock-frequency = <100000>;
160f126890aSEmmanuel Vadot	pinctrl-names = "default";
161f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c1>;
162f126890aSEmmanuel Vadot	status = "okay";
163f126890aSEmmanuel Vadot
164f126890aSEmmanuel Vadot	proximity: sx9500@28 {
165f126890aSEmmanuel Vadot		compatible = "semtech,sx9500";
166f126890aSEmmanuel Vadot		reg = <0x28>;
167f126890aSEmmanuel Vadot		pinctrl-names = "default";
168f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_sx9500>;
169f126890aSEmmanuel Vadot		interrupt-parent = <&gpio2>;
170f126890aSEmmanuel Vadot		interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
171f126890aSEmmanuel Vadot		reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
172f126890aSEmmanuel Vadot	};
173f126890aSEmmanuel Vadot
174f126890aSEmmanuel Vadot	pmic: pmic@8 {
175f126890aSEmmanuel Vadot		compatible = "fsl,pfuze200";
176f126890aSEmmanuel Vadot		reg = <0x08>;
177f126890aSEmmanuel Vadot
178f126890aSEmmanuel Vadot		regulators {
179f126890aSEmmanuel Vadot			sw1a_reg: sw1ab {
180f126890aSEmmanuel Vadot				regulator-min-microvolt = <300000>;
181f126890aSEmmanuel Vadot				regulator-max-microvolt = <1875000>;
182f126890aSEmmanuel Vadot				regulator-boot-on;
183f126890aSEmmanuel Vadot				regulator-always-on;
184f126890aSEmmanuel Vadot				regulator-ramp-delay = <6250>;
185f126890aSEmmanuel Vadot			};
186f126890aSEmmanuel Vadot
187f126890aSEmmanuel Vadot			sw2_reg: sw2 {
188f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
189f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
190f126890aSEmmanuel Vadot				regulator-boot-on;
191f126890aSEmmanuel Vadot				regulator-always-on;
192f126890aSEmmanuel Vadot			};
193f126890aSEmmanuel Vadot
194f126890aSEmmanuel Vadot			sw3a_reg: sw3a {
195f126890aSEmmanuel Vadot				regulator-min-microvolt = <400000>;
196f126890aSEmmanuel Vadot				regulator-max-microvolt = <1975000>;
197f126890aSEmmanuel Vadot				regulator-boot-on;
198f126890aSEmmanuel Vadot				regulator-always-on;
199f126890aSEmmanuel Vadot			};
200f126890aSEmmanuel Vadot
201f126890aSEmmanuel Vadot			sw3b_reg: sw3b {
202f126890aSEmmanuel Vadot				regulator-min-microvolt = <400000>;
203f126890aSEmmanuel Vadot				regulator-max-microvolt = <1975000>;
204f126890aSEmmanuel Vadot				regulator-boot-on;
205f126890aSEmmanuel Vadot				regulator-always-on;
206f126890aSEmmanuel Vadot			};
207f126890aSEmmanuel Vadot
208f126890aSEmmanuel Vadot			snvs_reg: vsnvs {
209f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
210f126890aSEmmanuel Vadot				regulator-max-microvolt = <3000000>;
211f126890aSEmmanuel Vadot				regulator-boot-on;
212f126890aSEmmanuel Vadot				regulator-always-on;
213f126890aSEmmanuel Vadot			};
214f126890aSEmmanuel Vadot
215f126890aSEmmanuel Vadot			vref_reg: vrefddr {
216f126890aSEmmanuel Vadot				regulator-boot-on;
217f126890aSEmmanuel Vadot				regulator-always-on;
218f126890aSEmmanuel Vadot			};
219f126890aSEmmanuel Vadot
220f126890aSEmmanuel Vadot			vgen1_reg: vgen1 {
221f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
222f126890aSEmmanuel Vadot				regulator-max-microvolt = <1550000>;
223f126890aSEmmanuel Vadot				regulator-always-on;
224f126890aSEmmanuel Vadot			};
225f126890aSEmmanuel Vadot
226f126890aSEmmanuel Vadot			vgen2_reg: vgen2 {
227f126890aSEmmanuel Vadot				regulator-min-microvolt = <800000>;
228f126890aSEmmanuel Vadot				regulator-max-microvolt = <1550000>;
229f126890aSEmmanuel Vadot			};
230f126890aSEmmanuel Vadot
231f126890aSEmmanuel Vadot			vgen3_reg: vgen3 {
232f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
233f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
234f126890aSEmmanuel Vadot				regulator-always-on;
235f126890aSEmmanuel Vadot			};
236f126890aSEmmanuel Vadot
237f126890aSEmmanuel Vadot			vgen4_reg: vgen4 {
238f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
239f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
240f126890aSEmmanuel Vadot				regulator-always-on;
241f126890aSEmmanuel Vadot			};
242f126890aSEmmanuel Vadot
243f126890aSEmmanuel Vadot			vgen5_reg: vgen5 {
244f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
245f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
246f126890aSEmmanuel Vadot				regulator-always-on;
247f126890aSEmmanuel Vadot			};
248f126890aSEmmanuel Vadot
249f126890aSEmmanuel Vadot			vgen6_reg: vgen6 {
250f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
251f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
252f126890aSEmmanuel Vadot				regulator-always-on;
253f126890aSEmmanuel Vadot			};
254f126890aSEmmanuel Vadot		};
255f126890aSEmmanuel Vadot	};
256f126890aSEmmanuel Vadot};
257f126890aSEmmanuel Vadot
258f126890aSEmmanuel Vadot&i2c3 {
259f126890aSEmmanuel Vadot	clock-frequency = <100000>;
260f126890aSEmmanuel Vadot	pinctrl-names = "default";
261f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c3>;
262f126890aSEmmanuel Vadot	status = "okay";
263f126890aSEmmanuel Vadot};
264f126890aSEmmanuel Vadot
265f126890aSEmmanuel Vadot&iomuxc {
266f126890aSEmmanuel Vadot	pinctrl-names = "default";
267f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_gpios>;
268f126890aSEmmanuel Vadot
269f126890aSEmmanuel Vadot	pinctrl_ecspi4: ecspi4grp {
270f126890aSEmmanuel Vadot		fsl,pins = <
271f126890aSEmmanuel Vadot			MX6SX_PAD_SD3_CLK__ECSPI4_SCLK		0x130b1
272f126890aSEmmanuel Vadot			MX6SX_PAD_SD3_DATA3__ECSPI4_MISO	0x130b1
273f126890aSEmmanuel Vadot			MX6SX_PAD_SD3_CMD__ECSPI4_MOSI		0x130b1
274f126890aSEmmanuel Vadot			MX6SX_PAD_SD3_DATA2__GPIO7_IO_4		0x30b0
275f126890aSEmmanuel Vadot		>;
276f126890aSEmmanuel Vadot	};
277f126890aSEmmanuel Vadot
278f126890aSEmmanuel Vadot	pinctrl_enet1: enet1grp {
279f126890aSEmmanuel Vadot		fsl,pins = <
280f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0	0x30c1
281f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1	0x30c1
282f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0	0xa0f9
283f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1	0xa0f9
284f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN	0x30c1
285f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN	0xa0f9
286f126890aSEmmanuel Vadot			MX6SX_PAD_ENET1_TX_CLK__ENET1_REF_CLK1	0x4000a038
287f126890aSEmmanuel Vadot			/* LAN8720 PHY Reset */
288f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII1_TD3__GPIO5_IO_9	0x10b0
289f126890aSEmmanuel Vadot			/* MDIO */
290f126890aSEmmanuel Vadot			MX6SX_PAD_ENET1_MDC__ENET1_MDC		0xa0f9
291f126890aSEmmanuel Vadot			MX6SX_PAD_ENET1_MDIO__ENET1_MDIO	0xa0f9
292f126890aSEmmanuel Vadot			/* IRQ from PHY */
293f126890aSEmmanuel Vadot			MX6SX_PAD_KEY_ROW2__GPIO2_IO_17		0x10b0
294f126890aSEmmanuel Vadot		>;
295f126890aSEmmanuel Vadot	};
296f126890aSEmmanuel Vadot
297f126890aSEmmanuel Vadot	pinctrl_enet2: enet2grp {
298f126890aSEmmanuel Vadot		fsl,pins = <
299f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII2_TD0__ENET2_TX_DATA_0	0x1b0b0
300f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII2_TD1__ENET2_TX_DATA_1	0x1b0b0
301f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII2_RD0__ENET2_RX_DATA_0	0x1b0b0
302f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII2_RD1__ENET2_RX_DATA_1	0x1b0b0
303f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII2_RX_CTL__ENET2_RX_EN	0x1b0b0
304f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII2_TX_CTL__ENET2_TX_EN	0x1b0b0
305f126890aSEmmanuel Vadot			MX6SX_PAD_ENET2_TX_CLK__ENET2_REF_CLK2	0x4000a038
306f126890aSEmmanuel Vadot			/* LAN8720 PHY Reset */
307f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII2_TD3__GPIO5_IO_21	0x10b0
308f126890aSEmmanuel Vadot			/* MDIO */
309f126890aSEmmanuel Vadot			MX6SX_PAD_ENET1_COL__ENET2_MDC		0xa0f9
310f126890aSEmmanuel Vadot			MX6SX_PAD_ENET1_CRS__ENET2_MDIO		0xa0f9
311f126890aSEmmanuel Vadot			/* IRQ from PHY */
312f126890aSEmmanuel Vadot			MX6SX_PAD_KEY_ROW4__GPIO2_IO_19		0x10b0
313f126890aSEmmanuel Vadot		>;
314f126890aSEmmanuel Vadot	};
315f126890aSEmmanuel Vadot
316f126890aSEmmanuel Vadot	pinctrl_flexcan1: flexcan1grp {
317f126890aSEmmanuel Vadot		fsl,pins = <
318f126890aSEmmanuel Vadot			MX6SX_PAD_QSPI1B_DQS__CAN1_TX		0x1b0b0
319f126890aSEmmanuel Vadot			MX6SX_PAD_QSPI1A_SS1_B__CAN1_RX		0x1b0b0
320f126890aSEmmanuel Vadot		>;
321f126890aSEmmanuel Vadot	};
322f126890aSEmmanuel Vadot
323f126890aSEmmanuel Vadot	pinctrl_flexcan2: flexcan2grp {
324f126890aSEmmanuel Vadot		fsl,pins = <
325f126890aSEmmanuel Vadot			MX6SX_PAD_QSPI1B_SS1_B__CAN2_RX		0x1b0b0
326f126890aSEmmanuel Vadot			MX6SX_PAD_QSPI1A_DQS__CAN2_TX		0x1b0b0
327f126890aSEmmanuel Vadot		>;
328f126890aSEmmanuel Vadot	};
329f126890aSEmmanuel Vadot
330f126890aSEmmanuel Vadot	pinctrl_gpios: gpiosgrp {
331f126890aSEmmanuel Vadot		fsl,pins = <
332f126890aSEmmanuel Vadot			/* reset external uC */
333f126890aSEmmanuel Vadot			MX6SX_PAD_QSPI1A_DATA3__GPIO4_IO_19	0x10b0
334f126890aSEmmanuel Vadot			/* IRQ from external uC */
335f126890aSEmmanuel Vadot			MX6SX_PAD_KEY_ROW0__GPIO2_IO_15		0x10b0
336f126890aSEmmanuel Vadot			/* overcurrent detection */
337f126890aSEmmanuel Vadot			MX6SX_PAD_GPIO1_IO08__GPIO1_IO_8	0x10b0
338f126890aSEmmanuel Vadot		>;
339f126890aSEmmanuel Vadot	};
340f126890aSEmmanuel Vadot
341f126890aSEmmanuel Vadot	pinctrl_i2c1: i2c1grp {
342f126890aSEmmanuel Vadot		fsl,pins = <
343f126890aSEmmanuel Vadot			MX6SX_PAD_GPIO1_IO01__I2C1_SDA		0x4001b8b1
344f126890aSEmmanuel Vadot			MX6SX_PAD_GPIO1_IO00__I2C1_SCL		0x4001b8b1
345f126890aSEmmanuel Vadot		>;
346f126890aSEmmanuel Vadot	};
347f126890aSEmmanuel Vadot
348f126890aSEmmanuel Vadot	pinctrl_i2c3: i2c3grp {
349f126890aSEmmanuel Vadot		fsl,pins = <
350f126890aSEmmanuel Vadot			MX6SX_PAD_NAND_ALE__I2C3_SDA		0x4001b8b1
351f126890aSEmmanuel Vadot			MX6SX_PAD_NAND_CLE__I2C3_SCL		0x4001b8b1
352f126890aSEmmanuel Vadot		>;
353f126890aSEmmanuel Vadot	};
354f126890aSEmmanuel Vadot
355f126890aSEmmanuel Vadot	pinctrl_pcie: pciegrp {
356f126890aSEmmanuel Vadot		fsl,pins = <
357f126890aSEmmanuel Vadot			MX6SX_PAD_NAND_DATA02__GPIO4_IO_6	0x10b0
358f126890aSEmmanuel Vadot		>;
359f126890aSEmmanuel Vadot	};
360f126890aSEmmanuel Vadot
361f126890aSEmmanuel Vadot	pinctrl_pwm1: pwm1grp-1 {
362f126890aSEmmanuel Vadot		fsl,pins = <
363f126890aSEmmanuel Vadot			/* blue LED */
364f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII2_RD3__PWM1_OUT		0x1b0b1
365f126890aSEmmanuel Vadot		>;
366f126890aSEmmanuel Vadot	};
367f126890aSEmmanuel Vadot
368f126890aSEmmanuel Vadot	pinctrl_pwm2: pwm2grp-1 {
369f126890aSEmmanuel Vadot		fsl,pins = <
370f126890aSEmmanuel Vadot			/* green LED */
371f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII2_RD2__PWM2_OUT		0x1b0b1
372f126890aSEmmanuel Vadot		>;
373f126890aSEmmanuel Vadot	};
374f126890aSEmmanuel Vadot
375f126890aSEmmanuel Vadot	pinctrl_pwm6: pwm6grp-1 {
376f126890aSEmmanuel Vadot		fsl,pins = <
377f126890aSEmmanuel Vadot			/* red LED */
378f126890aSEmmanuel Vadot			MX6SX_PAD_RGMII2_TD2__PWM6_OUT		0x1b0b1
379f126890aSEmmanuel Vadot		>;
380f126890aSEmmanuel Vadot	};
381f126890aSEmmanuel Vadot
382f126890aSEmmanuel Vadot	pinctrl_sx9500: sx9500grp {
383f126890aSEmmanuel Vadot		fsl,pins = <
384f126890aSEmmanuel Vadot			/* Reset */
385f126890aSEmmanuel Vadot			MX6SX_PAD_KEY_COL0__GPIO2_IO_10		0x838
386f126890aSEmmanuel Vadot			/* IRQ */
387f126890aSEmmanuel Vadot			MX6SX_PAD_KEY_ROW1__GPIO2_IO_16		0x70e0
388f126890aSEmmanuel Vadot		>;
389f126890aSEmmanuel Vadot	};
390f126890aSEmmanuel Vadot
391f126890aSEmmanuel Vadot	pinctrl_uart1: uart1grp {
392f126890aSEmmanuel Vadot		fsl,pins = <
393f126890aSEmmanuel Vadot			MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX	0x1b0b1
394f126890aSEmmanuel Vadot			MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX	0x1b0b1
395f126890aSEmmanuel Vadot		>;
396f126890aSEmmanuel Vadot	};
397f126890aSEmmanuel Vadot
398f126890aSEmmanuel Vadot	pinctrl_uart2: uart2grp {
399f126890aSEmmanuel Vadot		fsl,pins = <
400f126890aSEmmanuel Vadot			MX6SX_PAD_GPIO1_IO06__UART2_DCE_TX	0x1b0b1
401f126890aSEmmanuel Vadot			MX6SX_PAD_GPIO1_IO07__UART2_DCE_RX	0x1b0b1
402f126890aSEmmanuel Vadot		>;
403f126890aSEmmanuel Vadot	};
404f126890aSEmmanuel Vadot
405f126890aSEmmanuel Vadot	pinctrl_usb_otg1: usbotg1grp {
406f126890aSEmmanuel Vadot		fsl,pins = <
407f126890aSEmmanuel Vadot			MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9	0x10b0
408f126890aSEmmanuel Vadot		>;
409f126890aSEmmanuel Vadot	};
410f126890aSEmmanuel Vadot
411f126890aSEmmanuel Vadot	pinctrl_usb_otg1_id: usbotg1idgrp {
412f126890aSEmmanuel Vadot		fsl,pins = <
413f126890aSEmmanuel Vadot			MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID	0x17059
414f126890aSEmmanuel Vadot		>;
415f126890aSEmmanuel Vadot	};
416f126890aSEmmanuel Vadot
417f126890aSEmmanuel Vadot	pinctrl_usdhc2_50mhz: usdhc2grp-50mhz {
418f126890aSEmmanuel Vadot		fsl,pins = <
419f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_CLK__USDHC2_CLK		0x10059
420f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_CMD__USDHC2_CMD		0x17059
421f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_DATA0__USDHC2_DATA0	0x17059
422f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_DATA1__USDHC2_DATA1	0x17059
423f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_DATA2__USDHC2_DATA2	0x17059
424f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_DATA3__USDHC2_DATA3	0x17059
425f126890aSEmmanuel Vadot			MX6SX_PAD_LCD1_VSYNC__GPIO3_IO_28	0x1b000
426f126890aSEmmanuel Vadot			MX6SX_PAD_LCD1_HSYNC__GPIO3_IO_26	0x10b0
427f126890aSEmmanuel Vadot		>;
428f126890aSEmmanuel Vadot	};
429f126890aSEmmanuel Vadot
430f126890aSEmmanuel Vadot	pinctrl_usdhc2_100mhz: usdhc2grp-100mhz {
431f126890aSEmmanuel Vadot		fsl,pins = <
432f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_CLK__USDHC2_CLK		0x100b9
433f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_CMD__USDHC2_CMD		0x170b9
434f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_DATA0__USDHC2_DATA0	0x170b9
435f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_DATA1__USDHC2_DATA1	0x170b9
436f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_DATA2__USDHC2_DATA2	0x170b9
437f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_DATA3__USDHC2_DATA3	0x170b9
438f126890aSEmmanuel Vadot		>;
439f126890aSEmmanuel Vadot	};
440f126890aSEmmanuel Vadot
441f126890aSEmmanuel Vadot	pinctrl_usdhc2_200mhz: usdhc2grp-200mhz {
442f126890aSEmmanuel Vadot		fsl,pins = <
443f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_CLK__USDHC2_CLK		0x100f9
444f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_CMD__USDHC2_CMD		0x170f9
445f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_DATA0__USDHC2_DATA0	0x170f9
446f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_DATA1__USDHC2_DATA1	0x170f9
447f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_DATA2__USDHC2_DATA2	0x170f9
448f126890aSEmmanuel Vadot			MX6SX_PAD_SD2_DATA3__USDHC2_DATA3	0x170f9
449f126890aSEmmanuel Vadot		>;
450f126890aSEmmanuel Vadot	};
451f126890aSEmmanuel Vadot
452f126890aSEmmanuel Vadot	pinctrl_usdhc4_50mhz: usdhc4grp-50mhz {
453f126890aSEmmanuel Vadot		fsl,pins = <
454f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_CLK__USDHC4_CLK		0x10059
455f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_CMD__USDHC4_CMD		0x17059
456f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA0__USDHC4_DATA0	0x17059
457f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA1__USDHC4_DATA1	0x17059
458f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA2__USDHC4_DATA2	0x17059
459f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA3__USDHC4_DATA3	0x17059
460f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA4__USDHC4_DATA4	0x17059
461f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA5__USDHC4_DATA5	0x17059
462f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA6__USDHC4_DATA6	0x17059
463f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA7__USDHC4_DATA7	0x17059
464f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_RESET_B__USDHC4_RESET_B	0x17068
465f126890aSEmmanuel Vadot		>;
466f126890aSEmmanuel Vadot	};
467f126890aSEmmanuel Vadot
468f126890aSEmmanuel Vadot	pinctrl_usdhc4_100mhz: usdhc4-100mhz {
469f126890aSEmmanuel Vadot		fsl,pins = <
470f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_CLK__USDHC4_CLK		0x100b9
471f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_CMD__USDHC4_CMD		0x170b9
472f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA0__USDHC4_DATA0	0x170b9
473f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA1__USDHC4_DATA1	0x170b9
474f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA2__USDHC4_DATA2	0x170b9
475f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA3__USDHC4_DATA3	0x170b9
476f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA4__USDHC4_DATA4	0x170b9
477f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA5__USDHC4_DATA5	0x170b9
478f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA6__USDHC4_DATA6	0x170b9
479f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA7__USDHC4_DATA7	0x170b9
480f126890aSEmmanuel Vadot		>;
481f126890aSEmmanuel Vadot	};
482f126890aSEmmanuel Vadot
483f126890aSEmmanuel Vadot	pinctrl_usdhc4_200mhz: usdhc4-200mhz {
484f126890aSEmmanuel Vadot		fsl,pins = <
485f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_CLK__USDHC4_CLK		0x100f9
486f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_CMD__USDHC4_CMD		0x170f9
487f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA0__USDHC4_DATA0	0x170f9
488f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA1__USDHC4_DATA1	0x170f9
489f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA2__USDHC4_DATA2	0x170f9
490f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA3__USDHC4_DATA3	0x170f9
491f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA4__USDHC4_DATA4	0x170f9
492f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA5__USDHC4_DATA5	0x170f9
493f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA6__USDHC4_DATA6	0x170f9
494f126890aSEmmanuel Vadot			MX6SX_PAD_SD4_DATA7__USDHC4_DATA7	0x170f9
495f126890aSEmmanuel Vadot		>;
496f126890aSEmmanuel Vadot	};
497f126890aSEmmanuel Vadot};
498f126890aSEmmanuel Vadot
499f126890aSEmmanuel Vadot&pcie {
500f126890aSEmmanuel Vadot	pinctrl-names = "default";
501f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pcie>;
502f126890aSEmmanuel Vadot	reset-gpio = <&gpio4 6 GPIO_ACTIVE_HIGH>;
503f126890aSEmmanuel Vadot	reset-gpio-active-high;
504f126890aSEmmanuel Vadot	status = "okay";
505f126890aSEmmanuel Vadot};
506f126890aSEmmanuel Vadot
507f126890aSEmmanuel Vadot&pwm1 {
508f126890aSEmmanuel Vadot	pinctrl-names = "default";
509f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pwm1>;
510f126890aSEmmanuel Vadot};
511f126890aSEmmanuel Vadot
512f126890aSEmmanuel Vadot&pwm2 {
513f126890aSEmmanuel Vadot	pinctrl-names = "default";
514f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pwm2>;
515f126890aSEmmanuel Vadot};
516f126890aSEmmanuel Vadot
517f126890aSEmmanuel Vadot&pwm6 {
518f126890aSEmmanuel Vadot	pinctrl-names = "default";
519f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pwm6>;
520f126890aSEmmanuel Vadot};
521f126890aSEmmanuel Vadot
522f126890aSEmmanuel Vadot&reg_arm {
523f126890aSEmmanuel Vadot	vin-supply = <&sw1a_reg>;
524f126890aSEmmanuel Vadot};
525f126890aSEmmanuel Vadot
526f126890aSEmmanuel Vadot&reg_soc {
527f126890aSEmmanuel Vadot	vin-supply = <&sw1a_reg>;
528f126890aSEmmanuel Vadot};
529f126890aSEmmanuel Vadot
530f126890aSEmmanuel Vadot&snvs_poweroff {
531f126890aSEmmanuel Vadot	status = "okay";
532f126890aSEmmanuel Vadot};
533f126890aSEmmanuel Vadot
534f126890aSEmmanuel Vadot&uart1 {
535f126890aSEmmanuel Vadot	pinctrl-names = "default";
536f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart1>;
537f126890aSEmmanuel Vadot	status = "okay";
538f126890aSEmmanuel Vadot};
539f126890aSEmmanuel Vadot
540f126890aSEmmanuel Vadot&uart2 {
541f126890aSEmmanuel Vadot	pinctrl-names = "default";
542f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart2>;
543f126890aSEmmanuel Vadot	status = "okay";
544f126890aSEmmanuel Vadot};
545f126890aSEmmanuel Vadot
546f126890aSEmmanuel Vadot&usbotg1 {
547f126890aSEmmanuel Vadot	vbus-supply = <&reg_usb_otg1_vbus>;
548f126890aSEmmanuel Vadot	pinctrl-names = "default";
549f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usb_otg1_id>;
550f126890aSEmmanuel Vadot	status = "okay";
551f126890aSEmmanuel Vadot};
552f126890aSEmmanuel Vadot
553f126890aSEmmanuel Vadot&usbotg2 {
554f126890aSEmmanuel Vadot	dr_mode = "host";
555f126890aSEmmanuel Vadot	status = "okay";
556f126890aSEmmanuel Vadot};
557f126890aSEmmanuel Vadot
558f126890aSEmmanuel Vadot&usdhc2 {
559f126890aSEmmanuel Vadot	pinctrl-names = "default", "state_100mhz", "state_200mhz";
560f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc2_50mhz>;
561f126890aSEmmanuel Vadot	pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
562f126890aSEmmanuel Vadot	pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
563f126890aSEmmanuel Vadot	cd-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
564f126890aSEmmanuel Vadot	keep-power-in-suspend;
565f126890aSEmmanuel Vadot	status = "okay";
566f126890aSEmmanuel Vadot};
567f126890aSEmmanuel Vadot
568f126890aSEmmanuel Vadot&usdhc4 {
569f126890aSEmmanuel Vadot	/* hs200-mode is currently unsupported because Vccq is on 3.1V, but
570f126890aSEmmanuel Vadot	 * not on necessary 1.8V.
571f126890aSEmmanuel Vadot	 */
572f126890aSEmmanuel Vadot	pinctrl-names = "default", "state_100mhz", "state_200mhz";
573f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc4_50mhz>;
574f126890aSEmmanuel Vadot	pinctrl-1 = <&pinctrl_usdhc4_100mhz>;
575f126890aSEmmanuel Vadot	pinctrl-2 = <&pinctrl_usdhc4_200mhz>;
576f126890aSEmmanuel Vadot	bus-width = <8>;
577f126890aSEmmanuel Vadot	keep-power-in-suspend;
578f126890aSEmmanuel Vadot	non-removable;
579f126890aSEmmanuel Vadot	cap-mmc-hw-reset;
580f126890aSEmmanuel Vadot	status = "okay";
581f126890aSEmmanuel Vadot};
582