Skip to contentSkip to conversation

ARM: dts: lpc32xx: nonfunctional updates to ea3250 and phy3250 dts

PATCH Superseded Vladimir Zapolskiy 2 participants 15 messages Apr 26, 2016

Subsystems (2)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover ARM: dts: lpc32xx: nonfunctional updates to ea3250 and phy3250 dts

The change updates DTS files of PHY3250 and EA3250 boards powered by NXP LPC3250 SoC:
* flatten board DTS files by exploiting device node labels,
* add 'partitions' device node for MTD OF,
* correct Atmel vendor prefix,
* rename board DTS files by adding SoC name prefix.

The change is wanted to have to prevent similar issues on copy-paste in case if more DTS files for LPC32xx boards are submitted.

No functional changes are intended.

Vladimir Zapolskiy (7):
ARM: dts: lpc32xx: ea3250: avoid extension of device nodes by absolute path
ARM: dts: lpc32xx: ea3250: add NAND partitions device node
ARM: dts: lpc32xx: ea3250: fix Atmel at24 eeprom vendor
ARM: dts: lpc32xx: ea3250: add SoC name prefix to board dts file
ARM: dts: lpc32xx: phy3250: avoid extension of device nodes by absolute path
ARM: dts: lpc32xx: phy3250: add NAND partitions device node
ARM: dts: lpc32xx: phy3250: add SoC name prefix to board dts file

 arch/arm/boot/dts/Makefile                         |   3 +-
 .../boot/dts/{ea3250.dts => lpc3250-ea3250.dts}    | 229 ++++++++---------
 .../boot/dts/{phy3250.dts => lpc3250-phy3250.dts}  | 285 ++++++++++-----------
 3 files changed, 256 insertions(+), 261 deletions(-)
 rename arch/arm/boot/dts/{ea3250.dts => lpc3250-ea3250.dts} (61%)
 rename arch/arm/boot/dts/{phy3250.dts => lpc3250-phy3250.dts} (43%)
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/7 ARM: dts: lpc32xx: ea3250: avoid extension of device nodes by absolute path

The change simplifies layout of EA3250 board description by referencing device nodes of LPC32xx controllers by label.

No functional change intended.

---
 arch/arm/boot/dts/ea3250.dts | 226 +++++++++++++++++++++----------------------
 1 file changed, 110 insertions(+), 116 deletions(-)
arch/arm/boot/dts/ea3250.dts +110 -116
index a4a281f..7cf815a 100644
@@ -25,119 +25,6 @@
 		reg = <0x80000000 0x4000000>;
 	};
 
-	ahb {
-		mac: ethernet at 31060000 {
-			phy-mode = "rmii";
-			use-iram;
-		};
-
-		/* 128MB Flash via SLC NAND controller */
-		slc: flash at 20020000 {
-			status = "okay";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			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 */
-
-			mtd0 at 00000000 {
-				label = "ea3250-boot";
-				reg = <0x00000000 0x00080000>;
-				read-only;
-			};
-
-			mtd1 at 00080000 {
-				label = "ea3250-uboot";
-				reg = <0x00080000 0x000c0000>;
-				read-only;
-			};
-
-			mtd2 at 00140000 {
-				label = "ea3250-kernel";
-				reg = <0x00140000 0x00400000>;
-			};
-
-			mtd3 at 00540000 {
-				label = "ea3250-rootfs";
-				reg = <0x00540000 0x07ac0000>;
-			};
-		};
-
-		apb {
-			uart5: serial at 40090000 {
-				status = "okay";
-			};
-
-			uart3: serial at 40080000 {
-				status = "okay";
-			};
-
-			uart6: serial at 40098000 {
-				status = "okay";
-			};
-
-			i2c1: i2c at 400A0000 {
-				clock-frequency = <100000>;
-
-				eeprom at 50 {
-					compatible = "at,24c256";
-					reg = <0x50>;
-				};
-
-				eeprom at 57 {
-					compatible = "at,24c64";
-					reg = <0x57>;
-				};
-
-				uda1380: uda1380 at 18 {
-					compatible = "nxp,uda1380";
-					reg = <0x18>;
-					power-gpio = <&gpio 0x59 0>;
-					reset-gpio = <&gpio 0x51 0>;
-					dac-clk = "wspll";
-				};
-
-				pca9532: pca9532 at 60 {
-					compatible = "nxp,pca9532";
-					gpio-controller;
-					#gpio-cells = <2>;
-					reg = <0x60>;
-				};
-			};
-
-			i2c2: i2c at 400A8000 {
-				clock-frequency = <100000>;
-			};
-
-			sd at 20098000 {
-				wp-gpios = <&pca9532 5 0>;
-				cd-gpios = <&pca9532 4 0>;
-				cd-inverted;
-				bus-width = <4>;
-				status = "okay";
-			};
-		};
-
-		fab {
-			uart1: serial at 40014000 {
-				status = "okay";
-			};
-
-			/* 3-axis accelerometer X,Y,Z (or AD-IN instead of Z) */
-			adc at 40048000 {
-				status = "okay";
-			};
-		};
-	};
-
 	gpio_keys {
 		compatible = "gpio-keys";
 		#address-cells = <1>;
@@ -258,12 +145,44 @@
 	};
 };
 
