[kernel] upgrade to 2.6.25.7, and refresh patches
[openwrt/svn-archive/archive.git] / target / linux / ifxmips / patches / 100-board.patch
1 --- a/arch/mips/Kconfig
2 +++ b/arch/mips/Kconfig
3 @@ -78,6 +78,21 @@
4 select SYS_SUPPORTS_LITTLE_ENDIAN
5 select GENERIC_HARDIRQS_NO__DO_IRQ
6
7 +config IFXMIPS
8 + bool "IFXMips support"
9 + select DMA_NONCOHERENT
10 + select IRQ_CPU
11 + select CEVT_R4K
12 + select CSRC_R4K
13 + select SYS_HAS_CPU_MIPS32_R1
14 + select HAVE_STD_PC_SERIAL_PORT
15 + select SYS_SUPPORTS_BIG_ENDIAN
16 + select SYS_SUPPORTS_32BIT_KERNEL
17 + select SYS_HAS_EARLY_PRINTK
18 + select HW_HAS_PCI
19 + select GENERIC_GPIO
20 + select SWAP_IO_SPACE
21 +
22 config MACH_DECSTATION
23 bool "DECstations"
24 select BOOT_ELF32
25 @@ -693,6 +708,7 @@
26 source "arch/mips/tx4927/Kconfig"
27 source "arch/mips/tx4938/Kconfig"
28 source "arch/mips/vr41xx/Kconfig"
29 +source "arch/mips/ifxmips/Kconfig"
30
31 endmenu
32
33 --- a/arch/mips/Makefile
34 +++ b/arch/mips/Makefile
35 @@ -282,6 +282,13 @@
36 cflags-$(CONFIG_MIPS_COBALT) += -Iinclude/asm-mips/mach-cobalt
37 load-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000
38
39 +#
40 +# Infineon IFXMIPS
41 +#
42 +core-$(CONFIG_IFXMIPS) += arch/mips/ifxmips/
43 +cflags-$(CONFIG_IFXMIPS) += -Iinclude/asm-mips/mach-ifxmips
44 +load-$(CONFIG_IFXMIPS) += 0xffffffff80002000
45 +
46 #
47 # DECstation family
48 #
49 --- a/include/asm-mips/bootinfo.h
50 +++ b/include/asm-mips/bootinfo.h
51 @@ -94,6 +94,12 @@
52 #define MACH_MSP7120_FPGA 5 /* PMC-Sierra MSP7120 Emulation */
53 #define MACH_MSP_OTHER 255 /* PMC-Sierra unknown board type */
54
55 +/*
56 + * Valid machtype for group IFXMIPS
57 + */
58 +#define MACH_GROUP_IFXMIPS 29
59 +#define MACH_INFINEON_IFXMIPS 0
60 +
61 #define CL_SIZE COMMAND_LINE_SIZE
62
63 extern char *system_type;
64 --- a/arch/mips/kernel/traps.c
65 +++ b/arch/mips/kernel/traps.c
66 @@ -1379,6 +1379,7 @@
67 */
68 if (cpu_has_mips_r2) {
69 cp0_compare_irq = (read_c0_intctl() >> 29) & 7;
70 + cp0_compare_irq = CP0_LEGACY_COMPARE_IRQ;
71 cp0_perfcount_irq = (read_c0_intctl() >> 26) & 7;
72 if (cp0_perfcount_irq == cp0_compare_irq)
73 cp0_perfcount_irq = -1;