summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAneesh V <aneesh@ti.com>2011-10-21 12:29:34 -0400
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2011-10-27 21:56:35 +0200
commit2d01dd953a269e5fc27e04cb8571e0d8d81c7c4a (patch)
treea11c87dc6b9a6cad090a01455cb6269f39eaa0ee
parentcc3f7058435c94acaaf9111340437a0a4c018de6 (diff)
omap: spl: fix build break due to changes in FAT
FAT library now uses malloc() and free(). But SPL doesn't have heap until now. Setup a heap in SDRAM to fix this issue. However this increases SPL footprint beyond the available SRAM budget. So, compile out some fancy features in the SDARM init bring back footprint under control CC: Sandeep Paulraj <s-paulraj@ti.com> CC: Wolfgang Denk <wd@denx.de> Signed-off-by: Aneesh V <aneesh@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
-rw-r--r--arch/arm/cpu/armv7/omap-common/spl.c4
-rw-r--r--common/Makefile1
-rw-r--r--include/configs/omap4_common.h18
3 files changed, 15 insertions, 8 deletions
diff --git a/arch/arm/cpu/armv7/omap-common/spl.c b/arch/arm/cpu/armv7/omap-common/spl.c
index d0866c03d0..d37ca0ff5a 100644
--- a/arch/arm/cpu/armv7/omap-common/spl.c
+++ b/arch/arm/cpu/armv7/omap-common/spl.c
@@ -34,6 +34,7 @@
#include <asm/arch/mmc_host_def.h>
#include <i2c.h>
#include <image.h>
+#include <malloc.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -105,6 +106,9 @@ void board_init_r(gd_t *id, ulong dummy)
u32 boot_device;
debug(">>spl:board_init_r()\n");
+ mem_malloc_init(CONFIG_SYS_SPL_MALLOC_START,
+ CONFIG_SYS_SPL_MALLOC_SIZE);
+
timer_init();
i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
diff --git a/common/Makefile b/common/Makefile
index ae795e0d55..1b672ad96e 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -187,6 +187,7 @@ COBJS-$(CONFIG_USB_KEYBOARD) += usb_kbd.o
endif
COBJS-y += console.o
+COBJS-y += dlmalloc.o
COBJS-y += memsize.o
COBJS-y += stdio.o
diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h
index e7749ace5a..f535769559 100644
--- a/include/configs/omap4_common.h
+++ b/include/configs/omap4_common.h
@@ -253,6 +253,16 @@
#define CONFIG_SPL_BSS_START_ADDR 0x80000000
#define CONFIG_SPL_BSS_MAX_SIZE 0x80000 /* 512 KB */
+/*
+ * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM
+ * 64 bytes before this address should be set aside for u-boot.img's
+ * header. That is 0x800FFFC0--0x80100000 should not be used for any
+ * other needs.
+ */
+#define CONFIG_SYS_TEXT_BASE 0x80100000
+#define CONFIG_SYS_SPL_MALLOC_START 0x80200000
+#define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 /* 1 MB */
+
#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */
@@ -268,12 +278,4 @@
#define CONFIG_SPL_SERIAL_SUPPORT
#define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/armv7/omap-common/u-boot-spl.lds"
-/*
- * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM
- * 64 bytes before this address should be set aside for u-boot.img's
- * header. That is 0x800FFFC0--0x80100000 should not be used for any
- * other needs.
- */
-#define CONFIG_SYS_TEXT_BASE 0x80100000
-
#endif /* __CONFIG_OMAP4_COMMON_H */