Skip to contentSkip to conversation

ppc: add support for Radstone ppc7d boards

PATCH In review James Chapman 2 participants 9 messages Feb 28, 2005 – Mar 3, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ppc: add support for Radstone ppc7d boards

Add support for Radstone PPC7D PPC boards.

The Radstone PPC7D is a rugged ppc7447A VME card with Marvell Discovery-II dual GigE, dual PCI/PCI-X PMC sites, 4 UARTs, 2 high speed serial ports, USB and optional SCSI / VGA.

Depends on mv64360 PIC, GPIO and watchdog patches submitted here:
http://ozlabs.org/pipermail/linuxppc-embedded/2005-February/016950.html
http://ozlabs.org/pipermail/linuxppc-embedded/2005-February/016951.html
http://ozlabs.org/pipermail/linuxppc-embedded/2005-February/016952.html

arch/ppc/Kconfig +6 -2
diff -Nru a/arch/ppc/Kconfig b/arch/ppc/Kconfig
@@ -568,6 +568,10 @@
 	  Select SANDPOINT if configuring for a Motorola Sandpoint X3
 	  (any flavor).
 
+config RADSTONE_PPC7D
+	bool "Radstone Technology PPC7D board"
+	select MV64360
+
 config ADIR
 	bool "SBS-Adirondack"
 
@@ -715,7 +719,7 @@
 	bool
 	depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS || PCORE || \
 		PRPMC750 || K2 || PRPMC800 || LOPEC || \
-		(EV64260 && !SERIAL_MPSC) || CHESTNUT
+		(EV64260 && !SERIAL_MPSC) || CHESTNUT || RADSTONE_PPC7D
 	default y
 
 config FORCE
@@ -730,7 +734,7 @@
 
 config MV64360
 	bool
-	depends on KATANA
+	depends on KATANA || RADSTONE_PPC7D
 	default y
 
 config MV64360
arch/ppc/boot/simple/Makefile +4 -0
diff -Nru a/arch/ppc/boot/simple/Makefile b/arch/ppc/boot/simple/Makefile
@@ -97,6 +97,10 @@
          end-$(CONFIG_KATANA)		:= katana
    cacheflag-$(CONFIG_KATANA)		:= -include $(clear_L2_L3)
 
+     extra.o-$(CONFIG_RADSTONE_PPC7D)	:= misc-radstone_ppc7d.o mv64x60_stub.o
+         end-$(CONFIG_RADSTONE_PPC7D)	:= radstone_ppc7d
+   cacheflag-$(CONFIG_RADSTONE_PPC7D)	:= -include $(clear_L2_L3)
+
 # kconfig 'feature', only one of these will ever be 'y' at a time.
 # The rest will be unset.
 motorola := $(CONFIG_MCPN765)$(CONFIG_MVME5100)$(CONFIG_PRPMC750) \
arch/ppc/boot/simple/misc-radstone_ppc7d.c new file +19 -0
diff -Nru a/arch/ppc/boot/simple/misc-radstone_ppc7d.c b/arch/ppc/boot/simple/misc-radstone_ppc7d.c
@@ -0,0 +1,19 @@
+/*
+ * arch/ppc/boot/simple/misc-radstone_ppc7d.c
+ *
+ * Misc data for Radstone PPC7D board.
+ *
+ * Author: James Chapman <[email protected]>
+ */
+
+#include <linux/types.h>
+#include <asm/reg.h>
+
+#include "../../platforms/radstone_ppc7d.h"
+
+#if defined(CONFIG_SERIAL_MPSC_CONSOLE)
+long	mv64x60_mpsc_clk_freq = PPC7D_MPSC_CLK_FREQ;;
+long	mv64x60_mpsc_clk_src = PPC7D_MPSC_CLK_SRC;
+long	mv64x60_mpsc_console_baud = PPC7D_DEFAULT_BAUD;
+#endif
+
arch/ppc/configs/radstone_ppc7d_defconfig new file +870 -0

870 lines not on this page · raw message

