Skip to contentSkip to conversation

Rework PowerPC 44x board support

PATCH In review Josh Boyer 7 participants 26 messages Aug 19, 2008 – Aug 20, 2008

Subsystems (3)
lore
Share & tools
lore

Josh Boyer

author
#0 lore raw

cover Rework PowerPC 44x board support

The following patch series reworks the board support code for PowerPC 44x platforms. It eliminates a number of redundant <board>.c files and add a ppc44x_simple.c file that has an explicit list of boards that are supported by it. This is the same mechanism that Grant Likely has used for MPC 5200 boards.

It also adds some more explicit support for Glacier and Yosemite boards, as those boards were using a board level compatible property in their DTS files that was a bit confusing.

Review would be appreciated. Tested on Sequoia, and I plan on testing on as many boards as I can before committing to my tree.

josh

Josh Boyer (9):
powerpc/44x: Add PowerPC 44x simple platform support powerpc/44x: Migrate Bamboo support to ppc44x_simple powerpc/44x: Migrate Canyonlands support to ppc44x_simple powerpc/44x: Migrate Katmai support to ppc44x_simple powerpc/44x: Migrate Rainier support to ppc44x_simple powerpc/44x: Migrate Sequoia support to ppc44x_simple powerpc/44x: Migrate Taishan support to ppc44x_simple powerpc/44x: Add explicit support for AMCC Glacier powerpc/44x: Add explicit Yosemite support

 arch/powerpc/boot/dts/glacier.dts          |    2 +-
 arch/powerpc/boot/dts/yosemite.dts         |    2 +-
 arch/powerpc/platforms/44x/Kconfig         |   25 ++++++++
 arch/powerpc/platforms/44x/Makefile        |    8 +--
 arch/powerpc/platforms/44x/bamboo.c        |   62 ---------------------
 arch/powerpc/platforms/44x/canyonlands.c   |   63 ---------------------
 arch/powerpc/platforms/44x/katmai.c        |   62 ---------------------
 arch/powerpc/platforms/44x/ppc44x_simple.c |   83 ++++++++++++++++++++++++++++
 arch/powerpc/platforms/44x/rainier.c       |   62 ---------------------
 arch/powerpc/platforms/44x/sequoia.c       |   63 ---------------------
 arch/powerpc/platforms/44x/taishan.c       |   72 ------------------------
 11 files changed, 111 insertions(+), 393 deletions(-)
 delete mode 100644 arch/powerpc/platforms/44x/bamboo.c
 delete mode 100644 arch/powerpc/platforms/44x/canyonlands.c
 delete mode 100644 arch/powerpc/platforms/44x/katmai.c
 create mode 100644 arch/powerpc/platforms/44x/ppc44x_simple.c
 delete mode 100644 arch/powerpc/platforms/44x/rainier.c
 delete mode 100644 arch/powerpc/platforms/44x/sequoia.c
 delete mode 100644 arch/powerpc/platforms/44x/taishan.c
author
#1 lore raw

PATCH 1/9 powerpc/44x: Add PowerPC 44x simple platform support

This adds a common board file for almost all of the "simple" PowerPC 44x boards that exist today. This is intended to be a single place to add support for boards that do not differ in platform support from most of the evaluation boards that are used as reference platforms. Boards that have specific requirements or custom hardware setup should still have their own board.c file.

---
 arch/powerpc/platforms/44x/Kconfig         |    7 +++
 arch/powerpc/platforms/44x/Makefile        |    1 +
 arch/powerpc/platforms/44x/ppc44x_simple.c |   81 ++++++++++++++++++++++++++++
 3 files changed, 89 insertions(+), 0 deletions(-)
 create mode 100644 arch/powerpc/platforms/44x/ppc44x_simple.c
arch/powerpc/platforms/44x/Kconfig +7 -0
index 249ba01..97c634c 100644
@@ -127,6 +127,13 @@ config XILINX_VIRTEX440_GENERIC_BOARD
 	  Most Virtex 5 designs should use this unless it needs to do some
 	  special configuration at board probe time.
 
+config PPC44x_SIMPLE
+	bool "Simple PowerPC 44x board support"
+	depends on 44x
+	default n
+	help
+	  This option enables the simple PowerPC 44x platform support.
+
 # 44x specific CPU modules, selected based on the board above.
 config 440EP
 	bool
arch/powerpc/platforms/44x/Makefile +1 -0
index 8d0b1a1..73c1df5 100644
@@ -1,4 +1,5 @@
 obj-$(CONFIG_44x)	:= misc_44x.o idle.o
