summaryrefslogtreecommitdiffstats
path: root/qemu/roms/u-boot/board/cm-bf537e/cm-bf537e.c
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/u-boot/board/cm-bf537e/cm-bf537e.c')
-rw-r--r--qemu/roms/u-boot/board/cm-bf537e/cm-bf537e.c59
1 files changed, 59 insertions, 0 deletions
diff --git a/qemu/roms/u-boot/board/cm-bf537e/cm-bf537e.c b/qemu/roms/u-boot/board/cm-bf537e/cm-bf537e.c
new file mode 100644
index 000000000..e79f90f95
--- /dev/null
+++ b/qemu/roms/u-boot/board/cm-bf537e/cm-bf537e.c
@@ -0,0 +1,59 @@
+/*
+ * U-boot - main board file
+ *
+ * Copyright (c) 2005-2009 Analog Devices Inc.
+ *
+ * Licensed under the GPL-2 or later.
+ */
+
+#include <common.h>
+#include <config.h>
+#include <command.h>
+#include <net.h>
+#include <netdev.h>
+#include <asm/blackfin.h>
+#include "gpio_cfi_flash.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int checkboard(void)
+{
+ printf("Board: Bluetechnix CM-BF537E board\n");
+ printf(" Support: http://www.bluetechnix.at/\n");
+ return 0;
+}
+
+static void board_init_enetaddr(char *var)
+{
+ uchar enetaddr[6];
+
+ if (eth_getenv_enetaddr(var, enetaddr))
+ return;
+
+ printf("Warning: %s: generating 'random' MAC address\n", var);
+ eth_random_addr(enetaddr);
+ eth_setenv_enetaddr(var, enetaddr);
+}
+
+#ifndef CONFIG_BFIN_MAC
+# define bfin_EMAC_initialize(x) 1
+#endif
+#ifndef CONFIG_SMC911X
+# define smc911x_initialize(n, x) 1
+#endif
+int board_eth_init(bd_t *bis)
+{
+ /* return ok if at least 1 eth device works */
+ return bfin_EMAC_initialize(bis) &
+ smc911x_initialize(0, CONFIG_SMC911X_BASE);
+}
+
+int misc_init_r(void)
+{
+ board_init_enetaddr("ethaddr");
+ board_init_enetaddr("eth1addr");
+
+ gpio_cfi_flash_init();
+
+ return 0;
+}