Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
cf48eb9a
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,发现更多精彩内容 >>
提交
cf48eb9a
编写于
4月 16, 2006
作者:
W
Wolfgang Denk
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Some code cleanup
上级
807522fc
变更
17
展开全部
隐藏空白更改
内联
并排
Showing
17 changed file
with
577 addition
and
570 deletion
+577
-570
CHANGELOG
CHANGELOG
+39
-38
README
README
+4
-4
board/icecube/icecube.c
board/icecube/icecube.c
+6
-6
board/mpc8349emds/mpc8349emds.c
board/mpc8349emds/mpc8349emds.c
+11
-11
board/mx1ads/mx1ads.c
board/mx1ads/mx1ads.c
+1
-1
common/cmd_load.c
common/cmd_load.c
+37
-35
common/crc16.c
common/crc16.c
+89
-88
common/xyzModem.c
common/xyzModem.c
+144
-140
cpu/mpc5xxx/cpu.c
cpu/mpc5xxx/cpu.c
+1
-1
cpu/mpc83xx/cpu.c
cpu/mpc83xx/cpu.c
+1
-1
cpu/mpc83xx/spd_sdram.c
cpu/mpc83xx/spd_sdram.c
+2
-2
cpu/ppc4xx/sdram.c
cpu/ppc4xx/sdram.c
+107
-107
doc/README.mpc8349emds.ddrecc
doc/README.mpc8349emds.ddrecc
+0
-2
include/configs/MPC8349EMDS.h
include/configs/MPC8349EMDS.h
+2
-2
include/crc.h
include/crc.h
+69
-70
include/xyzModem.h
include/xyzModem.h
+63
-61
rtc/ds1374.c
rtc/ds1374.c
+1
-1
未找到文件。
CHANGELOG
浏览文件 @
cf48eb9a
======================================================================
Changes since U-Boot 1.1.4:
======================================================================
* Fix dbau1x00 Board
- Fix dbau1x00 boards broken by dbau1550 patch
PLL:s were not set for boards other than 1550.
Flash CFI caused card to hang due to undefined CFG_FLASH_BANKS_LIST.
Default boot is now bootp for cards other than 1550.
Patch by Thomas Lange Aug 10 2005
*
Fixes common/cmd_flash.c:
*
Some code cleanup
- fix some compiler/parser error, if using m68k tool chain
- optical fix for protect on/off all messages, if using more
then one bank
Patch by Jens Scharsig, 28 July 2005
* Fix dbau1x00 boards broken by dbau1550 patch
PLL:s were not set for boards other than 1550.
Flash CFI caused card to hang due to undefined CFG_FLASH_BANKS_LIST.
Default boot is now bootp for cards other than 1550.
Patch by Thomas Lange, 10 Aug 2005
* Fixes common/cmd_flash.c:
- fix some compiler/parser error, if using m68k tool chain
- optical fix for protect on/off all messages, if using more
then one bank
Patch by Jens Scharsig, 28 Jul 2005
* Fix Quad UART mapping on MCC200 board due to new HW revision
...
...
@@ -57,18 +58,18 @@ Changes since U-Boot 1.1.4:
* Updates to common PPC4xx onboard (DDR)SDRAM init code (405 and 440)
405 SDRAM: - The SDRAM parameters can now be defined in the board
config file and the 405 SDRAM controller values will
be calculated upon bootup (see PPChameleonEVB).
When those settings are not defined in the board
config file, the register setup will be as it is now,
so this implementation should not break any current
design using this code.
config file and the 405 SDRAM controller values will
be calculated upon bootup (see PPChameleonEVB).
When those settings are not defined in the board
config file, the register setup will be as it is now,
so this implementation should not break any current
design using this code.
Thanks to Andrea Marson from DAVE for this patch.
Thanks to Andrea Marson from DAVE for this patch.
440 DDR: - Added function sdram_tr1_set to auto calculate the
TR1 value for the DDR.
- Added ECC support (see p3p440).
TR1 value for the DDR.
- Added ECC support (see p3p440).
Patch by Stefan Roese, 17 Mar 2006
...
...
@@ -442,7 +443,7 @@ Changes since U-Boot 1.1.4:
are removed from the default U-Boot build.
Enable DEBUG for lib_arm/board.c to enable debug messages.
New CONFIG_DISPLAY_CPUINFO and CONFIG_DISPLAY_BOARDINFO options.
Patch
by Stefan Roese, 24 Jan 2006
Patch
by Stefan Roese, 24 Jan 2006
* Fix various compiler warnings on ppc4xx builds (ELDK 4.0)
Patch by Stefan Roese, 18 Jan 2006
...
...
@@ -588,11 +589,11 @@ Changes for U-Boot 1.1.4:
* Add support for multiple PHYs.
Tested on the following boards:
cmcpu2
(at91rm9200/ether.c)
cmcpu2
(at91rm9200/ether.c)
PPChameleon (ppc4xx/4xx_enet.c)
yukon
(mpc8220/fec.c)
uc100
(mpc8xx/fec.c)
tqm834x
(mpc834x/tsec.c) with EEPRO100
yukon
(mpc8220/fec.c)
uc100
(mpc8xx/fec.c)
tqm834x
(mpc834x/tsec.c) with EEPRO100
lite5200 (mpc5xxx/fec.c) with EEPRO100 card (drivers/eepro100.c)
Main changes include:
common/miiphyutil.c
...
...
@@ -1132,18 +1133,18 @@ Changes for U-Boot 1.1.3:
The first one is to define a single, static partition:
#undef CONFIG_JFFS2_CMDLINE
#define CONFIG_JFFS2_DEV
"nor0"
#define CONFIG_JFFS2_PART_SIZE
0xFFFFFFFF /* use whole device */
#define CONFIG_JFFS2_PART_SIZE
0x00100000 /* use 1MB */
#define CONFIG_JFFS2_PART_OFFSET
0x00000000
#define CONFIG_JFFS2_DEV
"nor0"
#define CONFIG_JFFS2_PART_SIZE
0xFFFFFFFF /* use whole device */
#define CONFIG_JFFS2_PART_SIZE
0x00100000 /* use 1MB */
#define CONFIG_JFFS2_PART_OFFSET
0x00000000
The second method uses the mtdparts command line option and dynamic
partitioning:
/* mtdparts command line support */
#define CONFIG_JFFS2_CMDLINE
#define MTDIDS_DEFAULT
"nor1=zuma-1,nor2=zuma-2"
#define MTDPARTS_DEFAULT
"mtdparts=zuma-1:-(jffs2),zuma-2:-(user)"
#define MTDIDS_DEFAULT
"nor1=zuma-1,nor2=zuma-2"
#define MTDPARTS_DEFAULT
"mtdparts=zuma-1:-(jffs2),zuma-2:-(user)"
Command line of course produces bigger images, and may be inappropriate
for some targets, so by default it's off.
...
...
@@ -3456,7 +3457,7 @@ Changes for U-Boot 1.0.1:
Bring ARM memory layout in sync with the documentation:
stack and malloc-heap are now located _below_ the U-Boot code
* Accelerate booting on TRAB board: read and check autoupdate
image
* Accelerate booting on TRAB board: read and check autoupdate
image
headers first instead of always reading the whole images.
* Fix type in MPC5XXX code (pointed out by Victor Wren)
...
...
@@ -3576,7 +3577,7 @@ Changes for U-Boot 1.0.0:
* Make 5200 reset command _really_ reset the board, without running
any other code after it
* Fix errors with flash erase when range spans
across banks
* Fix errors with flash erase when range spans
across banks
that are mapped in reverse order
* Fix flash mapping and display on P3G4 board
...
...
@@ -3820,7 +3821,7 @@ Changes for U-Boot 0.4.8:
or 1 x AM29LV652 (two LV065 in one chip = 16 MB);
Run IPB at 133 Mhz; adjust the MII clock frequency accordingly
* Set BRG_CLK on PM825/826 to 64MHz (VCO_OUT / 4, instead of 16
MHz)
* Set BRG_CLK on PM825/826 to 64MHz (VCO_OUT / 4, instead of 16
MHz)
to allow for more accurate baudrate settings
(error now 0.7% at 115 kbps, instead of 3.5% before)
...
...
@@ -4307,7 +4308,7 @@ Changes for U-Boot 0.4.0:
Update for MPC8266ADS board
* Get (mostly) rid of CFG_MONITOR_LEN definition; compute real length
instead CFG_MONITOR_LEN is now only used to determine
_at_compile_
instead CFG_MONITOR_LEN is now only used to determine
_at_compile_
_time_ (!) if the environment is embedded within the U-Boot image,
or in a separate flash sector.
...
...
@@ -4357,7 +4358,7 @@ Changes for U-Boot 0.4.0:
* Patch by Thomas Schfer, 28 Apr 2003:
Fix SPD handling for 256 ECC DIMM on Walnut
* Add support for arbitrary bitmaps for TRAB's
VFD command;
* Add support for arbitrary bitmaps for TRAB's
VFD command;
allow to pass boot bitmap addresses in environment variables;
allow for zero boot delay
...
...
@@ -4700,7 +4701,7 @@ Changes for U-Boot 0.3.0:
* Add VFD type detection to trab board
* extend drivers/cs8900.c driver to synchronize
ethaddr environment
* extend drivers/cs8900.c driver to synchronize
ethaddr environment
variable with value in the EEPROM
* Patch by Stefan Roese, 10 Feb 2003:
...
...
@@ -4860,7 +4861,7 @@ Changes for U-Boot 0.2.0:
* Patch by Pierre Aubert, 05 Nov 2002
Add support for slave serial Spartan 2 FPGAs
* Fix uninitialized memory (MAC
address) in 8xx SCC/FEC ethernet
* Fix uninitialized memory (MAC
address) in 8xx SCC/FEC ethernet
drivers
* Add support for log buffer which can be passed to Linux kernel's
...
...
README
浏览文件 @
cf48eb9a
...
...
@@ -307,7 +307,7 @@ The following options need to be configured:
CONFIG_ARMADILLO, CONFIG_AT91RM9200DK, CONFIG_CERF250,
CONFIG_CSB637, CONFIG_DELTA, CONFIG_DNP1110,
CONFIG_EP7312, CONFIG_H2_OMAP1610, CONFIG_HHP_CRADLE,
CONFIG_IMPA7,
CONFIG_INNOVATOROMAP1510, CONFIG_INNOVATOROMAP1610,
CONFIG_IMPA7,
CONFIG_INNOVATOROMAP1510, CONFIG_INNOVATOROMAP1610,
CONFIG_KB9202, CONFIG_LART, CONFIG_LPD7A400,
CONFIG_LUBBOCK, CONFIG_OSK_OMAP5912, CONFIG_OMAP2420H4,
CONFIG_SHANNON, CONFIG_P2_OMAP730, CONFIG_SMDK2400,
...
...
@@ -388,12 +388,12 @@ The following options need to be configured:
frequency is this value multiplied by 13 MHz.
CFG_MONAHANS_TURBO_RUN_MODE_RATIO
Defines the Monahans turbo mode to oscillator
ratio. Valid values are 1 (default if undefined) and
2. The core frequency as calculated above is multiplied
2. The core frequency as calculated above is multiplied
by this value.
- Linux Kernel Interface:
CONFIG_CLOCKS_IN_MHZ
...
...
board/icecube/icecube.c
浏览文件 @
cf48eb9a
...
...
@@ -187,17 +187,17 @@ long int initdram (int board_type)
#endif
/* CFG_RAMBOOT */
/*
* On MPC5200B we need to set the special configuration delay in the
* DDR controller. Please refer to Freescale's AN3221 "MPC5200B SDRAM
* On MPC5200B we need to set the special configuration delay in the
* DDR controller. Please refer to Freescale's AN3221 "MPC5200B SDRAM
* Initialization and Configuration", 3.3.1 SDelay--MBAR + 0x0190:
*
* "The SDelay should be written to a value of 0x00000004. It is
* required to account for changes caused by normal wafer processing
* "The SDelay should be written to a value of 0x00000004. It is
* required to account for changes caused by normal wafer processing
* parameters."
*/
*/
svr
=
get_svr
();
pvr
=
get_pvr
();
if
((
SVR_MJREV
(
svr
)
>=
2
)
&&
if
((
SVR_MJREV
(
svr
)
>=
2
)
&&
(
PVR_MAJ
(
pvr
)
==
1
)
&&
(
PVR_MIN
(
pvr
)
==
4
))
{
*
(
vu_long
*
)
MPC5XXX_SDRAM_SDELAY
=
0x04
;
...
...
board/mpc8349emds/mpc8349emds.c
浏览文件 @
cf48eb9a
...
...
@@ -116,14 +116,14 @@ int fixed_sdram(void)
im
->
ddr
.
csbnds
[
2
].
csbnds
=
0x0000000f
;
im
->
ddr
.
cs_config
[
2
]
=
CFG_DDR_CONFIG
;
/* currently we use only one CS, so disable the other banks */
/* currently we use only one CS, so disable the other banks */
im
->
ddr
.
cs_config
[
0
]
=
0
;
im
->
ddr
.
cs_config
[
1
]
=
0
;
im
->
ddr
.
cs_config
[
3
]
=
0
;
im
->
ddr
.
timing_cfg_1
=
CFG_DDR_TIMING_1
;
im
->
ddr
.
timing_cfg_2
=
CFG_DDR_TIMING_2
;
im
->
ddr
.
sdram_cfg
=
SDRAM_CFG_SREN
#if defined(CONFIG_DDR_2T_TIMING)
...
...
@@ -136,7 +136,7 @@ int fixed_sdram(void)
#endif
im
->
ddr
.
sdram_mode
=
CFG_DDR_MODE
;
im
->
ddr
.
sdram_interval
=
CFG_DDR_INTERVAL
;
im
->
ddr
.
sdram_interval
=
CFG_DDR_INTERVAL
;
udelay
(
200
);
/* enable DDR controller */
...
...
@@ -361,12 +361,12 @@ int do_ecc ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
volatile
u32
val
;
u64
*
addr
,
count
,
val64
;
register
u64
*
i
;
if
(
argc
>
4
)
{
printf
(
"Usage:
\n
%s
\n
"
,
cmdtp
->
usage
);
return
1
;
}
if
(
argc
==
2
)
{
if
(
strcmp
(
argv
[
1
],
"status"
)
==
0
)
{
ecc_print_status
();
...
...
@@ -379,8 +379,8 @@ int do_ecc ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
ddr
->
capture_attributes
=
0
;
return
0
;
}
}
}
if
(
argc
==
3
)
{
if
(
strcmp
(
argv
[
1
],
"sbecnt"
)
==
0
)
{
val
=
simple_strtoul
(
argv
[
2
],
NULL
,
10
);
...
...
@@ -416,8 +416,8 @@ int do_ecc ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
else
if
(
strcmp
(
argv
[
2
],
"+mse"
)
==
0
)
{
val
|=
ECC_ERROR_DISABLE_MSED
;
}
else
if
(
strcmp
(
argv
[
2
],
"+all"
)
==
0
)
{
val
|=
(
ECC_ERROR_DISABLE_SBED
|
ECC_ERROR_DISABLE_MBED
|
val
|=
(
ECC_ERROR_DISABLE_SBED
|
ECC_ERROR_DISABLE_MBED
|
ECC_ERROR_DISABLE_MSED
);
}
else
if
(
strcmp
(
argv
[
2
],
"-sbe"
)
==
0
)
{
val
&=
~
ECC_ERROR_DISABLE_SBED
;
...
...
@@ -426,8 +426,8 @@ int do_ecc ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
else
if
(
strcmp
(
argv
[
2
],
"-mse"
)
==
0
)
{
val
&=
~
ECC_ERROR_DISABLE_MSED
;
}
else
if
(
strcmp
(
argv
[
2
],
"-all"
)
==
0
)
{
val
&=
~
(
ECC_ERROR_DISABLE_SBED
|
ECC_ERROR_DISABLE_MBED
|
val
&=
~
(
ECC_ERROR_DISABLE_SBED
|
ECC_ERROR_DISABLE_MBED
|
ECC_ERROR_DISABLE_MSED
);
}
else
{
printf
(
"Incorrect err_disable field
\n
"
);
...
...
board/mx1ads/mx1ads.c
浏览文件 @
cf48eb9a
...
...
@@ -85,7 +85,7 @@ int board_init (void)
GPCR
=
0x000003AB
;
/* I/O pad driving strength */
/* MX1_CS1U = 0x00000A00; *//* SRAM initialization */
/* MX1_CS1U = 0x00000A00; */
/* SRAM initialization */
/* MX1_CS1L = 0x11110601; */
MPCTL0
=
0x04632410
;
/* setting for 150 MHz MCU PLL CLK */
...
...
common/cmd_load.c
浏览文件 @
cf48eb9a
...
...
@@ -973,7 +973,7 @@ START:
}
static
int
getcxmodem
(
void
)
{
if
(
tstc
())
if
(
tstc
())
return
(
getc
());
return
-
1
;
}
...
...
@@ -984,49 +984,51 @@ static ulong load_serial_ymodem (ulong offset)
int
err
;
int
res
;
connection_info_t
info
;
char
ymodemBuf
[
1024
];
ulong
store_addr
=
~
0
;
ulong
addr
=
0
;
char
ymodemBuf
[
1024
];
ulong
store_addr
=
~
0
;
ulong
addr
=
0
;
size
=
0
;
info
.
mode
=
xyzModem_ymodem
;
res
=
xyzModem_stream_open
(
&
info
,
&
err
);
size
=
0
;
info
.
mode
=
xyzModem_ymodem
;
res
=
xyzModem_stream_open
(
&
info
,
&
err
);
if
(
!
res
)
{
while
((
res
=
xyzModem_stream_read
(
ymodemBuf
,
1024
,
&
err
))
>
0
){
store_addr
=
addr
+
offset
;
size
+=
res
;
addr
+=
res
;
#ifndef CFG_NO_FLASH
if
(
addr2info
(
store_addr
))
{
int
rc
;
rc
=
flash_write
((
char
*
)
ymodemBuf
,
store_addr
,
res
);
if
(
rc
!=
0
)
{
flash_perror
(
rc
);
return
(
~
0
);
}
}
else
while
((
res
=
xyzModem_stream_read
(
ymodemBuf
,
1024
,
&
err
))
>
0
)
{
store_addr
=
addr
+
offset
;
size
+=
res
;
addr
+=
res
;
#ifndef CFG_NO_FLASH
if
(
addr2info
(
store_addr
))
{
int
rc
;
rc
=
flash_write
((
char
*
)
ymodemBuf
,
store_addr
,
res
);
if
(
rc
!=
0
)
{
flash_perror
(
rc
);
return
(
~
0
);
}
}
else
#endif
{
memcpy
((
char
*
)(
store_addr
),
ymodemBuf
,
res
);
}
}
}
else
{
printf
(
"%s
\n
"
,
xyzModem_error
(
err
));
{
memcpy
((
char
*
)
(
store_addr
),
ymodemBuf
,
res
);
}
}
}
else
{
printf
(
"%s
\n
"
,
xyzModem_error
(
err
));
}
xyzModem_stream_close
(
&
err
);
xyzModem_stream_terminate
(
false
,
&
getcxmodem
);
xyzModem_stream_close
(
&
err
);
xyzModem_stream_terminate
(
false
,
&
getcxmodem
);
flush_cache
(
offset
,
size
);
printf
(
"## Total Size = 0x%08x = %d Bytes
\n
"
,
size
,
size
);
sprintf
(
buf
,
"%X"
,
size
);
setenv
(
"filesize"
,
buf
);
printf
(
"## Total Size = 0x%08x = %d Bytes
\n
"
,
size
,
size
);
sprintf
(
buf
,
"%X"
,
size
);
setenv
(
"filesize"
,
buf
);
return
offset
;
}
...
...
common/crc16.c
浏览文件 @
cf48eb9a
//==========================================================================
//
// crc16.c
//
// 16 bit CRC with polynomial x^16+x^12+x^5+1
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
// Copyright (C) 2002 Gary Thomas
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): gthomas
// Contributors: gthomas,asl
// Date: 2001-01-31
// Purpose:
// Description:
//
// This code is part of eCos (tm).
//
//####DESCRIPTIONEND####
//
//==========================================================================
/*
*==========================================================================
*
* crc16.c
*
* 16 bit CRC with polynomial x^16+x^12+x^5+1
*
*==========================================================================
*####ECOSGPLCOPYRIGHTBEGIN####
* -------------------------------------------
* This file is part of eCos, the Embedded Configurable Operating System.
* Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
* Copyright (C) 2002 Gary Thomas
*
* eCos is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 or (at your option) any later version.
*
* eCos is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with eCos; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*
* As a special exception, if other files instantiate templates or use macros
* or inline functions from this file, or you compile this file and link it
* with other works to produce a work based on this file, this file does not
* by itself cause the resulting work to be covered by the GNU General Public
* License. However the source code for this file must still be made available
* in accordance with section (3) of the GNU General Public License.
*
* This exception does not invalidate any other reasons why a work based on
* this file might be covered by the GNU General Public License.
*
* Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
* at http: *sources.redhat.com/ecos/ecos-license/
* -------------------------------------------
*####ECOSGPLCOPYRIGHTEND####
*==========================================================================
*#####DESCRIPTIONBEGIN####
*
* Author(s): gthomas
* Contributors: gthomas,asl
* Date: 2001-01-31
* Purpose:
* Description:
*
* This code is part of eCos (tm).
*
*####DESCRIPTIONEND####
*
*==========================================================================
*/
#include "crc.h"
/
/ Table of CRC constants - implements x^16+x^12+x^5+1
/
* Table of CRC constants - implements x^16+x^12+x^5+1 */
static
const
uint16_t
crc16_tab
[]
=
{
0x0000
,
0x1021
,
0x2042
,
0x3063
,
0x4084
,
0x50a5
,
0x60c6
,
0x70e7
,
0x8108
,
0x9129
,
0xa14a
,
0xb16b
,
0xc18c
,
0xd1ad
,
0xe1ce
,
0xf1ef
,
0x1231
,
0x0210
,
0x3273
,
0x2252
,
0x52b5
,
0x4294
,
0x72f7
,
0x62d6
,
0x9339
,
0x8318
,
0xb37b
,
0xa35a
,
0xd3bd
,
0xc39c
,
0xf3ff
,
0xe3de
,
0x2462
,
0x3443
,
0x0420
,
0x1401
,
0x64e6
,
0x74c7
,
0x44a4
,
0x5485
,
0xa56a
,
0xb54b
,
0x8528
,
0x9509
,
0xe5ee
,
0xf5cf
,
0xc5ac
,
0xd58d
,
0x3653
,
0x2672
,
0x1611
,
0x0630
,
0x76d7
,
0x66f6
,
0x5695
,
0x46b4
,
0xb75b
,
0xa77a
,
0x9719
,
0x8738
,
0xf7df
,
0xe7fe
,
0xd79d
,
0xc7bc
,
0x48c4
,
0x58e5
,
0x6886
,
0x78a7
,
0x0840
,
0x1861
,
0x2802
,
0x3823
,
0xc9cc
,
0xd9ed
,
0xe98e
,
0xf9af
,
0x8948
,
0x9969
,
0xa90a
,
0xb92b
,
0x5af5
,
0x4ad4
,
0x7ab7
,
0x6a96
,
0x1a71
,
0x0a50
,
0x3a33
,
0x2a12
,
0xdbfd
,
0xcbdc
,
0xfbbf
,
0xeb9e
,
0x9b79
,
0x8b58
,
0xbb3b
,
0xab1a
,
0x6ca6
,
0x7c87
,
0x4ce4
,
0x5cc5
,
0x2c22
,
0x3c03
,
0x0c60
,
0x1c41
,
0xedae
,
0xfd8f
,
0xcdec
,
0xddcd
,
0xad2a
,
0xbd0b
,
0x8d68
,
0x9d49
,
0x7e97
,
0x6eb6
,
0x5ed5
,
0x4ef4
,
0x3e13
,
0x2e32
,
0x1e51
,
0x0e70
,
0xff9f
,
0xefbe
,
0xdfdd
,
0xcffc
,
0xbf1b
,
0xaf3a
,
0x9f59
,
0x8f78
,
0x9188
,
0x81a9
,
0xb1ca
,
0xa1eb
,
0xd10c
,
0xc12d
,
0xf14e
,
0xe16f
,
0x1080
,
0x00a1
,
0x30c2
,
0x20e3
,
0x5004
,
0x4025
,
0x7046
,
0x6067
,
0x83b9
,
0x9398
,
0xa3fb
,
0xb3da
,
0xc33d
,
0xd31c
,
0xe37f
,
0xf35e
,
0x02b1
,
0x1290
,
0x22f3
,
0x32d2
,
0x4235
,
0x5214
,
0x6277
,
0x7256
,
0xb5ea
,
0xa5cb
,
0x95a8
,
0x8589
,
0xf56e
,
0xe54f
,
0xd52c
,
0xc50d
,
0x34e2
,
0x24c3
,
0x14a0
,
0x0481
,
0x7466
,
0x6447
,
0x5424
,
0x4405
,
0xa7db
,
0xb7fa
,
0x8799
,
0x97b8
,
0xe75f
,
0xf77e
,
0xc71d
,
0xd73c
,
0x26d3
,
0x36f2
,
0x0691
,
0x16b0
,
0x6657
,
0x7676
,
0x4615
,
0x5634
,
0xd94c
,
0xc96d
,
0xf90e
,
0xe92f
,
0x99c8
,
0x89e9
,
0xb98a
,
0xa9ab
,
0x5844
,
0x4865
,
0x7806
,
0x6827
,
0x18c0
,
0x08e1
,
0x3882
,
0x28a3
,
0xcb7d
,
0xdb5c
,
0xeb3f
,
0xfb1e
,
0x8bf9
,
0x9bd8
,
0xabbb
,
0xbb9a
,
0x4a75
,
0x5a54
,
0x6a37
,
0x7a16
,
0x0af1
,
0x1ad0
,
0x2ab3
,
0x3a92
,
0xfd2e
,
0xed0f
,
0xdd6c
,
0xcd4d
,
0xbdaa
,
0xad8b
,
0x9de8
,
0x8dc9
,
0x7c26
,
0x6c07
,
0x5c64
,
0x4c45
,
0x3ca2
,
0x2c83
,
0x1ce0
,
0x0cc1
,
0xef1f
,
0xff3e
,
0xcf5d
,
0xdf7c
,
0xaf9b
,
0xbfba
,
0x8fd9
,
0x9ff8
,
0x6e17
,
0x7e36
,
0x4e55
,
0x5e74
,
0x2e93
,
0x3eb2
,
0x0ed1
,
0x1ef0
,
0x0000
,
0x1021
,
0x2042
,
0x3063
,
0x4084
,
0x50a5
,
0x60c6
,
0x70e7
,
0x8108
,
0x9129
,
0xa14a
,
0xb16b
,
0xc18c
,
0xd1ad
,
0xe1ce
,
0xf1ef
,
0x1231
,
0x0210
,
0x3273
,
0x2252
,
0x52b5
,
0x4294
,
0x72f7
,
0x62d6
,
0x9339
,
0x8318
,
0xb37b
,
0xa35a
,
0xd3bd
,
0xc39c
,
0xf3ff
,
0xe3de
,
0x2462
,
0x3443
,
0x0420
,
0x1401
,
0x64e6
,
0x74c7
,
0x44a4
,
0x5485
,
0xa56a
,
0xb54b
,
0x8528
,
0x9509
,
0xe5ee
,
0xf5cf
,
0xc5ac
,
0xd58d
,
0x3653
,
0x2672
,
0x1611
,
0x0630
,
0x76d7
,
0x66f6
,
0x5695
,
0x46b4
,
0xb75b
,
0xa77a
,
0x9719
,
0x8738
,
0xf7df
,
0xe7fe
,
0xd79d
,
0xc7bc
,
0x48c4
,
0x58e5
,
0x6886
,
0x78a7
,
0x0840
,
0x1861
,
0x2802
,
0x3823
,
0xc9cc
,
0xd9ed
,
0xe98e
,
0xf9af
,
0x8948
,
0x9969
,
0xa90a
,
0xb92b
,
0x5af5
,
0x4ad4
,
0x7ab7
,
0x6a96
,
0x1a71
,
0x0a50
,
0x3a33
,
0x2a12
,
0xdbfd
,
0xcbdc
,
0xfbbf
,
0xeb9e
,
0x9b79
,
0x8b58
,
0xbb3b
,
0xab1a
,
0x6ca6
,
0x7c87
,
0x4ce4
,
0x5cc5
,
0x2c22
,
0x3c03
,
0x0c60
,
0x1c41
,
0xedae
,
0xfd8f
,
0xcdec
,
0xddcd
,
0xad2a
,
0xbd0b
,
0x8d68
,
0x9d49
,
0x7e97
,
0x6eb6
,
0x5ed5
,
0x4ef4
,
0x3e13
,
0x2e32
,
0x1e51
,
0x0e70
,
0xff9f
,
0xefbe
,
0xdfdd
,
0xcffc
,
0xbf1b
,
0xaf3a
,
0x9f59
,
0x8f78
,
0x9188
,
0x81a9
,
0xb1ca
,
0xa1eb
,
0xd10c
,
0xc12d
,
0xf14e
,
0xe16f
,
0x1080
,
0x00a1
,
0x30c2
,
0x20e3
,
0x5004
,
0x4025
,
0x7046
,
0x6067
,
0x83b9
,
0x9398
,
0xa3fb
,
0xb3da
,
0xc33d
,
0xd31c
,
0xe37f
,
0xf35e
,
0x02b1
,
0x1290
,
0x22f3
,
0x32d2
,
0x4235
,
0x5214
,
0x6277
,
0x7256
,
0xb5ea
,
0xa5cb
,
0x95a8
,
0x8589
,
0xf56e
,
0xe54f
,
0xd52c
,
0xc50d
,
0x34e2
,
0x24c3
,
0x14a0
,
0x0481
,
0x7466
,
0x6447
,
0x5424
,
0x4405
,
0xa7db
,
0xb7fa
,
0x8799
,
0x97b8
,
0xe75f
,
0xf77e
,
0xc71d
,
0xd73c
,
0x26d3
,
0x36f2
,
0x0691
,
0x16b0
,
0x6657
,
0x7676
,
0x4615
,
0x5634
,
0xd94c
,
0xc96d
,
0xf90e
,
0xe92f
,
0x99c8
,
0x89e9
,
0xb98a
,
0xa9ab
,
0x5844
,
0x4865
,
0x7806
,
0x6827
,
0x18c0
,
0x08e1
,
0x3882
,
0x28a3
,
0xcb7d
,
0xdb5c
,
0xeb3f
,
0xfb1e
,
0x8bf9
,
0x9bd8
,
0xabbb
,
0xbb9a
,
0x4a75
,
0x5a54
,
0x6a37
,
0x7a16
,
0x0af1
,
0x1ad0
,
0x2ab3
,
0x3a92
,
0xfd2e
,
0xed0f
,
0xdd6c
,
0xcd4d
,
0xbdaa
,
0xad8b
,
0x9de8
,
0x8dc9
,
0x7c26
,
0x6c07
,
0x5c64
,
0x4c45
,
0x3ca2
,
0x2c83
,
0x1ce0
,
0x0cc1
,
0xef1f
,
0xff3e
,
0xcf5d
,
0xdf7c
,
0xaf9b
,
0xbfba
,
0x8fd9
,
0x9ff8
,
0x6e17
,
0x7e36
,
0x4e55
,
0x5e74
,
0x2e93
,
0x3eb2
,
0x0ed1
,
0x1ef0
,
};
uint16_t
...
...
@@ -103,4 +105,3 @@ cyg_crc16(unsigned char *buf, int len)
}
return
cksum
;
}
common/xyzModem.c
浏览文件 @
cf48eb9a
此差异已折叠。
点击以展开。
cpu/mpc5xxx/cpu.c
浏览文件 @
cf48eb9a
...
...
@@ -58,7 +58,7 @@ int checkcpu (void)
break
;
}
printf
(
" v%d.%d, Core v%d.%d"
,
SVR_MJREV
(
svr
),
SVR_MNREV
(
svr
),
printf
(
" v%d.%d, Core v%d.%d"
,
SVR_MJREV
(
svr
),
SVR_MNREV
(
svr
),
PVR_MAJ
(
pvr
),
PVR_MIN
(
pvr
));
#endif
printf
(
" at %s MHz
\n
"
,
strmhz
(
buf
,
clock
));
...
...
cpu/mpc83xx/cpu.c
浏览文件 @
cf48eb9a
...
...
@@ -260,7 +260,7 @@ int dma_xfer(void *dest, u32 count, void *src)
dmamr0
=
(
DMA_CHANNEL_TRANSFER_MODE_DIRECT
|
DMA_CHANNEL_SOURCE_ADDRESS_HOLD_8B
|
DMA_CHANNEL_SOURCE_ADRESSS_HOLD_EN
);
dma
->
dmamr0
=
swab32
(
dmamr0
);
__asm__
__volatile__
(
"sync"
);
...
...
cpu/mpc83xx/spd_sdram.c
浏览文件 @
cf48eb9a
/*
* (C) Copyright 2006
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
*
* Copyright 2004 Freescale Semiconductor.
* (C) Copyright 2003 Motorola Inc.
* Xianghua Xiao (X.Xiao@motorola.com)
...
...
@@ -426,7 +426,7 @@ static __inline__ unsigned long get_tbms (void)
/*
* Initialize all of memory for ECC, then enable errors.
*/
/
/#define CONFIG_DDR_ECC_INIT_VIA_DMA
/
* #define CONFIG_DDR_ECC_INIT_VIA_DMA */
void
ddr_enable_ecc
(
unsigned
int
dram_size
)
{
uint
*
p
;
...
...
cpu/ppc4xx/sdram.c
浏览文件 @
cf48eb9a
...
...
@@ -18,7 +18,7 @@
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
...
...
@@ -38,17 +38,17 @@
#ifndef CFG_SDRAM_TABLE
sdram_conf_t
mb0cf
[]
=
{
{(
128
<<
20
),
13
,
0x000A4001
},
/* (0-128MB) Address Mode 3, 13x10(4) */
{(
64
<<
20
),
13
,
0x00084001
},
/* (0-64MB) Address Mode 3, 13x9(4)
*/
{(
32
<<
20
),
12
,
0x00062001
},
/* (0-32MB) Address Mode 2, 12x9(4)
*/
{(
16
<<
20
),
12
,
0x00046001
},
/* (0-16MB) Address Mode 4, 12x8(4)
*/
{(
4
<<
20
),
11
,
0x00008001
},
/* (0-4MB) Address Mode 5, 11x8(2)
*/
{(
128
<<
20
),
13
,
0x000A4001
},
/* (0-128MB) Address Mode 3, 13x10(4) */
{(
64
<<
20
),
13
,
0x00084001
},
/* (0-64MB) Address Mode 3, 13x9(4)
*/
{(
32
<<
20
),
12
,
0x00062001
},
/* (0-32MB) Address Mode 2, 12x9(4)
*/
{(
16
<<
20
),
12
,
0x00046001
},
/* (0-16MB) Address Mode 4, 12x8(4)
*/
{(
4
<<
20
),
11
,
0x00008001
},
/* (0-4MB) Address Mode 5, 11x8(2)
*/
};
#else
sdram_conf_t
mb0cf
[]
=
CFG_SDRAM_TABLE
;
#endif
#define
N_MB0CF (sizeof(mb0cf) / sizeof(mb0cf[0]))
#define
N_MB0CF (sizeof(mb0cf) / sizeof(mb0cf[0]))
#ifndef CONFIG_440
...
...
@@ -65,76 +65,76 @@ static ulong ns2clks(ulong ns)
static
ulong
compute_sdtr1
(
ulong
speed
)
{
#ifdef CFG_SDRAM_CASL
ulong
tmp
;
ulong
sdtr1
=
0
;
/* CASL */
if
(
CFG_SDRAM_CASL
<
2
)
sdtr1
|=
(
1
<<
SDRAM0_TR_CASL
);
else
if
(
CFG_SDRAM_CASL
>
4
)
sdtr1
|=
(
3
<<
SDRAM0_TR_CASL
);
else
sdtr1
|=
((
CFG_SDRAM_CASL
-
1
)
<<
SDRAM0_TR_CASL
);
/* PTA */
tmp
=
ns2clks
(
CFG_SDRAM_PTA
);
if
((
tmp
>=
2
)
&&
(
tmp
<=
4
))
sdtr1
|=
((
tmp
-
1
)
<<
SDRAM0_TR_PTA
);
else
sdtr1
|=
((
4
-
1
)
<<
SDRAM0_TR_PTA
);
/* CTP */
tmp
=
ns2clks
(
CFG_SDRAM_CTP
);
if
((
tmp
>=
2
)
&&
(
tmp
<=
4
))
sdtr1
|=
((
tmp
-
1
)
<<
SDRAM0_TR_CTP
);
else
sdtr1
|=
((
4
-
1
)
<<
SDRAM0_TR_CTP
);
/* LDF */
tmp
=
ns2clks
(
CFG_SDRAM_LDF
);
if
((
tmp
>=
2
)
&&
(
tmp
<=
4
))
sdtr1
|=
((
tmp
-
1
)
<<
SDRAM0_TR_LDF
);
else
sdtr1
|=
((
2
-
1
)
<<
SDRAM0_TR_LDF
);
/* RFTA */
tmp
=
ns2clks
(
CFG_SDRAM_RFTA
);
if
((
tmp
>=
4
)
&&
(
tmp
<=
10
))
sdtr1
|=
((
tmp
-
4
)
<<
SDRAM0_TR_RFTA
);
else
sdtr1
|=
((
10
-
4
)
<<
SDRAM0_TR_RFTA
);
/* RCD */
tmp
=
ns2clks
(
CFG_SDRAM_RCD
);
if
((
tmp
>=
2
)
&&
(
tmp
<=
4
))
sdtr1
|=
((
tmp
-
1
)
<<
SDRAM0_TR_RCD
);
else
sdtr1
|=
((
4
-
1
)
<<
SDRAM0_TR_RCD
);
return
sdtr1
;
ulong
tmp
;
ulong
sdtr1
=
0
;
/* CASL */
if
(
CFG_SDRAM_CASL
<
2
)
sdtr1
|=
(
1
<<
SDRAM0_TR_CASL
);
else
if
(
CFG_SDRAM_CASL
>
4
)
sdtr1
|=
(
3
<<
SDRAM0_TR_CASL
);
else
sdtr1
|=
((
CFG_SDRAM_CASL
-
1
)
<<
SDRAM0_TR_CASL
);
/* PTA */
tmp
=
ns2clks
(
CFG_SDRAM_PTA
);
if
((
tmp
>=
2
)
&&
(
tmp
<=
4
))
sdtr1
|=
((
tmp
-
1
)
<<
SDRAM0_TR_PTA
);
else
sdtr1
|=
((
4
-
1
)
<<
SDRAM0_TR_PTA
);
/* CTP */
tmp
=
ns2clks
(
CFG_SDRAM_CTP
);
if
((
tmp
>=
2
)
&&
(
tmp
<=
4
))
sdtr1
|=
((
tmp
-
1
)
<<
SDRAM0_TR_CTP
);
else
sdtr1
|=
((
4
-
1
)
<<
SDRAM0_TR_CTP
);
/* LDF */
tmp
=
ns2clks
(
CFG_SDRAM_LDF
);
if
((
tmp
>=
2
)
&&
(
tmp
<=
4
))
sdtr1
|=
((
tmp
-
1
)
<<
SDRAM0_TR_LDF
);
else
sdtr1
|=
((
2
-
1
)
<<
SDRAM0_TR_LDF
);
/* RFTA */
tmp
=
ns2clks
(
CFG_SDRAM_RFTA
);
if
((
tmp
>=
4
)
&&
(
tmp
<=
10
))
sdtr1
|=
((
tmp
-
4
)
<<
SDRAM0_TR_RFTA
);
else
sdtr1
|=
((
10
-
4
)
<<
SDRAM0_TR_RFTA
);
/* RCD */
tmp
=
ns2clks
(
CFG_SDRAM_RCD
);
if
((
tmp
>=
2
)
&&
(
tmp
<=
4
))
sdtr1
|=
((
tmp
-
1
)
<<
SDRAM0_TR_RCD
);
else
sdtr1
|=
((
4
-
1
)
<<
SDRAM0_TR_RCD
);
return
sdtr1
;
#else
/* CFG_SDRAM_CASL */
/*
* If no values are configured in the board config file
* use the default values, which seem to be ok for most
* boards.
*
* REMARK:
* For new board ports we strongly recommend to define the
* correct values for the used SDRAM chips in your board
* config file (see PPChameleonEVB.h)
*/
if
(
speed
>
100000000
)
{
/*
* 133 MHz SDRAM
*/
return
0x01074015
;
}
else
{
/*
* default: 100 MHz SDRAM
*/
return
0x0086400d
;
}
/*
* If no values are configured in the board config file
* use the default values, which seem to be ok for most
* boards.
*
* REMARK:
* For new board ports we strongly recommend to define the
* correct values for the used SDRAM chips in your board
* config file (see PPChameleonEVB.h)
*/
if
(
speed
>
100000000
)
{
/*
* 133 MHz SDRAM
*/
return
0x01074015
;
}
else
{
/*
* default: 100 MHz SDRAM
*/
return
0x0086400d
;
}
#endif
/* CFG_SDRAM_CASL */
}
...
...
@@ -142,24 +142,24 @@ static ulong compute_sdtr1(ulong speed)
static
ulong
compute_rtr
(
ulong
speed
,
ulong
rows
,
ulong
refresh
)
{
#ifdef CFG_SDRAM_CASL
ulong
tmp
;
ulong
tmp
;
tmp
=
((
refresh
*
1000
*
1000
)
/
(
1
<<
rows
))
*
(
speed
/
1000
);
tmp
/=
1000000
;
tmp
=
((
refresh
*
1000
*
1000
)
/
(
1
<<
rows
))
*
(
speed
/
1000
);
tmp
/=
1000000
;
return
((
tmp
&
0x00003FF8
)
<<
16
);
return
((
tmp
&
0x00003FF8
)
<<
16
);
#else
/* CFG_SDRAM_CASL */
if
(
speed
>
100000000
)
{
/*
* 133 MHz SDRAM
*/
if
(
speed
>
100000000
)
{
/*
* 133 MHz SDRAM
*/
return
0x07f00000
;
}
else
{
/*
* default: 100 MHz SDRAM
*/
}
else
{
/*
* default: 100 MHz SDRAM
*/
return
0x05f00000
;
}
}
#endif
/* CFG_SDRAM_CASL */
}
...
...
@@ -172,19 +172,19 @@ void sdram_init(void)
ulong
sdtr1
;
int
i
;
/*
* Determine SDRAM speed
*/
speed
=
get_bus_freq
(
0
);
/* parameter not used on ppc4xx */
/*
* Determine SDRAM speed
*/
speed
=
get_bus_freq
(
0
);
/* parameter not used on ppc4xx */
/*
* sdtr1 (register SDRAM0_TR) must take into account timings listed
* in SDRAM chip datasheet. rtr (register SDRAM0_RTR) must take into
* account actual SDRAM size. So we can set up sdtr1 according to what
* is specified in board configuration file while rtr dependds on SDRAM
* size we are assuming before detection.
*/
sdtr1
=
compute_sdtr1
(
speed
);
/*
* sdtr1 (register SDRAM0_TR) must take into account timings listed
* in SDRAM chip datasheet. rtr (register SDRAM0_RTR) must take into
* account actual SDRAM size. So we can set up sdtr1 according to what
* is specified in board configuration file while rtr dependds on SDRAM
* size we are assuming before detection.
*/
sdtr1
=
compute_sdtr1
(
speed
);
for
(
i
=
0
;
i
<
N_MB0CF
;
i
++
)
{
/*
...
...
@@ -343,8 +343,8 @@ static void ecc_init(ulong start, ulong size)
* Autodetect onboard DDR SDRAM on 440 platforms
*
* NOTE: Some of the hardcoded values are hardware dependant,
*
so this should be extended for other future boards
*
using this routine!
*
so this should be extended for other future boards
*
using this routine!
*/
long
int
initdram
(
int
board_type
)
{
...
...
@@ -360,11 +360,11 @@ long int initdram(int board_type)
/*
* Setup some default
*/
mtsdram
(
mem_uabba
,
0x00000000
);
/* ubba=0 (default)
*/
mtsdram
(
mem_slio
,
0x00000000
);
/* rdre=0 wrre=0 rarw=0
*/
mtsdram
(
mem_uabba
,
0x00000000
);
/* ubba=0 (default)
*/
mtsdram
(
mem_slio
,
0x00000000
);
/* rdre=0 wrre=0 rarw=0
*/
mtsdram
(
mem_devopt
,
0x00000000
);
/* dll=0 ds=0 (normal) */
mtsdram
(
mem_wddctr
,
0x00000000
);
/* wrcp=0 dcd=0 */
mtsdram
(
mem_clktr
,
0x40000000
);
/* clkp=1 (90 deg wr) dcdt=0
*/
mtsdram
(
mem_clktr
,
0x40000000
);
/* clkp=1 (90 deg wr) dcdt=0
*/
/*
* Following for CAS Latency = 2.5 @ 133 MHz PLB
...
...
@@ -379,7 +379,7 @@ long int initdram(int board_type)
/*
* Enable the controller, then wait for DCEN to complete
*/
mtsdram
(
mem_cfg0
,
0x86000000
);
/* DCEN=1, PMUD=1, 64-bit
*/
mtsdram
(
mem_cfg0
,
0x86000000
);
/* DCEN=1, PMUD=1, 64-bit
*/
udelay
(
10000
);
if
(
get_ram_size
(
0
,
mb0cf
[
i
].
size
)
==
mb0cf
[
i
].
size
)
{
...
...
doc/README.mpc8349emds.ddrecc
浏览文件 @
cf48eb9a
...
...
@@ -152,5 +152,3 @@ Observe that Single-Bit Error is 'on' which means that Single-Bit Error Counter
reached Single-Bit Error Threshold. Multiple Memory Errors bit is also 'on', that
is Counter reached Threshold more than one time (it wraps back after reaching
Threshold).
include/configs/MPC8349EMDS.h
浏览文件 @
cf48eb9a
...
...
@@ -75,13 +75,13 @@
/*
* 32-bit data path mode.
*
*
* Please note that using this mode for devices with the real density of 64-bit
* effectively reduces the amount of available memory due to the effect of
* wrapping around while translating address to row/columns, for example in the
* 256MB module the upper 128MB get aliased with contents of the lower
* 128MB); normally this define should be used for devices with real 32-bit
* data path.
* data path.
*/
#undef CONFIG_DDR_32BIT
...
...
include/crc.h
浏览文件 @
cf48eb9a
//==========================================================================
//
// crc.h
//
// Interface for the CRC algorithms.
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 2002 Andrew Lunn
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): Andrew Lunn
// Contributors: Andrew Lunn
// Date: 2002-08-06
// Purpose:
// Description:
//
// This code is part of eCos (tm).
//
//####DESCRIPTIONEND####
//
//==========================================================================
/*
*==========================================================================
*
* crc.h
*
* Interface for the CRC algorithms.
*
*==========================================================================
*####ECOSGPLCOPYRIGHTBEGIN####
* -------------------------------------------
* This file is part of eCos, the Embedded Configurable Operating System.
* Copyright (C) 2002 Andrew Lunn
*
* eCos is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 or (at your option) any later version.
*
* eCos is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with eCos; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*
* As a special exception, if other files instantiate templates or use macros
* or inline functions from this file, or you compile this file and link it
* with other works to produce a work based on this file, this file does not
* by itself cause the resulting work to be covered by the GNU General Public
* License. However the source code for this file must still be made available
* in accordance with section (3) of the GNU General Public License.
*
* This exception does not invalidate any other reasons why a work based on
* this file might be covered by the GNU General Public License.
*
* Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
* at http: *sources.redhat.com/ecos/ecos-license/
* -------------------------------------------
*####ECOSGPLCOPYRIGHTEND####
*==========================================================================
*#####DESCRIPTIONBEGIN####
*
* Author(s): Andrew Lunn
* Contributors: Andrew Lunn
* Date: 2002-08-06
* Purpose:
* Description:
*
* This code is part of eCos (tm).
*
*####DESCRIPTIONEND####
*
*==========================================================================
*/
#ifndef _SERVICES_CRC_CRC_H_
#define _SERVICES_CRC_CRC_H_
...
...
@@ -65,37 +67,34 @@
# endif
#endif
/
/ Compute a CRC, using the POSIX 1003 definition
extern
uint32_t
/
* Compute a CRC, using the POSIX 1003 definition */
extern
uint32_t
cyg_posix_crc32
(
unsigned
char
*
s
,
int
len
);
/
/ Gary S. Brown's 32 bit CRC
/
* Gary S. Brown's 32 bit CRC */
extern
uint32_t
extern
uint32_t
cyg_crc32
(
unsigned
char
*
s
,
int
len
);
/
/ Gary S. Brown's 32 bit CRC, but accumulate the result from a
/
/ previous CRC calculation
/
* Gary S. Brown's 32 bit CRC, but accumulate the result from a */
/
* previous CRC calculation */
extern
uint32_t
extern
uint32_t
cyg_crc32_accumulate
(
uint32_t
crc
,
unsigned
char
*
s
,
int
len
);
/
/ Ethernet FCS Algorithm
/
* Ethernet FCS Algorithm */
extern
uint32_t
extern
uint32_t
cyg_ether_crc32
(
unsigned
char
*
s
,
int
len
);
/
/ Ethernet FCS algorithm, but accumulate the result from a previous
/
/ CRC calculation.
/
* Ethernet FCS algorithm, but accumulate the result from a previous */
/
* CRC calculation. */
extern
uint32_t
extern
uint32_t
cyg_ether_crc32_accumulate
(
uint32_t
crc
,
unsigned
char
*
s
,
int
len
);
/
/ 16 bit CRC with polynomial x^16+x^12+x^5+1
/
* 16 bit CRC with polynomial x^16+x^12+x^5+1 */
extern
uint16_t
cyg_crc16
(
unsigned
char
*
s
,
int
len
);
#endif // _SERVICES_CRC_CRC_H_
#endif
/* _SERVICES_CRC_CRC_H_ */
include/xyzModem.h
浏览文件 @
cf48eb9a
//==========================================================================
//
// xyzModem.h
//
// RedBoot stream handler for xyzModem protocol
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
// Copyright (C) 2002 Gary Thomas
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): gthomas
// Contributors: gthomas
// Date: 2000-07-14
// Purpose:
// Description:
//
// This code is part of RedBoot (tm).
//
//####DESCRIPTIONEND####
//
//==========================================================================
/*
*==========================================================================
*
* xyzModem.h
*
* RedBoot stream handler for xyzModem protocol
*
*==========================================================================
*####ECOSGPLCOPYRIGHTBEGIN####
* -------------------------------------------
* This file is part of eCos, the Embedded Configurable Operating System.
* Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
* Copyright (C) 2002 Gary Thomas
*
* eCos is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 or (at your option) any later version.
*
* eCos is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with eCos; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*
* As a special exception, if other files instantiate templates or use macros
* or inline functions from this file, or you compile this file and link it
* with other works to produce a work based on this file, this file does not
* by itself cause the resulting work to be covered by the GNU General Public
* License. However the source code for this file must still be made available
* in accordance with section (3) of the GNU General Public License.
*
* This exception does not invalidate any other reasons why a work based on
* this file might be covered by the GNU General Public License.
*
* Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
* at http: *sources.redhat.com/ecos/ecos-license/
* -------------------------------------------
*####ECOSGPLCOPYRIGHTEND####
*==========================================================================
*#####DESCRIPTIONBEGIN####
*
* Author(s): gthomas
* Contributors: gthomas
* Date: 2000-07-14
* Purpose:
* Description:
*
* This code is part of RedBoot (tm).
*
*####DESCRIPTIONEND####
*
*==========================================================================
*/
#ifndef _XYZMODEM_H_
#define _XYZMODEM_H_
#define xyzModem_xmodem 1
#define xyzModem_ymodem 2
/
/ Don't define this until the protocol support is in place
/
/#define xyzModem_zmodem 3
/
* Don't define this until the protocol support is in place */
/
*#define xyzModem_zmodem 3 */
#define xyzModem_access -1
#define xyzModem_noZmodem -2
...
...
@@ -103,10 +105,10 @@ typedef unsigned int bool;
#endif
int
xyzModem_stream_open
(
connection_info_t
*
info
,
int
*
err
);
void
xyzModem_stream_close
(
int
*
err
);
void
xyzModem_stream_terminate
(
bool
method
,
int
(
*
getc
)(
void
));
int
xyzModem_stream_read
(
char
*
buf
,
int
size
,
int
*
err
);
int
xyzModem_stream_open
(
connection_info_t
*
info
,
int
*
err
);
void
xyzModem_stream_close
(
int
*
err
);
void
xyzModem_stream_terminate
(
bool
method
,
int
(
*
getc
)(
void
));
int
xyzModem_stream_read
(
char
*
buf
,
int
size
,
int
*
err
);
char
*
xyzModem_error
(
int
err
);
#endif /
/ _XYZMODEM_H_
#endif
/
* _XYZMODEM_H_ */
rtc/ds1374.c
浏览文件 @
cf48eb9a
...
...
@@ -116,7 +116,7 @@ void rtc_get (struct rtc_time *tm){
/*
* Since the reads are being performed one byte at a time,
* there is a chance that a carry will occur during the read.
* there is a chance that a carry will occur during the read.
* To detect this, 2 reads are performed and compared.
*/
limit
=
10
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录