-/* Here, choose exactly one from: ohci, usbd */
-&ohci /* &usbd */ {
-	transceiver = <&isp1301>;
+/* 3-axis accelerometer X,Y,Z (or AD-IN instead of Z) */
+&adc {
 	status = "okay";
 };
 
+&i2c1 {
+	clock-frequency = <100000>;
+
+	uda1380: uda1380 at 18 {
+		compatible = "nxp,uda1380";
+		reg = <0x18>;
+		power-gpio = <&gpio 0x59 0>;
+		reset-gpio = <&gpio 0x51 0>;
+		dac-clk = "wspll";
+	};
+
+	eeprom at 50 {
+		compatible = "at,24c256";
+		reg = <0x50>;
+	};
+
+	eeprom at 57 {
+		compatible = "at,24c64";
+		reg = <0x57>;
+	};
+
+	pca9532: pca9532 at 60 {
+		compatible = "nxp,pca9532";
+		gpio-controller;
+		#gpio-cells = <2>;
+		reg = <0x60>;
+	};
+};
+
+&i2c2 {
+	clock-frequency = <100000>;
+};
+
 &i2cusb {
 	clock-frequency = <100000>;
 
@@ -272,3 +191,78 @@
 		reg = <0x2d>;
 	};
 };
+
+&mac {
+	phy-mode = "rmii";
+	use-iram;
+};
+
+/* 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 {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	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 */
+
+	mtd0 at 00000000 {
+		label = "ea3250-boot";
+		reg = <0x00000000 0x00080000>;
+		read-only;
+	};
+
+	mtd1 at 00080000 {
+		label = "ea3250-uboot";
+		reg = <0x00080000 0x000c0000>;
+		read-only;
+	};
+
+	mtd2 at 00140000 {
+		label = "ea3250-kernel";
+		reg = <0x00140000 0x00400000>;
+	};
+
+	mtd3 at 00540000 {
+		label = "ea3250-rootfs";
+		reg = <0x00540000 0x07ac0000>;
+	};
+};
+
+&uart1 {
+	status = "okay";
+};
+
+&uart3 {
+	status = "okay";
+};
+
+&uart5 {
+	status = "okay";
+};
+
+&uart6 {
+	status = "okay";
+};
Signature · 1 line
2.1.4
#2 lore raw

PATCH 1/7 ARM: dts: lpc32xx: ea3250: avoid extension of device nodes by absolute path

Quoted 10 lines · Vladimir Zapolskiy

The change simplifies layout of EA3250 board description by referencing device nodes of LPC32xx controllers by label.

No functional change intended.