arch/ppc/platforms/Makefile +1 -0
diff -Nru a/arch/ppc/platforms/Makefile b/arch/ppc/platforms/Makefile
@@ -39,6 +39,7 @@
 obj-$(CONFIG_PPLUS)		+= pplus.o
 obj-$(CONFIG_PRPMC750)		+= prpmc750.o
 obj-$(CONFIG_PRPMC800)		+= prpmc800.o
+obj-$(CONFIG_RADSTONE_PPC7D)	+= radstone_ppc7d.o
 obj-$(CONFIG_SANDPOINT)		+= sandpoint.o
 obj-$(CONFIG_SBC82xx)		+= sbc82xx.o
 obj-$(CONFIG_SPRUCE)		+= spruce.o
arch/ppc/platforms/radstone_ppc7d.c new file +1453 -0

1,453 lines not on this page · raw message

arch/ppc/platforms/radstone_ppc7d.h new file +435 -0

435 lines not on this page · raw message

arch/ppc/syslib/Makefile +1 -0
diff -Nru a/arch/ppc/syslib/Makefile b/arch/ppc/syslib/Makefile
@@ -74,6 +74,7 @@
 					hawk_common.o
 obj-$(CONFIG_HARRIER)		+= harrier.o
 obj-$(CONFIG_PRPMC800)		+= open_pic.o indirect_pci.o pci_auto.o
+obj-$(CONFIG_RADSTONE_PPC7D)	+= i8259.o pci_auto.o
 obj-$(CONFIG_SANDPOINT)		+= i8259.o pci_auto.o todc_time.o
 obj-$(CONFIG_SBC82xx)		+= todc_time.o
 obj-$(CONFIG_SPRUCE)		+= cpc700_pic.o indirect_pci.o pci_auto.o \
include/asm-ppc/serial.h +2 -0
diff -Nru a/include/asm-ppc/serial.h b/include/asm-ppc/serial.h
@@ -34,6 +34,8 @@
 #include <asm/ibm4xx.h>
 #elif defined(CONFIG_85xx)
 #include <asm/mpc85xx.h>
+#elif defined(CONFIG_RADSTONE_PPC7D)
+#include <platforms/radstone_ppc7d.h>
 #else
 
 /*
#1 lore raw

Hi James,

All-in-all, this seems good but I have a few comments/questions.

Mark
--

Quoted 10 lines · James Chapman

Add support for Radstone PPC7D PPC boards.

The Radstone PPC7D is a rugged ppc7447A VME card with Marvell Discovery-II dual GigE, dual PCI/PCI-X PMC sites, 4 UARTs, 2 high speed serial ports, USB and optional SCSI / VGA.

diff -Nru a/arch/ppc/platforms/radstone_ppc7d.c b/arch/ppc/platforms/radstone_ppc7d.c

arch/ppc/platforms/radstone_ppc7d.c line 928

Quoted 5 lines
arch/ppc/platforms/radstone_ppc7d.c new file +4 -0
+void __init ppc7d_setup_peripherals(void)
 
+       val32 = mv64x60_read(&bh, MV64x60_PCI1_PCI_DECODE_CNTL);
+       val32 &= ~(1 << 3);
+       mv64x60_write(&bh, MV64x60_PCI1_PCI_DECODE_CNTL, val32);

Bit 3 is already cleared by the core code.

arch/ppc/platforms/radstone_ppc7d.c line 958

Quoted 4 lines
arch/ppc/platforms/radstone_ppc7d.c new file +4 -0
+       /* Setup P2P for PCI#0 */
+       val32 = mv64x60_read(&bh, MV64x60_PCI0_P2P_CONFIG);
+       val32 &= ~(0x00ffffff);
+       val32 |= ((bh.hose_a->first_busno & 0xff) << 16);

etc.

Do you really use the P2P bridge? Unless I missed something, I think it remains disabled. You shouldn't need it unless you have PCI devices on one hose directly accessing PCI devices on the other hose. The P2P stuff seems complicated & unnecessary.

#2 lore raw

Hi Mark,

Thanks for reviewing my patch.

