aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ifxmips/Makefile2
-rw-r--r--target/linux/ifxmips/config-2.6.25 (renamed from target/linux/ifxmips/config-2.6.23)45
-rw-r--r--target/linux/ifxmips/files/arch/mips/ifxmips/dma-core.c2
-rw-r--r--target/linux/ifxmips/files/arch/mips/ifxmips/prom.c1
-rw-r--r--target/linux/ifxmips/files/arch/mips/ifxmips/setup.c29
-rw-r--r--target/linux/ifxmips/files/drivers/watchdog/ifxmips_wdt.c (renamed from target/linux/ifxmips/files/drivers/char/watchdog/ifxmips_wdt.c)0
-rw-r--r--target/linux/ifxmips/files/include/asm-mips/mach-ifxmips/war.h24
-rw-r--r--target/linux/ifxmips/patches/100-board.patch75
-rw-r--r--target/linux/ifxmips/patches/110-drivers.patch128
-rw-r--r--target/linux/ifxmips/patches/160-cfi-swap.patch17
10 files changed, 161 insertions, 162 deletions
diff --git a/target/linux/ifxmips/Makefile b/target/linux/ifxmips/Makefile
index e63ad086cd..19f11eafdf 100644
--- a/target/linux/ifxmips/Makefile
+++ b/target/linux/ifxmips/Makefile
@@ -10,7 +10,7 @@ ARCH:=mips
BOARD:=ifxmips
BOARDNAME:=Infineon Mips
FEATURES:=squashfs jffs2 broken
-LINUX_VERSION:=2.6.23.16
+LINUX_VERSION:=2.6.25.1
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/ifxmips/config-2.6.23 b/target/linux/ifxmips/config-2.6.25
index 4278e2f6bf..eb7cd3a044 100644
--- a/target/linux/ifxmips/config-2.6.23
+++ b/target/linux/ifxmips/config-2.6.25
@@ -3,11 +3,16 @@ CONFIG_32BIT=y
# CONFIG_8139TOO is not set
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_ARCH_SUPPORTS_OPROFILE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ATM is not set
CONFIG_BASE_SMALL=0
+# CONFIG_BCM47XX is not set
CONFIG_BITREVERSE=y
# CONFIG_BT is not set
+CONFIG_CLASSIC_RCU=y
CONFIG_CMDLINE="console=ttyS0,9600 rootfstype=squashfs,jffs2 init=/etc/preinit"
CONFIG_CPU_BIG_ENDIAN=y
CONFIG_CPU_HAS_LLSC=y
@@ -38,44 +43,51 @@ CONFIG_CPU_SUPPORTS_HIGHMEM=y
# CONFIG_CPU_TX39XX is not set
# CONFIG_CPU_TX49XX is not set
# CONFIG_CPU_VR41XX is not set
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_GF128MUL=m
CONFIG_DEVPORT=y
# CONFIG_DM9000 is not set
CONFIG_DMA_NEED_PCI_MAP_STATE=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_EARLY_PRINTK=y
CONFIG_FS_POSIX_ACL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
CONFIG_HAS_DMA=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
+CONFIG_HAVE_IDE=y
+# CONFIG_HAVE_KPROBES is not set
+# CONFIG_HAVE_KRETPROBES is not set
+CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_STD_PC_SERIAL_PORT=y
# CONFIG_HOSTAP is not set
CONFIG_HW_HAS_PCI=y
CONFIG_HW_RANDOM=y
# CONFIG_I2C is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IDE is not set
CONFIG_IFXMIPS=y
-CONFIG_IFXMIPS_ASC_UART=y
-CONFIG_IFXMIPS_EEPROM=y
-CONFIG_IFXMIPS_GPIO=y
-CONFIG_IFXMIPS_LED=y
-CONFIG_IFXMIPS_MEI=y
CONFIG_IFXMIPS_MII0=y
-# CONFIG_IFXMIPS_MII1 is not set
-CONFIG_IFXMIPS_SSC=y
-# CONFIG_IFXMIPS_USE_CONSOLE0 is not set
-CONFIG_IFXMIPS_USE_CONSOLE1=y
-CONFIG_IFXMIPS_WDT=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_IRQ_CPU=y
CONFIG_KALLSYMS=y
# CONFIG_LEDS_ALIX is not set
# CONFIG_LEMOTE_FULONG is not set
+CONFIG_LZO_COMPRESS=m
+CONFIG_LZO_DECOMPRESS=m
# CONFIG_MACH_ALCHEMY is not set
# CONFIG_MACH_DECSTATION is not set
# CONFIG_MACH_JAZZ is not set
# CONFIG_MACH_VR41XX is not set
+# CONFIG_MEMSTICK is not set
CONFIG_MIPS=y
# CONFIG_MIPS_ATLAS is not set
# CONFIG_MIPS_COBALT is not set
@@ -114,7 +126,6 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
CONFIG_MTD_GEN_PROBE=y
-CONFIG_MTD_IFXMIPS=y
# CONFIG_MTD_JEDECPROBE is not set
# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
@@ -147,11 +158,14 @@ CONFIG_PAGE_SIZE_4KB=y
# CONFIG_PAGE_SIZE_64KB is not set
# CONFIG_PAGE_SIZE_8KB is not set
# CONFIG_PCIPCWATCHDOG is not set
+CONFIG_PCI_DOMAINS=y
# CONFIG_PMC_MSP is not set
# CONFIG_PMC_YOSEMITE is not set
# CONFIG_PNX8550_JBS is not set
# CONFIG_PNX8550_STB810 is not set
+# CONFIG_R6040 is not set
# CONFIG_RTC is not set
+CONFIG_RTC_LIB=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_SCSI_WAIT_SCAN=m
@@ -159,18 +173,21 @@ CONFIG_SCSI_WAIT_SCAN=m
CONFIG_SERIAL_IFXMIPS=y
# CONFIG_SGI_IP22 is not set
# CONFIG_SGI_IP27 is not set
+# CONFIG_SGI_IP28 is not set
# CONFIG_SGI_IP32 is not set
# CONFIG_SIBYTE_BIGSUR is not set
# CONFIG_SIBYTE_CARMEL is not set
# CONFIG_SIBYTE_CRHINE is not set
# CONFIG_SIBYTE_CRHONE is not set
# CONFIG_SIBYTE_LITTLESUR is not set
-# CONFIG_SIBYTE_PTSWARM is not set
# CONFIG_SIBYTE_RHONE is not set
# CONFIG_SIBYTE_SENTOSA is not set
# CONFIG_SIBYTE_SWARM is not set
+CONFIG_SLABINFO=y
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+CONFIG_SSB_POSSIBLE=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYS_HAS_CPU_MIPS32_R1=y
CONFIG_SYS_HAS_EARLY_PRINTK=y
@@ -178,6 +195,8 @@ CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
# CONFIG_TC35815 is not set
+# CONFIG_THERMAL is not set
+CONFIG_TICK_ONESHOT=y
# CONFIG_TOSHIBA_JMR3927 is not set
# CONFIG_TOSHIBA_RBTX4927 is not set
# CONFIG_TOSHIBA_RBTX4938 is not set
@@ -187,7 +206,7 @@ CONFIG_TRAD_SIGNALS=y
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USER_NS is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIA_RHINE is not set
+CONFIG_VIDEO_V4L2_COMMON=m
CONFIG_ZONE_DMA_FLAG=0
diff --git a/target/linux/ifxmips/files/arch/mips/ifxmips/dma-core.c b/target/linux/ifxmips/files/arch/mips/ifxmips/dma-core.c
index f2bbb3446a..1c97b16eb6 100644
--- a/target/linux/ifxmips/files/arch/mips/ifxmips/dma-core.c
+++ b/target/linux/ifxmips/files/arch/mips/ifxmips/dma-core.c
@@ -602,7 +602,7 @@ map_dma_chan(_dma_chan_map *map)
for (i = 0; i < MAX_DMA_CHANNEL_NUM; i++)
{
dma_chan[i].irq = map[i].irq;
- result = request_irq(dma_chan[i].irq, dma_interrupt, SA_INTERRUPT, "dma-core", (void*)&dma_chan[i]);
+ result = request_irq(dma_chan[i].irq, dma_interrupt, IRQF_DISABLED, "dma-core", (void*)&dma_chan[i]);
if (result)
{
printk("error, cannot get dma_irq!\n");
diff --git a/target/linux/ifxmips/files/arch/mips/ifxmips/prom.c b/target/linux/ifxmips/files/arch/mips/ifxmips/prom.c
index 514c879df3..d3009e4434 100644
--- a/target/linux/ifxmips/files/arch/mips/ifxmips/prom.c
+++ b/target/linux/ifxmips/files/arch/mips/ifxmips/prom.c
@@ -67,7 +67,6 @@ prom_printf (const char * fmt, ...)
void __init
prom_init(void)
{
- mips_machgroup = MACH_GROUP_IFXMIPS;
mips_machtype = MACH_INFINEON_IFXMIPS;
strcpy(&(arcs_cmdline[0]), "console=ttyS0,115200 rootfstype=squashfs,jffs2 init=/etc/preinit");
diff --git a/target/linux/ifxmips/files/arch/mips/ifxmips/setup.c b/target/linux/ifxmips/files/arch/mips/ifxmips/setup.c
index 4c25b585f5..ade78d1bf5 100644
--- a/target/linux/ifxmips/files/arch/mips/ifxmips/setup.c
+++ b/target/linux/ifxmips/files/arch/mips/ifxmips/setup.c
@@ -114,28 +114,9 @@ ifxmips_be_handler(struct pt_regs *regs, int is_fixup)
return MIPS_BE_FATAL;
}
-/* ISR GPTU Timer 6 for high resolution timer */
-static irqreturn_t
-ifxmips_timer6_interrupt(int irq, void *dev_id)
-{
- timer_interrupt(IFXMIPS_TIMER6_INT, NULL);
-
- return IRQ_HANDLED;
-}
-
-static struct irqaction hrt_irqaction = {
- .handler = ifxmips_timer6_interrupt,
- .flags = IRQF_DISABLED,
- .name = "hrt",
-};
-
void __init
-plat_timer_setup (struct irqaction *irq)
+plat_time_init (void)
{
- unsigned int retval;
-
- setup_irq(MIPS_CPU_TIMER_IRQ, irq);
-
r4k_cur = (read_c0_count() + r4k_offset);
write_c0_compare(r4k_cur);
@@ -145,17 +126,11 @@ plat_timer_setup (struct irqaction *irq)
writel(0xffff, IFXMIPS_GPTU_GPT_CAPREL);
writel(0x80C0, IFXMIPS_GPTU_GPT_T6CON);
-
- //retval = setup_irq(IFXMIPS_TIMER6_INT, &hrt_irqaction);
-
- if (retval)
- {
- prom_printf("reqeust_irq failed %d. HIGH_RES_TIMER is diabled\n", IFXMIPS_TIMER6_INT);
- }
}
extern const char* get_system_type (void);
+void (*board_time_init)(void);
void __init
plat_mem_setup (void)
{
diff --git a/target/linux/ifxmips/files/drivers/char/watchdog/ifxmips_wdt.c b/target/linux/ifxmips/files/drivers/watchdog/ifxmips_wdt.c
index d631f4aac4..d631f4aac4 100644
--- a/target/linux/ifxmips/files/drivers/char/watchdog/ifxmips_wdt.c
+++ b/target/linux/ifxmips/files/drivers/watchdog/ifxmips_wdt.c
diff --git a/target/linux/ifxmips/files/include/asm-mips/mach-ifxmips/war.h b/target/linux/ifxmips/files/include/asm-mips/mach-ifxmips/war.h
new file mode 100644
index 0000000000..de3584ecf6
--- /dev/null
+++ b/target/linux/ifxmips/files/include/asm-mips/mach-ifxmips/war.h
@@ -0,0 +1,24 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ */
+#ifndef __ASM_MIPS_MACH_IFXMIPS_WAR_H
+#define __ASM_MIPS_MACH_IFXMIPS_WAR_H
+
+#define R4600_V1_INDEX_ICACHEOP_WAR 0
+#define R4600_V1_HIT_CACHEOP_WAR 0
+#define R4600_V2_HIT_CACHEOP_WAR 0
+#define R5432_CP0_INTERRUPT_WAR 0
+#define BCM1250_M3_WAR 0
+#define SIBYTE_1956_WAR 0
+#define MIPS4K_ICACHE_REFILL_WAR 0
+#define MIPS_CACHE_SYNC_WAR 0
+#define TX49XX_ICACHE_INDEX_INV_WAR 0
+#define RM9000_CDEX_SMP_WAR 0
+#define ICACHE_REFILLS_WORKAROUND_WAR 0
+#define R10000_LLSC_WAR 0
+#define MIPS34K_MISSED_ITLB_WAR 0
+
+#endif
diff --git a/target/linux/ifxmips/patches/100-board.patch b/target/linux/ifxmips/patches/100-board.patch
index 89b706ca45..909474905b 100644
--- a/target/linux/ifxmips/patches/100-board.patch
+++ b/target/linux/ifxmips/patches/100-board.patch
@@ -1,66 +1,57 @@
-Index: linux-2.6.23/arch/mips/Kconfig
+Index: linux-2.6.25/arch/mips/Kconfig
===================================================================
---- linux-2.6.23.orig/arch/mips/Kconfig 2007-10-16 22:12:19.000000000 +0200
-+++ linux-2.6.23/arch/mips/Kconfig 2007-10-16 22:12:21.000000000 +0200
-@@ -58,6 +58,17 @@
+--- linux-2.6.25.orig/arch/mips/Kconfig 2008-05-05 08:35:34.000000000 +0100
++++ linux-2.6.25/arch/mips/Kconfig 2008-05-05 08:35:46.000000000 +0100
+@@ -78,6 +78,17 @@
select SYS_SUPPORTS_LITTLE_ENDIAN
select GENERIC_HARDIRQS_NO__DO_IRQ
+config IFXMIPS
-+ bool "IFXMips support"
-+ select DMA_NONCOHERENT
-+ select IRQ_CPU
-+ select SYS_HAS_CPU_MIPS32_R1
-+ select HAVE_STD_PC_SERIAL_PORT
-+ select SYS_SUPPORTS_BIG_ENDIAN
-+ select SYS_SUPPORTS_32BIT_KERNEL
-+ select SYS_HAS_EARLY_PRINTK
-+ select HW_HAS_PCI
++ bool "IFXMips support"
++ select DMA_NONCOHERENT
++ select IRQ_CPU
++ select SYS_HAS_CPU_MIPS32_R1
++ select HAVE_STD_PC_SERIAL_PORT
++ select SYS_SUPPORTS_BIG_ENDIAN
++ select SYS_SUPPORTS_32BIT_KERNEL
++ select SYS_HAS_EARLY_PRINTK
++ select HW_HAS_PCI
+
config MACH_DECSTATION
bool "DECstations"
select BOOT_ELF32
-@@ -605,6 +615,7 @@
- source "arch/mips/tx4927/Kconfig"
- source "arch/mips/tx4938/Kconfig"
- source "arch/mips/vr41xx/Kconfig"
-+source "arch/mips/ifxmips/Kconfig"
-
- endmenu
-
-Index: linux-2.6.23/arch/mips/Makefile
+Index: linux-2.6.25/arch/mips/Makefile
===================================================================
---- linux-2.6.23.orig/arch/mips/Makefile 2007-10-16 22:12:21.000000000 +0200
-+++ linux-2.6.23/arch/mips/Makefile 2007-10-16 22:12:21.000000000 +0200
-@@ -276,6 +276,13 @@
+--- linux-2.6.25.orig/arch/mips/Makefile 2008-05-05 08:35:35.000000000 +0100
++++ linux-2.6.25/arch/mips/Makefile 2008-05-05 08:35:46.000000000 +0100
+@@ -282,6 +282,13 @@
cflags-$(CONFIG_MIPS_COBALT) += -Iinclude/asm-mips/mach-cobalt
load-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000
+#
+# Infineon IFXMIPS
+#
-+core-$(CONFIG_IFXMIPS) += arch/mips/ifxmips/
-+cflags-$(CONFIG_IFXMIPS) += -Iinclude/asm-mips/mach-ifxmips
-+load-$(CONFIG_IFXMIPS) += 0xffffffff80002000
-+
++core-$(CONFIG_IFXMIPS) += arch/mips/ifxmips/
++cflags-$(CONFIG_IFXMIPS) += -Iinclude/asm-mips/mach-ifxmips
++load-$(CONFIG_IFXMIPS) += 0xffffffff80002000
++
#
# DECstation family
#
-Index: linux-2.6.23/include/asm-mips/bootinfo.h
+Index: linux-2.6.25/include/asm-mips/bootinfo.h
===================================================================
---- linux-2.6.23.orig/include/asm-mips/bootinfo.h 2007-10-16 22:12:19.000000000 +0200
-+++ linux-2.6.23/include/asm-mips/bootinfo.h 2007-10-16 22:12:21.000000000 +0200
-@@ -208,6 +208,13 @@
- #define MACH_GROUP_WINDRIVER 28 /* Windriver boards */
- #define MACH_WRPPMC 1
+--- linux-2.6.25.orig/include/asm-mips/bootinfo.h 2008-05-05 08:35:35.000000000 +0100
++++ linux-2.6.25/include/asm-mips/bootinfo.h 2008-05-05 08:35:46.000000000 +0100
+@@ -94,6 +94,12 @@
+ #define MACH_MSP7120_FPGA 5 /* PMC-Sierra MSP7120 Emulation */
+ #define MACH_MSP_OTHER 255 /* PMC-Sierra unknown board type */
-+/*
-+ * Valid machtype for group ATHEROS
-+ */
-+#define MACH_GROUP_IFXMIPS 29
-+#define MACH_INFINEON_IFXMIPS 0
-+
++/*
++ * Valid machtype for group IFXMIPS
++ */
++#define MACH_GROUP_IFXMIPS 29
++#define MACH_INFINEON_IFXMIPS 0
+
#define CL_SIZE COMMAND_LINE_SIZE
- const char *get_system_type(void);
+ extern char *system_type;
diff --git a/target/linux/ifxmips/patches/110-drivers.patch b/target/linux/ifxmips/patches/110-drivers.patch
index fdb305b7d1..9ce88f2325 100644
--- a/target/linux/ifxmips/patches/110-drivers.patch
+++ b/target/linux/ifxmips/patches/110-drivers.patch
@@ -1,41 +1,34 @@
-Index: linux-2.6.23/drivers/serial/Kconfig
+Index: linux-2.6.25/drivers/char/Makefile
===================================================================
---- linux-2.6.23.orig/drivers/serial/Kconfig 2007-12-22 20:21:04.563793426 +0100
-+++ linux-2.6.23/drivers/serial/Kconfig 2007-12-22 20:21:08.848037572 +0100
-@@ -1259,4 +1259,10 @@
- Currently, only 8250 compatible ports are supported, but
- others can easily be added.
+--- linux-2.6.25.orig/drivers/char/Makefile 2008-05-07 18:58:25.000000000 +0100
++++ linux-2.6.25/drivers/char/Makefile 2008-05-07 18:58:42.000000000 +0100
+@@ -112,6 +112,12 @@
+ obj-$(CONFIG_JS_RTC) += js-rtc.o
+ js-rtc-y = rtc.o
-+config SERIAL_IFXMIPS
-+ bool "IFXMips serial driver"
-+ depends on IFXMIPS
-+ help
-+ Driver for the ifxmipss built in ASC hardware
++obj-$(CONFIG_IFXMIPS_LED) += ifxmips_led.o
++obj-$(CONFIG_IFXMIPS_GPIO) += ifxmips_gpio.o
++obj-$(CONFIG_IFXMIPS_SSC) += ifxmips_ssc.o
++obj-$(CONFIG_IFXMIPS_EEPROM) += ifxmips_eeprom.o
++obj-$(CONFIG_IFXMIPS_MEI) += ifxmips_mei_core.o
+
- endmenu
-Index: linux-2.6.23/drivers/serial/Makefile
-===================================================================
---- linux-2.6.23.orig/drivers/serial/Makefile 2007-12-22 20:21:04.571793884 +0100
-+++ linux-2.6.23/drivers/serial/Makefile 2007-12-22 20:21:08.852037801 +0100
-@@ -64,3 +64,4 @@
- obj-$(CONFIG_SERIAL_NETX) += netx-serial.o
- obj-$(CONFIG_SERIAL_OF_PLATFORM) += of_serial.o
- obj-$(CONFIG_SERIAL_KS8695) += serial_ks8695.o
-+obj-$(CONFIG_SERIAL_IFXMIPS) += ifxmips_asc.o
-Index: linux-2.6.23/drivers/mtd/maps/Makefile
+ # Files generated that shall be removed upon make clean
+ clean-files := consolemap_deftbl.c defkeymap.c
+
+Index: linux-2.6.25/drivers/mtd/maps/Makefile
===================================================================
---- linux-2.6.23.orig/drivers/mtd/maps/Makefile 2007-12-22 20:21:04.579794340 +0100
-+++ linux-2.6.23/drivers/mtd/maps/Makefile 2007-12-22 20:21:08.860038256 +0100
-@@ -71,3 +71,4 @@
+--- linux-2.6.25.orig/drivers/mtd/maps/Makefile 2008-05-07 18:58:25.000000000 +0100
++++ linux-2.6.25/drivers/mtd/maps/Makefile 2008-05-07 18:58:42.000000000 +0100
+@@ -68,3 +68,4 @@
obj-$(CONFIG_MTD_OMAP_NOR) += omap_nor.o
obj-$(CONFIG_MTD_MTX1) += mtx-1_flash.o
- obj-$(CONFIG_MTD_TQM834x) += tqm834x.o
-+obj-$(CONFIG_MTD_IFXMIPS) += ifxmips.o
-Index: linux-2.6.23/drivers/net/Kconfig
+ obj-$(CONFIG_MTD_INTEL_VR_NOR) += intel_vr_nor.o
++obj-$(CONFIG_MTD_IFXMIPS) += ifxmips.o
+Index: linux-2.6.25/drivers/net/Kconfig
===================================================================
---- linux-2.6.23.orig/drivers/net/Kconfig 2007-12-22 20:21:08.035991295 +0100
-+++ linux-2.6.23/drivers/net/Kconfig 2007-12-22 20:21:08.860038256 +0100
-@@ -339,6 +339,18 @@
+--- linux-2.6.25.orig/drivers/net/Kconfig 2008-05-07 18:58:41.000000000 +0100
++++ linux-2.6.25/drivers/net/Kconfig 2008-05-07 18:58:42.000000000 +0100
+@@ -351,6 +351,12 @@
source "drivers/net/arm/Kconfig"
@@ -45,50 +38,47 @@ Index: linux-2.6.23/drivers/net/Kconfig
+ help
+ Support for the MII0 inside the IFXMips SOC
+
-+config IFXMIPS_MII1
-+ tristate "Infineon IFXMips eth1 driver"
-+ depends on IFXMIPS
-+ help
-+ Support for the MII1 inside the IFXMips SOC
-+
config AX88796
tristate "ASIX AX88796 NE2000 clone support"
- depends on ARM || MIPS
-Index: linux-2.6.23/drivers/net/Makefile
+ depends on ARM || MIPS || SUPERH
+Index: linux-2.6.25/drivers/serial/Kconfig
===================================================================
---- linux-2.6.23.orig/drivers/net/Makefile 2007-12-22 20:21:08.039991524 +0100
-+++ linux-2.6.23/drivers/net/Makefile 2007-12-22 20:21:08.860038256 +0100
-@@ -208,6 +208,7 @@
- obj-$(CONFIG_FEC_8XX) += fec_8xx/
- obj-$(CONFIG_PASEMI_MAC) += pasemi_mac.o
- obj-$(CONFIG_MLX4_CORE) += mlx4/
-+obj-$(CONFIG_IFXMIPS_MII0) += ifxmips_mii0.o
-
- obj-$(CONFIG_MACB) += macb.o
+--- linux-2.6.25.orig/drivers/serial/Kconfig 2008-05-07 18:58:25.000000000 +0100
++++ linux-2.6.25/drivers/serial/Kconfig 2008-05-08 07:53:18.000000000 +0100
+@@ -1327,6 +1327,14 @@
+ Currently, only 8250 compatible ports are supported, but
+ others can easily be added.
-Index: linux-2.6.23/drivers/char/watchdog/Makefile
++config SERIAL_IFXMIPS
++ bool "IFXMips serial driver"
++ depends on IFXMIPS
++ select SERIAL_CORE
++ select SERIAL_CORE_CONSOLE
++ help
++ Driver for the ifxmipss built in ASC hardware
++
+ config SERIAL_QE
+ tristate "Freescale QUICC Engine serial port support"
+ depends on QUICC_ENGINE
+Index: linux-2.6.25/drivers/serial/Makefile
===================================================================
---- linux-2.6.23.orig/drivers/char/watchdog/Makefile 2007-12-22 20:21:04.599795479 +0100
-+++ linux-2.6.23/drivers/char/watchdog/Makefile 2007-12-22 20:21:08.880039396 +0100
-@@ -90,6 +90,7 @@
- obj-$(CONFIG_INDYDOG) += indydog.o
- obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
- obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o
+--- linux-2.6.25.orig/drivers/serial/Makefile 2008-05-07 18:58:25.000000000 +0100
++++ linux-2.6.25/drivers/serial/Makefile 2008-05-07 18:58:42.000000000 +0100
+@@ -66,4 +66,5 @@
+ obj-$(CONFIG_SERIAL_NETX) += netx-serial.o
+ obj-$(CONFIG_SERIAL_OF_PLATFORM) += of_serial.o
+ obj-$(CONFIG_SERIAL_KS8695) += serial_ks8695.o
++obj-$(CONFIG_SERIAL_IFXMIPS) += ifxmips_asc.o
+ obj-$(CONFIG_SERIAL_QE) += ucc_uart.o
+Index: linux-2.6.25/drivers/watchdog/Makefile
+===================================================================
+--- linux-2.6.25.orig/drivers/watchdog/Makefile 2008-05-07 18:58:25.000000000 +0100
++++ linux-2.6.25/drivers/watchdog/Makefile 2008-05-07 18:58:42.000000000 +0100
+@@ -96,6 +96,7 @@
+ obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
+ obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
+ obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
+obj-$(CONFIG_IFXMIPS_WDT) += ifxmips_wdt.o
# PARISC Architecture
-Index: linux-2.6.23/drivers/char/Makefile
-===================================================================
---- linux-2.6.23.orig/drivers/char/Makefile 2007-12-22 20:21:04.611796164 +0100
-+++ linux-2.6.23/drivers/char/Makefile 2007-12-24 15:04:56.849129757 +0100
-@@ -135,3 +135,9 @@
- rm $@.tmp
-
- endif
-+
-+obj-$(CONFIG_IFXMIPS_LED) += ifxmips_led.o
-+obj-$(CONFIG_IFXMIPS_GPIO) += ifxmips_gpio.o
-+obj-$(CONFIG_IFXMIPS_SSC) += ifxmips_ssc.o
-+obj-$(CONFIG_IFXMIPS_EEPROM) += ifxmips_eeprom.o
-+obj-$(CONFIG_IFXMIPS_MEI) += ifxmips_mei_core.o
diff --git a/target/linux/ifxmips/patches/160-cfi-swap.patch b/target/linux/ifxmips/patches/160-cfi-swap.patch
index 116503f65d..6ddfc7e233 100644
--- a/target/linux/ifxmips/patches/160-cfi-swap.patch
+++ b/target/linux/ifxmips/patches/160-cfi-swap.patch
@@ -1,15 +1,16 @@
-Index: linux-2.6.23/drivers/mtd/chips/cfi_cmdset_0002.c
+Index: linux-2.6.25/drivers/mtd/chips/cfi_cmdset_0002.c
===================================================================
---- linux-2.6.23.orig/drivers/mtd/chips/cfi_cmdset_0002.c 2007-11-02 23:02:29.000000000 +0100
-+++ linux-2.6.23/drivers/mtd/chips/cfi_cmdset_0002.c 2007-11-02 23:07:15.000000000 +0100
-@@ -1007,7 +1007,9 @@
- int ret = 0;
- map_word oldd;
+--- linux-2.6.25.orig/drivers/mtd/chips/cfi_cmdset_0002.c 2008-05-07 18:58:41.000000000 +0100
++++ linux-2.6.25/drivers/mtd/chips/cfi_cmdset_0002.c 2008-05-07 18:58:42.000000000 +0100
+@@ -1015,7 +1015,9 @@
int retry_cnt = 0;
+
+ adr += chip->start;
-
+#ifdef CONFIG_IFXMIPS
+ adr ^= 2;
+#endif
- adr += chip->start;
-
spin_lock(chip->mutex);
+ ret = get_chip(map, chip, adr, FL_WRITING);
+ if (ret) {
+