[rb532] refresh 2.6.24 patches
[10.03/openwrt.git] / target / linux / rb532 / patches-2.6.24 / 100-rb5xx_support.patch
1 --- a/arch/mips/Kconfig
2 +++ b/arch/mips/Kconfig
3 @@ -687,6 +687,23 @@ config WR_PPMC
4           This enables support for the Wind River MIPS32 4KC PPMC evaluation
5           board, which is based on GT64120 bridge chip.
6  
7 +config MIKROTIK_RB500
8 +       bool "Support for RB5xx boards"
9 +       select HW_HAS_PCI
10 +       select CEVT_R4K
11 +       select CSRC_R4K
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 +
24  endchoice
25  
26  source "arch/mips/au1000/Kconfig"
27 @@ -967,6 +984,7 @@ config MIPS_L1_CACHE_SHIFT
28         default "4" if MACH_DECSTATION
29         default "7" if SGI_IP27 || SNI_RM
30         default "4" if PMC_MSP4200_EVAL
31 +       default "4" if MIKROTIK_RB500
32         default "5"
33  
34  config HAVE_STD_PC_SERIAL_PORT
35 --- a/arch/mips/Makefile
36 +++ b/arch/mips/Makefile
37 @@ -297,6 +297,13 @@ load-$(CONFIG_LEMOTE_FULONG) +=0xfffffff
38  cflags-$(CONFIG_LEMOTE_FULONG) += -Iinclude/asm-mips/mach-lemote
39  
40  #
41 +# Routerboard 532 board
42 +#
43 +core-$(CONFIG_MIKROTIK_RB500)  += arch/mips/rb500/
44 +cflags-$(CONFIG_MIKROTIK_RB500)        += -Iinclude/asm-mips/rc32434
45 +load-$(CONFIG_MIKROTIK_RB500)  += 0xffffffff80101000
46 +
47 +#
48  # For all MIPS, Inc. eval boards
49  #
50  core-$(CONFIG_MIPS_BOARDS_GEN) += arch/mips/mips-boards/generic/
51 --- a/arch/mips/pci/Makefile
52 +++ b/arch/mips/pci/Makefile
53 @@ -48,3 +48,4 @@ obj-$(CONFIG_TOSHIBA_RBTX4938)        += fixup-
54  obj-$(CONFIG_VICTOR_MPC30X)    += fixup-mpc30x.o
55  obj-$(CONFIG_ZAO_CAPCELLA)     += fixup-capcella.o
56  obj-$(CONFIG_WR_PPMC)          += fixup-wrppmc.o
57 +obj-$(CONFIG_MIKROTIK_RB500)   += pci-rc32434.o ops-rc32434.o fixup-rb500.o
58 --- a/drivers/pci/Makefile
59 +++ b/drivers/pci/Makefile
60 @@ -35,6 +35,7 @@ obj-$(CONFIG_PPC32) += setup-irq.o
61  obj-$(CONFIG_PPC64) += setup-bus.o
62  obj-$(CONFIG_MIPS) += setup-bus.o setup-irq.o
63  obj-$(CONFIG_X86_VISWS) += setup-irq.o
64 +obj-$(CONFIG_MIKROTIK_RB500) += setup-irq.o
65  
66  #
67  # ACPI Related PCI FW Functions
68 --- a/include/asm-mips/bootinfo.h
69 +++ b/include/asm-mips/bootinfo.h
70 @@ -198,6 +198,14 @@
71  #define MACH_GROUP_BRCM                23      /* Broadcom                     */
72  #define  MACH_BCM47XX          1       /* Broadcom BCM47XX             */
73  
74 +
75 +/*
76 + * Valid machtype for group Mikrotik
77 + */
78 +#define MACH_GROUP_MIKROTIK    29      /* Mikrotik Boards                       */
79 +#define  MACH_MIKROTIK_RB532   0       /* Mikrotik RouterBoard 532 */
80 +#define  MACH_MIKROTIK_RB532A  1       /* Mikrotik RouterBoard 532A */
81 +
82  #define CL_SIZE                        COMMAND_LINE_SIZE
83  
84  const char *get_system_type(void);
85 --- a/include/asm-mips/cpu.h
86 +++ b/include/asm-mips/cpu.h
87 @@ -196,7 +196,7 @@ enum cpu_type_enum {
88          */
89         CPU_4KC, CPU_4KEC, CPU_4KSC, CPU_24K, CPU_34K, CPU_74K, CPU_AU1000,
90         CPU_AU1100, CPU_AU1200, CPU_AU1500, CPU_AU1550, CPU_PR4450,
91 -       CPU_BCM3302, CPU_BCM4710,
92 +       CPU_BCM3302, CPU_BCM4710, CPU_RC32300,
93  
94         /*
95          * MIPS64 class processors