Quoted 9 lines · Mark A. Greer
Quoted 1 line

diff -Nru a/arch/ppc/platforms/radstone_ppc7d.c

b/arch/ppc/platforms/radstone_ppc7d.c

arch/ppc/platforms/radstone_ppc7d.c line 928

Quoted 5 lines
arch/ppc/platforms/radstone_ppc7d.c new file +4 -0
+void __init ppc7d_setup_peripherals(void)
 
+       val32 = mv64x60_read(&bh, MV64x60_PCI1_PCI_DECODE_CNTL);
+       val32 &= ~(1 << 3);
+       mv64x60_write(&bh, MV64x60_PCI1_PCI_DECODE_CNTL, val32);

Bit 3 is already cleared by the core code.

Oh ok. I'll remove it.

Quoted 7 lines

arch/ppc/platforms/radstone_ppc7d.c line 958

Quoted 4 lines
arch/ppc/platforms/radstone_ppc7d.c new file +4 -0
+       /* Setup P2P for PCI#0 */
+       val32 = mv64x60_read(&bh, MV64x60_PCI0_P2P_CONFIG);
+       val32 &= ~(0x00ffffff);
+       val32 |= ((bh.hose_a->first_busno & 0xff) << 16);

etc.

Do you really use the P2P bridge? Unless I missed something, I think it remains disabled. You shouldn't need it unless you have PCI devices on one hose directly accessing PCI devices on the other hose. The P2P stuff seems complicated & unnecessary.

It was a feature that the Radstone folk wanted to allow, although they had no application for it at the time. I can probably just remove that code for now - if they ever do want to add that support, it would be a separate patch.

I'll retest with the above code removed and submit a new patch.

Signature · 2 lines
James Chapman
PGP key : http://www.katalix.com/~jchapman/pgpkey.txt
#3 lore raw
In reply to Mark A. Greer
Quoted 7 lines · Mark A. Greer

arch/ppc/platforms/radstone_ppc7d.c line 958

Quoted 4 lines
arch/ppc/platforms/radstone_ppc7d.c new file +4 -0
+       /* Setup P2P for PCI#0 */
+       val32 = mv64x60_read(&bh, MV64x60_PCI0_P2P_CONFIG);
+       val32 &= ~(0x00ffffff);
+       val32 |= ((bh.hose_a->first_busno & 0xff) << 16);

etc.

Do you really use the P2P bridge? Unless I missed something, I think it remains disabled. You shouldn't need it unless you have PCI devices on one hose directly accessing PCI devices on the other hose. The P2P stuff seems complicated & unnecessary.

Thinking about this more, what is really being configured here is the primary bus number before the scan is performed. If the bus number doesn't match the hose's primary bus number, the mv64x60 will issue Type 2 PCI config cycles instead of Type 1 and the scan will fail.

This board has an on-board PCI-X bridge and potentially other PCI bridges on PMC cards. I found that I had to init the P2P_CONFIG primary bus value before scan in order for the PCI scan of bus 2 to work (hose_a has PCI busses 0 and 1).

I think the writes to the P2P config registers are necessary.

/james

Signature · 2 lines
James Chapman
PGP key : http://www.katalix.com/~jchapman/pgpkey.txt
#4 lore raw
Quoted 16 lines · James Chapman
Quoted 7 lines · Mark A. Greer

arch/ppc/platforms/radstone_ppc7d.c line 958

Quoted 4 lines
arch/ppc/platforms/radstone_ppc7d.c new file +4 -0
+       /* Setup P2P for PCI#0 */
+       val32 = mv64x60_read(&bh, MV64x60_PCI0_P2P_CONFIG);
+       val32 &= ~(0x00ffffff);
+       val32 |= ((bh.hose_a->first_busno & 0xff) << 16);

etc.

Do you really use the P2P bridge? Unless I missed something, I think it remains disabled. You shouldn't need it unless you have PCI devices on one hose directly accessing PCI devices on the other hose. The P2P stuff seems complicated & unnecessary.