+obj-$(CONFIG_PPC44x_SIMPLE) += ppc44x_simple.o
 obj-$(CONFIG_EBONY)	+= ebony.o
 obj-$(CONFIG_TAISHAN)	+= taishan.o
 obj-$(CONFIG_BAMBOO)	+= bamboo.o
arch/powerpc/platforms/44x/ppc44x_simple.c new file +81 -0

81 lines not on this page · raw message

Signature · 1 line
1.5.5.1
#2 lore raw

Re: [PATCH 1/9] powerpc/44x: Add PowerPC 44x simple platform support

Quoted 6 lines · Josh Boyer

This adds a common board file for almost all of the "simple" PowerPC 44x boards that exist today. This is intended to be a single place to add support for boards that do not differ in platform support from most of the evaluation boards that are used as reference platforms. Boards that have specific requirements or custom hardware setup should still have their own board.c file.

The code looks correct, but since this is going to be example code that may get copied into other platforms, I would take extra care for coding style:

arch/powerpc/platforms/44x/ppc44x_simple.c line 25

Quoted 10 lines
arch/powerpc/platforms/44x/ppc44x_simple.c new file +10 -0
+#include <linux/init.h>
+#include <linux/of_platform.h>
+
+#include <asm/machdep.h>
+#include <asm/prom.h>
+#include <asm/udbg.h>
+#include <asm/time.h>
+#include <asm/uic.h>
+#include <asm/pci-bridge.h>
+#include <asm/ppc4xx.h>

#include lines should be ordered alphabetically in an ideal world.

arch/powerpc/platforms/44x/ppc44x_simple.c line 52

Quoted 10 lines
arch/powerpc/platforms/44x/ppc44x_simple.c new file +10 -0
+static char *board[] __initdata = {
+	"amcc,bamboo",
+	"amcc,cayonlands",
+	"ibm,ebony",
+	"amcc,katmai",
+	"amcc,rainier",
+	"amcc,sequoia",
+	"amcc,taishan",
+	NULL
+};

You don't need the NULL termination here, since the array is only used statically and you can use ARRAY_SIZE().

arch/powerpc/platforms/44x/ppc44x_simple.c line 63

Quoted 10 lines
arch/powerpc/platforms/44x/ppc44x_simple.c new file +10 -0
+static int __init ppc44x_probe(void)
+{
+	unsigned long root = of_get_flat_dt_root();
+	int i = 0;
+
+	while (board[i]) {
+		if (of_flat_dt_is_compatible(root, board[i]))
+			break;
+		i++;
+	}

This looks like a for() loop in disguise, so you can better write it as

	int i;
	for (i = 0; i < ARRAY_SIZE(board); i++) {
		if (of_flat_dt_is_compatible(root, board[i])) {
			ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC;
			return 1;
		}
	}
	return 0;


	Arnd <><
author
#3 lore raw

Re: [PATCH 1/9] powerpc/44x: Add PowerPC 44x simple platform support

Quoted 11 lines · On Wed, 20 Aug 2008 15:33:21 +0200 Arnd Bergmann <[email protected]> wrote:
Quoted 6 lines · Josh Boyer

This adds a common board file for almost all of the "simple" PowerPC 44x boards that exist today. This is intended to be a single place to add support for boards that do not differ in platform support from most of the evaluation boards that are used as reference platforms. Boards that have specific requirements or custom hardware setup should still have their own board.c file.

The code looks correct, but since this is going to be example code that may get copied into other platforms, I would take extra care for coding style:

Fair enough. Your comments all make sense to me. I'll fixup things and resend this one.

josh

#4 lore raw

Re: [PATCH 1/9] powerpc/44x: Add PowerPC 44x simple platform support

In reply to Arnd Bergmann
Quoted 11 lines · Arnd Bergmann
Quoted 6 lines · Josh Boyer

This adds a common board file for almost all of the "simple" PowerPC 44x boards that exist today. This is intended to be a single place to add support for boards that do not differ in platform support from most of the evaluation boards that are used as reference platforms. Boards that have specific requirements or custom hardware setup should still have their own board.c file.

The code looks correct, but since this is going to be example code that may get copied into other platforms, I would take extra care for coding style:

I second Arnd's comments. Otherwise, this looks pretty good to me.

Cheers,
g.

Signature · 2 lines
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
author
#5 lore raw

Re: [PATCH 1/9] powerpc/44x: Add PowerPC 44x simple platform support

Quoted 9 lines · Grant Likely
Quoted 8 lines · Arnd Bergmann
Quoted 6 lines · Josh Boyer

This adds a common board file for almost all of the "simple" PowerPC 44x boards that exist today. This is intended to be a single place to add support for boards that do not differ in platform support from most of the evaluation boards that are used as reference platforms. Boards that have specific requirements or custom hardware setup should still have their own board.c file.

Quoted 5 lines
Quoted 3 lines

The code looks correct, but since this is going to be example code that may get copied into other platforms, I would take extra care for coding style:

I second Arnd's comments. Otherwise, this looks pretty good to me.

You should fix 52xx with the same for loop change then, since I blatantly most of this file from you ;)

