Upgrade rb532 to .23, provide generic GPIO API to this board
[openwrt/openwrt.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