Thinking about this more, what is really being configured here is the primary bus number before the scan is performed. If the bus number doesn't match the hose's primary bus number, the mv64x60 will issue Type 2 PCI config cycles instead of Type 1 and the scan will fail.

Quoted 6 lines

This board has an on-board PCI-X bridge and potentially other PCI bridges on PMC cards. I found that I had to init the P2P_CONFIG primary bus value before scan in order for the PCI scan of bus 2 to work (hose_a has PCI busses 0 and 1).

I think the writes to the P2P config registers are necessary.

mv64x60_set_bus() is supposed to do that. Try doing your bus numbering setup/bus scanning like what's in ev64260.c. If there is still a deficiency, then we should fix up that routine.

Mark

#5 lore raw

Revised patch for Radstone PPC7D board support.

- use mv64x60_set_bus() to setup for PCI scans rather than writing to chip P2P_CONFIG registers directly.

Quoted 35 lines · Mark A. Greer
Quoted 17 lines · James Chapman
Quoted 7 lines · Mark A. Greer

Review

Quoted 4 lines
(quoted diff) +4 -0
+       /* Setup P2P for PCI#0 */
+       val32 = mv64x60_read(&bh, MV64x60_PCI0_P2P_CONFIG);
+       val32 &= ~(0x00ffffff);
+       val32 |= ((bh.hose_a->first_busno & 0xff) << 16);

etc.

Do you really use the P2P bridge? Unless I missed something, I think it remains disabled. You shouldn't need it unless you have PCI devices on one hose directly accessing PCI devices on the other hose. The P2P stuff seems complicated & unnecessary.

Thinking about this more, what is really being configured here is the primary bus number before the scan is performed. If the bus number doesn't match the hose's primary bus number, the mv64x60 will issue Type 2 PCI config cycles instead of Type 1 and the scan will fail.

Quoted 6 lines

This board has an on-board PCI-X bridge and potentially other PCI bridges on PMC cards. I found that I had to init the P2P_CONFIG primary bus value before scan in order for the PCI scan of bus 2 to work (hose_a has PCI busses 0 and 1).

I think the writes to the P2P config registers are necessary.

mv64x60_set_bus() is supposed to do that. Try doing your bus numbering setup/bus scanning like what's in ev64260.c. If there is still a deficiency, then we should fix up that routine.

Mark

Signature · 3 lines
James Chapman
E-mail  : [email protected]
PGP key : http://www.katalix.com/~jchapman/pgpkey.txt
arch/ppc/Kconfig +6 -2
diff -Nru a/arch/ppc/Kconfig b/arch/ppc/Kconfig
@@ -568,6 +568,10 @@
 	  Select SANDPOINT if configuring for a Motorola Sandpoint X3
 	  (any flavor).
 
+config RADSTONE_PPC7D
+	bool "Radstone Technology PPC7D board"
+	select MV64360
+
 config ADIR
 	bool "SBS-Adirondack"
 
@@ -715,7 +719,7 @@
 	bool
 	depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS || PCORE || \
 		PRPMC750 || K2 || PRPMC800 || LOPEC || \
-		(EV64260 && !SERIAL_MPSC) || CHESTNUT
+		(EV64260 && !SERIAL_MPSC) || CHESTNUT || RADSTONE_PPC7D
 	default y
 
 config FORCE
@@ -730,7 +734,7 @@
 
 config MV64360
 	bool
-	depends on KATANA
+	depends on KATANA || RADSTONE_PPC7D
 	default y
 
 config MV64360
arch/ppc/boot/simple/Makefile +4 -0
diff -Nru a/arch/ppc/boot/simple/Makefile b/arch/ppc/boot/simple/Makefile
@@ -97,6 +97,10 @@
          end-$(CONFIG_KATANA)		:= katana
    cacheflag-$(CONFIG_KATANA)		:= -include $(clear_L2_L3)
 