josh

author
#6 lore raw

Re: [PATCH 1/9] powerpc/44x: Add PowerPC 44x simple platform support

Quoted 10 lines · On Wed, 20 Aug 2008 10:45:47 -0400 Josh Boyer <[email protected]>…
Quoted 9 lines · Grant Likely
Quoted 8 lines · Arnd Bergmann
Quoted 6 lines · Josh Boyer

This adds a common board file for almost all of the "simple" PowerPC 44x boards that exist today. This is intended to be a single place to add support for boards that do not differ in platform support from most of the evaluation boards that are used as reference platforms. Boards that have specific requirements or custom hardware setup should still have their own board.c file.

Quoted 8 lines
Quoted 5 lines
Quoted 3 lines

The code looks correct, but since this is going to be example code that may get copied into other platforms, I would take extra care for coding style:

I second Arnd's comments. Otherwise, this looks pretty good to me.

You should fix 52xx with the same for loop change then, since I blatantly most of this file from you ;)

^ stole

/me sighs.

josh

#7 lore raw

Re: [PATCH 1/9] powerpc/44x: Add PowerPC 44x simple platform support

In reply to Josh Boyer
Quoted 2 lines

You should fix 52xx with the same for loop change then, since I blatantly most of this file from you ;)

Heh, then factor out mpc5200_simple_probe() into a helper and use it instead of copying it as ppc44x_probe? ;)

If you stick to the NULL-terminated array version, then it becomes easy to convert some other platform probing code to use your new code too, eg tqm85xx_probe() could use an array too.

- R.

author
#8 lore raw

Re: [PATCH 1/9] powerpc/44x: Add PowerPC 44x simple platform support

Quoted 9 lines · On Wed, 20 Aug 2008 09:33:06 -0700 Roland Dreier <[email protected]> wrote:
Quoted 2 lines

You should fix 52xx with the same for loop change then, since I blatantly most of this file from you ;)

Heh, then factor out mpc5200_simple_probe() into a helper and use it instead of copying it as ppc44x_probe? ;)

If you stick to the NULL-terminated array version, then it becomes easy to convert some other platform probing code to use your new code too, eg tqm85xx_probe() could use an array too.

Except that logically doesn't make much sense. Why would you have a list of mpc52xx and 44x boards together? They require completely different kernels because the MMU and drive set is entirely different.

Or am I totally missing what you are saying?

josh

#9 lore raw

Re: [PATCH 1/9] powerpc/44x: Add PowerPC 44x simple platform support

Quoted 5 lines

Except that logically doesn't make much sense. Why would you have a list of mpc52xx and 44x boards together? They require completely different kernels because the MMU and drive set is entirely different.

Or am I totally missing what you are saying?

Yeah, I wasn't clear -- I meant to add a new helper like of_flat_dt_is_compatible_list() (not sure of the name) that takes a node and a NULL-terminated array of strings, and then mpc5200_simple_probe() can become a one-liner, along with mpc5121_generic_probe(), tqm85xx_probe(), ppc44x_probe(), etc.

- R.

author
#10 lore raw

Re: [PATCH 1/9] powerpc/44x: Add PowerPC 44x simple platform support

Quoted 11 lines · On Wed, 20 Aug 2008 10:19:02 -0700 Roland Dreier <[email protected]> wrote:
Quoted 5 lines

Except that logically doesn't make much sense. Why would you have a list of mpc52xx and 44x boards together? They require completely different kernels because the MMU and drive set is entirely different.

Or am I totally missing what you are saying?

Yeah, I wasn't clear -- I meant to add a new helper like of_flat_dt_is_compatible_list() (not sure of the name) that takes a node and a NULL-terminated array of strings, and then mpc5200_simple_probe() can become a one-liner, along with mpc5121_generic_probe(), tqm85xx_probe(), ppc44x_probe(), etc.