---
 arch/arm/boot/dts/ea3250.dts | 226 +++++++++++++++++++++----------------------
 1 file changed, 110 insertions(+), 116 deletions(-)
#3 lore raw

PATCH 2/7 ARM: dts: lpc32xx: ea3250: add NAND partitions device node

In reply to Vladimir Zapolskiy

To declare MTD OF partitions NAND controller device node should have a special 'partitions' subnode, the change removes a debug message from mtd/ofpart on boot:

nxp_lpc3220_slc: 'partitions' subnode not found on /ahb/flash at 20020000. Trying to parse direct subnodes as partitions.

---
 arch/arm/boot/dts/ea3250.dts | 41 ++++++++++++++++++++++-------------------
 1 file changed, 22 insertions(+), 19 deletions(-)
arch/arm/boot/dts/ea3250.dts +22 -19
index 7cf815a..58bcda9 100644
@@ -213,8 +213,6 @@
 
 /* 128MB Flash via SLC NAND controller */
 &slc {
-	#address-cells = <1>;
-	#size-cells = <1>;
 	status = "okay";
 
 	nxp,wdr-clks = <14>;
@@ -228,26 +226,31 @@
 	nand-on-flash-bbt;
 	gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
 
-	mtd0 at 00000000 {
-		label = "ea3250-boot";
-		reg = <0x00000000 0x00080000>;
-		read-only;
-	};
+	partitions {
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	mtd1 at 00080000 {
-		label = "ea3250-uboot";
-		reg = <0x00080000 0x000c0000>;
-		read-only;
-	};
+		mtd0 at 00000000 {
+			label = "ea3250-boot";
+			reg = <0x00000000 0x00080000>;
+			read-only;
+		};
 
-	mtd2 at 00140000 {
-		label = "ea3250-kernel";
-		reg = <0x00140000 0x00400000>;
-	};
+		mtd1 at 00080000 {
+			label = "ea3250-uboot";
+			reg = <0x00080000 0x000c0000>;
+			read-only;
+		};
 
-	mtd3 at 00540000 {
-		label = "ea3250-rootfs";
-		reg = <0x00540000 0x07ac0000>;
+		mtd2 at 00140000 {
+			label = "ea3250-kernel";
+			reg = <0x00140000 0x00400000>;
+		};
+
+		mtd3 at 00540000 {
+			label = "ea3250-rootfs";
+			reg = <0x00540000 0x07ac0000>;
+		};
 	};
 };
 
Signature · 1 line
2.1.4
#4 lore raw

PATCH 2/7 ARM: dts: lpc32xx: ea3250: add NAND partitions device node

Hi Vladimir,

Quoted 26 lines · Vladimir Zapolskiy

To declare MTD OF partitions NAND controller device node should have a special 'partitions' subnode, the change removes a debug message from mtd/ofpart on boot:

nxp_lpc3220_slc: 'partitions' subnode not found on /ahb/flash at 20020000. Trying to parse direct subnodes as partitions.

---
 arch/arm/boot/dts/ea3250.dts | 41 ++++++++++++++++++++++-------------------
 1 file changed, 22 insertions(+), 19 deletions(-)
arch/arm/boot/dts/ea3250.dts +0 -2
index 7cf815a..58bcda9 100644
@@ -213,8 +213,6 @@
 
 /* 128MB Flash via SLC NAND controller */
 &slc {
-	#address-cells = <1>;
-	#size-cells = <1>;
 	status = "okay";
 
 	nxp,wdr-clks = <14>;

arch/arm/boot/dts/ea3250.dts line 229

Quoted 9 lines
arch/arm/boot/dts/ea3250.dts +1 -5
@@ -228,26 +226,31 @@
 	nand-on-flash-bbt;
 	gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
 
-	mtd0 at 00000000 {
-		label = "ea3250-boot";
-		reg = <0x00000000 0x00080000>;
-		read-only;
-	};
+	partitions {

You may want to add the compatible property to the partitions here:
+ compatible = "fixed-partitions";

Refer to commit e488ca9f8d4f62c2dc36bfa5c32f68e7f05ab381 for details.

This suggestion is also valid for patch #6.

Note:
This change was required to use the "partitions" subnode on my custom LPC3250 board definition.

arch/arm/boot/dts/ea3250.dts line 232

Quoted 3 lines
arch/arm/boot/dts/ea3250.dts +2 -0
+		#address-cells = <1>;
+		#size-cells = <1>;
 

...
Sylvain

#5 lore raw

PATCH 2/7 ARM: dts: lpc32xx: ea3250: add NAND partitions device node

Hi Sylvain,

Quoted 42 lines · Sylvain Lemieux

Hi Vladimir,

Quoted 26 lines · Vladimir Zapolskiy

To declare MTD OF partitions NAND controller device node should have a special 'partitions' subnode, the change removes a debug message from mtd/ofpart on boot:

nxp_lpc3220_slc: 'partitions' subnode not found on /ahb/flash at 20020000. Trying to parse direct subnodes as partitions.

---
 arch/arm/boot/dts/ea3250.dts | 41 ++++++++++++++++++++++-------------------
 1 file changed, 22 insertions(+), 19 deletions(-)
arch/arm/boot/dts/ea3250.dts +0 -2
index 7cf815a..58bcda9 100644
@@ -213,8 +213,6 @@
 
 /* 128MB Flash via SLC NAND controller */
 &slc {
-	#address-cells = <1>;
-	#size-cells = <1>;
 	status = "okay";
 
 	nxp,wdr-clks = <14>;

arch/arm/boot/dts/ea3250.dts line 229

Quoted 9 lines
arch/arm/boot/dts/ea3250.dts +1 -5
@@ -228,26 +226,31 @@
 	nand-on-flash-bbt;
 	gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
 
-	mtd0 at 00000000 {
-		label = "ea3250-boot";
-		reg = <0x00000000 0x00080000>;
-		read-only;
-	};
+	partitions {

You may want to add the compatible property to the partitions here:

(quoted diff) +1 -0
+		compatible = "fixed-partitions";
Quoted 7 lines

Refer to commit e488ca9f8d4f62c2dc36bfa5c32f68e7f05ab381 for details.

This suggestion is also valid for patch #6.

Note:
This change was required to use the "partitions" subnode on my custom LPC3250 board definition.

I agree, will fix it shortly, thank you!

Quoted 4 lines
Quoted 3 lines
arch/arm/boot/dts/ea3250.dts +2 -0
+		#address-cells = <1>;
+		#size-cells = <1>;
 

...

--
With best wishes,
Vladimir

#6 lore raw

PATCH 3/7 ARM: dts: lpc32xx: ea3250: fix Atmel at24 eeprom vendor

In reply to Vladimir Zapolskiy

There is no 'at' hardware vendor defined yet, correct vendor prefix for Atmel is 'atmel'.

---
 arch/arm/boot/dts/ea3250.dts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm/boot/dts/ea3250.dts +2 -2
index 58bcda9..12e78c6 100644
@@ -162,12 +162,12 @@
 	};
 
 	eeprom at 50 {
-		compatible = "at,24c256";
+		compatible = "atmel,24c256";
 		reg = <0x50>;
 	};
 
 	eeprom at 57 {
-		compatible = "at,24c64";
+		compatible = "atmel,24c64";
 		reg = <0x57>;
 	};
 
Signature · 1 line
2.1.4
#8 lore raw

PATCH 4/7 ARM: dts: lpc32xx: ea3250: add SoC name prefix to board dts file

In reply to Vladimir Zapolskiy

To simplify matching of DTS files of all NXP LPC32xx powered boards by a file name add 'lpc3250' prefix to Embedded Artists LPC3250 board dts file.

---
 arch/arm/boot/dts/Makefile                           | 3 ++-
 arch/arm/boot/dts/{ea3250.dts => lpc3250-ea3250.dts} | 0
 2 files changed, 2 insertions(+), 1 deletion(-)
 rename arch/arm/boot/dts/{ea3250.dts => lpc3250-ea3250.dts} (100%)
arch/arm/boot/dts/Makefile +2 -1
index 95c1923..9f8b14f 100644
@@ -241,7 +241,8 @@ dtb-$(CONFIG_ARCH_LPC18XX) += \
 	lpc4350-hitex-eval.dtb \
 	lpc4357-ea4357-devkit.dtb
 dtb-$(CONFIG_ARCH_LPC32XX) += \
-	ea3250.dtb phy3250.dtb
+	lpc3250-ea3250.dtb \
+	phy3250.dtb
 dtb-$(CONFIG_MACH_MESON6) += \
 	meson6-atv1200.dtb
 dtb-$(CONFIG_MACH_MESON8) += \
arch/arm/boot/dts/lpc3250-ea3250.dts renamed from arch/arm/boot/dts/ea3250.dts +0 -0
similarity index 100%
rename from arch/arm/boot/dts/ea3250.dts
rename to arch/arm/boot/dts/lpc3250-ea3250.dts
Signature · 1 line
2.1.4
#9 lore raw

PATCH 4/7 ARM: dts: lpc32xx: ea3250: add SoC name prefix to board dts file

Quoted 11 lines · Vladimir Zapolskiy

To simplify matching of DTS files of all NXP LPC32xx powered boards by a file name add 'lpc3250' prefix to Embedded Artists LPC3250 board dts file.

---
 arch/arm/boot/dts/Makefile                           | 3 ++-
 arch/arm/boot/dts/{ea3250.dts => lpc3250-ea3250.dts} | 0
 2 files changed, 2 insertions(+), 1 deletion(-)
 rename arch/arm/boot/dts/{ea3250.dts => lpc3250-ea3250.dts} (100%)
#10 lore raw

PATCH 5/7 ARM: dts: lpc32xx: phy3250: avoid extension of device nodes by absolute path

In reply to Vladimir Zapolskiy

The change simplifies layout of PHY3250 board description by referencing device nodes of LPC32xx controllers by label.

No functional change intended.

---
 arch/arm/boot/dts/phy3250.dts | 282 +++++++++++++++++++++---------------------
 1 file changed, 138 insertions(+), 144 deletions(-)
arch/arm/boot/dts/phy3250.dts +138 -144
index 26e070f..c1a6e62 100644
@@ -56,147 +56,6 @@
 		};
 	};
 
-	ahb {
-		mac: ethernet at 31060000 {
-			phy-mode = "rmii";
-			use-iram;
-		};
-
-		clcd at 31040000 {
-			status = "okay";
-		};
-
-		/* 64MB Flash via SLC NAND controller */
-		slc: flash at 20020000 {
-			status = "okay";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			nxp,wdr-clks = <14>;
-			nxp,wwidth = <40000000>;
-			nxp,whold = <100000000>;
-			nxp,wsetup = <100000000>;
-			nxp,rdr-clks = <14>;
-			nxp,rwidth = <40000000>;
-			nxp,rhold = <66666666>;
-			nxp,rsetup = <100000000>;
-			nand-on-flash-bbt;
-			gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
-
-			mtd0 at 00000000 {
-				label = "phy3250-boot";
-				reg = <0x00000000 0x00064000>;
-				read-only;
-			};
-
-			mtd1 at 00064000 {
-				label = "phy3250-uboot";
-				reg = <0x00064000 0x00190000>;
-				read-only;
-			};
-
-			mtd2 at 001f4000 {
-				label = "phy3250-ubt-prms";
-				reg = <0x001f4000 0x00010000>;
-			};
-
-			mtd3 at 00204000 {
-				label = "phy3250-kernel";
-				reg = <0x00204000 0x00400000>;
-			};
-
-			mtd4 at 00604000 {
-				label = "phy3250-rootfs";
-				reg = <0x00604000 0x039fc000>;
-			};
-		};
-
-		apb {
-			uart5: serial at 40090000 {
-				status = "okay";
-			};
-
-			uart3: serial at 40080000 {
-				status = "okay";
-			};
-
-			i2c1: i2c at 400A0000 {
-				clock-frequency = <100000>;
-
-				pcf8563: rtc at 51 {
-					compatible = "nxp,pcf8563";
-					reg = <0x51>;
-				};
-
-				uda1380: uda1380 at 18 {
-					compatible = "nxp,uda1380";
-					reg = <0x18>;
-					power-gpio = <&gpio 0x59 0>;
-					reset-gpio = <&gpio 0x51 0>;
-					dac-clk = "wspll";
-				};
-			};
-
-			i2c2: i2c at 400A8000 {
-				clock-frequency = <100000>;
-			};
-
-			ssp0: ssp at 20084000 {
-				#address-cells = <1>;
-				#size-cells = <0>;
-				num-cs = <1>;
-				cs-gpios = <&gpio 3 5 0>;
-				status = "okay";
-
-				eeprom: at25 at 0 {
-					pl022,interface = <0>;
-					pl022,com-mode = <0>;
-					pl022,rx-level-trig = <1>;
-					pl022,tx-level-trig = <1>;
-					pl022,ctrl-len = <11>;
-					pl022,wait-state = <0>;
-					pl022,duplex = <0>;
-
-					at25,byte-len = <0x8000>;
-					at25,addr-mode = <2>;
-					at25,page-size = <64>;
-
-					compatible = "atmel,at25";
-					reg = <0>;
-					spi-max-frequency = <5000000>;
-				};
-			};
-
-			sd at 20098000 {
-				wp-gpios = <&gpio 3 0 0>;
-				cd-gpios = <&gpio 3 1 0>;
-				cd-inverted;
-				bus-width = <4>;
-				vmmc-supply = <&sd_reg>;
-				status = "okay";
-			};
-		};
-
-		fab {
-			uart2: serial at 40018000 {
-				status = "okay";
-			};
-
-			tsc at 40048000 {
-				status = "okay";
-			};
-
-			key at 40050000 {
-				status = "okay";
-				keypad,num-rows = <1>;
-				keypad,num-columns = <1>;
-				nxp,debounce-delay-ms = <3>;
-				nxp,scan-delay-ms = <34>;
-				linux,keymap = <0x00000002>;
-			};
-		};
-	};
-
 	leds {
 		compatible = "gpio-leds";
 
@@ -212,12 +71,31 @@
 	};
 };
 
-/* Here, choose exactly one from: ohci, usbd */
-&ohci /* &usbd */ {
-	transceiver = <&isp1301>;
+&clcd {
 	status = "okay";
 };
 
+&i2c1 {
+	clock-frequency = <100000>;
+
+	uda1380: uda1380 at 18 {
+		compatible = "nxp,uda1380";
+		reg = <0x18>;
+		power-gpio = <&gpio 0x59 0>;
+		reset-gpio = <&gpio 0x51 0>;
+		dac-clk = "wspll";
+	};
+
+	pcf8563: rtc at 51 {
+		compatible = "nxp,pcf8563";
+		reg = <0x51>;
+	};
+};
+
+&i2c2 {
+	clock-frequency = <100000>;
+};
+
 &i2cusb {
 	clock-frequency = <100000>;
 
@@ -226,3 +104,119 @@
 		reg = <0x2c>;
 	};
 };
+
+&key {
+	keypad,num-rows = <1>;
+	keypad,num-columns = <1>;
+	nxp,debounce-delay-ms = <3>;
+	nxp,scan-delay-ms = <34>;
+	linux,keymap = <0x00000002>;
+	status = "okay";
+};
+
+&mac {
+	phy-mode = "rmii";
+	use-iram;
+};
+
+/* Here, choose exactly one from: ohci, usbd */
+&ohci /* &usbd */ {
+	transceiver = <&isp1301>;
+	status = "okay";
+};
+
+&sd {
+	wp-gpios = <&gpio 3 0 0>;
+	cd-gpios = <&gpio 3 1 0>;
+	cd-inverted;
+	bus-width = <4>;
+	vmmc-supply = <&sd_reg>;
+	status = "okay";
+};
+
+/* 64MB Flash via SLC NAND controller */
+&slc {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	status = "okay";
+
+	nxp,wdr-clks = <14>;
+	nxp,wwidth = <40000000>;
+	nxp,whold = <100000000>;
+	nxp,wsetup = <100000000>;
+	nxp,rdr-clks = <14>;
+	nxp,rwidth = <40000000>;
+	nxp,rhold = <66666666>;
+	nxp,rsetup = <100000000>;
+	nand-on-flash-bbt;
+	gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
+
+	mtd0 at 00000000 {
+		label = "phy3250-boot";
+		reg = <0x00000000 0x00064000>;
+		read-only;
+	};
+
+	mtd1 at 00064000 {
+		label = "phy3250-uboot";
+		reg = <0x00064000 0x00190000>;
+		read-only;
+	};
+
+	mtd2 at 001f4000 {
+		label = "phy3250-ubt-prms";
+		reg = <0x001f4000 0x00010000>;
+	};
+
+	mtd3 at 00204000 {
+		label = "phy3250-kernel";
+		reg = <0x00204000 0x00400000>;
+	};
+
+	mtd4 at 00604000 {
+		label = "phy3250-rootfs";
+		reg = <0x00604000 0x039fc000>;
+	};
+};
+
+&ssp0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	num-cs = <1>;
+	cs-gpios = <&gpio 3 5 0>;
+	status = "okay";
+
+	eeprom: at25 at 0 {
+		compatible = "atmel,at25";
+		reg = <0>;
+		spi-max-frequency = <5000000>;
+
+		pl022,interface = <0>;
+		pl022,com-mode = <0>;
+		pl022,rx-level-trig = <1>;
+		pl022,tx-level-trig = <1>;
+		pl022,ctrl-len = <11>;
+		pl022,wait-state = <0>;
+		pl022,duplex = <0>;
+
+		at25,byte-len = <0x8000>;
+		at25,addr-mode = <2>;
+		at25,page-size = <64>;
+	};
+};
+
+&tsc {
+	status = "okay";
+};
+
+&uart2 {
+	status = "okay";
+};
+
+&uart3 {
+	status = "okay";
+};
+
+&uart5 {
+	status = "okay";
+};
Signature · 1 line
2.1.4
#11 lore raw