+     extra.o-$(CONFIG_RADSTONE_PPC7D)	:= misc-radstone_ppc7d.o mv64x60_stub.o
+         end-$(CONFIG_RADSTONE_PPC7D)	:= radstone_ppc7d
+   cacheflag-$(CONFIG_RADSTONE_PPC7D)	:= -include $(clear_L2_L3)
+
 # kconfig 'feature', only one of these will ever be 'y' at a time.
 # The rest will be unset.
 motorola := $(CONFIG_MCPN765)$(CONFIG_MVME5100)$(CONFIG_PRPMC750) \
arch/ppc/boot/simple/misc-radstone_ppc7d.c new file +19 -0
diff -Nru a/arch/ppc/boot/simple/misc-radstone_ppc7d.c b/arch/ppc/boot/simple/misc-radstone_ppc7d.c
@@ -0,0 +1,19 @@
+/*
+ * arch/ppc/boot/simple/misc-radstone_ppc7d.c
+ *
+ * Misc data for Radstone PPC7D board.
+ *
+ * Author: James Chapman <[email protected]>
+ */
+
+#include <linux/types.h>
+#include <asm/reg.h>
+
+#include "../../platforms/radstone_ppc7d.h"
+
+#if defined(CONFIG_SERIAL_MPSC_CONSOLE)
+long	mv64x60_mpsc_clk_freq = PPC7D_MPSC_CLK_FREQ;;
+long	mv64x60_mpsc_clk_src = PPC7D_MPSC_CLK_SRC;
+long	mv64x60_mpsc_console_baud = PPC7D_DEFAULT_BAUD;
+#endif
+
arch/ppc/configs/radstone_ppc7d_defconfig new file +870 -0

870 lines not on this page · raw message

arch/ppc/platforms/Makefile +1 -0
diff -Nru a/arch/ppc/platforms/Makefile b/arch/ppc/platforms/Makefile
@@ -39,6 +39,7 @@
 obj-$(CONFIG_PPLUS)		+= pplus.o
 obj-$(CONFIG_PRPMC750)		+= prpmc750.o
 obj-$(CONFIG_PRPMC800)		+= prpmc800.o
+obj-$(CONFIG_RADSTONE_PPC7D)	+= radstone_ppc7d.o
 obj-$(CONFIG_SANDPOINT)		+= sandpoint.o
 obj-$(CONFIG_SBC82xx)		+= sbc82xx.o
 obj-$(CONFIG_SPRUCE)		+= spruce.o
arch/ppc/platforms/radstone_ppc7d.c new file +1413 -0

1,413 lines not on this page · raw message

arch/ppc/platforms/radstone_ppc7d.h new file +435 -0

435 lines not on this page · raw message

arch/ppc/syslib/Makefile +1 -0
diff -Nru a/arch/ppc/syslib/Makefile b/arch/ppc/syslib/Makefile
@@ -74,6 +74,7 @@
 					hawk_common.o
 obj-$(CONFIG_HARRIER)		+= harrier.o
 obj-$(CONFIG_PRPMC800)		+= open_pic.o indirect_pci.o pci_auto.o
+obj-$(CONFIG_RADSTONE_PPC7D)	+= i8259.o pci_auto.o
 obj-$(CONFIG_SANDPOINT)		+= i8259.o pci_auto.o todc_time.o
 obj-$(CONFIG_SBC82xx)		+= todc_time.o
 obj-$(CONFIG_SPRUCE)		+= cpc700_pic.o indirect_pci.o pci_auto.o \
include/asm-ppc/serial.h +2 -0
diff -Nru a/include/asm-ppc/serial.h b/include/asm-ppc/serial.h
@@ -34,6 +34,8 @@
 #include <asm/ibm4xx.h>
 #elif defined(CONFIG_85xx)
 #include <asm/mpc85xx.h>