Ah, I see.

I worry about doing that though. I don't want to give people the impression that these boards are "of" compatible. I want it to be more "this file supports these explicit platforms and makes no claim on compatibility between them".

josh

#11 lore raw

Re: [PATCH 1/9] powerpc/44x: Add PowerPC 44x simple platform support

Quoted 10 lines
Quoted 5 lines

Yeah, I wasn't clear -- I meant to add a new helper like of_flat_dt_is_compatible_list() (not sure of the name) that takes a node and a NULL-terminated array of strings, and then mpc5200_simple_probe() can become a one-liner, along with mpc5121_generic_probe(), tqm85xx_probe(), ppc44x_probe(), etc.

I worry about doing that though. I don't want to give people the impression that these boards are "of" compatible. I want it to be more "this file supports these explicit platforms and makes no claim on compatibility between them".

It's no big deal really -- just my knee-jerk reaction to seeing a comment like "this should also be fixed in some other place because I copied the code from there." My reaction to that is always, "why not use one common copy of the code then?"

You could call it something like of_flat_dt_match_list() if that makes more sense to you. Or just copy the for loop around, it's not much code.

- R.

author
#12 lore raw

PATCH 2/9 powerpc/44x: Migrate Bamboo support to ppc44x_simple

In reply to Josh Boyer

Migrate the AMCC Bamboo board to use the ppc44x_simple platform file.

---
 arch/powerpc/platforms/44x/Kconfig  |    2 +
 arch/powerpc/platforms/44x/Makefile |    2 -
 arch/powerpc/platforms/44x/bamboo.c |   62 -----------------------------------
 3 files changed, 2 insertions(+), 64 deletions(-)
 delete mode 100644 arch/powerpc/platforms/44x/bamboo.c
arch/powerpc/platforms/44x/Kconfig +2 -0
index 97c634c..0958285 100644
@@ -2,6 +2,7 @@ config BAMBOO
 	bool "Bamboo"
 	depends on 44x
 	default n
+	select PPC44x_SIMPLE
 	select 440EP
 	select PCI
 	help
@@ -90,6 +91,7 @@ config YOSEMITE
 	bool "Yosemite"
 	depends on 44x
 	default n
+	select PPC44x_SIMPLE
 	select 440EP
 	select PCI
 	help
arch/powerpc/platforms/44x/Makefile +0 -2
index 73c1df5..ca18a32 100644
@@ -2,8 +2,6 @@ obj-$(CONFIG_44x)	:= misc_44x.o idle.o
 obj-$(CONFIG_PPC44x_SIMPLE) += ppc44x_simple.o
 obj-$(CONFIG_EBONY)	+= ebony.o
 obj-$(CONFIG_TAISHAN)	+= taishan.o
-obj-$(CONFIG_BAMBOO)	+= bamboo.o
-obj-$(CONFIG_YOSEMITE)	+= bamboo.o
 obj-$(CONFIG_SAM440EP) 	+= sam440ep.o
 obj-$(CONFIG_SEQUOIA)	+= sequoia.o
 obj-$(CONFIG_KATMAI)	+= katmai.o
arch/powerpc/platforms/44x/bamboo.c deleted +0 -62

62 lines not on this page · raw message

Signature · 1 line
1.5.5.1
author
#13 lore raw

PATCH 3/9 powerpc/44x: Migrate Canyonlands support to ppc44x_simple

In reply to Josh Boyer

Migrate the AMCC Canyonlands board to use the ppc44x_simple platform file.

---
 arch/powerpc/platforms/44x/Kconfig       |    1 +
 arch/powerpc/platforms/44x/Makefile      |    1 -
 arch/powerpc/platforms/44x/canyonlands.c |   63 ------------------------------
 3 files changed, 1 insertions(+), 64 deletions(-)
 delete mode 100644 arch/powerpc/platforms/44x/canyonlands.c
arch/powerpc/platforms/44x/Kconfig +1 -0
index 0958285..92ba2d8 100644
@@ -81,6 +81,7 @@ config CANYONLANDS
 	bool "Canyonlands"
 	depends on 44x
 	default n
+	select PPC44x_SIMPLE
 	select 460EX
 	select PCI
 	select PPC4xx_PCI_EXPRESS
arch/powerpc/platforms/44x/Makefile +0 -1
index ca18a32..0ab626d 100644
@@ -8,5 +8,4 @@ obj-$(CONFIG_KATMAI)	+= katmai.o
 obj-$(CONFIG_RAINIER)	+= rainier.o
 obj-$(CONFIG_WARP)	+= warp.o
 obj-$(CONFIG_WARP)	+= warp-nand.o
