Skip to contentSkip to conversation

86xx: mpc8610_hpcd: add support for NOR and NAND flashes

PATCH Superseded Anton Vorontsov 2 participants 3 messages May 4, 2008 – May 12, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 86xx: mpc8610_hpcd: add support for NOR and NAND flashes

This patch adds device tree nodes for NOR and NAND flashes and places board-control node inside the localbus.

defconfig and board file updated appropriately.

---
 arch/powerpc/boot/dts/mpc8610_hpcd.dts      |   39 +++++++++++-
 arch/powerpc/configs/mpc8610_hpcd_defconfig |   88 ++++++++++++++++++++++++++-
 arch/powerpc/platforms/86xx/mpc8610_hpcd.c  |    1 +
 3 files changed, 124 insertions(+), 4 deletions(-)
arch/powerpc/boot/dts/mpc8610_hpcd.dts +36 -3
index bba234e..64c8e78 100644
@@ -46,9 +46,42 @@
 		reg = <0x00000000 0x20000000>;	// 512M at 0x0
 	};
 
-	board-control@e8000000 {
-		compatible = "fsl,fpga-pixis";
-		reg = <0xe8000000 32>;		// pixis at 0xe8000000
+	localbus@e0005000 {
+		#address-cells = <2>;
+		#size-cells = <1>;
+		compatible = "fsl,mpc8610-elbc", "fsl,elbc", "simple-bus";
+		reg = <0xe0005000 0x1000>;
+		interrupts = <19 2>;
+		interrupt-parent = <&mpic>;
+		ranges = <0 0 0xf8000000 0x08000000
+			  1 0 0xf0000000 0x08000000
+			  2 0 0xe8400000 0x00008000
+			  3 0 0xe8000000 0x00000020>;
+
+		flash@0,0 {
+			compatible = "cfi-flash";
+			reg = <0 0 0x8000000>;
+			bank-width = <2>;
+			device-width = <1>;
+		};
+
+		flash@1,0 {
+			compatible = "cfi-flash";
+			reg = <1 0 0x8000000>;
+			bank-width = <2>;
+			device-width = <1>;
+		};
+
+		flash@2,0 {
+			compatible = "fsl,mpc8610-fcm-nand",
+				     "fsl,elbc-fcm-nand";
+			reg = <2 0 0x8000>;
+		};
+
+		board-control@3,0 {
+			compatible = "fsl,fpga-pixis";
+			reg = <3 0 0x20>;
+		};
 	};
 
 	soc@e0000000 {
arch/powerpc/configs/mpc8610_hpcd_defconfig +87 -1

94 lines not on this page · raw message

arch/powerpc/platforms/86xx/mpc8610_hpcd.c +1 -0
index 5e1e8cf..782d1cb 100644
@@ -43,6 +43,7 @@ static unsigned char *pixis_bdcfg0, *pixis_arch;
 
 static struct of_device_id __initdata mpc8610_ids[] = {
 	{ .compatible = "fsl,mpc8610-immr", },
+	{ .compatible = "simple-bus", },
 	{}
 };
 
Signature · 1 line
1.5.5.1
#1 lore raw

PATCH v2 1/1 86xx: mpc8610_hpcd: add support for NOR and NAND flashes

This patch adds device tree nodes for NOR and NAND flashes and places board-control node inside the localbus.

defconfig and board file updated appropriately.

---

Heh, this is v2. The flash setup on the MPC8610 tricked me.

There is single NAND package, but with four physical NAND chips inside. Each occupy its own localbus CE line, i.e. bank.

 arch/powerpc/boot/dts/mpc8610_hpcd.dts      |   60 +++++++++++++++++-
 arch/powerpc/configs/mpc8610_hpcd_defconfig |   88 ++++++++++++++++++++++++++-
 arch/powerpc/platforms/86xx/mpc8610_hpcd.c  |    1 +
 3 files changed, 145 insertions(+), 4 deletions(-)
arch/powerpc/boot/dts/mpc8610_hpcd.dts +57 -3
index bba234e..08a780d 100644
@@ -46,9 +46,63 @@
 		reg = <0x00000000 0x20000000>;	// 512M at 0x0
 	};
 
-	board-control@e8000000 {
-		compatible = "fsl,fpga-pixis";
-		reg = <0xe8000000 32>;		// pixis at 0xe8000000
+	localbus@e0005000 {
+		#address-cells = <2>;
+		#size-cells = <1>;
+		compatible = "fsl,mpc8610-elbc", "fsl,elbc", "simple-bus";
+		reg = <0xe0005000 0x1000>;
+		interrupts = <19 2>;
+		interrupt-parent = <&mpic>;
+		ranges = <0 0 0xf8000000 0x08000000
+			  1 0 0xf0000000 0x08000000
+			  2 0 0xe8400000 0x00008000
+			  4 0 0xe8440000 0x00008000
+			  5 0 0xe8480000 0x00008000
+			  6 0 0xe84c0000 0x00008000
+			  3 0 0xe8000000 0x00000020>;
+
+		flash@0,0 {
+			compatible = "cfi-flash";
+			reg = <0 0 0x8000000>;
+			bank-width = <2>;
+			device-width = <1>;
+		};
+
+		flash@1,0 {
+			compatible = "cfi-flash";
+			reg = <1 0 0x8000000>;
+			bank-width = <2>;
+			device-width = <1>;
+		};
+
+		flash@2,0 {
+			compatible = "fsl,mpc8610-fcm-nand",
+				     "fsl,elbc-fcm-nand";
+			reg = <2 0 0x8000>;
+		};
+
+		flash@4,0 {
+			compatible = "fsl,mpc8610-fcm-nand",
+				     "fsl,elbc-fcm-nand";
+			reg = <4 0 0x8000>;
+		};
+
+		flash@5,0 {
+			compatible = "fsl,mpc8610-fcm-nand",
+				     "fsl,elbc-fcm-nand";
+			reg = <5 0 0x8000>;
+		};
+
+		flash@6,0 {
+			compatible = "fsl,mpc8610-fcm-nand",
+				     "fsl,elbc-fcm-nand";
+			reg = <6 0 0x8000>;
+		};
+
+		board-control@3,0 {
+			compatible = "fsl,fpga-pixis";
+			reg = <3 0 0x20>;
+		};
 	};
 
 	soc@e0000000 {
arch/powerpc/configs/mpc8610_hpcd_defconfig +87 -1

94 lines not on this page · raw message

arch/powerpc/platforms/86xx/mpc8610_hpcd.c +1 -0
index 5e1e8cf..782d1cb 100644
@@ -43,6 +43,7 @@ static unsigned char *pixis_bdcfg0, *pixis_arch;
 
 static struct of_device_id __initdata mpc8610_ids[] = {
 	{ .compatible = "fsl,mpc8610-immr", },
+	{ .compatible = "simple-bus", },
 	{}
 };
 
Signature · 1 line
1.5.5.1
Applied
#2 lore raw
Quoted 10 lines · Anton Vorontsov

This patch adds device tree nodes for NOR and NAND flashes and places board-control node inside the localbus.

defconfig and board file updated appropriately.

---

Heh, this is v2. The flash setup on the MPC8610 tricked me.

Quoted 8 lines

There is single NAND package, but with four physical NAND chips inside. Each occupy its own localbus CE line, i.e. bank.

arch/powerpc/boot/dts/mpc8610_hpcd.dts      |   60 +++++++++++++++++-
arch/powerpc/configs/mpc8610_hpcd_defconfig |   88 ++++++++++++++++++ 
++++++++-
arch/powerpc/platforms/86xx/mpc8610_hpcd.c  |    1 +
3 files changed, 145 insertions(+), 4 deletions(-)

applied.

- k