Skip to contentSkip to conversation

mpc82xx: Embedded Planet EP8248E support

PATCH In review Scott Wood 2 participants 5 messages Dec 12, 2007 – Dec 18, 2007

Subsystems (2)
lore
Share & tools
lore

Scott Wood

author
#0 lore raw

PATCH v2 2/3 mpc82xx: Embedded Planet EP8248E support

This board is also resold by Freescale under the names "QUICCStart MPC8248 Evaluation System" and "CWH-PPC-8248N-VE".

---
 arch/powerpc/boot/Makefile             |    3 +-
 arch/powerpc/boot/dts/ep8248e.dts      |  193 +++++++
 arch/powerpc/boot/ep8248e.c            |   55 ++
 arch/powerpc/boot/wrapper              |    2 +-
 arch/powerpc/configs/ep8248e_defconfig |  864 ++++++++++++++++++++++++++++++++
 arch/powerpc/platforms/82xx/Kconfig    |   13 +
 arch/powerpc/platforms/82xx/Makefile   |    1 +
 arch/powerpc/platforms/82xx/ep8248e.c  |  325 ++++++++++++
 include/asm-powerpc/mpc8260.h          |    1 +
 9 files changed, 1455 insertions(+), 2 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/ep8248e.dts
 create mode 100644 arch/powerpc/boot/ep8248e.c
 create mode 100644 arch/powerpc/configs/ep8248e_defconfig
 create mode 100644 arch/powerpc/platforms/82xx/ep8248e.c
arch/powerpc/boot/Makefile +2 -1
index 27b637c..29e359d 100644
@@ -58,7 +58,7 @@ src-plat := of.c cuboot-52xx.c cuboot-83xx.c cuboot-85xx.c holly.c \
 		cuboot-ebony.c treeboot-ebony.c prpmc2800.c \
 		ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \
 		cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c \
-		fixed-head.S ep88xc.c cuboot-hpc2.c redboot-8xx.c
+		fixed-head.S ep88xc.c cuboot-hpc2.c redboot-8xx.c ep8248e.c
 src-boot := $(src-wlib) $(src-plat) empty.c
 
 src-boot := $(addprefix $(obj)/, $(src-boot))
@@ -155,6 +155,7 @@ ifneq ($(CONFIG_DEVICE_TREE),"")
 image-$(CONFIG_PPC_8xx)			+= cuImage.8xx
 image-$(CONFIG_PPC_EP88XC)		+= zImage.ep88xc
 image-$(CONFIG_8260)			+= cuImage.pq2
+image-$(CONFIG_EP8248E)			+= zImage.ep8248e
 image-$(CONFIG_PPC_MPC52xx)		+= cuImage.52xx
 image-$(CONFIG_PPC_83xx)		+= cuImage.83xx
 image-$(CONFIG_PPC_85xx)		+= cuImage.85xx
arch/powerpc/boot/dts/ep8248e.dts new file +193 -0

193 lines not on this page · raw message

arch/powerpc/boot/ep8248e.c new file +55 -0

55 lines not on this page · raw message

arch/powerpc/boot/wrapper +1 -1
index 68fde3d..93ce041 100755
@@ -168,7 +168,7 @@ ps3)
     ksection=.kernel:vmlinux.bin
     isection=.kernel:initrd
     ;;
-ep88xc|redboot*)
+ep88xc|ep8248e|redboot*)
     platformo="$object/fixed-head.o $object/$platform.o"
     binary=y
     ;;
arch/powerpc/configs/ep8248e_defconfig new file +864 -0

864 lines not on this page · raw message

arch/powerpc/platforms/82xx/Kconfig +13 -0
index 541fbb8..4fad6c7 100644
@@ -26,6 +26,19 @@ config PQ2FADS
 	help
 	  This option enables support for the PQ2FADS board
 
+config EP8248E
+	bool "Embedded Planet EP8248E (a.k.a. CWH-PPC-8248N-VE)"
+	select 8272
+	select 8260
+	select FSL_SOC
+	select PPC_CPM_NEW_BINDING
+	select MDIO_BITBANG
+	help
+	  This enables support for the Embedded Planet EP8248E board.
+
+	  This board is also resold by Freescale as the QUICCStart
+	  MPC8248 Evaluation System and/or the CWH-PPC-8248N-VE.
+
 endchoice
 
 config PQ2ADS
arch/powerpc/platforms/82xx/Makefile +1 -0
index 68c8b0c..6cd5cd5 100644
@@ -5,3 +5,4 @@ obj-$(CONFIG_MPC8272_ADS) += mpc8272_ads.o
 obj-$(CONFIG_CPM2) += pq2.o
 obj-$(CONFIG_PQ2_ADS_PCI_PIC) += pq2ads-pci-pic.o
 obj-$(CONFIG_PQ2FADS) += pq2fads.o
+obj-$(CONFIG_EP8248E) += ep8248e.o
arch/powerpc/platforms/82xx/ep8248e.c new file +325 -0

325 lines not on this page · raw message

include/asm-powerpc/mpc8260.h +1 -0
index e0d4807..03317e1 100644
@@ -8,6 +8,7 @@
 #ifndef __ASM_POWERPC_MPC8260_H__
 #define __ASM_POWERPC_MPC8260_H__
 
+#define MPC82XX_BCR_PLDP 0x00800000 /* Pipeline Maximum Depth */
 
 #ifdef CONFIG_8260
 