-obj-$(CONFIG_CANYONLANDS) += canyonlands.o
 obj-$(CONFIG_XILINX_VIRTEX_5_FXT) += virtex.o
arch/powerpc/platforms/44x/canyonlands.c deleted +0 -63

63 lines not on this page · raw message

Signature · 1 line
1.5.5.1
author
#14 lore raw

PATCH 4/9 powerpc/44x: Migrate Katmai support to ppc44x_simple

In reply to Josh Boyer

Migrate the AMCC Katmai board to use the ppc44x_simple platform file.

---
 arch/powerpc/platforms/44x/Kconfig  |    1 +
 arch/powerpc/platforms/44x/Makefile |    1 -
 arch/powerpc/platforms/44x/katmai.c |   62 -----------------------------------
 3 files changed, 1 insertions(+), 63 deletions(-)
 delete mode 100644 arch/powerpc/platforms/44x/katmai.c
arch/powerpc/platforms/44x/Kconfig +1 -0
index 92ba2d8..66d4499 100644
@@ -49,6 +49,7 @@ config KATMAI
 	bool "Katmai"
 	depends on 44x
 	default n
+	select PPC44x_SIMPLE
 	select 440SPe
 	select PCI
 	select PPC4xx_PCI_EXPRESS
arch/powerpc/platforms/44x/Makefile +0 -1
index 0ab626d..2eb1cbe 100644
@@ -4,7 +4,6 @@ obj-$(CONFIG_EBONY)	+= ebony.o
 obj-$(CONFIG_TAISHAN)	+= taishan.o
 obj-$(CONFIG_SAM440EP) 	+= sam440ep.o
 obj-$(CONFIG_SEQUOIA)	+= sequoia.o
-obj-$(CONFIG_KATMAI)	+= katmai.o
 obj-$(CONFIG_RAINIER)	+= rainier.o
 obj-$(CONFIG_WARP)	+= warp.o
 obj-$(CONFIG_WARP)	+= warp-nand.o
arch/powerpc/platforms/44x/katmai.c deleted +0 -62

62 lines not on this page · raw message

Signature · 1 line
1.5.5.1
author
#15 lore raw

PATCH 5/9 powerpc/44x: Migrate Rainier support to ppc44x_simple

In reply to Josh Boyer

Migrate the AMCC Rainier board to use the ppc44x_simple platform file.

---
 arch/powerpc/platforms/44x/Kconfig   |    1 +
 arch/powerpc/platforms/44x/Makefile  |    1 -
 arch/powerpc/platforms/44x/rainier.c |   62 ----------------------------------
 3 files changed, 1 insertions(+), 63 deletions(-)
 delete mode 100644 arch/powerpc/platforms/44x/rainier.c
arch/powerpc/platforms/44x/Kconfig +1 -0
index 66d4499..89e7f1f 100644
@@ -60,6 +60,7 @@ config RAINIER
 	bool "Rainier"
 	depends on 44x
 	default n
+	select PPC44x_SIMPLE
 	select 440GRX
 	select PCI
 	help
arch/powerpc/platforms/44x/Makefile +0 -1
index 2eb1cbe..c201af6 100644
@@ -4,7 +4,6 @@ obj-$(CONFIG_EBONY)	+= ebony.o
 obj-$(CONFIG_TAISHAN)	+= taishan.o
 obj-$(CONFIG_SAM440EP) 	+= sam440ep.o
 obj-$(CONFIG_SEQUOIA)	+= sequoia.o
-obj-$(CONFIG_RAINIER)	+= rainier.o
 obj-$(CONFIG_WARP)	+= warp.o
 obj-$(CONFIG_WARP)	+= warp-nand.o
 obj-$(CONFIG_XILINX_VIRTEX_5_FXT) += virtex.o
arch/powerpc/platforms/44x/rainier.c deleted +0 -62

62 lines not on this page · raw message

Signature · 1 line
1.5.5.1
author
#16 lore raw

PATCH 6/9 powerpc/44x: Migrate Sequoia support to ppc44x_simple

In reply to Josh Boyer

Migrate the AMCC Sequoia board to use the ppc44x_simple platform file.

---
 arch/powerpc/platforms/44x/Kconfig   |    1 +
 arch/powerpc/platforms/44x/Makefile  |    1 -
 arch/powerpc/platforms/44x/sequoia.c |   63 ----------------------------------
 3 files changed, 1 insertions(+), 64 deletions(-)
 delete mode 100644 arch/powerpc/platforms/44x/sequoia.c
