#include <command.h>
#include <malloc.h>
#include <version.h>
+#include <watchdog.h>
+
+DECLARE_GLOBAL_DATA_PTR;
const char version_string[] =
U_BOOT_VERSION" (" __DATE__ " - " __TIME__ ")";
NULL,
};
+void board_init(void)
+{
+ bd_t *bd;
+ init_fnc_t **init_fnc_ptr;
+
+ /* Pointer is writable since we allocated a register for it. */
+ gd = (gd_t *)CFG_GBL_DATA_OFFSET;
+ memset((void *)gd, 0, CFG_GBL_DATA_SIZE);
+
+ gd->bd = (bd_t *)(gd+1); /* At end of global data */
+ gd->baudrate = CONFIG_BAUDRATE;
+
+ bd = gd->bd;
+ bd->bi_baudrate = CONFIG_BAUDRATE;
+
+ for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
+ WATCHDOG_RESET ();
+ if ((*init_fnc_ptr) () != 0) {
+ hang ();
+ }
+ }
+
+ /* main_loop */
+ for (;;) {
+ WATCHDOG_RESET ();
+ main_loop ();
+ }
+}
+
void hang (void)
{
puts ("### ERROR ### Please RESET the board ###\n");