262ea61e155479b3193f4bb017b94130a802ac45
[openwrt.git] / target / linux / rb532 / patches / 100-rb5xx_support.patch
1 Index: linux-2.6.23.17/arch/mips/Kconfig
2 ===================================================================
3 --- linux-2.6.23.17.orig/arch/mips/Kconfig
4 +++ linux-2.6.23.17/arch/mips/Kconfig
5 @@ -595,6 +595,20 @@ config WR_PPMC
6           This enables support for the Wind River MIPS32 4KC PPMC evaluation
7           board, which is based on GT64120 bridge chip.
8  
9 +config MIKROTIK_RB500
10 +       bool "Support for RB5xx boards"
11 +       select HW_HAS_PCI
12 +       select IRQ_CPU
13 +       select SYS_HAS_CPU_MIPS32_R1
14 +       select SYS_SUPPORTS_LITTLE_ENDIAN
15 +       select SYS_SUPPORTS_32BIT_KERNEL
16 +       select SWAP_IO_SPACE
17 +       select DMA_NONCOHERENT
18 +       select GENERIC_GPIO
19 +       help
20 +        Support the Mikrotik(tm) Routerboard 500 series,
21 +        such as the RB532.
22 +
23  endchoice
24  
25  source "arch/mips/au1000/Kconfig"
26 @@ -829,6 +843,7 @@ config MIPS_L1_CACHE_SHIFT
27         default "4" if MACH_DECSTATION
28         default "7" if SGI_IP27 || SNI_RM
29         default "4" if PMC_MSP4200_EVAL
30 +       default "4" if MIKROTIK_RB500
31         default "5"
32  
33  config HAVE_STD_PC_SERIAL_PORT
34 Index: linux-2.6.23.17/arch/mips/Makefile
35 ===================================================================
36 --- linux-2.6.23.17.orig/arch/mips/Makefile
37 +++ linux-2.6.23.17/arch/mips/Makefile
38 @@ -300,6 +300,13 @@ load-$(CONFIG_LEMOTE_FULONG) +=0xfffffff
39  cflags-$(CONFIG_LEMOTE_FULONG) += -Iinclude/asm-mips/mach-lemote
40  
41  #
42 +# Routerboard 532 board
43 +#
44 +core-$(CONFIG_MIKROTIK_RB500)  += arch/mips/rb500/
45 +cflags-$(CONFIG_MIKROTIK_RB500)        += -Iinclude/asm-mips/rc32434
46 +load-$(CONFIG_MIKROTIK_RB500)  += 0xffffffff80101000
47 +
48 +#
49  # For all MIPS, Inc. eval boards
50  #
51  core-$(CONFIG_MIPS_BOARDS_GEN) += arch/mips/mips-boards/generic/
52 Index: linux-2.6.23.17/arch/mips/pci/Makefile
53 ===================================================================
54 --- linux-2.6.23.17.orig/arch/mips/pci/Makefile
55 +++ linux-2.6.23.17/arch/mips/pci/Makefile
56 @@ -46,3 +46,4 @@ obj-$(CONFIG_TOSHIBA_RBTX4938)        += fixup-
57  obj-$(CONFIG_VICTOR_MPC30X)    += fixup-mpc30x.o
58  obj-$(CONFIG_ZAO_CAPCELLA)     += fixup-capcella.o
59  obj-$(CONFIG_WR_PPMC)          += fixup-wrppmc.o
60 +obj-$(CONFIG_MIKROTIK_RB500)   += pci-rc32434.o ops-rc32434.o fixup-rb500.o
61 Index: linux-2.6.23.17/drivers/pci/Makefile
62 ===================================================================
63 --- linux-2.6.23.17.orig/drivers/pci/Makefile
64 +++ linux-2.6.23.17/drivers/pci/Makefile
65 @@ -32,6 +32,7 @@ obj-$(CONFIG_PPC32) += setup-irq.o
66  obj-$(CONFIG_PPC64) += setup-bus.o
67  obj-$(CONFIG_MIPS) += setup-bus.o setup-irq.o
68  obj-$(CONFIG_X86_VISWS) += setup-irq.o
69 +obj-$(CONFIG_MIKROTIK_RB500) += setup-irq.o
70  
71  #
72  # ACPI Related PCI FW Functions
73 Index: linux-2.6.23.17/include/asm-mips/bootinfo.h
74 ===================================================================
75 --- linux-2.6.23.17.orig/include/asm-mips/bootinfo.h
76 +++ linux-2.6.23.17/include/asm-mips/bootinfo.h
77 @@ -208,6 +208,11 @@
78  #define MACH_GROUP_WINDRIVER   28      /* Windriver boards */
79  #define MACH_WRPPMC             1
80  
81 +
82 +#define MACH_GROUP_MIKROTIK    29      /* Mikrotik Boards                       */
83 +#define  MACH_MIKROTIK_RB532   0       /* Mikrotik RouterBoard 532 */
84 +#define  MACH_MIKROTIK_RB532A  1       /* Mikrotik RouterBoard 532A */
85 +
86  #define CL_SIZE                        COMMAND_LINE_SIZE
87  
88  const char *get_system_type(void);
89 Index: linux-2.6.23.17/include/asm-mips/cpu.h
90 ===================================================================
91 --- linux-2.6.23.17.orig/include/asm-mips/cpu.h
92 +++ linux-2.6.23.17/include/asm-mips/cpu.h
93 @@ -217,8 +217,9 @@
94  #define CPU_R14000             64
95  #define CPU_LOONGSON1           65
96  #define CPU_LOONGSON2           66
97 +#define CPU_RC32300                    67
98  
99 -#define CPU_LAST               66
100 +#define CPU_LAST               67
101  
102  /*
103   * ISA Level encodings