|
@@ -306,6 +306,9 @@ static void flash_make_cmd(flash_info_t *info, u32 cmd, void *cmdbuf)
|
|
int i;
|
|
int i;
|
|
int cword_offset;
|
|
int cword_offset;
|
|
int cp_offset;
|
|
int cp_offset;
|
|
|
|
+#if defined(__LITTLE_ENDIAN) || defined(CFG_WRITE_SWAPPED_DATA)
|
|
|
|
+ u32 cmd_le = cpu_to_le32(cmd);
|
|
|
|
+#endif
|
|
uchar val;
|
|
uchar val;
|
|
uchar *cp = (uchar *) cmdbuf;
|
|
uchar *cp = (uchar *) cmdbuf;
|
|
|
|
|
|
@@ -313,7 +316,7 @@ static void flash_make_cmd(flash_info_t *info, u32 cmd, void *cmdbuf)
|
|
cword_offset = (info->portwidth-i)%info->chipwidth;
|
|
cword_offset = (info->portwidth-i)%info->chipwidth;
|
|
#if defined(__LITTLE_ENDIAN) || defined(CFG_WRITE_SWAPPED_DATA)
|
|
#if defined(__LITTLE_ENDIAN) || defined(CFG_WRITE_SWAPPED_DATA)
|
|
cp_offset = info->portwidth - i;
|
|
cp_offset = info->portwidth - i;
|
|
- val = *((uchar*)&cmd + cword_offset);
|
|
|
|
|
|
+ val = *((uchar*)&cmd_le + cword_offset);
|
|
#else
|
|
#else
|
|
cp_offset = i - 1;
|
|
cp_offset = i - 1;
|
|
val = *((uchar*)&cmd + sizeof(u32) - cword_offset - 1);
|
|
val = *((uchar*)&cmd + sizeof(u32) - cword_offset - 1);
|