A LSP for NEC VR5701-SG2 Board.
PATCH 1/1 A LSP for NEC VR5701-SG2 Board.
Hi Ralf!
Attached is a LSP core for NEC VR5701-SG2 Board. The CPU is Vr5701, Vr5500 core. The drivers have been sent separately. Please review it.
Best wishes,
Sergey Podstavin.
arch/mips/Kconfig +17 -0
@@ -431,6 +431,18 @@ config DDB5477 Features : kernel debugging, serial terminal, NFS root fs, on-board ether port USB, AC97, PCI, etc. +config TCUBE + bool "Support for NEC VR5701-SG2" + select IRQ_CPU + select HW_HAS_PCI + select DMA_NONCOHERENT + select NO_SPINLOCK + help + This enables support for the VR5500 - based NEC VR5701-SG2 + evaluation board. + + + config NEC_OSPREY bool "Support for NEC Osprey board" select DMA_NONCOHERENT
@@ -964,6 +976,11 @@ config CPU_R5432 select CPU_SUPPORTS_32BIT_KERNEL select CPU_SUPPORTS_64BIT_KERNEL +config CPU_R5500 + bool "R5500" + help + MIPS Technologies Vr5500 - series processors. + config CPU_R6000 bool "R6000" depends on EXPERIMENTAL
arch/mips/kernel/cpu-probe.c +1 -0
@@ -93,6 +93,7 @@ static inline void check_wait(void)case CPU_R4650 :case CPU_R4700 :case CPU_R5000 : +case CPU_R5500 :case CPU_NEVADA :case CPU_RM7000 :case CPU_RM9000 :
arch/mips/kernel/Makefile +1 -0
@@ -22,6 +22,7 @@ obj-$(CONFIG_CPU_R4300) += r4k_fpu.o r4 obj-$(CONFIG_CPU_R4X00) += r4k_fpu.o r4k_switch.o obj-$(CONFIG_CPU_R5000) += r4k_fpu.o r4k_switch.o obj-$(CONFIG_CPU_R5432) += r4k_fpu.o r4k_switch.o +obj-$(CONFIG_CPU_R5500) += r4k_fpu.o r4k_switch.o obj-$(CONFIG_CPU_R8000) += r4k_fpu.o r4k_switch.o obj-$(CONFIG_CPU_RM7000) += r4k_fpu.o r4k_switch.o obj-$(CONFIG_CPU_RM9000) += r4k_fpu.o r4k_switch.o
arch/mips/lib-32/Makefile +1 -0
@@ -13,6 +13,7 @@ obj-$(CONFIG_CPU_R4300) += dump_tlb.o obj-$(CONFIG_CPU_R4X00) += dump_tlb.o obj-$(CONFIG_CPU_R5000) += dump_tlb.o obj-$(CONFIG_CPU_R5432) += dump_tlb.o +obj-$(CONFIG_CPU_R5500) += dump_tlb.o obj-$(CONFIG_CPU_R6000) += obj-$(CONFIG_CPU_R8000) += obj-$(CONFIG_CPU_RM7000) += dump_tlb.o
arch/mips/lib-64/Makefile +1 -0
@@ -13,6 +13,7 @@ obj-$(CONFIG_CPU_R4300) += dump_tlb.o obj-$(CONFIG_CPU_R4X00) += dump_tlb.o obj-$(CONFIG_CPU_R5000) += dump_tlb.o obj-$(CONFIG_CPU_R5432) += dump_tlb.o +obj-$(CONFIG_CPU_R5500) += dump_tlb.o obj-$(CONFIG_CPU_R6000) += obj-$(CONFIG_CPU_R8000) += obj-$(CONFIG_CPU_RM7000) += dump_tlb.o
arch/mips/Makefile +11 -0
@@ -194,6 +194,10 @@ cflags-$(CONFIG_CPU_R5432) += \ $(call set_gccflags,r5400,mips4,r5000,mips4,mips2) \ -Wa,--trap +cflags-$(CONFIG_CPU_R5500) += \ + $(call set_gccflags,mips32,mips4,r5000,mips4,mips2) \ + -Wa,--trap + cflags-$(CONFIG_CPU_NEVADA) += \ $(call set_gccflags,rm5200,mips4,r5000,mips4,mips2) \ -Wa,--trap
@@ -490,6 +494,13 @@ load-$(CONFIG_DDB5476) += 0xffffffff800 core-$(CONFIG_DDB5477) += arch/mips/ddb5xxx/ddb5477/ load-$(CONFIG_DDB5477) += 0xffffffff80100000 +# +# NEC TCUBE +# +core-$(CONFIG_TCUBE) += arch/mips/vr5701/common/ +core-$(CONFIG_TCUBE) += arch/mips/vr5701/tcube/ +load-$(CONFIG_TCUBE) += 0xffffffff80080000 + core-$(CONFIG_LASAT) += arch/mips/lasat/ cflags-$(CONFIG_LASAT) += -Iinclude/asm-mips/mach-lasat load-$(CONFIG_LASAT) += 0xffffffff80000000
arch/mips/mm/Makefile +1 -0
@@ -18,6 +18,7 @@ obj-$(CONFIG_CPU_R4300) += c-r4k.o cex- obj-$(CONFIG_CPU_R4X00) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o obj-$(CONFIG_CPU_R5000) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o obj-$(CONFIG_CPU_R5432) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o +obj-$(CONFIG_CPU_R5500) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o obj-$(CONFIG_CPU_R8000) += c-r4k.o cex-gen.o pg-r4k.o tlb-r8k.o obj-$(CONFIG_CPU_RM7000) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o obj-$(CONFIG_CPU_RM9000) += c-r4k.o cex-gen.o pg-r4k.o tlb-r4k.o
arch/mips/mm/tlbex.c +2 -0
@@ -784,6 +784,7 @@ static __init void __attribute__((unusedcase CPU_R5000 :case CPU_R5000A :case CPU_NEVADA : +case CPU_R5500 :i_nop (p);i_tlbp (p);break ;
@@ -832,6 +833,7 @@ static __init void build_tlb_write_entrycase CPU_R4600 :case CPU_R4700 :case CPU_R5000 : +case CPU_R5500 :case CPU_R5000A :case CPU_5KC :case CPU_TX49XX :
arch/mips/pci/Makefile +1 -0
@@ -52,3 +52,4 @@ obj-$(CONFIG_TOSHIBA_JMR3927) += fixup-j obj-$(CONFIG_TOSHIBA_RBTX4927) += fixup-rbtx4927.o ops-tx4927.o obj-$(CONFIG_VICTOR_MPC30X) += fixup-mpc30x.o obj-$(CONFIG_ZAO_CAPCELLA) += fixup-capcella.o +obj-$(CONFIG_TCUBE) += pci-tcube.o ops-tcube.o
arch/mips/pci/ops-tcube.c +267 -0
267 lines not on this page · raw message
arch/mips/pci/pci-tcube.c +123 -0
123 lines not on this page · raw message
arch/mips/vr5701/common/Makefile +5 -0
@@ -0,0 +1,5 @@ +# +# Makefile for the common code of NEC VR5701 board +# + +obj-y += nec_vrxxxx.o prom.o rtc_rx5c348.o
arch/mips/vr5701/common/nec_vrxxxx.c +119 -0
119 lines not on this page · raw message
arch/mips/vr5701/common/prom.c +53 -0
53 lines not on this page · raw message
arch/mips/vr5701/common/rtc_rx5c348.c +184 -0
184 lines not on this page · raw message
arch/mips/vr5701/tcube/int-handler.S +78 -0
78 lines not on this page · raw message
arch/mips/vr5701/tcube/irq.c +146 -0
146 lines not on this page · raw message
arch/mips/vr5701/tcube/irq_vr5701.c +194 -0
194 lines not on this page · raw message
arch/mips/vr5701/tcube/Makefile +7 -0
@@ -0,0 +1,7 @@ +# +# Makefile for the NEC VR5701-SG2 specific kernel interface routines +# under Linux. +# + +obj-y += setup.o irq.o int-handler.o irq_vr5701.o +EXTRA_AFLAGS: = $(CFLAGS)
arch/mips/vr5701/tcube/setup.c +189 -0
189 lines not on this page · raw message
include/asm-mips/bootinfo.h +6 -0
@@ -215,6 +215,12 @@#define MACH_GROUP_TITAN 22/* PMC-Sierra Titan */ #define MACH_TITAN_YOSEMITE 1/* PMC-Sierra Yosemite */ +/* +* Valid machtype for group SHIMA +*/ +#define MACH_GROUP_SHIMA 24/* SHIMAFUJI */ +#define MACH_SHIMA_TCUBE 0/* SHIMAFUJI T-Cube(Vr5701) */ +#define CL_SIZE COMMAND_LINE_SIZEconst char *get_system_type (void );
include/asm-mips/serial.h +17 -1
@@ -391,6 +391,21 @@#define DDB5477_SERIAL_PORT_DEFNS #endif +#ifdef CONFIG_TCUBE +#include <asm/tcube.h> +#define TCUBE_SERIAL_PORT_DEFNS \ + { baud_base: BASE_BAUD, irq: 16, flags: STD_COM_FLAGS, \ + iomem_base: (u8*)0xbe000a00, iomem_reg_shift: 3, \ + io_type: SERIAL_IO_MEM},\ + { baud_base: BASE_BAUD, irq: 17, flags: STD_COM_FLAGS, \ + iomem_base: (u8*)0xbe000a40, iomem_reg_shift: 3, \ + io_type: SERIAL_IO_MEM}, +#else +#define TCUBE_SERIAL_PORT_DEFNS +#endif + + +#ifdef CONFIG_SGI_IP32 /* * The IP32 (SGI O2) has standard serial ports (UART 16550A) mapped in memory
@@ -416,6 +431,7 @@MOMENCO_OCELOT_C_SERIAL_PORT_DEFNS \ MOMENCO_OCELOT_SERIAL_PORT_DEFNS \ MOMENCO_OCELOT_3_SERIAL_PORT_DEFNS \ - AU1000_SERIAL_PORT_DEFNS + AU1000_SERIAL_PORT_DEFNS \ + TCUBE_SERIAL_PORT_DEFNS#endif /* _ASM_SERIAL_H */
include/asm-mips/tcube.h +201 -0
201 lines not on this page · raw message
include/asm-mips/vr5701.h +96 -0
96 lines not on this page · raw message