[U-Boot] [PATCH 01/17] omap3/omap4/omap5/am33xx: Use a common running_from_sdram function
Tom Rini
trini at ti.com
Mon Jul 30 18:48:47 CEST 2012
On all OMAP3+ platforms we know that SDRAM starts at 0x80000000 and we
can use 0xD0000000 as the end.
Signed-off-by: Tom Rini <trini at ti.com>
---
arch/arm/cpu/armv7/omap3/board.c | 4 ++--
arch/arm/cpu/armv7/omap3/sys_info.c | 12 ------------
arch/arm/include/asm/arch-omap3/sys_proto.h | 1 -
arch/arm/include/asm/arch-omap4/omap.h | 5 -----
arch/arm/include/asm/arch-omap4/sys_proto.h | 8 --------
arch/arm/include/asm/arch-omap5/omap.h | 5 -----
arch/arm/include/asm/arch-omap5/sys_proto.h | 8 --------
arch/arm/include/asm/omap_common.h | 14 ++++++++++++++
8 files changed, 16 insertions(+), 41 deletions(-)
diff --git a/arch/arm/cpu/armv7/omap3/board.c b/arch/arm/cpu/armv7/omap3/board.c
index f2e52e9..7639bdd 100644
--- a/arch/arm/cpu/armv7/omap3/board.c
+++ b/arch/arm/cpu/armv7/omap3/board.c
@@ -177,7 +177,7 @@ void secureworld_exit()
void try_unlock_memory()
{
int mode;
- int in_sdram = is_running_in_sdram();
+ int in_sdram = running_from_sdram();
/*
* if GP device unlock device SRAM for general use
@@ -210,7 +210,7 @@ void try_unlock_memory()
*****************************************************************************/
void s_init(void)
{
- int in_sdram = is_running_in_sdram();
+ int in_sdram = running_from_sdram();
watchdog_init();
diff --git a/arch/arm/cpu/armv7/omap3/sys_info.c b/arch/arm/cpu/armv7/omap3/sys_info.c
index 3c80113..a49e84a 100644
--- a/arch/arm/cpu/armv7/omap3/sys_info.c
+++ b/arch/arm/cpu/armv7/omap3/sys_info.c
@@ -240,18 +240,6 @@ u32 is_running_in_sram(void)
return 0; /* running in FLASH or SDRAM */
}
-/********************************************************
- * is_running_in_sdram() - tell if currently running in
- * SDRAM.
- *******************************************************/
-u32 is_running_in_sdram(void)
-{
- if (get_base() > 4)
- return 1; /* in SDRAM */
-
- return 0; /* running in SRAM or FLASH */
-}
-
/***************************************************************
* get_boot_type() - Is this an XIP type device or a stream one
* bits 4-0 specify type. Bit 5 says mem/perif
diff --git a/arch/arm/include/asm/arch-omap3/sys_proto.h b/arch/arm/include/asm/arch-omap3/sys_proto.h
index 9e52b12..269b8cc 100644
--- a/arch/arm/include/asm/arch-omap3/sys_proto.h
+++ b/arch/arm/include/asm/arch-omap3/sys_proto.h
@@ -57,7 +57,6 @@ u32 get_sysboot_value(void);
u32 is_gpmc_muxed(void);
u32 get_gpmc0_type(void);
u32 get_gpmc0_width(void);
-u32 is_running_in_sdram(void);
u32 is_running_in_sram(void);
u32 is_running_in_flash(void);
u32 get_device_type(void);
diff --git a/arch/arm/include/asm/arch-omap4/omap.h b/arch/arm/include/asm/arch-omap4/omap.h
index 03bd923..83d3813 100644
--- a/arch/arm/include/asm/arch-omap4/omap.h
+++ b/arch/arm/include/asm/arch-omap4/omap.h
@@ -42,11 +42,6 @@
#define OMAP44XX_L4_WKUP_BASE 0x4A300000
#define OMAP44XX_L4_PER_BASE 0x48000000
-#define OMAP44XX_DRAM_ADDR_SPACE_START 0x80000000
-#define OMAP44XX_DRAM_ADDR_SPACE_END 0xD0000000
-#define DRAM_ADDR_SPACE_START OMAP44XX_DRAM_ADDR_SPACE_START
-#define DRAM_ADDR_SPACE_END OMAP44XX_DRAM_ADDR_SPACE_END
-
/* CONTROL */
#define CTRL_BASE (OMAP44XX_L4_CORE_BASE + 0x2000)
#define CONTROL_PADCONF_CORE (OMAP44XX_L4_CORE_BASE + 0x100000)
diff --git a/arch/arm/include/asm/arch-omap4/sys_proto.h b/arch/arm/include/asm/arch-omap4/sys_proto.h
index d633573..48a6550 100644
--- a/arch/arm/include/asm/arch-omap4/sys_proto.h
+++ b/arch/arm/include/asm/arch-omap4/sys_proto.h
@@ -67,14 +67,6 @@ void force_emif_self_refresh(void);
*/
extern struct omap_boot_parameters boot_params;
-static inline u32 running_from_sdram(void)
-{
- u32 pc;
- asm volatile ("mov %0, pc" : "=r" (pc));
- return ((pc >= OMAP44XX_DRAM_ADDR_SPACE_START) &&
- (pc < OMAP44XX_DRAM_ADDR_SPACE_END));
-}
-
static inline u8 uboot_loaded_by_spl(void)
{
/*
diff --git a/arch/arm/include/asm/arch-omap5/omap.h b/arch/arm/include/asm/arch-omap5/omap.h
index 7f05cb5..c697e0b 100644
--- a/arch/arm/include/asm/arch-omap5/omap.h
+++ b/arch/arm/include/asm/arch-omap5/omap.h
@@ -39,11 +39,6 @@
#define OMAP54XX_L4_WKUP_BASE 0x4Ae00000
#define OMAP54XX_L4_PER_BASE 0x48000000
-#define OMAP54XX_DRAM_ADDR_SPACE_START 0x80000000
-#define OMAP54XX_DRAM_ADDR_SPACE_END 0xFFFFFFFF
-#define DRAM_ADDR_SPACE_START OMAP54XX_DRAM_ADDR_SPACE_START
-#define DRAM_ADDR_SPACE_END OMAP54XX_DRAM_ADDR_SPACE_END
-
/* CONTROL */
#define CTRL_BASE (OMAP54XX_L4_CORE_BASE + 0x2000)
#define CONTROL_PADCONF_CORE (CTRL_BASE + 0x0800)
diff --git a/arch/arm/include/asm/arch-omap5/sys_proto.h b/arch/arm/include/asm/arch-omap5/sys_proto.h
index 74feb90..23b02fd 100644
--- a/arch/arm/include/asm/arch-omap5/sys_proto.h
+++ b/arch/arm/include/asm/arch-omap5/sys_proto.h
@@ -68,14 +68,6 @@ void force_emif_self_refresh(void);
*/
extern struct omap_boot_parameters boot_params;
-static inline u32 running_from_sdram(void)
-{
- u32 pc;
- asm volatile ("mov %0, pc" : "=r" (pc));
- return ((pc >= OMAP54XX_DRAM_ADDR_SPACE_START) &&
- (pc < OMAP54XX_DRAM_ADDR_SPACE_END));
-}
-
static inline u8 uboot_loaded_by_spl(void)
{
/*
diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h
index 4e95eee..4cf583e 100644
--- a/arch/arm/include/asm/omap_common.h
+++ b/arch/arm/include/asm/omap_common.h
@@ -118,6 +118,20 @@ static inline u32 omap_revision(void)
}
/*
+ * These locations are common to all current OMAP and derivative devices.
+ */
+#define DRAM_ADDR_SPACE_START 0x80000000
+#define DRAM_ADDR_SPACE_END 0xD0000000
+
+static inline u32 running_from_sdram(void)
+{
+ u32 pc;
+ asm volatile ("mov %0, pc" : "=r" (pc));
+ return ((pc >= DRAM_ADDR_SPACE_START) &&
+ (pc < DRAM_ADDR_SPACE_END));
+}
+
+/*
* silicon revisions.
* Moving this to common, so that most of code can be moved to common,
* directories.
--
1.7.9.5
More information about the U-Boot
mailing list