summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2017-03-31 14:40:33 (GMT)
committerTom Rini <trini@konsulko.com>2017-04-05 20:36:51 (GMT)
commit5e924a13e729c83351f76609d058c1db30746c9b (patch)
treed04cef6926175e075803dea107b974260c65a5f4
parent76b00aca4f1c13bc8f91a539e612abc70d0c692f (diff)
downloadu-boot-5e924a13e729c83351f76609d058c1db30746c9b.tar.xz
Move dram_init_banksize() to a common header
This is an weak function present on all archs so we should have it in the common header file. Remove it from arch-specific headers and add a function comment. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/arm/include/asm/u-boot-arm.h1
-rw-r--r--arch/x86/include/asm/u-boot-x86.h1
-rw-r--r--include/common.h17
3 files changed, 17 insertions, 2 deletions
diff --git a/arch/arm/include/asm/u-boot-arm.h b/arch/arm/include/asm/u-boot-arm.h
index 2129f37..b931c22 100644
--- a/arch/arm/include/asm/u-boot-arm.h
+++ b/arch/arm/include/asm/u-boot-arm.h
@@ -36,7 +36,6 @@ int arch_early_init_r(void);
/* board/.../... */
int board_init(void);
-int dram_init_banksize(void);
void board_quiesce_devices(void);
/* cpu/.../interrupt.c */
diff --git a/arch/x86/include/asm/u-boot-x86.h b/arch/x86/include/asm/u-boot-x86.h
index 33c6e2b..d2d6039 100644
--- a/arch/x86/include/asm/u-boot-x86.h
+++ b/arch/x86/include/asm/u-boot-x86.h
@@ -41,7 +41,6 @@ void x86_disable_caches(void);
int x86_init_cache(void);
void reset_cpu(ulong addr);
ulong board_get_usable_ram_top(ulong total_size);
-int dram_init_banksize(void);
int default_print_cpuinfo(void);
/* Set up a UART which can be used with printch(), printhex8(), etc. */
diff --git a/include/common.h b/include/common.h
index dd8b25f..c1f1712 100644
--- a/include/common.h
+++ b/include/common.h
@@ -203,6 +203,23 @@ typedef void (interrupt_handler_t)(void *);
*/
int dram_init(void);
+/**
+ * dram_init_banksize() - Set up DRAM bank sizes
+ *
+ * This can be implemented by boards to set up the DRAM bank information in
+ * gd->bd->bi_dram(). It is called just before relocation, after dram_init()
+ * is called.
+ *
+ * If this is not provided, a default implementation will try to set up a
+ * single bank. It will do this if CONFIG_NR_DRAM_BANKS and
+ * CONFIG_SYS_SDRAM_BASE are set. The bank will have a start address of
+ * CONFIG_SYS_SDRAM_BASE and the size will be determined by a call to
+ * get_effective_memsize().
+ *
+ * @return 0 if OK, -ve on error
+ */
+int dram_init_banksize(void);
+
void hang (void) __attribute__ ((noreturn));
int timer_init(void);