diff -urN linux.old/arch/mips/Kconfig linux.dev/arch/mips/Kconfig --- linux.old/arch/mips/Kconfig 2006-11-29 22:57:37.000000000 +0100 +++ linux.dev/arch/mips/Kconfig 2006-12-14 04:09:50.000000000 +0100 @@ -780,6 +780,19 @@ select SYS_SUPPORTS_BIG_ENDIAN select TOSHIBA_BOARDS +config MIKROTIK_RB500 + bool "Support for RB5xx boards" + select HW_HAS_PCI + select IRQ_CPU + select SYS_HAS_CPU_MIPS32_R1 + select SYS_SUPPORTS_LITTLE_ENDIAN + select SYS_SUPPORTS_32BIT_KERNEL + select SWAP_IO_SPACE + select DMA_NONCOHERENT + help + Support the Mikrotik(tm) Routerboard 500 series, + such as the RB532. + config TOSHIBA_RBTX4927 bool "Toshiba TBTX49[23]7 board" select DMA_NONCOHERENT @@ -1106,7 +1119,7 @@ config MIPS_L1_CACHE_SHIFT int - default "4" if MACH_DECSTATION || SNI_RM + default "4" if MACH_DECSTATION || SNI_RM || MIKROTIK_RB500 default "7" if SGI_IP27 default "5" diff -urN linux.old/arch/mips/Makefile linux.dev/arch/mips/Makefile --- linux.old/arch/mips/Makefile 2006-12-14 03:13:55.000000000 +0100 +++ linux.dev/arch/mips/Makefile 2006-12-14 04:09:50.000000000 +0100 @@ -586,6 +586,13 @@ load-$(CONFIG_TOSHIBA_JMR3927) += 0xffffffff80050000 # +# Routerboard 532 board +# +core-$(CONFIG_MIKROTIK_RB500) += arch/mips/rb500/ +cflags-$(CONFIG_MIKROTIK_RB500) += -Iinclude/asm-mips/rc32434 +load-$(CONFIG_MIKROTIK_RB500) += 0xffffffff80101000 + +# # Toshiba RBTX4927 board or # Toshiba RBTX4937 board # diff -urN linux.old/arch/mips/pci/Makefile linux.dev/arch/mips/pci/Makefile --- linux.old/arch/mips/pci/Makefile 2006-11-29 22:57:37.000000000 +0100 +++ linux.dev/arch/mips/pci/Makefile 2006-12-14 04:09:50.000000000 +0100 @@ -53,3 +53,4 @@ obj-$(CONFIG_VICTOR_MPC30X) += fixup-mpc30x.o obj-$(CONFIG_ZAO_CAPCELLA) += fixup-capcella.o obj-$(CONFIG_WR_PPMC) += fixup-wrppmc.o +obj-$(CONFIG_MIKROTIK_RB500) += pci-rc32434.o ops-rc32434.o fixup-rb500.o diff -urN linux.old/drivers/pci/Makefile linux.dev/drivers/pci/Makefile --- linux.old/drivers/pci/Makefile 2006-11-29 22:57:37.000000000 +0100 +++ linux.dev/drivers/pci/Makefile 2006-12-14 04:09:50.000000000 +0100 @@ -16,6 +16,7 @@ # Build the PCI MSI interrupt support obj-$(CONFIG_PCI_MSI) += msi.o +obj-$(CONFIG_MIKROTIK_RB500) += setup-irq.o # Build the Hypertransport interrupt support obj-$(CONFIG_HT_IRQ) += htirq.o diff -urN linux.old/include/asm-mips/bootinfo.h linux.dev/include/asm-mips/bootinfo.h --- linux.old/include/asm-mips/bootinfo.h 2006-11-29 22:57:37.000000000 +0100 +++ linux.dev/include/asm-mips/bootinfo.h 2006-12-14 04:09:50.000000000 +0100 @@ -212,6 +212,8 @@ #define MACH_GROUP_NEC_EMMA2RH 25 /* NEC EMMA2RH (was 23) */ #define MACH_NEC_MARKEINS 0 /* NEC EMMA2RH Mark-eins */ +#define MACH_GROUP_MIKROTIK 24 /* Mikrotik Boards */ + #define CL_SIZE COMMAND_LINE_SIZE const char *get_system_type(void); diff -urN linux.old/include/asm-mips/cpu.h linux.dev/include/asm-mips/cpu.h --- linux.old/include/asm-mips/cpu.h 2006-11-29 22:57:37.000000000 +0100 +++ linux.dev/include/asm-mips/cpu.h 2006-12-14 04:09:50.000000000 +0100 @@ -200,7 +200,8 @@ #define CPU_SB1A 62 #define CPU_74K 63 #define CPU_R14000 64 -#define CPU_LAST 64 +#define CPU_RC32300 65 +#define CPU_LAST 65 /* * ISA Level encodings