Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
2ed55946
U
U-Boot.Mirror
项目概览
OS
/
U-Boot.Mirror
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
U-Boot.Mirror
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2ed55946
编写于
1月 19, 2007
作者:
W
Wolfgang Denk
提交者:
Wolfgang Denk
1月 19, 2007
浏览文件
操作
浏览文件
下载
差异文件
Merge with /home/hs/SC3/u-boot-dev
上级
15e5025a
f539b7ba
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
26 addition
and
28 deletion
+26
-28
drivers/cfi_flash.c
drivers/cfi_flash.c
+10
-16
include/configs/sc3.h
include/configs/sc3.h
+16
-12
未找到文件。
drivers/cfi_flash.c
浏览文件 @
2ed55946
...
...
@@ -40,10 +40,6 @@
#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.
...
...
@@ -58,6 +54,8 @@
* AMD/Spansion Application Note: Migration from Single-byte to Three-byte
* Device IDs, Publication Number 25538 Revision A, November 8, 2001
*
* define CFG_WRITE_SWAPPED_DATA, if you have to swap the Bytes between
* reading and writing ... (yes there is such a Hardware).
*/
#ifndef CFG_FLASH_BANKS_LIST
...
...
@@ -260,7 +258,7 @@ inline uchar flash_read_uchar (flash_info_t * info, uint offset)
uchar
*
cp
;
cp
=
flash_make_addr
(
info
,
0
,
offset
);
#if defined(__LITTLE_ENDIAN)
#if defined(__LITTLE_ENDIAN)
|| defined(CFG_WRITE_SWAPPED_DATA)
return
(
cp
[
0
]);
#else
return
(
cp
[
info
->
portwidth
-
1
]);
...
...
@@ -287,7 +285,7 @@ ushort flash_read_ushort (flash_info_t * info, flash_sect_t sect, uint offset)
debug
(
"addr[%x] = 0x%x
\n
"
,
x
,
addr
[
x
]);
}
#endif
#if defined(__LITTLE_ENDIAN)
#if defined(__LITTLE_ENDIAN)
|| defined(CFG_WRITE_SWAPPED_DATA)
retval
=
((
addr
[(
info
->
portwidth
)]
<<
8
)
|
addr
[
0
]);
#else
retval
=
((
addr
[(
2
*
info
->
portwidth
)
-
1
]
<<
8
)
|
...
...
@@ -319,7 +317,7 @@ ulong flash_read_long (flash_info_t * info, flash_sect_t sect, uint offset)
debug
(
"addr[%x] = 0x%x
\n
"
,
x
,
addr
[
x
]);
}
#endif
#if defined(__LITTLE_ENDIAN)
#if defined(__LITTLE_ENDIAN)
|| defined(CFG_WRITE_SWAPPED_DATA)
retval
=
(
addr
[
0
]
<<
16
)
|
(
addr
[(
info
->
portwidth
)]
<<
24
)
|
(
addr
[(
2
*
info
->
portwidth
)])
|
(
addr
[(
3
*
info
->
portwidth
)]
<<
8
);
#else
...
...
@@ -860,7 +858,7 @@ static int flash_full_status_check (flash_info_t * info, flash_sect_t sector,
*/
static
void
flash_add_byte
(
flash_info_t
*
info
,
cfiword_t
*
cword
,
uchar
c
)
{
#if defined(__LITTLE_ENDIAN) && !defined(C
ONFIG_SOLIDCARD3
)
#if defined(__LITTLE_ENDIAN) && !defined(C
FG_WRITE_SWAPPED_DATA
)
unsigned
short
w
;
unsigned
int
l
;
unsigned
long
long
ll
;
...
...
@@ -871,7 +869,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) && !defined(C
ONFIG_SOLIDCARD3
)
#if defined(__LITTLE_ENDIAN) && !defined(C
FG_WRITE_SWAPPED_DATA
)
w
=
c
;
w
<<=
8
;
cword
->
w
=
(
cword
->
w
>>
8
)
|
w
;
...
...
@@ -880,7 +878,7 @@ static void flash_add_byte (flash_info_t * info, cfiword_t * cword, uchar c)
#endif
break
;
case
FLASH_CFI_32BIT
:
#if defined(__LITTLE_ENDIAN) && !defined(C
ONFIG_SOLIDCARD3
)
#if defined(__LITTLE_ENDIAN) && !defined(C
FG_WRITE_SWAPPED_DATA
)
l
=
c
;
l
<<=
24
;
cword
->
l
=
(
cword
->
l
>>
8
)
|
l
;
...
...
@@ -889,7 +887,7 @@ static void flash_add_byte (flash_info_t * info, cfiword_t * cword, uchar c)
#endif
break
;
case
FLASH_CFI_64BIT
:
#if defined(__LITTLE_ENDIAN) && !defined(C
ONFIG_SOLIDCARD3
)
#if defined(__LITTLE_ENDIAN) && !defined(C
FG_WRITE_SWAPPED_DATA
)
ll
=
c
;
ll
<<=
56
;
cword
->
ll
=
(
cword
->
ll
>>
8
)
|
ll
;
...
...
@@ -909,7 +907,7 @@ static void flash_make_cmd (flash_info_t * info, uchar cmd, void *cmdbuf)
int
i
;
uchar
*
cp
=
(
uchar
*
)
cmdbuf
;
#if defined(__LITTLE_ENDIAN)
#if defined(__LITTLE_ENDIAN)
|| defined(CFG_WRITE_SWAPPED_DATA)
for
(
i
=
info
->
portwidth
;
i
>
0
;
i
--
)
#else
for
(
i
=
1
;
i
<=
info
->
portwidth
;
i
++
)
...
...
@@ -1535,8 +1533,4 @@ 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 */
include/configs/sc3.h
浏览文件 @
2ed55946
...
...
@@ -119,6 +119,8 @@
"net_nfs=tftp 200000 ${bootfile};run nfsargs addip;bootm\0" \
"rootpath=/opt/eldk/ppc_4xx\0" \
"bootfile=/tftpboot/sc3/uImage\0" \
"u-boot=/tftpboot/sc3/u-boot.bin\0" \
"setup=tftp 200000 /tftpboot/sc3/setup.img;autoscr 200000\0" \
"kernel_addr=FFE08000\0" \
""
#undef CONFIG_BOOTCOMMAND
...
...
@@ -165,18 +167,19 @@
#define CONFIG_COMMANDS \
(CONFIG_CMD_DFL | \
CFG_CMD_PCI | \
CFG_CMD_IRQ | \
CFG_CMD_NET | \
CFG_CMD_MII | \
CFG_CMD_PING | \
CFG_CMD_NAND | \
CFG_CMD_JFFS2 | \
CFG_CMD_I2C | \
CFG_CMD_IDE | \
CFG_CMD_DATE | \
CFG_CMD_DHCP | \
CFG_CMD_CACHE | \
CFG_CMD_AUTOSCRIPT | \
CFG_CMD_PCI | \
CFG_CMD_IRQ | \
CFG_CMD_NET | \
CFG_CMD_MII | \
CFG_CMD_PING | \
CFG_CMD_NAND | \
CFG_CMD_JFFS2 | \
CFG_CMD_I2C | \
CFG_CMD_IDE | \
CFG_CMD_DATE | \
CFG_CMD_DHCP | \
CFG_CMD_CACHE | \
CFG_CMD_ELF )
/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
...
...
@@ -384,6 +387,7 @@ extern unsigned long offsetOfEnvironment;
#define CFG_FLASH_QUIET_TEST 1
/* don't warn upon unknown flash*/
#define CFG_FLASH_ERASE_TOUT 120000
/* Timeout for Flash Erase (in ms) */
#define CFG_FLASH_WRITE_TOUT 500
/* Timeout for Flash Write (in ms) */
#define CFG_WRITE_SWAPPED_DATA
/* swap Databytes between reading/writing */
#define CFG_ENV_IS_IN_FLASH 1
#if CFG_ENV_IS_IN_FLASH
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录