+#elif defined(CONFIG_RADSTONE_PPC7D)
+#include <platforms/radstone_ppc7d.h>
 #else
 
 /*
#6 lore raw
Quoted 6 lines · James Chapman

Revised patch for Radstone PPC7D board support.

- use mv64x60_set_bus() to setup for PCI scans rather than writing to chip P2P_CONFIG registers directly.

Looks good, James, except for a couple minor things. If/when you address the comments, please resubmit the entire patch with a proper description so I can forward it on -- http://linux.yyz.us/patch-format.html

Thanks,

Mark
--

arch/ppc/platforms/radstone_ppc7d.c line 89

Quoted 4 lines

diff -Nru a/arch/ppc/platforms/radstone_ppc7d.c b/arch/ppc/platforms/radstone_ppc7d.c

arch/ppc/platforms/radstone_ppc7d.c new file +2 -0
+#if defined(CONFIG_SERIAL_MPSC_CONSOLE)
+       mv64x60_mpsc_init(port, uart);

Don't you mean "mv64x60_progress_init( <base> );" ?

Quoted 3 lines

diff -Nru a/arch/ppc/platforms/radstone_ppc7d.h b/arch/ppc/platforms/radstone_ppc7d.h

+#define PPC7D_MV64360_REG_BASE 0xfef00000

You don't really need this b/c CONFIG_MV64X60_NEW_BASE should have the correct value.

#7 lore raw

PATCH 1/1 ppc32: add Radstone PPC7D platform support

ppc32: add Radstone PPC7D platform support

Radstone PPC7D are ppc7447A VME boards with Marvell Discovery-II, dual GigE, dual PMC, 6 serial ports, keyboard/mouse, USB and optional SCSI/VGA. This patch adds support for the PPC7D platform.

arch/ppc/boot/simple/misc-radstone_ppc7d.c new file +19 -0
Index: linux-2.6/arch/ppc/boot/simple/misc-radstone_ppc7d.c
===================================================================
@@ -0,0 +1,19 @@
+/*
+ * arch/ppc/boot/simple/misc-radstone_ppc7d.c
+ *
+ * Misc data for Radstone PPC7D board.
+ *
+ * Author: James Chapman <[email protected]>
+ */
+
+#include <linux/types.h>
+#include <asm/reg.h>
+
+#include "../../platforms/radstone_ppc7d.h"
+
+#if defined(CONFIG_SERIAL_MPSC_CONSOLE)
+long	mv64x60_mpsc_clk_freq = PPC7D_MPSC_CLK_FREQ;;
+long	mv64x60_mpsc_clk_src = PPC7D_MPSC_CLK_SRC;
+long	mv64x60_mpsc_console_baud = PPC7D_DEFAULT_BAUD;
+#endif
+
arch/ppc/platforms/Makefile +1 -0
Index: linux-2.6/arch/ppc/platforms/Makefile
===================================================================
@@ -39,6 +39,7 @@
 obj-$(CONFIG_PPLUS)		+= pplus.o
 obj-$(CONFIG_PRPMC750)		+= prpmc750.o
 obj-$(CONFIG_PRPMC800)		+= prpmc800.o
+obj-$(CONFIG_RADSTONE_PPC7D)	+= radstone_ppc7d.o
 obj-$(CONFIG_SANDPOINT)		+= sandpoint.o
 obj-$(CONFIG_SBC82xx)		+= sbc82xx.o
 obj-$(CONFIG_SPRUCE)		+= spruce.o
arch/ppc/platforms/radstone_ppc7d.c new file +1408 -0

1,408 lines not on this page · raw message

arch/ppc/boot/simple/Makefile +4 -0
Index: linux-2.6/arch/ppc/boot/simple/Makefile
===================================================================
@@ -97,6 +97,10 @@
          end-$(CONFIG_KATANA)		:= katana
    cacheflag-$(CONFIG_KATANA)		:= -include $(clear_L2_L3)
 
+     extra.o-$(CONFIG_RADSTONE_PPC7D)	:= misc-radstone_ppc7d.o mv64x60_stub.o
+         end-$(CONFIG_RADSTONE_PPC7D)	:= radstone_ppc7d
+   cacheflag-$(CONFIG_RADSTONE_PPC7D)	:= -include $(clear_L2_L3)
+
 # kconfig 'feature', only one of these will ever be 'y' at a time.
 # The rest will be unset.
 motorola := $(CONFIG_MCPN765)$(CONFIG_MVME5100)$(CONFIG_PRPMC750) \
