summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2011-11-23 05:13:06 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2011-12-06 23:59:39 +0100
commitee08a8260a3a7f6ef2001cfa3e7b6137b485f40a (patch)
tree349034da8a15b7424cf55c118512d108d91f8d7e
parentd067cc464fd10f9473bcedef94805a167d0525cb (diff)
downloadu-boot-ee08a8260a3a7f6ef2001cfa3e7b6137b485f40a.tar.gz
u-boot-ee08a8260a3a7f6ef2001cfa3e7b6137b485f40a.tar.xz
u-boot-ee08a8260a3a7f6ef2001cfa3e7b6137b485f40a.zip
OMAP3: Add SPL_BOARD_INIT hook
Add an SPL_BOARD_INIT hook and for OMAP3 have it turn on i2c. OMAP4 doesn't need i2c enabled in SPL. Enable SPL_BOARD_INIT on devkit8000. Cc: Frederik Kriewitz <frederik@kriewitz.eu> Signed-off-by: Tom Rini <trini@ti.com>
-rw-r--r--arch/arm/cpu/armv7/omap-common/spl.c4
-rw-r--r--arch/arm/cpu/armv7/omap3/board.c5
-rw-r--r--arch/arm/include/asm/omap_common.h4
-rw-r--r--include/configs/devkit8000.h1
4 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/omap-common/spl.c b/arch/arm/cpu/armv7/omap-common/spl.c
index f72d389f3d..25f04edf11 100644
--- a/arch/arm/cpu/armv7/omap-common/spl.c
+++ b/arch/arm/cpu/armv7/omap-common/spl.c
@@ -116,6 +116,10 @@ void board_init_r(gd_t *id, ulong dummy)
timer_init();
+#ifdef CONFIG_SPL_BOARD_INIT
+ spl_board_init();
+#endif
+
boot_device = omap_boot_device();
debug("boot device - %d\n", boot_device);
switch (boot_device) {
diff --git a/arch/arm/cpu/armv7/omap3/board.c b/arch/arm/cpu/armv7/omap3/board.c
index cdf452dfbc..1f33c6398c 100644
--- a/arch/arm/cpu/armv7/omap3/board.c
+++ b/arch/arm/cpu/armv7/omap3/board.c
@@ -40,6 +40,7 @@
#include <asm/armv7.h>
#include <asm/arch/gpio.h>
#include <asm/omap_common.h>
+#include <i2c.h>
/* Declarations */
extern omap3_sysinfo sysinfo;
@@ -89,6 +90,10 @@ u32 omap_boot_device(void)
return omap3_boot_device;
}
+void spl_board_init(void)
+{
+ i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+}
#endif /* CONFIG_SPL_BUILD */
diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h
index 913231b292..1ec651b353 100644
--- a/arch/arm/include/asm/omap_common.h
+++ b/arch/arm/include/asm/omap_common.h
@@ -94,6 +94,10 @@ void spl_nand_load_image(void);
/* MMC SPL functions */
void spl_mmc_load_image(void);
+#ifdef CONFIG_SPL_BOARD_INIT
+void spl_board_init(void);
+#endif
+
/*
* silicon revisions.
* Moving this to common, so that most of code can be moved to common,
diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
index 4b58dc3bcb..c090d2b386 100644
--- a/include/configs/devkit8000.h
+++ b/include/configs/devkit8000.h
@@ -304,6 +304,7 @@
#define CONFIG_SPL_LIBCOMMON_SUPPORT
#define CONFIG_SPL_LIBDISK_SUPPORT
+#define CONFIG_SPL_BOARD_INIT
#define CONFIG_SPL_I2C_SUPPORT
#define CONFIG_SPL_LIBGENERIC_SUPPORT
#define CONFIG_SPL_SERIAL_SUPPORT