Merge branch 'master' of git://git.denx.de/u-boot-blackfin

This commit is contained in:
Wolfgang Denk 2009-07-20 22:55:29 +02:00
commit 725e53a70d
7 changed files with 51 additions and 8 deletions

View File

@ -17,8 +17,14 @@ EXTRA :=
CEXTRA := initcode.o
SEXTRA := start.o
SOBJS := interrupt.o cache.o
COBJS-y := cpu.o traps.o interrupts.o reset.o serial.o watchdog.o
COBJS-y += cpu.o
COBJS-y += interrupts.o
COBJS-$(CONFIG_JTAG_CONSOLE) += jtag-console.o
COBJS-y += os_log.o
COBJS-y += reset.o
COBJS-y += serial.o
COBJS-y += traps.o
COBJS-y += watchdog.o
ifeq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS)
COBJS-y += initcode.o

30
cpu/blackfin/os_log.c Normal file
View File

@ -0,0 +1,30 @@
/*
* functions for handling OS log buffer
*
* Copyright (c) 2009 Analog Devices Inc.
*
* Licensed under the 2-clause BSD.
*/
#include <common.h>
#define OS_LOG_MAGIC 0xDEADBEEF
#define OS_LOG_MAGIC_ADDR ((unsigned long *)0x4f0)
#define OS_LOG_PTR_ADDR ((char **)0x4f4)
bool bfin_os_log_check(void)
{
if (*OS_LOG_MAGIC_ADDR != OS_LOG_MAGIC)
return false;
*OS_LOG_MAGIC_ADDR = 0;
return true;
}
void bfin_os_log_dump(void)
{
char *log = *OS_LOG_PTR_ADDR;
while (*log) {
puts(log);
log += strlen(log) + 1;
}
}

View File

@ -61,6 +61,9 @@ extern u_long get_sclk(void);
# define bfin_revid() (*pCHIPID >> 28)
extern bool bfin_os_log_check(void);
extern void bfin_os_log_dump(void);
extern void blackfin_icache_flush_range(const void *, const void *);
extern void blackfin_dcache_flush_range(const void *, const void *);
extern void blackfin_icache_dcache_flush_range(const void *, const void *);

View File

@ -36,7 +36,7 @@
#define CONFIG_CCLK_DIV 1
/* SCLK_DIV controls the system clock divider */
/* Values can range from 1-15 */
#define CONFIG_SCLK_DIV 5
#define CONFIG_SCLK_DIV 6 /* note: 1.2 boards can go faster */
/*

View File

@ -87,9 +87,8 @@
#define CONFIG_SYS_AUTOLOAD "no"
#define CONFIG_ROOTPATH /romfs
/* Use a fixed MAC address for booting up. Firstboot linux
* must fetch a valid MAC from the production server. */
#define CONFIG_ETHADDR 02:80:ad:20:31:42
/* Uncomment next line to use fixed MAC address */
/* #define CONFIG_ETHADDR 02:80:ad:20:31:42 */
/*

View File

@ -87,9 +87,8 @@
#define CONFIG_SYS_AUTOLOAD "no"
#define CONFIG_ROOTPATH /romfs
/* Use a fixed MAC address for booting up. Firstboot linux
* must fetch a valid MAC from the production server. */
#define CONFIG_ETHADDR 02:80:ad:20:31:42
/* Uncomment next line to use fixed MAC address */
/* #define CONFIG_ETHADDR 02:80:ad:20:31:42 */
/*

View File

@ -384,6 +384,12 @@ void board_init_r(gd_t * id, ulong dest_addr)
post_run(NULL, POST_RAM | post_bootmode_get(0));
#endif
if (bfin_os_log_check()) {
puts("\nLog buffer from operating system:\n");
bfin_os_log_dump();
puts("\n");
}
/* main_loop() can return to retry autoboot, if so just run it again. */
for (;;)
main_loop();