Merge branch 'master' of git://git.denx.de/u-boot-blackfin
This commit is contained in:
commit
725e53a70d
|
@ -17,8 +17,14 @@ EXTRA :=
|
||||||
CEXTRA := initcode.o
|
CEXTRA := initcode.o
|
||||||
SEXTRA := start.o
|
SEXTRA := start.o
|
||||||
SOBJS := interrupt.o cache.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-$(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)
|
ifeq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS)
|
||||||
COBJS-y += initcode.o
|
COBJS-y += initcode.o
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -61,6 +61,9 @@ extern u_long get_sclk(void);
|
||||||
|
|
||||||
# define bfin_revid() (*pCHIPID >> 28)
|
# 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_icache_flush_range(const void *, const void *);
|
||||||
extern void blackfin_dcache_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 *);
|
extern void blackfin_icache_dcache_flush_range(const void *, const void *);
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
#define CONFIG_CCLK_DIV 1
|
#define CONFIG_CCLK_DIV 1
|
||||||
/* SCLK_DIV controls the system clock divider */
|
/* SCLK_DIV controls the system clock divider */
|
||||||
/* Values can range from 1-15 */
|
/* Values can range from 1-15 */
|
||||||
#define CONFIG_SCLK_DIV 5
|
#define CONFIG_SCLK_DIV 6 /* note: 1.2 boards can go faster */
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -87,9 +87,8 @@
|
||||||
|
|
||||||
#define CONFIG_SYS_AUTOLOAD "no"
|
#define CONFIG_SYS_AUTOLOAD "no"
|
||||||
#define CONFIG_ROOTPATH /romfs
|
#define CONFIG_ROOTPATH /romfs
|
||||||
/* Use a fixed MAC address for booting up. Firstboot linux
|
/* Uncomment next line to use fixed MAC address */
|
||||||
* must fetch a valid MAC from the production server. */
|
/* #define CONFIG_ETHADDR 02:80:ad:20:31:42 */
|
||||||
#define CONFIG_ETHADDR 02:80:ad:20:31:42
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -87,9 +87,8 @@
|
||||||
|
|
||||||
#define CONFIG_SYS_AUTOLOAD "no"
|
#define CONFIG_SYS_AUTOLOAD "no"
|
||||||
#define CONFIG_ROOTPATH /romfs
|
#define CONFIG_ROOTPATH /romfs
|
||||||
/* Use a fixed MAC address for booting up. Firstboot linux
|
/* Uncomment next line to use fixed MAC address */
|
||||||
* must fetch a valid MAC from the production server. */
|
/* #define CONFIG_ETHADDR 02:80:ad:20:31:42 */
|
||||||
#define CONFIG_ETHADDR 02:80:ad:20:31:42
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -384,6 +384,12 @@ void board_init_r(gd_t * id, ulong dest_addr)
|
||||||
post_run(NULL, POST_RAM | post_bootmode_get(0));
|
post_run(NULL, POST_RAM | post_bootmode_get(0));
|
||||||
#endif
|
#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. */
|
/* main_loop() can return to retry autoboot, if so just run it again. */
|
||||||
for (;;)
|
for (;;)
|
||||||
main_loop();
|
main_loop();
|
||||||
|
|
Loading…
Reference in New Issue