[PATCH v2 08/14] board_f: sh: Factor out sh-specific bdinfo setup

Ovidiu Panait ovidiu.panait at windriver.com
Fri Jul 10 12:19:01 CEST 2020


Factor out sh-specific bdinfo setup from generic init sequence to
arch_setup_bdinfo in arch/sh/lib/board.c. Also, use if(IS_ENABLED())
instead of #ifdef where possible.

Signed-off-by: Ovidiu Panait <ovidiu.panait at windriver.com>
---
v2 updates:
- use "if (IS_ENABLED(CONFIG_SYS_HAS_SRAM))" instead of 
  "#ifdef CONFIG_SYS_SRAM_BASE"

 arch/sh/lib/board.c | 18 ++++++++++++++++++
 common/board_f.c    |  4 ++--
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/arch/sh/lib/board.c b/arch/sh/lib/board.c
index a6a8f07e6f..c293875daf 100644
--- a/arch/sh/lib/board.c
+++ b/arch/sh/lib/board.c
@@ -16,6 +16,24 @@ int dram_init(void)
 	return 0;
 }
 
+int arch_setup_bdinfo(void)
+{
+	bd_t *bd = gd->bd;
+
+	/*
+	 * Save local variables to board info struct
+	 */
+	bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;	/* start of memory */
+	bd->bi_memsize = gd->ram_size;			/* size in bytes */
+
+	if (IS_ENABLED(CONFIG_SYS_HAS_SRAM)) {
+		bd->bi_sramstart = CONFIG_SYS_SRAM_BASE;	/* start of SRAM */
+		bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE;		/* size  of SRAM */
+	}
+
+	return 0;
+}
+
 void relocate_code(ulong start_addr_sp, gd_t *new_gd, ulong relocaddr)
 {
 	void (*reloc_board_init_r)(gd_t *gd, ulong dest) = board_init_r;
diff --git a/common/board_f.c b/common/board_f.c
index 960a9c83db..9bfcd6b236 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -602,7 +602,7 @@ __weak int arch_setup_bdinfo(void)
 	return 0;
 }
 
-#if defined(CONFIG_MIPS) || defined(CONFIG_SH)
+#if defined(CONFIG_MIPS)
 static int setup_board_part1(void)
 {
 	bd_t *bd = gd->bd;
@@ -943,7 +943,7 @@ static const init_fnc_t init_sequence_f[] = {
 	dram_init_banksize,
 	show_dram_config,
 	arch_setup_bdinfo,
-#if defined(CONFIG_MIPS) || defined(CONFIG_SH)
+#if defined(CONFIG_MIPS)
 	setup_board_part1,
 	INIT_FUNC_WATCHDOG_RESET
 #endif
-- 
2.17.1



More information about the U-Boot mailing list