1*f126890aSEmmanuel Vadot/*
2*f126890aSEmmanuel Vadot * Embedded Artist LPC4357 Developer's Kit
3*f126890aSEmmanuel Vadot *
4*f126890aSEmmanuel Vadot * Copyright 2015 Joachim Eastwood <manabian@gmail.com>
5*f126890aSEmmanuel Vadot *
6*f126890aSEmmanuel Vadot * This code is released using a dual license strategy: BSD/GPL
7*f126890aSEmmanuel Vadot * You can choose the licence that better fits your requirements.
8*f126890aSEmmanuel Vadot *
9*f126890aSEmmanuel Vadot * Released under the terms of 3-clause BSD License
10*f126890aSEmmanuel Vadot * Released under the terms of GNU General Public License Version 2.0
11*f126890aSEmmanuel Vadot *
12*f126890aSEmmanuel Vadot */
13*f126890aSEmmanuel Vadot/dts-v1/;
14*f126890aSEmmanuel Vadot
15*f126890aSEmmanuel Vadot#include "lpc18xx.dtsi"
16*f126890aSEmmanuel Vadot#include "lpc4357.dtsi"
17*f126890aSEmmanuel Vadot
18*f126890aSEmmanuel Vadot#include "dt-bindings/input/input.h"
19*f126890aSEmmanuel Vadot#include "dt-bindings/gpio/gpio.h"
20*f126890aSEmmanuel Vadot
21*f126890aSEmmanuel Vadot/ {
22*f126890aSEmmanuel Vadot	model = "Embedded Artists' LPC4357 Developer's Kit";
23*f126890aSEmmanuel Vadot	compatible = "ea,lpc4357-developers-kit", "nxp,lpc4357", "nxp,lpc4350";
24*f126890aSEmmanuel Vadot
25*f126890aSEmmanuel Vadot	aliases {
26*f126890aSEmmanuel Vadot		serial0 = &uart0;
27*f126890aSEmmanuel Vadot		serial1 = &uart1;
28*f126890aSEmmanuel Vadot		serial2 = &uart2;
29*f126890aSEmmanuel Vadot		serial3 = &uart3;
30*f126890aSEmmanuel Vadot	};
31*f126890aSEmmanuel Vadot
32*f126890aSEmmanuel Vadot	chosen {
33*f126890aSEmmanuel Vadot		stdout-path = &uart0;
34*f126890aSEmmanuel Vadot	};
35*f126890aSEmmanuel Vadot
36*f126890aSEmmanuel Vadot	memory@28000000 {
37*f126890aSEmmanuel Vadot		device_type = "memory";
38*f126890aSEmmanuel Vadot		reg = <0x28000000 0x2000000>; /* 32 MB */
39*f126890aSEmmanuel Vadot	};
40*f126890aSEmmanuel Vadot
41*f126890aSEmmanuel Vadot	vcc: vcc_fixed {
42*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
43*f126890aSEmmanuel Vadot		regulator-name = "3v3-supply";
44*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
45*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
46*f126890aSEmmanuel Vadot	};
47*f126890aSEmmanuel Vadot
48*f126890aSEmmanuel Vadot	/* vmmc is controlled by sdmmc host internally */
49*f126890aSEmmanuel Vadot	vmmc: vmmc_fixed {
50*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
51*f126890aSEmmanuel Vadot		regulator-name = "vmmc-supply";
52*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
53*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
54*f126890aSEmmanuel Vadot	};
55*f126890aSEmmanuel Vadot
56*f126890aSEmmanuel Vadot	gpio_joystick {
57*f126890aSEmmanuel Vadot		compatible = "gpio-keys-polled";
58*f126890aSEmmanuel Vadot		pinctrl-names = "default";
59*f126890aSEmmanuel Vadot		pinctrl-0 = <&gpio_joystick_pins>;
60*f126890aSEmmanuel Vadot		poll-interval = <100>;
61*f126890aSEmmanuel Vadot		autorepeat;
62*f126890aSEmmanuel Vadot
63*f126890aSEmmanuel Vadot		button0 {
64*f126890aSEmmanuel Vadot			label = "joy_enter";
65*f126890aSEmmanuel Vadot			linux,code = <KEY_ENTER>;
66*f126890aSEmmanuel Vadot			gpios = <&gpio LPC_GPIO(4,8) GPIO_ACTIVE_LOW>;
67*f126890aSEmmanuel Vadot		};
68*f126890aSEmmanuel Vadot
69*f126890aSEmmanuel Vadot		button1 {
70*f126890aSEmmanuel Vadot			label = "joy_left";
71*f126890aSEmmanuel Vadot			linux,code = <KEY_LEFT>;
72*f126890aSEmmanuel Vadot			gpios = <&gpio LPC_GPIO(4,9) GPIO_ACTIVE_LOW>;
73*f126890aSEmmanuel Vadot		};
74*f126890aSEmmanuel Vadot
75*f126890aSEmmanuel Vadot		button2 {
76*f126890aSEmmanuel Vadot			label = "joy_up";
77*f126890aSEmmanuel Vadot			linux,code = <KEY_UP>;
78*f126890aSEmmanuel Vadot			gpios = <&gpio LPC_GPIO(4,10) GPIO_ACTIVE_LOW>;
79*f126890aSEmmanuel Vadot		};
80*f126890aSEmmanuel Vadot
81*f126890aSEmmanuel Vadot		button3 {
82*f126890aSEmmanuel Vadot			label = "joy_right";
83*f126890aSEmmanuel Vadot			linux,code = <KEY_RIGHT>;
84*f126890aSEmmanuel Vadot			gpios = <&gpio LPC_GPIO(4,12) GPIO_ACTIVE_LOW>;
85*f126890aSEmmanuel Vadot		};
86*f126890aSEmmanuel Vadot
87*f126890aSEmmanuel Vadot		button4 {
88*f126890aSEmmanuel Vadot			label = "joy_down";
89*f126890aSEmmanuel Vadot			linux,code = <KEY_DOWN>;
90*f126890aSEmmanuel Vadot			gpios = <&gpio LPC_GPIO(4,13) GPIO_ACTIVE_LOW>;
91*f126890aSEmmanuel Vadot		};
92*f126890aSEmmanuel Vadot	};
93*f126890aSEmmanuel Vadot
94*f126890aSEmmanuel Vadot	leds_mmio {
95*f126890aSEmmanuel Vadot		compatible = "gpio-leds";
96*f126890aSEmmanuel Vadot
97*f126890aSEmmanuel Vadot		led1 {
98*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 15 GPIO_ACTIVE_HIGH>;
99*f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
100*f126890aSEmmanuel Vadot		};
101*f126890aSEmmanuel Vadot
102*f126890aSEmmanuel Vadot		led2 {
103*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 14 GPIO_ACTIVE_HIGH>;
104*f126890aSEmmanuel Vadot		};
105*f126890aSEmmanuel Vadot
106*f126890aSEmmanuel Vadot		led3 {
107*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 13 GPIO_ACTIVE_HIGH>;
108*f126890aSEmmanuel Vadot		};
109*f126890aSEmmanuel Vadot
110*f126890aSEmmanuel Vadot		led4 {
111*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 12 GPIO_ACTIVE_HIGH>;
112*f126890aSEmmanuel Vadot		};
113*f126890aSEmmanuel Vadot
114*f126890aSEmmanuel Vadot		led5 {
115*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 11 GPIO_ACTIVE_HIGH>;
116*f126890aSEmmanuel Vadot		};
117*f126890aSEmmanuel Vadot
118*f126890aSEmmanuel Vadot		led6 {
119*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 10 GPIO_ACTIVE_HIGH>;
120*f126890aSEmmanuel Vadot		};
121*f126890aSEmmanuel Vadot
122*f126890aSEmmanuel Vadot		led7 {
123*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 9 GPIO_ACTIVE_HIGH>;
124*f126890aSEmmanuel Vadot		};
125*f126890aSEmmanuel Vadot
126*f126890aSEmmanuel Vadot		led8 {
127*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 8 GPIO_ACTIVE_HIGH>;
128*f126890aSEmmanuel Vadot		};
129*f126890aSEmmanuel Vadot
130*f126890aSEmmanuel Vadot		led9 {
131*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 7 GPIO_ACTIVE_HIGH>;
132*f126890aSEmmanuel Vadot		};
133*f126890aSEmmanuel Vadot
134*f126890aSEmmanuel Vadot		led10 {
135*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 6 GPIO_ACTIVE_HIGH>;
136*f126890aSEmmanuel Vadot		};
137*f126890aSEmmanuel Vadot
138*f126890aSEmmanuel Vadot		led11 {
139*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 5 GPIO_ACTIVE_HIGH>;
140*f126890aSEmmanuel Vadot		};
141*f126890aSEmmanuel Vadot
142*f126890aSEmmanuel Vadot		led12 {
143*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 4 GPIO_ACTIVE_HIGH>;
144*f126890aSEmmanuel Vadot		};
145*f126890aSEmmanuel Vadot
146*f126890aSEmmanuel Vadot		led13 {
147*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 3 GPIO_ACTIVE_HIGH>;
148*f126890aSEmmanuel Vadot		};
149*f126890aSEmmanuel Vadot
150*f126890aSEmmanuel Vadot		led14 {
151*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 2 GPIO_ACTIVE_HIGH>;
152*f126890aSEmmanuel Vadot		};
153*f126890aSEmmanuel Vadot
154*f126890aSEmmanuel Vadot		led15 {
155*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 1 GPIO_ACTIVE_HIGH>;
156*f126890aSEmmanuel Vadot		};
157*f126890aSEmmanuel Vadot
158*f126890aSEmmanuel Vadot		led16 {
159*f126890aSEmmanuel Vadot			gpios = <&mmio_leds 0 GPIO_ACTIVE_HIGH>;
160*f126890aSEmmanuel Vadot		};
161*f126890aSEmmanuel Vadot	};
162*f126890aSEmmanuel Vadot};
163*f126890aSEmmanuel Vadot
164*f126890aSEmmanuel Vadot&pinctrl {
165*f126890aSEmmanuel Vadot	emc_pins: emc-pins {
166*f126890aSEmmanuel Vadot		emc_addr0_23_cfg {
167*f126890aSEmmanuel Vadot			pins =	"p2_9",  "p2_10", "p2_11", "p2_12",
168*f126890aSEmmanuel Vadot				"p2_13", "p1_0",  "p1_1",  "p1_2",
169*f126890aSEmmanuel Vadot				"p2_8",  "p2_7",  "p2_6",  "p2_2",
170*f126890aSEmmanuel Vadot				"p2_1",  "p2_0",  "p6_8",  "p6_7",
171*f126890aSEmmanuel Vadot				"pd_16", "pd_15", "pe_0",  "pe_1",
172*f126890aSEmmanuel Vadot				"pe_2",  "pe_3",  "pe_4",  "pa_4";
173*f126890aSEmmanuel Vadot			function = "emc";
174*f126890aSEmmanuel Vadot			slew-rate = <1>;
175*f126890aSEmmanuel Vadot			bias-disable;
176*f126890aSEmmanuel Vadot			input-enable;
177*f126890aSEmmanuel Vadot			input-schmitt-disable;
178*f126890aSEmmanuel Vadot		};
179*f126890aSEmmanuel Vadot
180*f126890aSEmmanuel Vadot		emc_data0_31_cfg {
181*f126890aSEmmanuel Vadot			pins =	"p1_7",  "p1_8",  "p1_9",  "p1_10",
182*f126890aSEmmanuel Vadot				"p1_11", "p1_12", "p1_13", "p1_14",
183*f126890aSEmmanuel Vadot				"p5_4",  "p5_5",  "p5_6",  "p5_7",
184*f126890aSEmmanuel Vadot				"p5_0",  "p5_1",  "p5_2",  "p5_3",
185*f126890aSEmmanuel Vadot				"pd_2",  "pd_3",  "pd_4",  "pd_5",
186*f126890aSEmmanuel Vadot				"pd_6",  "pd_7",  "pd_8",  "pd_9",
187*f126890aSEmmanuel Vadot				"pe_5",  "pe_6",  "pe_7",  "pe_8",
188*f126890aSEmmanuel Vadot				"pe_9",  "pe_10", "pe_11", "pe_12";
189*f126890aSEmmanuel Vadot			function = "emc";
190*f126890aSEmmanuel Vadot			slew-rate = <1>;
191*f126890aSEmmanuel Vadot			bias-disable;
192*f126890aSEmmanuel Vadot			input-enable;
193*f126890aSEmmanuel Vadot			input-schmitt-disable;
194*f126890aSEmmanuel Vadot		};
195*f126890aSEmmanuel Vadot
196*f126890aSEmmanuel Vadot		emc_we_oe_cfg {
197*f126890aSEmmanuel Vadot			pins = "p1_6", "p1_3";
198*f126890aSEmmanuel Vadot			function = "emc";
199*f126890aSEmmanuel Vadot			slew-rate = <1>;
200*f126890aSEmmanuel Vadot			bias-disable;
201*f126890aSEmmanuel Vadot			input-enable;
202*f126890aSEmmanuel Vadot			input-schmitt-disable;
203*f126890aSEmmanuel Vadot		};
204*f126890aSEmmanuel Vadot
205*f126890aSEmmanuel Vadot		emc_bls0_3_cfg {
206*f126890aSEmmanuel Vadot			pins = "p1_4", "p6_6", "pd_13", "pd_10";
207*f126890aSEmmanuel Vadot			function = "emc";
208*f126890aSEmmanuel Vadot			slew-rate = <1>;
209*f126890aSEmmanuel Vadot			bias-disable;
210*f126890aSEmmanuel Vadot			input-enable;
211*f126890aSEmmanuel Vadot			input-schmitt-disable;
212*f126890aSEmmanuel Vadot		};
213*f126890aSEmmanuel Vadot
214*f126890aSEmmanuel Vadot		emc_cs0_3_cfg {
215*f126890aSEmmanuel Vadot			pins = "p1_5", "p6_3", "pd_12", "pd_11";
216*f126890aSEmmanuel Vadot			function = "emc";
217*f126890aSEmmanuel Vadot			slew-rate = <1>;
218*f126890aSEmmanuel Vadot			bias-disable;
219*f126890aSEmmanuel Vadot			input-enable;
220*f126890aSEmmanuel Vadot			input-schmitt-disable;
221*f126890aSEmmanuel Vadot		};
222*f126890aSEmmanuel Vadot
223*f126890aSEmmanuel Vadot		emc_sdram_dqm0_3_cfg {
224*f126890aSEmmanuel Vadot			pins = "p6_12", "p6_10", "pd_0", "pe_13";
225*f126890aSEmmanuel Vadot			function = "emc";
226*f126890aSEmmanuel Vadot			slew-rate = <1>;
227*f126890aSEmmanuel Vadot			bias-disable;
228*f126890aSEmmanuel Vadot			input-enable;
229*f126890aSEmmanuel Vadot			input-schmitt-disable;
230*f126890aSEmmanuel Vadot		};
231*f126890aSEmmanuel Vadot
232*f126890aSEmmanuel Vadot		emc_sdram_ras_cas_cfg {
233*f126890aSEmmanuel Vadot			pins = "p6_5", "p6_4";
234*f126890aSEmmanuel Vadot			function = "emc";
235*f126890aSEmmanuel Vadot			slew-rate = <1>;
236*f126890aSEmmanuel Vadot			bias-disable;
237*f126890aSEmmanuel Vadot			input-enable;
238*f126890aSEmmanuel Vadot			input-schmitt-disable;
239*f126890aSEmmanuel Vadot		};
240*f126890aSEmmanuel Vadot
241*f126890aSEmmanuel Vadot		emc_sdram_dycs0_cfg {
242*f126890aSEmmanuel Vadot			pins = "p6_9";
243*f126890aSEmmanuel Vadot			function = "emc";
244*f126890aSEmmanuel Vadot			slew-rate = <1>;
245*f126890aSEmmanuel Vadot			bias-disable;
246*f126890aSEmmanuel Vadot			input-enable;
247*f126890aSEmmanuel Vadot			input-schmitt-disable;
248*f126890aSEmmanuel Vadot		};
249*f126890aSEmmanuel Vadot
250*f126890aSEmmanuel Vadot		emc_sdram_cke_cfg {
251*f126890aSEmmanuel Vadot			pins = "p6_11";
252*f126890aSEmmanuel Vadot			function = "emc";
253*f126890aSEmmanuel Vadot			slew-rate = <1>;
254*f126890aSEmmanuel Vadot			bias-disable;
255*f126890aSEmmanuel Vadot			input-enable;
256*f126890aSEmmanuel Vadot			input-schmitt-disable;
257*f126890aSEmmanuel Vadot		};
258*f126890aSEmmanuel Vadot
259*f126890aSEmmanuel Vadot		emc_sdram_clock_cfg {
260*f126890aSEmmanuel Vadot			pins = "clk0", "clk1", "clk2", "clk3";
261*f126890aSEmmanuel Vadot			function = "emc";
262*f126890aSEmmanuel Vadot			slew-rate = <1>;
263*f126890aSEmmanuel Vadot			bias-disable;
264*f126890aSEmmanuel Vadot			input-enable;
265*f126890aSEmmanuel Vadot			input-schmitt-disable;
266*f126890aSEmmanuel Vadot		};
267*f126890aSEmmanuel Vadot	};
268*f126890aSEmmanuel Vadot
269*f126890aSEmmanuel Vadot	enet_rmii_pins: enet-rmii-pins {
270*f126890aSEmmanuel Vadot		enet_rmii_rxd_cfg {
271*f126890aSEmmanuel Vadot			pins = "p1_15", "p0_0";
272*f126890aSEmmanuel Vadot			function = "enet";
273*f126890aSEmmanuel Vadot			slew-rate = <1>;
274*f126890aSEmmanuel Vadot			bias-disable;
275*f126890aSEmmanuel Vadot			input-enable;
276*f126890aSEmmanuel Vadot			input-schmitt-disable;
277*f126890aSEmmanuel Vadot		};
278*f126890aSEmmanuel Vadot
279*f126890aSEmmanuel Vadot		enet_rmii_txd_cfg {
280*f126890aSEmmanuel Vadot			pins = "p1_18", "p1_20";
281*f126890aSEmmanuel Vadot			function = "enet";
282*f126890aSEmmanuel Vadot			slew-rate = <1>;
283*f126890aSEmmanuel Vadot			bias-disable;
284*f126890aSEmmanuel Vadot			input-enable;
285*f126890aSEmmanuel Vadot			input-schmitt-disable;
286*f126890aSEmmanuel Vadot		};
287*f126890aSEmmanuel Vadot
288*f126890aSEmmanuel Vadot		enet_rmii_rx_dv_cfg {
289*f126890aSEmmanuel Vadot			pins = "p1_16";
290*f126890aSEmmanuel Vadot			function = "enet";
291*f126890aSEmmanuel Vadot			bias-disable;
292*f126890aSEmmanuel Vadot			input-enable;
293*f126890aSEmmanuel Vadot			input-schmitt-disable;
294*f126890aSEmmanuel Vadot		};
295*f126890aSEmmanuel Vadot
296*f126890aSEmmanuel Vadot		enet_rmii_tx_en_cfg {
297*f126890aSEmmanuel Vadot			pins = "p0_1";
298*f126890aSEmmanuel Vadot			function = "enet";
299*f126890aSEmmanuel Vadot			bias-disable;
300*f126890aSEmmanuel Vadot			input-enable;
301*f126890aSEmmanuel Vadot			input-schmitt-disable;
302*f126890aSEmmanuel Vadot		};
303*f126890aSEmmanuel Vadot
304*f126890aSEmmanuel Vadot		enet_ref_clk_cfg {
305*f126890aSEmmanuel Vadot			pins = "p1_19";
306*f126890aSEmmanuel Vadot			function = "enet";
307*f126890aSEmmanuel Vadot			slew-rate = <1>;
308*f126890aSEmmanuel Vadot			bias-disable;
309*f126890aSEmmanuel Vadot			input-enable;
310*f126890aSEmmanuel Vadot			input-schmitt-disable;
311*f126890aSEmmanuel Vadot		};
312*f126890aSEmmanuel Vadot
313*f126890aSEmmanuel Vadot		enet_mdio_cfg {
314*f126890aSEmmanuel Vadot			pins = "p1_17";
315*f126890aSEmmanuel Vadot			function = "enet";
316*f126890aSEmmanuel Vadot			bias-disable;
317*f126890aSEmmanuel Vadot			input-enable;
318*f126890aSEmmanuel Vadot			input-schmitt-disable;
319*f126890aSEmmanuel Vadot		};
320*f126890aSEmmanuel Vadot
321*f126890aSEmmanuel Vadot		enet_mdc_cfg {
322*f126890aSEmmanuel Vadot			pins = "pc_1";
323*f126890aSEmmanuel Vadot			function = "enet";
324*f126890aSEmmanuel Vadot			slew-rate = <1>;
325*f126890aSEmmanuel Vadot			bias-disable;
326*f126890aSEmmanuel Vadot			input-enable;
327*f126890aSEmmanuel Vadot			input-schmitt-disable;
328*f126890aSEmmanuel Vadot		};
329*f126890aSEmmanuel Vadot	};
330*f126890aSEmmanuel Vadot
331*f126890aSEmmanuel Vadot	gpio_joystick_pins: gpio-joystick-pins {
332*f126890aSEmmanuel Vadot		gpio_joystick_cfg {
333*f126890aSEmmanuel Vadot			pins =	"p9_0", "p9_1", "pa_1", "pa_2", "pa_3";
334*f126890aSEmmanuel Vadot			function = "gpio";
335*f126890aSEmmanuel Vadot			input-enable;
336*f126890aSEmmanuel Vadot			bias-disable;
337*f126890aSEmmanuel Vadot		};
338*f126890aSEmmanuel Vadot	};
339*f126890aSEmmanuel Vadot
340*f126890aSEmmanuel Vadot	i2c0_pins: i2c0-pins {
341*f126890aSEmmanuel Vadot		i2c0_pins_cfg {
342*f126890aSEmmanuel Vadot			pins = "i2c0_scl", "i2c0_sda";
343*f126890aSEmmanuel Vadot			function = "i2c0";
344*f126890aSEmmanuel Vadot			input-enable;
345*f126890aSEmmanuel Vadot		};
346*f126890aSEmmanuel Vadot	};
347*f126890aSEmmanuel Vadot
348*f126890aSEmmanuel Vadot	sdmmc_pins: sdmmc-pins {
349*f126890aSEmmanuel Vadot		sdmmc_clk_cfg {
350*f126890aSEmmanuel Vadot			pins = "pc_0";
351*f126890aSEmmanuel Vadot			function = "sdmmc";
352*f126890aSEmmanuel Vadot			slew-rate = <1>;
353*f126890aSEmmanuel Vadot			bias-pull-down;
354*f126890aSEmmanuel Vadot		};
355*f126890aSEmmanuel Vadot
356*f126890aSEmmanuel Vadot		sdmmc_cmd_dat0_3_cfg {
357*f126890aSEmmanuel Vadot			pins = "pc_4", "pc_5", "pc_6", "pc_7", "pc_10";
358*f126890aSEmmanuel Vadot			function = "sdmmc";
359*f126890aSEmmanuel Vadot			slew-rate = <1>;
360*f126890aSEmmanuel Vadot			bias-disable;
361*f126890aSEmmanuel Vadot			input-enable;
362*f126890aSEmmanuel Vadot			input-schmitt-disable;
363*f126890aSEmmanuel Vadot		};
364*f126890aSEmmanuel Vadot
365*f126890aSEmmanuel Vadot		sdmmc_cd_cfg {
366*f126890aSEmmanuel Vadot			pins = "pc_8";
367*f126890aSEmmanuel Vadot			function = "sdmmc";
368*f126890aSEmmanuel Vadot			bias-pull-down;
369*f126890aSEmmanuel Vadot			input-enable;
370*f126890aSEmmanuel Vadot		};
371*f126890aSEmmanuel Vadot
372*f126890aSEmmanuel Vadot		sdmmc_pow_cfg {
373*f126890aSEmmanuel Vadot			pins = "pc_9";
374*f126890aSEmmanuel Vadot			function = "sdmmc";
375*f126890aSEmmanuel Vadot			bias-pull-down;
376*f126890aSEmmanuel Vadot		};
377*f126890aSEmmanuel Vadot	};
378*f126890aSEmmanuel Vadot
379*f126890aSEmmanuel Vadot	spifi_pins: spifi-pins {
380*f126890aSEmmanuel Vadot		spifi_clk_cfg {
381*f126890aSEmmanuel Vadot			pins = "p3_3";
382*f126890aSEmmanuel Vadot			function = "spifi";
383*f126890aSEmmanuel Vadot			slew-rate = <1>;
384*f126890aSEmmanuel Vadot			bias-disable;
385*f126890aSEmmanuel Vadot			input-enable;
386*f126890aSEmmanuel Vadot			input-schmitt-disable;
387*f126890aSEmmanuel Vadot		};
388*f126890aSEmmanuel Vadot
389*f126890aSEmmanuel Vadot		spifi_mosi_miso_sio2_3_cfg {
390*f126890aSEmmanuel Vadot			pins = "p3_7", "p3_6", "p3_5", "p3_4";
391*f126890aSEmmanuel Vadot			function = "spifi";
392*f126890aSEmmanuel Vadot			slew-rate = <0>;
393*f126890aSEmmanuel Vadot			bias-disable;
394*f126890aSEmmanuel Vadot			input-enable;
395*f126890aSEmmanuel Vadot			input-schmitt-disable;
396*f126890aSEmmanuel Vadot		};
397*f126890aSEmmanuel Vadot
398*f126890aSEmmanuel Vadot		spifi_cs_cfg {
399*f126890aSEmmanuel Vadot			pins = "p3_8";
400*f126890aSEmmanuel Vadot			function = "spifi";
401*f126890aSEmmanuel Vadot			bias-disable;
402*f126890aSEmmanuel Vadot		};
403*f126890aSEmmanuel Vadot	};
404*f126890aSEmmanuel Vadot
405*f126890aSEmmanuel Vadot	ssp0_pins: ssp0-pins {
406*f126890aSEmmanuel Vadot		ssp0_sck_miso_mosi {
407*f126890aSEmmanuel Vadot			pins = "pf_0", "pf_2", "pf_3";
408*f126890aSEmmanuel Vadot			function = "ssp0";
409*f126890aSEmmanuel Vadot			slew-rate = <1>;
410*f126890aSEmmanuel Vadot			bias-pull-down;
411*f126890aSEmmanuel Vadot			input-enable;
412*f126890aSEmmanuel Vadot			input-schmitt-disable;
413*f126890aSEmmanuel Vadot		};
414*f126890aSEmmanuel Vadot
415*f126890aSEmmanuel Vadot		ssp0_ssel {
416*f126890aSEmmanuel Vadot			pins = "pf_1";
417*f126890aSEmmanuel Vadot			function = "ssp0";
418*f126890aSEmmanuel Vadot			bias-pull-up;
419*f126890aSEmmanuel Vadot		};
420*f126890aSEmmanuel Vadot	};
421*f126890aSEmmanuel Vadot
422*f126890aSEmmanuel Vadot	uart0_pins: uart0-pins {
423*f126890aSEmmanuel Vadot		uart0_rx_cfg {
424*f126890aSEmmanuel Vadot			pins = "pf_11";
425*f126890aSEmmanuel Vadot			function = "uart0";
426*f126890aSEmmanuel Vadot			input-schmitt-disable;
427*f126890aSEmmanuel Vadot			bias-disable;
428*f126890aSEmmanuel Vadot			input-enable;
429*f126890aSEmmanuel Vadot		};
430*f126890aSEmmanuel Vadot
431*f126890aSEmmanuel Vadot		uart0_tx_cfg {
432*f126890aSEmmanuel Vadot			pins = "pf_10";
433*f126890aSEmmanuel Vadot			function = "uart0";
434*f126890aSEmmanuel Vadot			bias-pull-down;
435*f126890aSEmmanuel Vadot		};
436*f126890aSEmmanuel Vadot	};
437*f126890aSEmmanuel Vadot
438*f126890aSEmmanuel Vadot	uart3_pins: uart3-pins {
439*f126890aSEmmanuel Vadot		uart3_rx_cfg {
440*f126890aSEmmanuel Vadot			pins = "p2_4";
441*f126890aSEmmanuel Vadot			function = "uart3";
442*f126890aSEmmanuel Vadot			input-schmitt-disable;
443*f126890aSEmmanuel Vadot			bias-disable;
444*f126890aSEmmanuel Vadot			input-enable;
445*f126890aSEmmanuel Vadot		};
446*f126890aSEmmanuel Vadot
447*f126890aSEmmanuel Vadot		uart3_tx_cfg {
448*f126890aSEmmanuel Vadot			pins = "p9_3";
449*f126890aSEmmanuel Vadot			function = "uart3";
450*f126890aSEmmanuel Vadot			bias-pull-down;
451*f126890aSEmmanuel Vadot		};
452*f126890aSEmmanuel Vadot	};
453*f126890aSEmmanuel Vadot
454*f126890aSEmmanuel Vadot	usb0_pins: usb0-pins {
455*f126890aSEmmanuel Vadot		usb0_pwr_enable {
456*f126890aSEmmanuel Vadot			pins = "p2_3";
457*f126890aSEmmanuel Vadot			function = "usb0";
458*f126890aSEmmanuel Vadot		};
459*f126890aSEmmanuel Vadot
460*f126890aSEmmanuel Vadot		usb0_pwr_fault {
461*f126890aSEmmanuel Vadot			pins = "p8_0";
462*f126890aSEmmanuel Vadot			function = "usb0";
463*f126890aSEmmanuel Vadot			bias-disable;
464*f126890aSEmmanuel Vadot			input-enable;
465*f126890aSEmmanuel Vadot		};
466*f126890aSEmmanuel Vadot	};
467*f126890aSEmmanuel Vadot};
468*f126890aSEmmanuel Vadot
469*f126890aSEmmanuel Vadot&adc0 {
470*f126890aSEmmanuel Vadot	status = "okay";
471*f126890aSEmmanuel Vadot	vref-supply = <&vcc>;
472*f126890aSEmmanuel Vadot};
473*f126890aSEmmanuel Vadot
474*f126890aSEmmanuel Vadot&i2c0 {
475*f126890aSEmmanuel Vadot	status = "okay";
476*f126890aSEmmanuel Vadot	pinctrl-names = "default";
477*f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c0_pins>;
478*f126890aSEmmanuel Vadot	clock-frequency = <400000>;
479*f126890aSEmmanuel Vadot
480*f126890aSEmmanuel Vadot	mma7455@1d {
481*f126890aSEmmanuel Vadot		compatible = "fsl,mma7455";
482*f126890aSEmmanuel Vadot		reg = <0x1d>;
483*f126890aSEmmanuel Vadot	};
484*f126890aSEmmanuel Vadot
485*f126890aSEmmanuel Vadot	lm75@48 {
486*f126890aSEmmanuel Vadot		compatible = "nxp,lm75";
487*f126890aSEmmanuel Vadot		reg = <0x48>;
488*f126890aSEmmanuel Vadot	};
489*f126890aSEmmanuel Vadot
490*f126890aSEmmanuel Vadot	eeprom@57 {
491*f126890aSEmmanuel Vadot		compatible = "microchip,24c64", "atmel,24c64";
492*f126890aSEmmanuel Vadot		reg = <0x57>;
493*f126890aSEmmanuel Vadot	};
494*f126890aSEmmanuel Vadot};
495*f126890aSEmmanuel Vadot
496*f126890aSEmmanuel Vadot&dac {
497*f126890aSEmmanuel Vadot	status = "okay";
498*f126890aSEmmanuel Vadot	vref-supply = <&vcc>;
499*f126890aSEmmanuel Vadot};
500*f126890aSEmmanuel Vadot
501*f126890aSEmmanuel Vadot&emc {
502*f126890aSEmmanuel Vadot	status = "okay";
503*f126890aSEmmanuel Vadot	pinctrl-names = "default";
504*f126890aSEmmanuel Vadot	pinctrl-0 = <&emc_pins>;
505*f126890aSEmmanuel Vadot
506*f126890aSEmmanuel Vadot	cs0 {
507*f126890aSEmmanuel Vadot		#address-cells = <2>;
508*f126890aSEmmanuel Vadot		#size-cells = <1>;
509*f126890aSEmmanuel Vadot		ranges;
510*f126890aSEmmanuel Vadot
511*f126890aSEmmanuel Vadot		mpmc,cs = <0>;
512*f126890aSEmmanuel Vadot		mpmc,memory-width = <16>;
513*f126890aSEmmanuel Vadot		mpmc,byte-lane-low;
514*f126890aSEmmanuel Vadot		mpmc,write-enable-delay = <0>;
515*f126890aSEmmanuel Vadot		mpmc,output-enable-delay = <0>;
516*f126890aSEmmanuel Vadot		mpmc,read-access-delay = <70>;
517*f126890aSEmmanuel Vadot		mpmc,page-mode-read-delay = <70>;
518*f126890aSEmmanuel Vadot
519*f126890aSEmmanuel Vadot		flash@0,0 {
520*f126890aSEmmanuel Vadot			compatible = "sst,sst39vf320", "cfi-flash";
521*f126890aSEmmanuel Vadot			reg = <0 0 0x400000>;
522*f126890aSEmmanuel Vadot			bank-width = <2>;
523*f126890aSEmmanuel Vadot			#address-cells = <1>;
524*f126890aSEmmanuel Vadot			#size-cells = <1>;
525*f126890aSEmmanuel Vadot
526*f126890aSEmmanuel Vadot			partition@0 {
527*f126890aSEmmanuel Vadot				label = "bootloader";
528*f126890aSEmmanuel Vadot				reg = <0x000000 0x040000>; /* 256 KiB */
529*f126890aSEmmanuel Vadot			};
530*f126890aSEmmanuel Vadot
531*f126890aSEmmanuel Vadot			partition@1 {
532*f126890aSEmmanuel Vadot				label = "kernel";
533*f126890aSEmmanuel Vadot				reg = <0x040000 0x2c0000>; /* 2.75 MiB */
534*f126890aSEmmanuel Vadot			};
535*f126890aSEmmanuel Vadot
536*f126890aSEmmanuel Vadot			partition@2 {
537*f126890aSEmmanuel Vadot				label = "rootfs";
538*f126890aSEmmanuel Vadot				reg = <0x300000 0x100000>; /* 1 MiB */
539*f126890aSEmmanuel Vadot			};
540*f126890aSEmmanuel Vadot		};
541*f126890aSEmmanuel Vadot	};
542*f126890aSEmmanuel Vadot
543*f126890aSEmmanuel Vadot	cs2 {
544*f126890aSEmmanuel Vadot		#address-cells = <2>;
545*f126890aSEmmanuel Vadot		#size-cells = <1>;
546*f126890aSEmmanuel Vadot		ranges;
547*f126890aSEmmanuel Vadot
548*f126890aSEmmanuel Vadot		mpmc,cs = <2>;
549*f126890aSEmmanuel Vadot		mpmc,memory-width = <16>;
550*f126890aSEmmanuel Vadot
551*f126890aSEmmanuel Vadot		mmio_leds: gpio@2,0 {
552*f126890aSEmmanuel Vadot			compatible = "ti,7416374";
553*f126890aSEmmanuel Vadot			reg = <2 0 0x2>;
554*f126890aSEmmanuel Vadot			gpio-controller;
555*f126890aSEmmanuel Vadot			#gpio-cells = <2>;
556*f126890aSEmmanuel Vadot		};
557*f126890aSEmmanuel Vadot
558*f126890aSEmmanuel Vadot	};
559*f126890aSEmmanuel Vadot};
560*f126890aSEmmanuel Vadot
561*f126890aSEmmanuel Vadot&enet_tx_clk {
562*f126890aSEmmanuel Vadot	clock-frequency = <50000000>;
563*f126890aSEmmanuel Vadot};
564*f126890aSEmmanuel Vadot
565*f126890aSEmmanuel Vadot&mac {
566*f126890aSEmmanuel Vadot	status = "okay";
567*f126890aSEmmanuel Vadot	phy-mode = "rmii";
568*f126890aSEmmanuel Vadot	pinctrl-names = "default";
569*f126890aSEmmanuel Vadot	pinctrl-0 = <&enet_rmii_pins>;
570*f126890aSEmmanuel Vadot};
571*f126890aSEmmanuel Vadot
572*f126890aSEmmanuel Vadot&mmcsd {
573*f126890aSEmmanuel Vadot	status = "okay";
574*f126890aSEmmanuel Vadot	bus-width = <4>;
575*f126890aSEmmanuel Vadot	vmmc-supply = <&vmmc>;
576*f126890aSEmmanuel Vadot	pinctrl-names = "default";
577*f126890aSEmmanuel Vadot	pinctrl-0 = <&sdmmc_pins>;
578*f126890aSEmmanuel Vadot};
579*f126890aSEmmanuel Vadot
580*f126890aSEmmanuel Vadot&spifi {
581*f126890aSEmmanuel Vadot	status = "okay";
582*f126890aSEmmanuel Vadot	pinctrl-names = "default";
583*f126890aSEmmanuel Vadot	pinctrl-0 = <&spifi_pins>;
584*f126890aSEmmanuel Vadot
585*f126890aSEmmanuel Vadot	flash {
586*f126890aSEmmanuel Vadot		compatible = "jedec,spi-nor";
587*f126890aSEmmanuel Vadot		spi-cpol;
588*f126890aSEmmanuel Vadot		spi-cpha;
589*f126890aSEmmanuel Vadot		spi-rx-bus-width = <4>;
590*f126890aSEmmanuel Vadot		#address-cells = <1>;
591*f126890aSEmmanuel Vadot		#size-cells = <1>;
592*f126890aSEmmanuel Vadot
593*f126890aSEmmanuel Vadot		partition@0 {
594*f126890aSEmmanuel Vadot			label = "data";
595*f126890aSEmmanuel Vadot			reg = <0 0x200000>;
596*f126890aSEmmanuel Vadot		};
597*f126890aSEmmanuel Vadot	};
598*f126890aSEmmanuel Vadot};
599*f126890aSEmmanuel Vadot
600*f126890aSEmmanuel Vadot&ssp0 {
601*f126890aSEmmanuel Vadot	status = "okay";
602*f126890aSEmmanuel Vadot	pinctrl-names = "default";
603*f126890aSEmmanuel Vadot	pinctrl-0 = <&ssp0_pins>;
604*f126890aSEmmanuel Vadot	num-cs = <1>;
605*f126890aSEmmanuel Vadot};
606*f126890aSEmmanuel Vadot
607*f126890aSEmmanuel Vadot&uart0 {
608*f126890aSEmmanuel Vadot	status = "okay";
609*f126890aSEmmanuel Vadot	pinctrl-names = "default";
610*f126890aSEmmanuel Vadot	pinctrl-0 = <&uart0_pins>;
611*f126890aSEmmanuel Vadot};
612*f126890aSEmmanuel Vadot
613*f126890aSEmmanuel Vadot&uart3 {
614*f126890aSEmmanuel Vadot	status = "okay";
615*f126890aSEmmanuel Vadot	pinctrl-names = "default";
616*f126890aSEmmanuel Vadot	pinctrl-0 = <&uart3_pins>;
617*f126890aSEmmanuel Vadot};
618*f126890aSEmmanuel Vadot
619*f126890aSEmmanuel Vadot&usb0 {
620*f126890aSEmmanuel Vadot	status = "okay";
621*f126890aSEmmanuel Vadot	pinctrl-names = "default";
622*f126890aSEmmanuel Vadot	pinctrl-0 = <&usb0_pins>;
623*f126890aSEmmanuel Vadot};
624