arch/powerpc/platforms/44x/Kconfig +1 -0
index 89e7f1f..84e2a70 100644
@@ -31,6 +31,7 @@ config SEQUOIA
 	bool "Sequoia"
 	depends on 44x
 	default n
+	select PPC44x_SIMPLE
 	select 440EPX
 	help
 	  This option enables support for the AMCC PPC440EPX evaluation board.
arch/powerpc/platforms/44x/Makefile +0 -1
index c201af6..a8a92c1 100644
@@ -3,7 +3,6 @@ obj-$(CONFIG_PPC44x_SIMPLE) += ppc44x_simple.o
 obj-$(CONFIG_EBONY)	+= ebony.o
 obj-$(CONFIG_TAISHAN)	+= taishan.o
 obj-$(CONFIG_SAM440EP) 	+= sam440ep.o
-obj-$(CONFIG_SEQUOIA)	+= sequoia.o
 obj-$(CONFIG_WARP)	+= warp.o
 obj-$(CONFIG_WARP)	+= warp-nand.o
 obj-$(CONFIG_XILINX_VIRTEX_5_FXT) += virtex.o
arch/powerpc/platforms/44x/sequoia.c deleted +0 -63

63 lines not on this page · raw message

Signature · 1 line
1.5.5.1
author
#17 lore raw

PATCH 7/9 powerpc/44x: Migrate Taishan support to ppc44x_simple

In reply to Josh Boyer

Migrate the AMCC Taishan board to use the ppc44x_simple platform file.

---
 arch/powerpc/platforms/44x/Kconfig   |    1 +
 arch/powerpc/platforms/44x/Makefile  |    1 -
 arch/powerpc/platforms/44x/taishan.c |   72 ----------------------------------
 3 files changed, 1 insertions(+), 73 deletions(-)
 delete mode 100644 arch/powerpc/platforms/44x/taishan.c
arch/powerpc/platforms/44x/Kconfig +1 -0
index 84e2a70..e0bea83 100644
@@ -40,6 +40,7 @@ config TAISHAN
 	bool "Taishan"
 	depends on 44x
 	default n
+	select PPC44x_SIMPLE
 	select 440GX
 	select PCI
 	help
arch/powerpc/platforms/44x/Makefile +0 -1
index a8a92c1..6981331 100644
@@ -1,7 +1,6 @@
 obj-$(CONFIG_44x)	:= misc_44x.o idle.o
 obj-$(CONFIG_PPC44x_SIMPLE) += ppc44x_simple.o
 obj-$(CONFIG_EBONY)	+= ebony.o
-obj-$(CONFIG_TAISHAN)	+= taishan.o
 obj-$(CONFIG_SAM440EP) 	+= sam440ep.o
 obj-$(CONFIG_WARP)	+= warp.o
 obj-$(CONFIG_WARP)	+= warp-nand.o
arch/powerpc/platforms/44x/taishan.c deleted +0 -72

72 lines not on this page · raw message

Signature · 1 line
1.5.5.1
author
#18 lore raw

PATCH 8/9 powerpc/44x: Add explicit support for AMCC Glacier

In reply to Josh Boyer

Add explicit support for the AMCC Glacier eval board to Kconfig and the ppc44x_simple file. Also removes the cayonlands compatible entry from the DTS file.

---
 arch/powerpc/boot/dts/glacier.dts          |    2 +-
 arch/powerpc/platforms/44x/Kconfig         |   11 +++++++++++
 arch/powerpc/platforms/44x/ppc44x_simple.c |    1 +
 3 files changed, 13 insertions(+), 1 deletions(-)
arch/powerpc/boot/dts/glacier.dts +1 -1
index 24cf0db..f3787a2 100644
@@ -14,7 +14,7 @@
 	#address-cells = <2>;
 	#size-cells = <1>;
 	model = "amcc,glacier";
