summaryrefslogtreecommitdiffstats
path: root/board
diff options
context:
space:
mode:
authorHaavard Skinnemoen <hskinnemoen@atmel.com>2006-11-19 18:06:53 +0100
committerHaavard Skinnemoen <hskinnemoen@atmel.com>2007-04-14 15:20:27 +0200
commitdf548d3c3e2bbc40258713167859ffc2ce99a900 (patch)
tree63759a73724848ba192874aa552861e03faf1058 /board
parent03d1e1365796cd15d1726e8a51fd8b5be50b2fe9 (diff)
downloadblackbird-obmc-uboot-df548d3c3e2bbc40258713167859ffc2ce99a900.tar.gz
blackbird-obmc-uboot-df548d3c3e2bbc40258713167859ffc2ce99a900.zip
AVR32: Resource management rewrite
Rewrite the resource management code (i.e. I/O memory, clock gating, gpio) so it doesn't depend on any global state. This is necessary because this code is heavily used before relocation to RAM, so we can't write to any global variables. As an added bonus, this makes u-boot's memory footprint a bit smaller, although some functionality has been left out; all clocks are enabled all the time, and there's no checking for gpio line conflicts. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Diffstat (limited to 'board')
-rw-r--r--board/atmel/atstk1000/atstk1000.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/board/atmel/atstk1000/atstk1000.c b/board/atmel/atstk1000/atstk1000.c
index 4d737d293a..8210bc60e8 100644
--- a/board/atmel/atstk1000/atstk1000.c
+++ b/board/atmel/atstk1000/atstk1000.c
@@ -23,6 +23,8 @@
#include <asm/io.h>
#include <asm/sdram.h>
+#include <asm/arch/gpio.h>
+#include <asm/arch/hmatrix2.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -40,6 +42,17 @@ static const struct sdram_info sdram = {
.txsr = 5,
};
+int board_early_init_f(void)
+{
+ /* Set the SDRAM_ENABLE bit in the HEBI SFR */
+ hmatrix2_writel(SFR4, 1 << 1);
+
+ gpio_enable_ebi();
+ gpio_enable_usart1();
+
+ return 0;
+}
+
void board_init_memories(void)
{
gd->sdram_size = sdram_init(&sdram);
OpenPOWER on IntegriCloud