arch/ppc/Kconfig +6 -2
Index: linux-2.6/arch/ppc/Kconfig
===================================================================
@@ -568,6 +568,10 @@
 	  Select SANDPOINT if configuring for a Motorola Sandpoint X3
 	  (any flavor).
 
+config RADSTONE_PPC7D
+	bool "Radstone Technology PPC7D board"
+	select MV64360
+
 config ADIR
 	bool "SBS-Adirondack"
 
@@ -715,7 +719,7 @@
 	bool
 	depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS || PCORE || \
 		PRPMC750 || K2 || PRPMC800 || LOPEC || \
-		(EV64260 && !SERIAL_MPSC) || CHESTNUT
+		(EV64260 && !SERIAL_MPSC) || CHESTNUT || RADSTONE_PPC7D
 	default y
 
 config FORCE
@@ -730,7 +734,7 @@
 
 config MV64360
 	bool
-	depends on KATANA
+	depends on KATANA || RADSTONE_PPC7D
 	default y
 
 config MV64360
arch/ppc/syslib/Makefile +1 -0
Index: linux-2.6/arch/ppc/syslib/Makefile
===================================================================
@@ -74,6 +74,7 @@
 					hawk_common.o
 obj-$(CONFIG_HARRIER)		+= harrier.o
 obj-$(CONFIG_PRPMC800)		+= open_pic.o indirect_pci.o pci_auto.o
+obj-$(CONFIG_RADSTONE_PPC7D)	+= i8259.o pci_auto.o
 obj-$(CONFIG_SANDPOINT)		+= i8259.o pci_auto.o todc_time.o
 obj-$(CONFIG_SBC82xx)		+= todc_time.o
 obj-$(CONFIG_SPRUCE)		+= cpc700_pic.o indirect_pci.o pci_auto.o \
arch/ppc/platforms/radstone_ppc7d.h new file +434 -0

434 lines not on this page · raw message

arch/ppc/configs/radstone_ppc7d_defconfig new file +870 -0

870 lines not on this page · raw message

include/asm-ppc/serial.h +2 -0
Index: linux-2.6/include/asm-ppc/serial.h
===================================================================
@@ -34,6 +34,8 @@
 #include <asm/ibm4xx.h>
 #elif defined(CONFIG_85xx)
 #include <asm/mpc85xx.h>
+#elif defined(CONFIG_RADSTONE_PPC7D)
+#include <platforms/radstone_ppc7d.h>
 #else
 
 /*
#8 lore raw

PATCH 1/1 ppc32: add Radstone PPC7D platform support

In reply to Mark A. Greer

ppc32: add Radstone PPC7D platform support

Radstone PPC7D are ppc7447A VME boards with Marvell Discovery-II, dual GigE, dual PMC, 6 serial ports, keyboard/mouse, USB and optional SCSI/VGA. This patch adds support for the PPC7D platform.

arch/ppc/boot/simple/misc-radstone_ppc7d.c new file +19 -0
Index: linux-2.6/arch/ppc/boot/simple/misc-radstone_ppc7d.c
===================================================================
@@ -0,0 +1,19 @@
+/*
+ * arch/ppc/boot/simple/misc-radstone_ppc7d.c
+ *
+ * Misc data for Radstone PPC7D board.
+ *
+ * Author: James Chapman <[email protected]>
+ */
+
+#include <linux/types.h>
+#include <asm/reg.h>
+
+#include "../../platforms/radstone_ppc7d.h"
+
+#if defined(CONFIG_SERIAL_MPSC_CONSOLE)
+long	mv64x60_mpsc_clk_freq = PPC7D_MPSC_CLK_FREQ;;
+long	mv64x60_mpsc_clk_src = PPC7D_MPSC_CLK_SRC;
+long	mv64x60_mpsc_console_baud = PPC7D_DEFAULT_BAUD;
+#endif
+
arch/ppc/platforms/Makefile +1 -0
Index: linux-2.6/arch/ppc/platforms/Makefile
===================================================================
@@ -39,6 +39,7 @@
 obj-$(CONFIG_PPLUS)		+= pplus.o
 obj-$(CONFIG_PRPMC750)		+= prpmc750.o
 obj-$(CONFIG_PRPMC800)		+= prpmc800.o
