summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <marek.vasut@gmail.com>2010-10-03 01:05:55 +0200
committerWolfgang Denk <wd@denx.de>2010-10-19 23:05:09 +0200
commit20ae5193e325ad005ca9e15377838e0763069658 (patch)
tree69b58544ce58de4073edf928177dcf6a4a79415d
parent24e84c3dcbfc732888fecc502b7b560b4e372876 (diff)
downloadu-boot-imx-20ae5193e325ad005ca9e15377838e0763069658.zip
u-boot-imx-20ae5193e325ad005ca9e15377838e0763069658.tar.gz
u-boot-imx-20ae5193e325ad005ca9e15377838e0763069658.tar.bz2
PXA: Fix Balloon3 for Reloc
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
-rw-r--r--board/balloon3/Makefile10
-rw-r--r--board/balloon3/balloon3.c14
-rw-r--r--board/balloon3/config.mk1
-rw-r--r--board/balloon3/lowlevel_init.S36
-rw-r--r--board/balloon3/u-boot.lds55
-rw-r--r--include/configs/balloon3.h10
6 files changed, 22 insertions, 104 deletions
diff --git a/board/balloon3/Makefile b/board/balloon3/Makefile
index 3928e1f..7db615e 100644
--- a/board/balloon3/Makefile
+++ b/board/balloon3/Makefile
@@ -24,17 +24,15 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(BOARD).a
COBJS := balloon3.o
-SOBJS := lowlevel_init.o
-SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+SRCS := $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS))
-SOBJS := $(addprefix $(obj),$(SOBJS))
-$(LIB): $(obj).depend $(OBJS) $(SOBJS)
- $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+$(LIB): $(obj).depend $(OBJS)
+ $(AR) $(ARFLAGS) $@ $(OBJS)
clean:
- rm -f $(SOBJS) $(OBJS)
+ rm -f $(OBJS)
distclean: clean
rm -f $(LIB) core *.bak $(obj).depend
diff --git a/board/balloon3/balloon3.c b/board/balloon3/balloon3.c
index 2d6eabe..26e34e9 100644
--- a/board/balloon3/balloon3.c
+++ b/board/balloon3/balloon3.c
@@ -36,6 +36,10 @@ void balloon3_init_fpga(void);
int board_init(void)
{
+ /* We have RAM, disable cache */
+ dcache_disable();
+ icache_disable();
+
/* arch number of vpac270 */
gd->bd->bi_arch_number = MACH_TYPE_BALLOON3;
@@ -53,8 +57,16 @@ struct serial_device *default_serial_console(void)
return &serial_stuart_device;
}
+extern void pxa_dram_init(void);
int dram_init(void)
{
+ pxa_dram_init();
+ gd->ram_size = PHYS_SDRAM_1_SIZE;
+ return 0;
+}
+
+void dram_init_banksize(void)
+{
gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
gd->bd->bi_dram[2].start = PHYS_SDRAM_3;
@@ -62,8 +74,6 @@ int dram_init(void)
gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
gd->bd->bi_dram[1].size = PHYS_SDRAM_2_SIZE;
gd->bd->bi_dram[2].size = PHYS_SDRAM_3_SIZE;
-
- return 0;
}
#ifdef CONFIG_CMD_USB
diff --git a/board/balloon3/config.mk b/board/balloon3/config.mk
deleted file mode 100644
index 1d650ac..0000000
--- a/board/balloon3/config.mk
+++ /dev/null
@@ -1 +0,0 @@
-TEXT_BASE = 0xa1000000
diff --git a/board/balloon3/lowlevel_init.S b/board/balloon3/lowlevel_init.S
deleted file mode 100644
index d7b5be6..0000000
--- a/board/balloon3/lowlevel_init.S
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Balloon3 Lowlevel Hardware Initialization
- *
- * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <config.h>
-#include <version.h>
-#include <asm/arch/pxa-regs.h>
-#include <asm/arch/macro.h>
-
-.globl lowlevel_init
-lowlevel_init:
- pxa_gpio_setup
- pxa_wait_ticks 0x8000
- pxa_mem_setup
- pxa_wakeup
- pxa_intr_setup
- pxa_clock_setup
-
- mov pc, lr
diff --git a/board/balloon3/u-boot.lds b/board/balloon3/u-boot.lds
deleted file mode 100644
index 58c371d..0000000
--- a/board/balloon3/u-boot.lds
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-SECTIONS
-{
- . = 0x00000000;
-
- . = ALIGN(4);
- .text :
- {
- cpu/pxa/start.o (.text)
- *(.text)
- }
-
- . = ALIGN(4);
- .rodata : { *(.rodata) }
-
- . = ALIGN(4);
- .data : { *(.data) }
-
- . = ALIGN(4);
- .got : { *(.got) }
-
- __u_boot_cmd_start = .;
- .u_boot_cmd : { *(.u_boot_cmd) }
- __u_boot_cmd_end = .;
-
- . = ALIGN(4);
- __bss_start = .;
- .bss : { *(.bss) }
- _end = .;
-}
diff --git a/include/configs/balloon3.h b/include/configs/balloon3.h
index 5e2a285..ae60f2e 100644
--- a/include/configs/balloon3.h
+++ b/include/configs/balloon3.h
@@ -34,18 +34,19 @@
#define CONFIG_ENV_OVERWRITE
#define CONFIG_SYS_MALLOC_LEN (128*1024)
#define CONFIG_SYS_GBL_DATA_SIZE 128
-
+#define CONFIG_ARCH_CPU_INIT
#define CONFIG_BOOTCOMMAND \
+ "fpga load 0x0 0x50000 0x62638; " \
"if usb reset && fatload usb 0 0xa4000000 uImage; then " \
"bootm 0xa4000000; " \
"fi; " \
- "bootm 0x40000;"
+ "bootm 0xd0000;"
#define CONFIG_BOOTARGS "console=tty0 console=ttyS2,115200"
#define CONFIG_TIMESTAMP
#define CONFIG_BOOTDELAY 2 /* Autoboot delay */
#define CONFIG_CMDLINE_TAG
#define CONFIG_SETUP_MEMORY_TAGS
-
+#define CONFIG_SYS_TEXT_BASE 0x0
#define CONFIG_LZMA /* LZMA compression support */
/*
@@ -131,7 +132,8 @@
#define CONFIG_SYS_LOAD_ADDR 0xa1000000
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
-#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_GBL_DATA_SIZE + PHYS_SDRAM_1)
+#define CONFIG_SYS_INIT_SP_ADDR \
+ (PHYS_SDRAM_1 + CONFIG_SYS_GBL_DATA_SIZE + 2048)
/*
* NOR FLASH