summaryrefslogtreecommitdiff
path: root/drivers/cfi_flash.c
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2007-01-16 15:49:14 +0100
committerStefan Roese <sr@denx.de>2007-01-16 15:49:14 +0100
commita195ff95ace5e74e50f54a469d1a160ff84a1089 (patch)
tree562292b70faf3cc1298ef87a862658122c752804 /drivers/cfi_flash.c
parentc2a6e9091fae9e8339c70f4b12cd3f7d5502ae0c (diff)
parent1bbbbdd20fcec9933697000dcf55ff7972622596 (diff)
Merge with git+ssh://sr@pollux.denx.org/home/sr/git/u-boot/denx/.git
Diffstat (limited to 'drivers/cfi_flash.c')
-rw-r--r--drivers/cfi_flash.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/cfi_flash.c b/drivers/cfi_flash.c
index 2699cce859a..8dc44997b8e 100644
--- a/drivers/cfi_flash.c
+++ b/drivers/cfi_flash.c
@@ -40,6 +40,10 @@
#include <environment.h>
#ifdef CFG_FLASH_CFI_DRIVER
+#if defined(CONFIG_SOLIDCARD3)
+#define __LITTLE_ENDIAN
+#endif
+
/*
* This file implements a Common Flash Interface (CFI) driver for U-Boot.
* The width of the port and the width of the chips are determined at initialization.
@@ -867,7 +871,7 @@ static void flash_add_byte (flash_info_t * info, cfiword_t * cword, uchar c)
cword->c = c;
break;
case FLASH_CFI_16BIT:
-#if defined(__LITTLE_ENDIAN)
+#if defined(__LITTLE_ENDIAN) && !defined(CONFIG_SOLIDCARD3)
w = c;
w <<= 8;
cword->w = (cword->w >> 8) | w;
@@ -1359,7 +1363,6 @@ static int flash_write_cfiword (flash_info_t * info, ulong dest,
ctladdr.cp = flash_make_addr (info, 0, 0);
cptr.cp = (uchar *) dest;
-
/* Check if Flash is (sufficiently) erased */
switch (info->portwidth) {
case FLASH_CFI_8BIT:
@@ -1531,4 +1534,9 @@ static int flash_write_cfibuffer (flash_info_t * info, ulong dest, uchar * cp,
}
}
#endif /* CFG_FLASH_USE_BUFFER_WRITE */
+
+#if defined(CONFIG_SOLIDCARD3)
+#undef __LITTLE_ENDIAN
+#endif
+
#endif /* CFG_FLASH_CFI */