summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Schwarz <simonschwarzcor@googlemail.com>2012-03-15 04:01:37 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-03-27 22:05:28 +0200
commit9e70c08b6fb7632385d59827e005569e5ddfd31d (patch)
tree5e37cf95c7e9b4fc9917d671a6a1115cbb3ed647
parentdf163a59807b21fad5369f7d9771bb97f00e9425 (diff)
downloadblackbird-obmc-uboot-9e70c08b6fb7632385d59827e005569e5ddfd31d.tar.gz
blackbird-obmc-uboot-9e70c08b6fb7632385d59827e005569e5ddfd31d.zip
devkit8000/spl: init GPMC for dm9000 in SPL
Linux crashes if the GPMC isn't configured for the dm9000. Signed-off-by: Simon Schwarz <simonschwarzcor@gmail.com> CC: Tom Rini <tom.rini@gmail.com> CC: Stefano Babic <sbabic@denx.de> CC: Wolfgang Denk <wd@denx.de>
-rw-r--r--arch/arm/include/asm/omap_common.h1
-rw-r--r--board/timll/devkit8000/devkit8000.c19
2 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h
index 25f95b4bcd..85eac7db59 100644
--- a/arch/arm/include/asm/omap_common.h
+++ b/arch/arm/include/asm/omap_common.h
@@ -92,6 +92,7 @@ u32 omap_boot_mode(void);
/* SPL common function s*/
void spl_parse_image_header(const struct image_header *header);
void omap_rev_string(void);
+void spl_board_prepare_for_linux(void);
/* NAND SPL functions */
void spl_nand_load_image(void);
diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c
index 10f189eed4..dded697f95 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -73,6 +73,13 @@ int board_init(void)
return 0;
}
+/* Configure GPMC registers for DM9000 */
+static void gpmc_dm9000_config(void)
+{
+ enable_gpmc_cs_config(gpmc_net_config, &gpmc_cfg->cs[6],
+ CONFIG_DM9000_BASE, GPMC_SIZE_16M);
+}
+
/*
* Routine: misc_init_r
* Description: Configure board specific parts
@@ -144,6 +151,18 @@ int board_eth_init(bd_t *bis)
}
#endif
+#ifdef CONFIG_SPL_OS_BOOT
+/*
+ * Do board specific preperation before SPL
+ * Linux boot
+ */
+void spl_board_prepare_for_linux(void)
+{
+ gpmc_dm9000_config();
+}
+
+#endif
+
/*
* Routine: get_board_mem_timings
* Description: If we use SPL then there is no x-loader nor config header
OpenPOWER on IntegriCloud