[kernel] refresh 2.6.26 patches
[openwrt.git] / target / linux / ifxmips / patches / 100-board.patch
1 --- a/arch/mips/Kconfig
2 +++ b/arch/mips/Kconfig
3 @@ -78,6 +78,21 @@ config MIPS_COBALT
4         select SYS_SUPPORTS_LITTLE_ENDIAN
5         select GENERIC_HARDIRQS_NO__DO_IRQ
6  
7 +config IFXMIPS
8 +       bool "Infineon Twinpass, Danube, Amazon-SE"
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 @@ -697,6 +712,7 @@ source "arch/mips/sibyte/Kconfig"
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 @@ -283,6 +283,13 @@ cflags-$(CONFIG_MIPS_COBALT)       += -Iinclud
36  load-$(CONFIG_MIPS_COBALT)     += 0xffffffff80080000
37  
38  #
39 +# Infineon IFXMIPS
40 +#
41 +core-$(CONFIG_IFXMIPS) += arch/mips/ifxmips/
42 +cflags-$(CONFIG_IFXMIPS)   += -Iinclude/asm-mips/mach-ifxmips
43 +load-$(CONFIG_IFXMIPS) += 0xffffffff80002000
44 +
45 +#
46  # DECstation family
47  #
48  core-$(CONFIG_MACH_DECSTATION) += arch/mips/dec/
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 @@ -1464,6 +1464,7 @@ void __cpuinit per_cpu_trap_init(void)
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;
74 --- a/arch/mips/pci/Makefile
75 +++ b/arch/mips/pci/Makefile
76 @@ -48,3 +48,4 @@ obj-$(CONFIG_TOSHIBA_RBTX4938)        += fixup-
77  obj-$(CONFIG_VICTOR_MPC30X)    += fixup-mpc30x.o
78  obj-$(CONFIG_ZAO_CAPCELLA)     += fixup-capcella.o
79  obj-$(CONFIG_WR_PPMC)          += fixup-wrppmc.o
80 +obj-$(CONFIG_IFXMIPS)          += pci-ifxmips.o ops-ifxmips.o