Skip to contentSkip to conversation

Xilinx virtex 2 pro platform support

PATCH New Peter 'p2' De Schrijver 1 participant 1 message Sep 4, 2002

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Xilinx virtex 2 pro platform support

Hi,

Attached you will find a patch adding support for the Xilinx virtex 2 Pro platform, in particular the Xilinx interrupt controller. It was tested on a Virtex 2 Pro implementation with 1 CPU core.

Comments welcome,

Peter.
--

arch/ppc/config.in +1 -0
diff -urN -x CVS -x config -x modules -x mtd -x jffs2 -x jffs linuxppc_2_4_clean/arch/ppc/config.in linuxppc_2_4_xseg2.new.clean2/arch/ppc/config.in
@@ -83,6 +83,7 @@
 	 Redwood-5	CONFIG_REDWOOD_5 	\
 	 Redwood-6	CONFIG_REDWOOD_6 	\
 	 Tivo		CONFIG_TIVO 		\
+	 XSEG2 		CONFIG_XSEG2   		\
 	 Walnut		CONFIG_WALNUT"	Walnut
 
    if [ "$CONFIG_EP405" = "y" ]; then
arch/ppc/kernel/Makefile +3 -3
diff -urN -x CVS -x config -x modules -x mtd -x jffs2 -x jffs linuxppc_2_4_clean/arch/ppc/kernel/Makefile linuxppc_2_4_xseg2.new.clean2/arch/ppc/kernel/Makefile
@@ -53,9 +53,9 @@
 ifeq ($(CONFIG_4xx),y)
 obj-$(CONFIG_40x)		+= ppc4xx_setup.o ppc4xx_pic.o ocp.o
 ifneq ($(CONFIG_RAINIER),y)
-ifeq ($(CONFIG_SERIAL),y)
-obj-$(CONFIG_40x)		+= ocp_uart.o
-endif
+#ifeq ($(CONFIG_SERIAL),y)
+#obj-$(CONFIG_40x)		+= ocp_uart.o
+#endif
 endif
 obj-$(CONFIG_440)		+= ppc4xx_pic.o ocp.o
 obj-$(CONFIG_PPC_RTC)		+= todc_time.o
arch/ppc/kernel/cputable.c +8 -0
diff -urN -x CVS -x config -x modules -x mtd -x jffs2 -x jffs linuxppc_2_4_clean/arch/ppc/kernel/cputable.c linuxppc_2_4_xseg2.new.clean2/arch/ppc/kernel/cputable.c
@@ -335,6 +335,14 @@
 	32, 32,
 	0, /*__setup_cpu_405 */
     },
+    {
+  	/* 405 softcore */
+	0xffff0000, 0x20010000, "405 Softcore",
+	CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB,
+	PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
+	32, 32,
+	0, /*__setup_cpu_405 */
+    },
     {	/* STB 03xxx */
     	0xffff0000, 0x40130000, "STB03xxx",
     	CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB,
arch/ppc/kernel/ppc4xx_pic.c +68 -1

93 lines not on this page · raw message

arch/ppc/kernel/ppc4xx_setup.c +4 -1
diff -urN -x CVS -x config -x modules -x mtd -x jffs2 -x jffs linuxppc_2_4_clean/arch/ppc/kernel/ppc4xx_setup.c linuxppc_2_4_xseg2.new.clean2/arch/ppc/kernel/ppc4xx_setup.c
@@ -104,7 +104,8 @@
 #if defined(CONFIG_FB)
 	conswitchp = &dummy_con;
 #endif
-#if defined (CONFIG_SERIAL) && !defined (CONFIG_RAINIER)
+#if defined (CONFIG_SERIAL) && !defined (CONFIG_RAINIER) && \
+	!defined(CONFIG_XSEG2)
 	early_uart_init();
 #endif
 	board_setup_arch();
@@ -161,8 +162,10 @@
 static void __init
 m4xx_map_io(void)
 {
+#if !defined(CONFIG_XSEG2)
 	io_block_mapping(PPC4xx_ONB_IO_VADDR,
 			 PPC4xx_ONB_IO_PADDR, PPC4xx_ONB_IO_SIZE, _PAGE_IO);
+#endif
 #ifdef CONFIG_PCI
 	io_block_mapping(PPC4xx_PCI_IO_VADDR,
 			 PPC4xx_PCI_IO_PADDR, PPC4xx_PCI_IO_SIZE, _PAGE_IO);
arch/ppc/platforms/Makefile +1 -0
diff -urN -x CVS -x config -x modules -x mtd -x jffs2 -x jffs linuxppc_2_4_clean/arch/ppc/platforms/Makefile linuxppc_2_4_xseg2.new.clean2/arch/ppc/platforms/Makefile
@@ -29,6 +29,7 @@
 obj-$(CONFIG_CEDER)		+= ceder.o ibmnp405l.o
 obj-$(CONFIG_CPCI405)		+= cpci405.o ibm405gp.o
 obj-$(CONFIG_EP405)		+= ep405.o ibm405gp.o
+obj-$(CONFIG_XSEG2)    		+= xseg2.o
 obj-$(CONFIG_REDWOOD_4)		+= redwood.o ibmstb3.o
 obj-$(CONFIG_REDWOOD_5)		+= redwood5.o ibmstb4.o
 obj-$(CONFIG_REDWOOD_6)		+= redwood6.o ibmstbx25.o
arch/ppc/platforms/xseg2.c +111 -0

111 lines not on this page · raw message

arch/ppc/platforms/xseg2.h +102 -0

102 lines not on this page · raw message

include/asm-ppc/ibm4xx.h +4 -0
diff -urN -x CVS -x config -x modules -x mtd -x jffs2 -x jffs linuxppc_2_4_clean/include/asm-ppc/ibm4xx.h linuxppc_2_4_xseg2.new.clean2/include/asm-ppc/ibm4xx.h
@@ -105,6 +105,10 @@
 #include <platforms/beech.h>
 #endif
 
+#if defined(CONFIG_XSEG2)
+#include <platforms/xseg2.h>
+#endif
+
 #ifndef PPC4xx_MACHINE_NAME
 #define PPC4xx_MACHINE_NAME	"Unidentified 4xx class"
 #endif