summaryrefslogtreecommitdiff
path: root/board/freescale/mpc837xerdb/mpc837xerdb.c
diff options
context:
space:
mode:
authorTimur Tabi <timur@freescale.com>2008-02-08 13:15:55 -0600
committerKim Phillips <kim.phillips@freescale.com>2008-03-25 19:16:43 -0500
commit89c7784ed90ba50301eec521144f95111e472906 (patch)
tree6e2ed88c42e80fbc454de5de9337d53c1cfc9ad1 /board/freescale/mpc837xerdb/mpc837xerdb.c
parentb55d98c6d5b8694e560a0e727b14cb6921d7cfcc (diff)
83xx: Add Vitesse VSC7385 firmware uploading
Update the MPC8349E-mITX, MPC8313E-RDB, and MPC837XE-RDB board files to upload the Vitesse VSC7385 firmware. Changed CONFIG_VSC7385 to CONFIG_VSC7385_ENET. Cleaned up the board header files to make selecting the VSC7385 easier to control. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Diffstat (limited to 'board/freescale/mpc837xerdb/mpc837xerdb.c')
-rw-r--r--board/freescale/mpc837xerdb/mpc837xerdb.c27
1 files changed, 22 insertions, 5 deletions
diff --git a/board/freescale/mpc837xerdb/mpc837xerdb.c b/board/freescale/mpc837xerdb/mpc837xerdb.c
index bed0fc37ea..a3b20b8f95 100644
--- a/board/freescale/mpc837xerdb/mpc837xerdb.c
+++ b/board/freescale/mpc837xerdb/mpc837xerdb.c
@@ -16,6 +16,8 @@
#include <i2c.h>
#include <asm/io.h>
#include <spd_sdram.h>
+#include <vsc7385.h>
+
#if defined(CFG_DRAM_TEST)
int
@@ -56,11 +58,6 @@ testdram(void)
}
#endif
-int board_early_init_f(void)
-{
- return 0;
-}
-
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRC)
void ddr_enable_ecc(unsigned int dram_size);
#endif
@@ -135,6 +132,26 @@ int checkboard(void)
return 0;
}
+/*
+ * Miscellaneous late-boot configurations
+ *
+ * If a VSC7385 microcode image is present, then upload it.
+*/
+int misc_init_r(void)
+{
+ int rc = 0;
+
+#ifdef CONFIG_VSC7385_IMAGE
+ if (vsc7385_upload_firmware((void *) CONFIG_VSC7385_IMAGE,
+ CONFIG_VSC7385_IMAGE_SIZE)) {
+ puts("Failure uploading VSC7385 microcode.\n");
+ rc = 1;
+ }
+#endif
+
+ return rc;
+}
+
#if defined(CONFIG_OF_BOARD_SETUP)
void ft_board_setup(void *blob, bd_t *bd)