| // SPDX-License-Identifier: GPL-2.0-or-later | 
 | /* | 
 |  * Embedded Artists LPC3250 board | 
 |  * | 
 |  * Copyright 2012 Roland Stigge <stigge@antcom.de> | 
 |  */ | 
 |  | 
 | /dts-v1/; | 
 | #include "lpc32xx.dtsi" | 
 |  | 
 | / { | 
 | 	model = "Embedded Artists LPC3250 board based on NXP LPC3250"; | 
 | 	compatible = "ea,ea3250", "nxp,lpc3250"; | 
 |  | 
 | 	memory@80000000 { | 
 | 		device_type = "memory"; | 
 | 		reg = <0x80000000 0x4000000>; | 
 | 	}; | 
 |  | 
 | 	gpio-keys { | 
 | 		compatible = "gpio-keys"; | 
 | 		autorepeat; | 
 |  | 
 | 		button { | 
 | 			label = "Interrupt Key"; | 
 | 			linux,code = <103>; | 
 | 			gpios = <&gpio 4 1 0>; /* GPI_P3 1 */ | 
 | 		}; | 
 |  | 
 | 		key1 { | 
 | 			label = "KEY1"; | 
 | 			linux,code = <1>; | 
 | 			gpios = <&pca9532 0 0>; | 
 | 		}; | 
 |  | 
 | 		key2 { | 
 | 			label = "KEY2"; | 
 | 			linux,code = <2>; | 
 | 			gpios = <&pca9532 1 0>; | 
 | 		}; | 
 |  | 
 | 		key3 { | 
 | 			label = "KEY3"; | 
 | 			linux,code = <3>; | 
 | 			gpios = <&pca9532 2 0>; | 
 | 		}; | 
 |  | 
 | 		key4 { | 
 | 			label = "KEY4"; | 
 | 			linux,code = <4>; | 
 | 			gpios = <&pca9532 3 0>; | 
 | 		}; | 
 |  | 
 | 		joy0 { | 
 | 			label = "Joystick Key 0"; | 
 | 			linux,code = <10>; | 
 | 			gpios = <&gpio 2 0 0>; /* P2.0 */ | 
 | 		}; | 
 |  | 
 | 		joy1 { | 
 | 			label = "Joystick Key 1"; | 
 | 			linux,code = <11>; | 
 | 			gpios = <&gpio 2 1 0>; /* P2.1 */ | 
 | 		}; | 
 |  | 
 | 		joy2 { | 
 | 			label = "Joystick Key 2"; | 
 | 			linux,code = <12>; | 
 | 			gpios = <&gpio 2 2 0>; /* P2.2 */ | 
 | 		}; | 
 |  | 
 | 		joy3 { | 
 | 			label = "Joystick Key 3"; | 
 | 			linux,code = <13>; | 
 | 			gpios = <&gpio 2 3 0>; /* P2.3 */ | 
 | 		}; | 
 |  | 
 | 		joy4 { | 
 | 			label = "Joystick Key 4"; | 
 | 			linux,code = <14>; | 
 | 			gpios = <&gpio 2 4 0>; /* P2.4 */ | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	leds { | 
 | 		compatible = "gpio-leds"; | 
 |  | 
 | 		/* LEDs on OEM Board */ | 
 |  | 
 | 		led1 { | 
 | 			gpios = <&gpio 5 14 1>; /* GPO_P3 14, GPIO 93, active low */ | 
 | 			linux,default-trigger = "timer"; | 
 | 			default-state = "off"; | 
 | 		}; | 
 |  | 
 | 		led2 { | 
 | 			gpios = <&gpio 2 10 1>; /* P2.10, active low */ | 
 | 			default-state = "off"; | 
 | 		}; | 
 |  | 
 | 		led3 { | 
 | 			gpios = <&gpio 2 11 1>; /* P2.11, active low */ | 
 | 			default-state = "off"; | 
 | 		}; | 
 |  | 
 | 		led4 { | 
 | 			gpios = <&gpio 2 12 1>; /* P2.12, active low */ | 
 | 			default-state = "off"; | 
 | 		}; | 
 |  | 
 | 		/* LEDs on Base Board */ | 
 |  | 
 | 		lede1 { | 
 | 			gpios = <&pca9532 8 0>; | 
 | 			default-state = "off"; | 
 | 		}; | 
 | 		lede2 { | 
 | 			gpios = <&pca9532 9 0>; | 
 | 			default-state = "off"; | 
 | 		}; | 
 | 		lede3 { | 
 | 			gpios = <&pca9532 10 0>; | 
 | 			default-state = "off"; | 
 | 		}; | 
 | 		lede4 { | 
 | 			gpios = <&pca9532 11 0>; | 
 | 			default-state = "off"; | 
 | 		}; | 
 | 		lede5 { | 
 | 			gpios = <&pca9532 12 0>; | 
 | 			default-state = "off"; | 
 | 		}; | 
 | 		lede6 { | 
 | 			gpios = <&pca9532 13 0>; | 
 | 			default-state = "off"; | 
 | 		}; | 
 | 		lede7 { | 
 | 			gpios = <&pca9532 14 0>; | 
 | 			default-state = "off"; | 
 | 		}; | 
 | 		lede8 { | 
 | 			gpios = <&pca9532 15 0>; | 
 | 			default-state = "off"; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | /* 3-axis accelerometer X,Y,Z (or AD-IN instead of Z) */ | 
 | &adc { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &i2c1 { | 
 | 	clock-frequency = <100000>; | 
 |  | 
 | 	uda1380: uda1380@18 { | 
 | 		compatible = "nxp,uda1380"; | 
 | 		reg = <0x18>; | 
 | 		power-gpio = <&gpio 3 10 0>; | 
 | 		reset-gpio = <&gpio 3 2 0>; | 
 | 		dac-clk = "wspll"; | 
 | 	}; | 
 |  | 
 | 	eeprom@50 { | 
 | 		compatible = "atmel,24c256"; | 
 | 		reg = <0x50>; | 
 | 	}; | 
 |  | 
 | 	eeprom@57 { | 
 | 		compatible = "atmel,24c64"; | 
 | 		reg = <0x57>; | 
 | 	}; | 
 |  | 
 | 	pca9532: pca9532@60 { | 
 | 		compatible = "nxp,pca9532"; | 
 | 		gpio-controller; | 
 | 		#gpio-cells = <2>; | 
 | 		reg = <0x60>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &i2c2 { | 
 | 	clock-frequency = <100000>; | 
 | }; | 
 |  | 
 | &i2cusb { | 
 | 	clock-frequency = <100000>; | 
 |  | 
 | 	isp1301: usb-transceiver@2d { | 
 | 		compatible = "nxp,isp1301"; | 
 | 		reg = <0x2d>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &mac { | 
 | 	phy-mode = "rmii"; | 
 | 	use-iram; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | /* Here, choose exactly one from: ohci, usbd */ | 
 | &ohci /* &usbd */ { | 
 | 	transceiver = <&isp1301>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &sd { | 
 | 	wp-gpios = <&pca9532 5 0>; | 
 | 	cd-gpios = <&pca9532 4 0>; | 
 | 	cd-inverted; | 
 | 	bus-width = <4>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | /* 128MB Flash via SLC NAND controller */ | 
 | &slc { | 
 | 	status = "okay"; | 
 |  | 
 | 	nxp,wdr-clks = <14>; | 
 | 	nxp,wwidth = <260000000>; | 
 | 	nxp,whold = <104000000>; | 
 | 	nxp,wsetup = <200000000>; | 
 | 	nxp,rdr-clks = <14>; | 
 | 	nxp,rwidth = <34666666>; | 
 | 	nxp,rhold = <104000000>; | 
 | 	nxp,rsetup = <200000000>; | 
 | 	nand-on-flash-bbt; | 
 | 	gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */ | 
 |  | 
 | 	partitions { | 
 | 		compatible = "fixed-partitions"; | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 |  | 
 | 		mtd0@0 { | 
 | 			label = "ea3250-boot"; | 
 | 			reg = <0x00000000 0x00080000>; | 
 | 			read-only; | 
 | 		}; | 
 |  | 
 | 		mtd1@80000 { | 
 | 			label = "ea3250-uboot"; | 
 | 			reg = <0x00080000 0x000c0000>; | 
 | 			read-only; | 
 | 		}; | 
 |  | 
 | 		mtd2@140000 { | 
 | 			label = "ea3250-kernel"; | 
 | 			reg = <0x00140000 0x00400000>; | 
 | 		}; | 
 |  | 
 | 		mtd3@540000 { | 
 | 			label = "ea3250-rootfs"; | 
 | 			reg = <0x00540000 0x07ac0000>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &uart1 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &uart3 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &uart5 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &uart6 { | 
 | 	status = "okay"; | 
 | }; |