a4d3e4308e677d290f0bee66a103662eabb189ee
[lede.git] / target / linux / ifxmips / patches / 100-board.patch
1 Index: linux-2.6.25.1/arch/mips/Kconfig
2 ===================================================================
3 --- linux-2.6.25.1.orig/arch/mips/Kconfig       2008-05-10 01:14:39.000000000 +0100
4 +++ linux-2.6.25.1/arch/mips/Kconfig    2008-05-10 01:29:54.000000000 +0100
5 @@ -78,6 +78,19 @@
6         select SYS_SUPPORTS_LITTLE_ENDIAN
7         select GENERIC_HARDIRQS_NO__DO_IRQ
8  
9 +config IFXMIPS
10 +       bool "IFXMips support"
11 +       select DMA_NONCOHERENT
12 +       select IRQ_CPU
13 +       select CEVT_R4K
14 +       select CSRC_R4K
15 +       select SYS_HAS_CPU_MIPS32_R1
16 +       select HAVE_STD_PC_SERIAL_PORT
17 +       select SYS_SUPPORTS_BIG_ENDIAN
18 +       select SYS_SUPPORTS_32BIT_KERNEL
19 +       select SYS_HAS_EARLY_PRINTK
20 +       select HW_HAS_PCI
21 +
22  config MACH_DECSTATION
23         bool "DECstations"
24         select BOOT_ELF32
25 @@ -693,6 +706,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 Index: linux-2.6.25.1/arch/mips/Makefile
34 ===================================================================
35 --- linux-2.6.25.1.orig/arch/mips/Makefile      2008-05-10 01:14:49.000000000 +0100
36 +++ linux-2.6.25.1/arch/mips/Makefile   2008-05-10 01:14:49.000000000 +0100
37 @@ -282,6 +282,13 @@
38  cflags-$(CONFIG_MIPS_COBALT)   += -Iinclude/asm-mips/mach-cobalt
39  load-$(CONFIG_MIPS_COBALT)     += 0xffffffff80080000
40  
41 +# 
42 +# Infineon IFXMIPS
43 +# 
44 +core-$(CONFIG_IFXMIPS) += arch/mips/ifxmips/
45 +cflags-$(CONFIG_IFXMIPS)   += -Iinclude/asm-mips/mach-ifxmips
46 +load-$(CONFIG_IFXMIPS) += 0xffffffff80002000
47 +
48  #
49  # DECstation family
50  #
51 Index: linux-2.6.25.1/include/asm-mips/bootinfo.h
52 ===================================================================
53 --- linux-2.6.25.1.orig/include/asm-mips/bootinfo.h     2008-05-10 01:14:39.000000000 +0100
54 +++ linux-2.6.25.1/include/asm-mips/bootinfo.h  2008-05-10 01:14:49.000000000 +0100
55 @@ -94,6 +94,12 @@
56  #define MACH_MSP7120_FPGA       5      /* PMC-Sierra MSP7120 Emulation */
57  #define MACH_MSP_OTHER        255      /* PMC-Sierra unknown board type */
58  
59 +/*
60 + * Valid machtype for group IFXMIPS
61 + */
62 +#define MACH_GROUP_IFXMIPS     29
63 +#define MACH_INFINEON_IFXMIPS  0
64 +
65  #define CL_SIZE                        COMMAND_LINE_SIZE
66  
67  extern char *system_type;
68 Index: linux-2.6.25.1/arch/mips/kernel/traps.c
69 ===================================================================
70 --- linux-2.6.25.1.orig/arch/mips/kernel/traps.c        2008-05-10 01:14:39.000000000 +0100
71 +++ linux-2.6.25.1/arch/mips/kernel/traps.c     2008-05-10 01:14:49.000000000 +0100
72 @@ -1379,6 +1379,7 @@
73          */
74         if (cpu_has_mips_r2) {
75                 cp0_compare_irq = (read_c0_intctl() >> 29) & 7;
76 +               cp0_compare_irq = CP0_LEGACY_COMPARE_IRQ;
77                 cp0_perfcount_irq = (read_c0_intctl() >> 26) & 7;
78                 if (cp0_perfcount_irq == cp0_compare_irq)
79                         cp0_perfcount_irq = -1;