PATCH 5/7 ARM: dts: lpc32xx: phy3250: avoid extension of device nodes by absolute path

Quoted 10 lines · Vladimir Zapolskiy

The change simplifies layout of PHY3250 board description by referencing device nodes of LPC32xx controllers by label.

No functional change intended.

---
 arch/arm/boot/dts/phy3250.dts | 282 +++++++++++++++++++++---------------------
 1 file changed, 138 insertions(+), 144 deletions(-)
#12 lore raw

PATCH 6/7 ARM: dts: lpc32xx: phy3250: add NAND partitions device node

In reply to Vladimir Zapolskiy

To declare MTD OF partitions NAND controller device node should have a special 'partitions' subnode, the change removes a debug message from mtd/ofpart on boot:

nxp_lpc3220_slc: 'partitions' subnode not found on /ahb/flash at 20020000. Trying to parse direct subnodes as partitions.

---
 arch/arm/boot/dts/phy3250.dts | 49 +++++++++++++++++++++++--------------------
 1 file changed, 26 insertions(+), 23 deletions(-)
arch/arm/boot/dts/phy3250.dts +26 -23
index c1a6e62..ca9870f 100644
@@ -136,8 +136,6 @@
 
 /* 64MB Flash via SLC NAND controller */
 &slc {
-	#address-cells = <1>;
-	#size-cells = <1>;
 	status = "okay";
 
 	nxp,wdr-clks = <14>;
@@ -151,31 +149,36 @@
 	nand-on-flash-bbt;
 	gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
 
-	mtd0 at 00000000 {
-		label = "phy3250-boot";
-		reg = <0x00000000 0x00064000>;
-		read-only;
-	};
+	partitions {
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	mtd1 at 00064000 {
-		label = "phy3250-uboot";
-		reg = <0x00064000 0x00190000>;
-		read-only;
-	};
+		mtd0 at 00000000 {
+			label = "phy3250-boot";
+			reg = <0x00000000 0x00064000>;
+			read-only;
+		};
 
-	mtd2 at 001f4000 {
-		label = "phy3250-ubt-prms";
-		reg = <0x001f4000 0x00010000>;
-	};
+		mtd1 at 00064000 {
+			label = "phy3250-uboot";
+			reg = <0x00064000 0x00190000>;
+			read-only;
+		};
 
-	mtd3 at 00204000 {
-		label = "phy3250-kernel";
-		reg = <0x00204000 0x00400000>;
-	};
+		mtd2 at 001f4000 {
+			label = "phy3250-ubt-prms";
+			reg = <0x001f4000 0x00010000>;
+		};
 
-	mtd4 at 00604000 {
-		label = "phy3250-rootfs";
-		reg = <0x00604000 0x039fc000>;
+		mtd3 at 00204000 {
+			label = "phy3250-kernel";
+			reg = <0x00204000 0x00400000>;
+		};
+
+		mtd4 at 00604000 {
+			label = "phy3250-rootfs";
+			reg = <0x00604000 0x039fc000>;
+		};
 	};
 };
 
Signature · 1 line
2.1.4
#13 lore raw

PATCH 7/7 ARM: dts: lpc32xx: phy3250: add SoC name prefix to board dts file

In reply to Vladimir Zapolskiy

To simplify matching of DTS files of all NXP LPC32xx powered boards by a file name add 'lpc3250' prefix to PHYTEC PHYCORE-LPC3250 board dts file.

---
 arch/arm/boot/dts/Makefile                             | 2 +-
 arch/arm/boot/dts/{phy3250.dts => lpc3250-phy3250.dts} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename arch/arm/boot/dts/{phy3250.dts => lpc3250-phy3250.dts} (100%)
arch/arm/boot/dts/Makefile +1 -1
index 9f8b14f..4733ec9 100644
@@ -242,7 +242,7 @@ dtb-$(CONFIG_ARCH_LPC18XX) += \
 	lpc4357-ea4357-devkit.dtb
 dtb-$(CONFIG_ARCH_LPC32XX) += \
 	lpc3250-ea3250.dtb \
-	phy3250.dtb
+	lpc3250-phy3250.dtb
 dtb-$(CONFIG_MACH_MESON6) += \
 	meson6-atv1200.dtb
 dtb-$(CONFIG_MACH_MESON8) += \
arch/arm/boot/dts/lpc3250-phy3250.dts renamed from arch/arm/boot/dts/phy3250.dts +0 -0
similarity index 100%
rename from arch/arm/boot/dts/phy3250.dts
rename to arch/arm/boot/dts/lpc3250-phy3250.dts
Signature · 1 line
2.1.4
#14 lore raw

PATCH 7/7 ARM: dts: lpc32xx: phy3250: add SoC name prefix to board dts file

Quoted 11 lines · Vladimir Zapolskiy

To simplify matching of DTS files of all NXP LPC32xx powered boards by a file name add 'lpc3250' prefix to PHYTEC PHYCORE-LPC3250 board dts file.

---
 arch/arm/boot/dts/Makefile                             | 2 +-
 arch/arm/boot/dts/{phy3250.dts => lpc3250-phy3250.dts} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename arch/arm/boot/dts/{phy3250.dts => lpc3250-phy3250.dts} (100%)