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