diff options
Diffstat (limited to 'target/linux/ifxmips/patches/200-cfi-swap.patch')
-rw-r--r-- | target/linux/ifxmips/patches/200-cfi-swap.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/target/linux/ifxmips/patches/200-cfi-swap.patch b/target/linux/ifxmips/patches/200-cfi-swap.patch new file mode 100644 index 0000000000..6e62f9bd3a --- /dev/null +++ b/target/linux/ifxmips/patches/200-cfi-swap.patch @@ -0,0 +1,55 @@ +Index: linux-2.6.35.8/drivers/mtd/chips/cfi_cmdset_0001.c +=================================================================== +--- linux-2.6.35.8.orig/drivers/mtd/chips/cfi_cmdset_0001.c 2010-10-29 06:52:43.000000000 +0200 ++++ linux-2.6.35.8/drivers/mtd/chips/cfi_cmdset_0001.c 2010-11-01 13:01:30.000000000 +0100 +@@ -41,7 +41,11 @@ + /* #define CMDSET0001_DISABLE_WRITE_SUSPEND */ + + // debugging, turns off buffer write mode if set to 1 +-#define FORCE_WORD_WRITE 0 ++#ifdef CONFIG_IFXMIPS ++# define FORCE_WORD_WRITE 1 ++#else ++# define FORCE_WORD_WRITE 0 ++#endif + + /* Intel chips */ + #define I82802AB 0x00ad +@@ -1491,6 +1495,9 @@ + int ret=0; + + adr += chip->start; ++#ifdef CONFIG_IFXMIPS ++ adr ^= 2; ++#endif + + switch (mode) { + case FL_WRITING: +Index: linux-2.6.35.8/drivers/mtd/chips/cfi_cmdset_0002.c +=================================================================== +--- linux-2.6.35.8.orig/drivers/mtd/chips/cfi_cmdset_0002.c 2010-11-01 13:01:29.000000000 +0100 ++++ linux-2.6.35.8/drivers/mtd/chips/cfi_cmdset_0002.c 2010-11-01 15:14:17.000000000 +0100 +@@ -40,7 +40,11 @@ + #include <linux/mtd/xip.h> + + #define AMD_BOOTLOC_BUG +-#define FORCE_WORD_WRITE 0 ++#ifdef CONFIG_IFXMIPS ++# define FORCE_WORD_WRITE 1 ++#else ++# define FORCE_WORD_WRITE 0 ++#endif + + #define MAX_WORD_RETRIES 3 + +@@ -1156,6 +1160,10 @@ + + adr += chip->start; + ++#ifdef CONFIG_IFXMIPS ++ adr ^= 2; ++#endif ++ + mutex_lock(&chip->mutex); + ret = get_chip(map, chip, adr, FL_WRITING); + if (ret) { |