aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOvidiu Panait2020-07-24 14:12:19 +0300
committerTom Rini2020-08-06 14:26:35 -0400
commitf1e504a3eaa59923a294685050b423fa4d7e49e7 (patch)
treeb317835f70c8839c53d25ad7439d369d7074f3f1
parentee9c3adc85791ad887dc798c294c2d8756dfb0b9 (diff)
board_f: ppc: Factor out ppc-specific bdinfo setup
Factor out ppc-specific bdinfo setup from generic init sequence to arch_setup_bdinfo in arch/powerpc/lib/bdinfo.c. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
-rw-r--r--arch/powerpc/lib/bdinfo.c25
-rw-r--r--common/board_f.c36
2 files changed, 27 insertions, 34 deletions
diff --git a/arch/powerpc/lib/bdinfo.c b/arch/powerpc/lib/bdinfo.c
index 07f823ee7ad..36c9c99ee6f 100644
--- a/arch/powerpc/lib/bdinfo.c
+++ b/arch/powerpc/lib/bdinfo.c
@@ -11,6 +11,31 @@
DECLARE_GLOBAL_DATA_PTR;
+int arch_setup_bdinfo(void)
+{
+ struct bd_info *bd = gd->bd;
+
+#if defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
+ bd->bi_immr_base = CONFIG_SYS_IMMR; /* base of IMMR register */
+#endif
+
+#if defined(CONFIG_MPC83xx)
+ bd->bi_immrbar = CONFIG_SYS_IMMR;
+#endif
+
+ bd->bi_intfreq = gd->cpu_clk; /* Internal Freq, in Hz */
+ bd->bi_busfreq = gd->bus_clk; /* Bus Freq, in Hz */
+
+#if defined(CONFIG_CPM2)
+ bd->bi_cpmfreq = gd->arch.cpm_clk;
+ bd->bi_brgfreq = gd->arch.brg_clk;
+ bd->bi_sccfreq = gd->arch.scc_clk;
+ bd->bi_vco = gd->arch.vco_out;
+#endif /* CONFIG_CPM2 */
+
+ return 0;
+}
+
void __weak board_detail(void)
{
/* Please define board_detail() for your PPC platform */
diff --git a/common/board_f.c b/common/board_f.c
index 0c20f3fadf2..e6701554175 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -618,37 +618,9 @@ int setup_bdinfo(void)
return arch_setup_bdinfo();
}
-#if defined(CONFIG_MIPS) || defined(CONFIG_PPC) || \
- defined(CONFIG_SH)
+#if defined(CONFIG_MIPS) || defined(CONFIG_SH)
static int setup_board_part1(void)
{
- struct bd_info *bd = gd->bd;
-
-#if defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
- bd->bi_immr_base = CONFIG_SYS_IMMR; /* base of IMMR register */
-#endif
-#if defined(CONFIG_MPC83xx)
- bd->bi_immrbar = CONFIG_SYS_IMMR;
-#endif
-
- return 0;
-}
-#endif
-
-#if defined(CONFIG_PPC)
-static int setup_board_part2(void)
-{
- struct bd_info *bd = gd->bd;
-
- bd->bi_intfreq = gd->cpu_clk; /* Internal Freq, in Hz */
- bd->bi_busfreq = gd->bus_clk; /* Bus Freq, in Hz */
-#if defined(CONFIG_CPM2)
- bd->bi_cpmfreq = gd->arch.cpm_clk;
- bd->bi_brgfreq = gd->arch.brg_clk;
- bd->bi_sccfreq = gd->arch.scc_clk;
- bd->bi_vco = gd->arch.vco_out;
-#endif /* CONFIG_CPM2 */
-
return 0;
}
#endif
@@ -974,14 +946,10 @@ static const init_fnc_t init_sequence_f[] = {
dram_init_banksize,
show_dram_config,
setup_bdinfo,
-#if defined(CONFIG_MIPS) || defined(CONFIG_PPC) || \
- defined(CONFIG_SH)
+#if defined(CONFIG_MIPS) || defined(CONFIG_SH)
setup_board_part1,
#endif
-#if defined(CONFIG_PPC)
INIT_FUNC_WATCHDOG_RESET
- setup_board_part2,
-#endif
display_new_sp,
#ifdef CONFIG_OF_BOARD_FIXUP
fix_fdt,