aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/lib/bdinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/lib/bdinfo.c')
-rw-r--r--arch/powerpc/lib/bdinfo.c25
1 files changed, 25 insertions, 0 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 */