-	compatible = "amcc,glacier", "amcc,canyonlands";
+	compatible = "amcc,glacier";
 	dcr-parent = <&{/cpus/cpu@0}>;
 
 	aliases {
arch/powerpc/platforms/44x/Kconfig +11 -0
index e0bea83..f8ef279 100644
@@ -92,6 +92,17 @@ config CANYONLANDS
 	help
 	  This option enables support for the AMCC PPC460EX evaluation board.
 
+config GLACIER
+	bool "Glacier"
+	depends on 44x
+	default n
+	select PPC44x_SIMPLE
+	select 460EX # Odd since it uses 460GT but the effects are the same
+	select PCI
+	select PPC4xx_PCI_EXPRESS
+	help
+	  This option enables support for the AMCC PPC460GT evaluation board.
+
 config YOSEMITE
 	bool "Yosemite"
 	depends on 44x
arch/powerpc/platforms/44x/ppc44x_simple.c +1 -0
index 067cddb..4e78e04 100644
@@ -43,6 +43,7 @@ machine_device_initcall(ppc44x_simple, ppc44x_device_probe);
 static char *board[] __initdata = {
 	"amcc,bamboo",
 	"amcc,cayonlands",
+	"amcc,glacier",
 	"ibm,ebony",
 	"amcc,katmai",
 	"amcc,rainier",
Signature · 1 line
1.5.5.1
author
#19 lore raw

PATCH 9/9 powerpc/44x: Add explicit Yosemite support

In reply to Josh Boyer

Add the Yosemite board to the explicitly supported list for ppc44x_simple boards and remove the compatible entry for bamboo from the DTS file.

---
 arch/powerpc/boot/dts/yosemite.dts         |    2 +-
 arch/powerpc/platforms/44x/ppc44x_simple.c |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)
arch/powerpc/boot/dts/yosemite.dts +1 -1
index e39422a..1fa3cb4 100644
@@ -15,7 +15,7 @@
 	#address-cells = <2>;
 	#size-cells = <1>;
 	model = "amcc,yosemite";
-	compatible = "amcc,yosemite","amcc,bamboo";
+	compatible = "amcc,yosemite";
 	dcr-parent = <&{/cpus/cpu@0}>;
 
 	aliases {
arch/powerpc/platforms/44x/ppc44x_simple.c +1 -0
index 4e78e04..43b8db9 100644
@@ -49,6 +49,7 @@ static char *board[] __initdata = {
 	"amcc,rainier",
 	"amcc,sequoia",
 	"amcc,taishan",
+	"amcc,yosemite",
 	NULL
 };
 
Signature · 1 line
1.5.5.1
#20 lore raw
In reply to Josh Boyer
Quoted 6 lines · Josh Boyer

The following patch series reworks the board support code for PowerPC 44x platforms. It eliminates a number of redundant <board>.c files and add a ppc44x_simple.c file that has an explicit list of boards that are supported by it. This is the same mechanism that Grant Likely has used for MPC 5200 boards.

Quoted 6 lines

It also adds some more explicit support for Glacier and Yosemite boards, as those boards were using a board level compatible property in their DTS files that was a bit confusing.

Review would be appreciated. Tested on Sequoia, and I plan on testing on as many boards as I can before committing to my tree.

Looks great at first glance. I'll try to do some testing here too in the next few days.

Thanks.

Best regards,
Stefan

author
#21 lore raw
Quoted 11 lines · On Tue, 19 Aug 2008 20:26:12 +0200 Stefan Roese <[email protected]> wrote:
Quoted 10 lines · Josh Boyer

The following patch series reworks the board support code for PowerPC 44x platforms. It eliminates a number of redundant <board>.c files and add a ppc44x_simple.c file that has an explicit list of boards that are supported by it. This is the same mechanism that Grant Likely has used for MPC 5200 boards.

It also adds some more explicit support for Glacier and Yosemite boards, as those boards were using a board level compatible property in their DTS files that was a bit confusing.

Quoted 5 lines
Quoted 2 lines

Review would be appreciated. Tested on Sequoia, and I plan on testing on as many boards as I can before committing to my tree.

Looks great at first glance. I'll try to do some testing here too in the next few days.

That would be much appreciated. I have a number of the effected boards, but I don't have them all so any testing you can do would be awesome.

josh

#22 lore raw

Hi Josh,

Quoted 4 lines
Quoted 4 lines
Quoted 3 lines

Review would be appreciated. Tested on Sequoia, and I plan on testing on as many boards as I can before committing to my tree.

The changes looks great.

Quoted 4 lines

That would be much appreciated. I have a number of the effected boards, but I don't have them all so any testing you can do would be awesome.

I tried pulling up the latest code from your git tree. Seems it is not yet put in there.
Do I have to manually apply all the patches to my git tree. I was planning to test the changes on Canyonlands, glacier and Kilauea boards here.

Thanks,
Prodyut Hazarika

===============
Staff S/W Engineer
AMCC
===============

Quoted 5 lines

_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev

author
#23 lore raw
Quoted 7 lines · On Wed, 20 Aug 2008 09:54:40 -0700 "prodyut hazarika" <[email protected]>…

Hi Josh,

Quoted 4 lines
Quoted 4 lines
Quoted 3 lines

Review would be appreciated. Tested on Sequoia, and I plan on testing on as many boards as I can before committing to my tree.

Quoted 8 lines

The changes looks great.

Quoted 4 lines

That would be much appreciated. I have a number of the effected boards, but I don't have them all so any testing you can do would be awesome.

I tried pulling up the latest code from your git tree. Seems it is not yet put in there.

Right. I tend to not commit patches that even I send out until they've at least had some review.

Quoted 3 lines

Do I have to manually apply all the patches to my git tree. I was planning to test the changes on Canyonlands, glacier and Kilauea boards here.

For now, yes. In a day or so I'll probably fix the small comments I've gotten and then commit the series to my next branch.

josh

#24 lore raw
In reply to Josh Boyer
Quoted 6 lines · Josh Boyer

The following patch series reworks the board support code for PowerPC 44x platforms. It eliminates a number of redundant <board>.c files and add a ppc44x_simple.c file that has an explicit list of boards that are supported by it. This is the same mechanism that Grant Likely has used for MPC 5200 boards.

Quoted 8 lines

It also adds some more explicit support for Glacier and Yosemite boards, as those boards were using a board level compatible property in their DTS files that was a bit confusing.

Review would be appreciated. Tested on Sequoia, and I plan on testing on as many boards as I can before committing to my tree.

josh

Sorry if I miss anything, but
what happens if I build an uImage just for Rainier (not enabling other platforms in the kernel config) and then start it on Canyonlands for example?
They both use PowerPC_44x_simple stuff and looks like now we claim that all these "simple" boards are compatible. So, board check always passes, although Canyonlands support is actually disabled (CONFIG_460EX = n; CONFIG_PPC4xx_PCI_EXPRESS = n). It's not critical, but I just thought we might also remove the platform-specific options from arch/powerpc/platforms/44x/Kconfig for these boards at all. Just enable all board-specific stuff under "config PPC44x_SIMPLE". Otherwise we probably should have a configurable char *board[] array.

Thanks,
Valentine.

author
#25 lore raw
Quoted 14 lines · On Wed, 20 Aug 2008 20:51:18 +0400 Valentine Barshak <[email protected]>…
Quoted 13 lines · Josh Boyer

The following patch series reworks the board support code for PowerPC 44x platforms. It eliminates a number of redundant <board>.c files and add a ppc44x_simple.c file that has an explicit list of boards that are supported by it. This is the same mechanism that Grant Likely has used for MPC 5200 boards.

It also adds some more explicit support for Glacier and Yosemite boards, as those boards were using a board level compatible property in their DTS files that was a bit confusing.

Review would be appreciated. Tested on Sequoia, and I plan on testing on as many boards as I can before committing to my tree.

Quoted 6 lines
Quoted 1 line

josh

Sorry if I miss anything, but
what happens if I build an uImage just for Rainier (not enabling other platforms in the kernel config) and then start it on Canyonlands for example?

Why would you do that? If you want that, use ppc44x_defconfig as it has all the boards enabled. Also, if you're talking about the default make targets in the kernel, that would build a cuImage for Rainier, and I'd expect that to blow up spectacularly on a Canoynlands because the device tree would be in no way correct.

Quoted 2 lines

They both use PowerPC_44x_simple stuff and looks like now we claim that all these "simple" boards are compatible. So, board check always passes,

No, we don't claim they are compatible at all. We simply claim that they can all be supported by the ppc44x_simple.c platform file. The compatible stuff is done through the device tree, and if you look at the patch series you'll see that I actually removed all the cross-board compatible statements from the boards that had more than one in the DTS file.

Quoted 4 lines

although Canyonlands support is actually disabled (CONFIG_460EX = n; CONFIG_PPC4xx_PCI_EXPRESS = n). It's not critical, but I just thought we might also remove the platform-specific options from arch/powerpc/platforms/44x/Kconfig for these boards at all. Just enable

I left them in there on purpose. People want to be able to say "I have a Rainier board. I only want a kernel for that." They're also used for the wrapper stuff to build the right images.

Quoted 2 lines

all board-specific stuff under "config PPC44x_SIMPLE". Otherwise we probably should have a configurable char *board[] array.

We could do that if it's _really_ necessary, but I'm not sure it is.

josh