bump ifxmips to 2.6.25.1

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11071 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
John Crispin 2008-05-08 07:18:51 +00:00
parent d62655369c
commit 5ed5df3c45
10 changed files with 161 additions and 162 deletions

View File

@ -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

View File

@ -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

View File

@ -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");

View File

@ -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");

View File

@ -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)
{

View File

@ -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

View File

@ -1,8 +1,8 @@
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
@ -20,19 +20,11 @@ Index: linux-2.6.23/arch/mips/Kconfig
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
@ -46,21 +38,20 @@ Index: linux-2.6.23/arch/mips/Makefile
#
# 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
+ * 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;

View File

@ -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
# 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/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
===================================================================
--- 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_INTEL_VR_NOR) += intel_vr_nor.o
+obj-$(CONFIG_MTD_IFXMIPS) += ifxmips.o
Index: linux-2.6.23/drivers/net/Kconfig
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"
@ -44,51 +37,48 @@ Index: linux-2.6.23/drivers/net/Kconfig
+ depends on IFXMIPS
+ 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
--- 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.
obj-$(CONFIG_MACB) += macb.o
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

View File

@ -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) {