Linux Audio

Check our new training course

Linux kernel drivers training

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