+obj-$(CONFIG_RADSTONE_PPC7D)	+= radstone_ppc7d.o
 obj-$(CONFIG_SANDPOINT)		+= sandpoint.o
 obj-$(CONFIG_SBC82xx)		+= sbc82xx.o
 obj-$(CONFIG_SPRUCE)		+= spruce.o
arch/ppc/platforms/radstone_ppc7d.c new file +1408 -0

1,408 lines not on this page · raw message

arch/ppc/boot/simple/Makefile +4 -0
Index: linux-2.6/arch/ppc/boot/simple/Makefile
===================================================================
@@ -97,6 +97,10 @@
          end-$(CONFIG_KATANA)		:= katana
    cacheflag-$(CONFIG_KATANA)		:= -include $(clear_L2_L3)
 
+     extra.o-$(CONFIG_RADSTONE_PPC7D)	:= misc-radstone_ppc7d.o mv64x60_stub.o
+         end-$(CONFIG_RADSTONE_PPC7D)	:= radstone_ppc7d
+   cacheflag-$(CONFIG_RADSTONE_PPC7D)	:= -include $(clear_L2_L3)
+
 # kconfig 'feature', only one of these will ever be 'y' at a time.
 # The rest will be unset.
 motorola := $(CONFIG_MCPN765)$(CONFIG_MVME5100)$(CONFIG_PRPMC750) \
arch/ppc/Kconfig +6 -2
Index: linux-2.6/arch/ppc/Kconfig
===================================================================
@@ -568,6 +568,10 @@
 	  Select SANDPOINT if configuring for a Motorola Sandpoint X3
 	  (any flavor).
 
+config RADSTONE_PPC7D
+	bool "Radstone Technology PPC7D board"
+	select MV64360
+
 config ADIR
 	bool "SBS-Adirondack"
 
@@ -715,7 +719,7 @@
 	bool
 	depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS || PCORE || \
 		PRPMC750 || K2 || PRPMC800 || LOPEC || \
-		(EV64260 && !SERIAL_MPSC) || CHESTNUT
+		(EV64260 && !SERIAL_MPSC) || CHESTNUT || RADSTONE_PPC7D
 	default y
 
 config FORCE
@@ -730,7 +734,7 @@
 
 config MV64360
 	bool
-	depends on KATANA
+	depends on KATANA || RADSTONE_PPC7D
 	default y
 
 config MV64360
arch/ppc/syslib/Makefile +1 -0
Index: linux-2.6/arch/ppc/syslib/Makefile
===================================================================
@@ -74,6 +74,7 @@
 					hawk_common.o
 obj-$(CONFIG_HARRIER)		+= harrier.o
 obj-$(CONFIG_PRPMC800)		+= open_pic.o indirect_pci.o pci_auto.o
+obj-$(CONFIG_RADSTONE_PPC7D)	+= i8259.o pci_auto.o
 obj-$(CONFIG_SANDPOINT)		+= i8259.o pci_auto.o todc_time.o
 obj-$(CONFIG_SBC82xx)		+= todc_time.o
 obj-$(CONFIG_SPRUCE)		+= cpc700_pic.o indirect_pci.o pci_auto.o \
arch/ppc/platforms/radstone_ppc7d.h new file +434 -0

434 lines not on this page · raw message

arch/ppc/configs/radstone_ppc7d_defconfig new file +870 -0

870 lines not on this page · raw message

include/asm-ppc/serial.h +2 -0
Index: linux-2.6/include/asm-ppc/serial.h
===================================================================
@@ -34,6 +34,8 @@
 #include <asm/ibm4xx.h>
 #elif defined(CONFIG_85xx)
 #include <asm/mpc85xx.h>
+#elif defined(CONFIG_RADSTONE_PPC7D)
+#include <platforms/radstone_ppc7d.h>
 #else
 
 /*