Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
1ca1d3c8
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,发现更多精彩内容 >>
提交
1ca1d3c8
编写于
1月 23, 2009
作者:
W
Wolfgang Denk
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://git.denx.de/u-boot-microblaze
上级
4d0b5468
e7f325be
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
121 addition
and
64 deletion
+121
-64
MAINTAINERS
MAINTAINERS
+1
-1
MAKEALL
MAKEALL
+3
-3
Makefile
Makefile
+2
-3
board/xilinx/microblaze-generic/Makefile
board/xilinx/microblaze-generic/Makefile
+0
-0
board/xilinx/microblaze-generic/config.mk
board/xilinx/microblaze-generic/config.mk
+0
-0
board/xilinx/microblaze-generic/microblaze-generic.c
board/xilinx/microblaze-generic/microblaze-generic.c
+0
-0
board/xilinx/microblaze-generic/u-boot.lds
board/xilinx/microblaze-generic/u-boot.lds
+0
-0
board/xilinx/microblaze-generic/xparameters.h
board/xilinx/microblaze-generic/xparameters.h
+2
-0
cpu/microblaze/cache.c
cpu/microblaze/cache.c
+0
-3
include/configs/microblaze-generic.h
include/configs/microblaze-generic.h
+71
-50
lib_microblaze/board.c
lib_microblaze/board.c
+28
-2
lib_microblaze/cache.c
lib_microblaze/cache.c
+14
-2
未找到文件。
MAINTAINERS
浏览文件 @
1ca1d3c8
...
...
@@ -707,7 +707,7 @@ Yasushi Shoji <yashi@atmark-techno.com>
Michal Simek <monstr@monstr.eu>
ML401
MicroBlaze
microblaze-generic
MicroBlaze
#########################################################################
# Coldfire Systems: #
...
...
MAKEALL
浏览文件 @
1ca1d3c8
...
...
@@ -697,9 +697,9 @@ LIST_nios2=" \
## MicroBlaze Systems
#########################################################################
LIST_microblaze
=
"
\
m
l401
\
suzaku
\
LIST_microblaze
=
"
\
m
icroblaze-generic
\
suzaku
\
"
#########################################################################
...
...
Makefile
浏览文件 @
1ca1d3c8
...
...
@@ -3170,10 +3170,9 @@ PCI5441_config : unconfig
## Microblaze
#========================================================================
m
l401
_config
:
unconfig
m
icroblaze-generic
_config
:
unconfig
@
mkdir
-p
$(obj)
include
@
echo
"#define CONFIG_ML401 1"
>
$(obj)
include/config.h
@
$(MKCONFIG)
-a
$
(
@:_config
=)
microblaze microblaze ml401 xilinx
@
$(MKCONFIG)
-a
$
(
@:_config
=)
microblaze microblaze microblaze-generic xilinx
suzaku_config
:
unconfig
@
mkdir
-p
$(obj)
include
...
...
board/xilinx/m
l401
/Makefile
→
board/xilinx/m
icroblaze-generic
/Makefile
浏览文件 @
1ca1d3c8
文件已移动
board/xilinx/m
l401
/config.mk
→
board/xilinx/m
icroblaze-generic
/config.mk
浏览文件 @
1ca1d3c8
文件已移动
board/xilinx/m
l401/ml401
.c
→
board/xilinx/m
icroblaze-generic/microblaze-generic
.c
浏览文件 @
1ca1d3c8
文件已移动
board/xilinx/m
l401
/u-boot.lds
→
board/xilinx/m
icroblaze-generic
/u-boot.lds
浏览文件 @
1ca1d3c8
文件已移动
board/xilinx/m
l401
/xparameters.h
→
board/xilinx/m
icroblaze-generic
/xparameters.h
浏览文件 @
1ca1d3c8
...
...
@@ -25,6 +25,8 @@
* Version: Xilinx EDK 8.2.02 EDK_Im_Sp2.4
*/
#define XILINX_BOARD_NAME microblaze-generic
/* System Clock Frequency */
#define XILINX_CLOCK_FREQ 100000000
...
...
cpu/microblaze/cache.c
浏览文件 @
1ca1d3c8
...
...
@@ -25,8 +25,6 @@
#include <common.h>
#include <asm/asm.h>
#if defined(CONFIG_CMD_CACHE)
int
dcache_status
(
void
)
{
int
i
=
0
;
...
...
@@ -62,4 +60,3 @@ void dcache_enable (void) {
void
dcache_disable
(
void
)
{
MSRCLR
(
0x80
);
}
#endif
include/configs/m
l401
.h
→
include/configs/m
icroblaze-generic
.h
浏览文件 @
1ca1d3c8
...
...
@@ -25,32 +25,33 @@
#ifndef __CONFIG_H
#define __CONFIG_H
#include "../board/xilinx/m
l401
/xparameters.h"
#include "../board/xilinx/m
icroblaze-generic
/xparameters.h"
#define CONFIG_MICROBLAZE 1
/* MicroBlaze CPU */
#define MICROBLAZE_V5 1
#define CONFIG_ML401 1
/* ML401 Board */
/* uart */
#ifdef XILINX_UARTLITE_BASEADDR
#define CONFIG_XILINX_UARTLITE
#define CONFIG_SERIAL_BASE XILINX_UARTLITE_BASEADDR
#define CONFIG_BAUDRATE XILINX_UARTLITE_BAUDRATE
#define CONFIG_SYS_BAUDRATE_TABLE { CONFIG_BAUDRATE }
#define CONFIG_XILINX_UARTLITE
#define CONFIG_SERIAL_BASE XILINX_UARTLITE_BASEADDR
#define CONFIG_BAUDRATE XILINX_UARTLITE_BAUDRATE
#define CONFIG_SYS_BAUDRATE_TABLE { CONFIG_BAUDRATE }
#define CONSOLE_ARG "console=console=ttyUL0,115200\0"
#elif XILINX_UART16550_BASEADDR
#define CONFIG_SYS_NS16550 1
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_REG_SIZE -4
#define CONFIG_CONS_INDEX 1
#define CONFIG_SYS_NS16550_COM1 (XILINX_UART16550_BASEADDR + 0x1000 + 0x3)
#define CONFIG_SYS_NS16550_CLK XILINX_UART16550_CLOCK_HZ
#define CONFIG_BAUDRATE 115200
/* The following table includes the supported baudrates */
#define CONFIG_SYS_BAUDRATE_TABLE \
{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
#define CONFIG_SYS_NS16550 1
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_REG_SIZE -4
#define CONFIG_CONS_INDEX 1
#define CONFIG_SYS_NS16550_COM1 (XILINX_UART16550_BASEADDR + 0x1000 + 0x3)
#define CONFIG_SYS_NS16550_CLK XILINX_UART16550_CLOCK_HZ
#define CONFIG_BAUDRATE 115200
/* The following table includes the supported baudrates */
#define CONFIG_SYS_BAUDRATE_TABLE \
{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
#define CONSOLE_ARG "console=console=ttyS0,115200\0"
#else
#error Undefined uart
#error Undefined uart
#endif
/* setting reset address */
...
...
@@ -58,44 +59,44 @@
/* ethernet */
#ifdef XILINX_EMAC_BASEADDR
#define CONFIG_XILINX_EMAC 1
#define CONFIG_SYS_ENET
#else
#ifdef XILINX_EMACLITE_BASEADDR
#define CONFIG_XILINX_EMACLITE 1
#define CONFIG_SYS_ENET
#endif
#define CONFIG_XILINX_EMAC 1
#define CONFIG_SYS_ENET
#elif XILINX_EMACLITE_BASEADDR
#define CONFIG_XILINX_EMACLITE 1
#define CONFIG_SYS_ENET
#elif XILINX_LLTEMAC_BASEADDR
#define CONFIG_XILINX_LL_TEMAC 1
#define CONFIG_SYS_ENET
#endif
#undef ET_DEBUG
/* gpio */
#ifdef XILINX_GPIO_BASEADDR
#define CONFIG_SYS_GPIO_0 1
#define CONFIG_SYS_GPIO_0_ADDR XILINX_GPIO_BASEADDR
#define CONFIG_SYS_GPIO_0 1
#define CONFIG_SYS_GPIO_0_ADDR XILINX_GPIO_BASEADDR
#endif
/* interrupt controller */
#ifdef XILINX_INTC_BASEADDR
#define CONFIG_SYS_INTC_0 1
#define CONFIG_SYS_INTC_0_ADDR XILINX_INTC_BASEADDR
#define CONFIG_SYS_INTC_0_NUM XILINX_INTC_NUM_INTR_INPUTS
#define CONFIG_SYS_INTC_0 1
#define CONFIG_SYS_INTC_0_ADDR XILINX_INTC_BASEADDR
#define CONFIG_SYS_INTC_0_NUM XILINX_INTC_NUM_INTR_INPUTS
#endif
/* timer */
#ifdef XILINX_TIMER_BASEADDR
#if (XILINX_TIMER_IRQ != -1)
#define CONFIG_SYS_TIMER_0 1
#define CONFIG_SYS_TIMER_0_ADDR XILINX_TIMER_BASEADDR
#define CONFIG_SYS_TIMER_0_IRQ XILINX_TIMER_IRQ
#define FREQUENCE XILINX_CLOCK_FREQ
#define CONFIG_SYS_TIMER_0_PRELOAD ( FREQUENCE/1000 )
#endif
#else
#ifdef XILINX_CLOCK_FREQ
#define CONFIG_XILINX_CLOCK_FREQ XILINX_CLOCK_FREQ
#if (XILINX_TIMER_IRQ != -1)
#define CONFIG_SYS_TIMER_0 1
#define CONFIG_SYS_TIMER_0_ADDR XILINX_TIMER_BASEADDR
#define CONFIG_SYS_TIMER_0_IRQ XILINX_TIMER_IRQ
#define FREQUENCE XILINX_CLOCK_FREQ
#define CONFIG_SYS_TIMER_0_PRELOAD ( FREQUENCE/1000 )
#endif
#elif XILINX_CLOCK_FREQ
#define CONFIG_XILINX_CLOCK_FREQ XILINX_CLOCK_FREQ
#else
#error BAD CLOCK FREQ
#endif
#error BAD CLOCK FREQ
#endif
/* FSL */
/* #define CONFIG_SYS_FSL_2 */
...
...
@@ -160,7 +161,7 @@
#define CONFIG_FLASH_CFI_DRIVER 1
#define CONFIG_SYS_FLASH_EMPTY_INFO 1
/* ?empty sector */
#define CONFIG_SYS_MAX_FLASH_BANKS 1
/* max number of memory banks */
#define CONFIG_SYS_MAX_FLASH_SECT
128
/* max number of sectors on one chip */
#define CONFIG_SYS_MAX_FLASH_SECT
512
/* max number of sectors on one chip */
#define CONFIG_SYS_FLASH_PROTECTION
/* hardware flash protection */
#ifdef RAMENV
...
...
@@ -170,9 +171,9 @@
#else
/* !RAMENV */
#define CONFIG_ENV_IS_IN_FLASH 1
#define CONFIG_ENV_SECT_SIZE 0x
40000
/* 256
K(one sector) for env */
#define CONFIG_ENV_SECT_SIZE 0x
20000
/* 128
K(one sector) for env */
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + (2 * CONFIG_ENV_SECT_SIZE))
#define CONFIG_ENV_SIZE 0x
4
0000
#define CONFIG_ENV_SIZE 0x
2
0000
#endif
/* !RAMBOOT */
#else
/* !FLASH */
/* ENV in RAM */
...
...
@@ -193,6 +194,18 @@
#define CONFIG_DOS_PARTITION
#endif
#if defined(XILINX_USE_ICACHE)
#define CONFIG_ICACHE
#else
#undef CONFIG_ICACHE
#endif
#if defined(XILINX_USE_DCACHE)
#define CONFIG_DCACHE
#else
#undef CONFIG_DCACHE
#endif
/*
* BOOTP options
*/
...
...
@@ -207,9 +220,15 @@
#include <config_cmd_default.h>
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_IRQ
#define CONFIG_CMD_MFSL
#define CONFIG_CMD_ECHO
#if defined(CONFIG_DCACHE) || defined(CONFIG_ICACHE)
#define CONFIG_CMD_CACHE
#else
#undef CONFIG_CMD_CACHE
#endif
#ifndef CONFIG_SYS_ENET
#undef CONFIG_CMD_NET
...
...
@@ -233,7 +252,9 @@
#define CONFIG_CMD_SAVES
#endif
#else
#undef CONFIG_CMD_IMLS
#undef CONFIG_CMD_FLASH
#undef CONFIG_CMD_JFFS2
#endif
#if defined(CONFIG_CMD_JFFS2)
...
...
@@ -253,11 +274,11 @@
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
/* print buffer size */
#define CONFIG_SYS_MAXARGS 15
/* max number of command args */
#define CONFIG_SYS_LONGHELP
#define CONFIG_SYS_LOAD_ADDR
0x12000000
/* default load address */
#define CONFIG_SYS_LOAD_ADDR
XILINX_RAM_START
/* default load address */
#define CONFIG_BOOTDELAY
30
#define CONFIG_BOOTDELAY
-1
/* -1 disables auto-boot */
#define CONFIG_BOOTARGS "root=romfs"
#define CONFIG_HOSTNAME
"ml401"
#define CONFIG_HOSTNAME
XILINX_BOARD_NAME
#define CONFIG_BOOTCOMMAND "base 0;tftp 11000000 image.img;bootm"
#define CONFIG_IPADDR 192.168.0.3
#define CONFIG_SERVERIP 192.168.0.5
...
...
@@ -268,7 +289,7 @@
#define CONFIG_SYS_USR_EXCEP
/* user exception */
#define CONFIG_SYS_HZ 1000
#define CONFIG_PREBOOT "echo U-BOOT for
ML401
;setenv preboot;echo"
#define CONFIG_PREBOOT "echo U-BOOT for
$(hostname)
;setenv preboot;echo"
#define CONFIG_EXTRA_ENV_SETTINGS "unlock=yes\0"
/* hardware flash protection */
\
"nor0=ml401-0\0"\
...
...
lib_microblaze/board.c
浏览文件 @
1ca1d3c8
...
...
@@ -111,6 +111,10 @@ void board_init (void)
gd
=
(
gd_t
*
)
CONFIG_SYS_GBL_DATA_OFFSET
;
#if defined(CONFIG_CMD_FLASH)
ulong
flash_size
=
0
;
#endif
#if defined(CONFIG_CMD_NET)
char
*
s
,
*
e
;
int
i
;
#endif
asm
(
"nop"
);
/* FIXME gd is not initialize - wait */
memset
((
void
*
)
gd
,
0
,
CONFIG_SYS_GBL_DATA_SIZE
);
...
...
@@ -132,11 +136,34 @@ void board_init (void)
}
}
puts
(
"SDRAM :
\n
"
);
printf
(
"
\t\t
Icache:%s
\n
"
,
icache_status
()
?
"OK"
:
"FAIL"
);
printf
(
"
\t\t
Dcache:%s
\n
"
,
dcache_status
()
?
"OK"
:
"FAIL"
);
printf
(
"
\t
U-Boot Start:0x%08x
\n
"
,
TEXT_BASE
);
#if defined(CONFIG_CMD_FLASH)
puts
(
"FLASH: "
);
bd
->
bi_flashstart
=
CONFIG_SYS_FLASH_BASE
;
if
(
0
<
(
flash_size
=
flash_init
()))
{
bd
->
bi_flashsize
=
flash_size
;
bd
->
bi_flashoffset
=
CONFIG_SYS_FLASH_BASE
+
flash_size
;
# ifdef CONFIG_SYS_FLASH_CHECKSUM
print_size
(
flash_size
,
""
);
/*
* Compute and print flash CRC if flashchecksum is set to 'y'
*
* NOTE: Maybe we should add some WATCHDOG_RESET()? XXX
*/
s
=
getenv
(
"flashchecksum"
);
if
(
s
&&
(
*
s
==
'y'
))
{
printf
(
" CRC: %08X"
,
crc32
(
0
,
(
const
unsigned
char
*
)
CONFIG_SYS_FLASH_BASE
,
flash_size
)
);
}
putc
(
'\n'
);
# else
/* !CONFIG_SYS_FLASH_CHECKSUM */
print_size
(
flash_size
,
"
\n
"
);
# endif
/* CONFIG_SYS_FLASH_CHECKSUM */
}
else
{
puts
(
"Flash init FAILED"
);
bd
->
bi_flashstart
=
0
;
...
...
@@ -146,10 +173,9 @@ void board_init (void)
#endif
#if defined(CONFIG_CMD_NET)
char
*
s
,
*
e
;
int
i
;
/* board MAC address */
s
=
getenv
(
"ethaddr"
);
printf
(
"MAC:%s
\n
"
,
s
);
for
(
i
=
0
;
i
<
6
;
++
i
)
{
bd
->
bi_enetaddr
[
i
]
=
s
?
simple_strtoul
(
s
,
&
e
,
16
)
:
0
;
if
(
s
)
...
...
lib_microblaze/cache.c
浏览文件 @
1ca1d3c8
...
...
@@ -26,6 +26,18 @@
void
flush_cache
(
ulong
addr
,
ulong
size
)
{
/* MicroBlaze have write thruough cache. nothing to do. */
return
;
int
i
;
for
(
i
=
0
;
i
<
size
;
i
+=
4
)
asm
volatile
(
#ifdef CONFIG_ICACHE
"wic %0, r0;"
#endif
"nop;"
#ifdef CONFIG_DCACHE
"wdc %0, r0;"
#endif
"nop;"
:
:
"r"
(
addr
+
i
)
:
"memory"
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录