aboutsummaryrefslogtreecommitdiff
path: root/board/atmel
diff options
context:
space:
mode:
authorHaavard Skinnemoen2006-11-19 18:06:53 +0100
committerHaavard Skinnemoen2007-04-14 15:20:27 +0200
commitdf548d3c3e2bbc40258713167859ffc2ce99a900 (patch)
tree63759a73724848ba192874aa552861e03faf1058 /board/atmel
parent03d1e1365796cd15d1726e8a51fd8b5be50b2fe9 (diff)
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/atmel')
-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 4d737d293ad..8210bc60e80 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);