Signature · 1 line
1.5.3.7
#1 lore raw
Quoted 2 lines · Scott Wood

This board is also resold by Freescale under the names "QUICCStart MPC8248 Evaluation System" and "CWH-PPC-8248N-VE".

[snip]

arch/powerpc/boot/dts/ep8248e.dts line 34

Quoted 1 line
arch/powerpc/boot/dts/ep8248e.dts new file +1 -0
+	localbus {

Should be localbus@f0010100.

Quoted 15 lines
arch/powerpc/boot/dts/ep8248e.dts new file +15 -0
+		compatible = "fsl,ep8248e-localbus",
+		             "fsl,mpc8248-localbus",
+		             "fsl,pq2-localbus";
+		#address-cells = <2>;
+		#size-cells = <1>;
+		reg = <f0010100 40>;
+
+		ranges = <0 0 fc000000 04000000
+		          1 0 fa000000 00008000>;
+
+		flash@0,3800000 {
+			compatible = "cfi-flash";
+			reg = <0 3800000 800000>;
+			bank-width = <4>;
+			device-width = <2>;

arch/powerpc/boot/dts/ep8248e.dts line 59

Quoted 10 lines
arch/powerpc/boot/dts/ep8248e.dts new file +10 -0
+		};
+
+		bcsr@1,0 {
+			#address-cells = <2>;
+			#size-cells = <1>;
+			reg = <1 0 10>;
+			compatible = "fsl,ep8248e-bcsr";
+			ranges;
+
+			mdio {

As I think I said about another tree, this mdio-under-bcsr arrangement is pretty strange. What's going on here.

Quoted 20 lines
arch/powerpc/boot/dts/ep8248e.dts new file +20 -0
+				device_type = "mdio";
+				compatible = "fsl,ep8248e-mdio-bitbang";
+				#address-cells = <1>;
+				#size-cells = <0>;
+				reg = <1 8 1>;
+
+				PHY0: ethernet-phy@0 {
+					interrupt-parent = <&PIC>;
+					reg = <0>;
+					device_type = "ethernet-phy";
+				};
+
+				PHY1: ethernet-phy@1 {
+					interrupt-parent = <&PIC>;
+					reg = <1>;
+					device_type = "ethernet-phy";
+				};
+			};
+		};
+	};

arch/powerpc/boot/dts/ep8248e.dts line 89

Quoted 10 lines
arch/powerpc/boot/dts/ep8248e.dts new file +10 -0
+
+	memory {
+		device_type = "memory";
+		reg = <0 0>;
+	};
+
+	soc@f0000000 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		device_type = "soc";

Ditch the device_type.

Signature · 4 lines
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
author
#2 lore raw
Quoted 2 lines · David Gibson

As I think I said about another tree, this mdio-under-bcsr arrangement is pretty strange. What's going on here.

As I answered then, it's just the way the hardware is. I didn't design it. :-P

Quoted 6 lines

arch/powerpc/boot/dts/ep8248e.dts line 89

Quoted 4 lines
arch/powerpc/boot/dts/ep8248e.dts new file +4 -0
+	soc@f0000000 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		device_type = "soc";

Ditch the device_type.

No, it's used by the bootwrapper. I'll get rid of it if you want to write a find_node_by_compatible() function. :-)

-Scott

#3 lore raw
Quoted 6 lines · Scott Wood
Quoted 2 lines · David Gibson

As I think I said about another tree, this mdio-under-bcsr arrangement is pretty strange. What's going on here.

As I answered then, it's just the way the hardware is. I didn't design it. :-P

I obviously missed when you answered this before, I was hoping for some more detail.

I mean, obviously the MDIO bus is accessed via some of the board-control registers. What I'm questioning is whether it makes sense to have a distinct node to represent the mdio bus, or whether the phys should just hang straight of the bcsr node.

Quoted 9 lines
Quoted 6 lines

arch/powerpc/boot/dts/ep8248e.dts line 89

Quoted 4 lines
arch/powerpc/boot/dts/ep8248e.dts new file +4 -0
+	soc@f0000000 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		device_type = "soc";

Ditch the device_type.

No, it's used by the bootwrapper. I'll get rid of it if you want to write a find_node_by_compatible() function. :-)

Well, now that libfdt is merged, there is one :-p.

Signature · 4 lines
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
author
#4 lore raw
Quoted 4 lines · David Gibson

I mean, obviously the MDIO bus is accessed via some of the board-control registers. What I'm questioning is whether it makes sense to have a distinct node to represent the mdio bus, or whether the phys should just hang straight of the bcsr node.

Ah, I see. I think it does make sense, because it's a bus; if there were another bus-like thing on the bcsr, there'd be conflicts over what the children mean.

Quoted 8 lines
Quoted 6 lines
Quoted 5 lines

arch/powerpc/boot/dts/ep8248e.dts line 89

Quoted 4 lines
arch/powerpc/boot/dts/ep8248e.dts new file +4 -0
+	soc@f0000000 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		device_type = "soc";

Ditch the device_type.

No, it's used by the bootwrapper. I'll get rid of it if you want to write a find_node_by_compatible() function. :-)

Well, now that libfdt is merged, there is one :-p.

OK, it just needs exporting via ops. I'll put it on my to-do list, but I don't think it should hold up board support patches.

-Scott