summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-05-10 23:16:57 +0300
committerTom Rini <trini@konsulko.com>2020-06-25 20:24:12 +0300
commit79d074d30196811478eb7242121f97cac405b6aa (patch)
tree00ace2bf2b0b1cf75aed710116be4b7bb886a2a6
parent59b0d7d839f135bc44d3459784337a657149f8b3 (diff)
downloadu-boot-79d074d30196811478eb7242121f97cac405b6aa.tar.xz
bdinfo: ppc: Move PPC-specific info into its own file
We don't really want to have PPC-specific code in a generic file. Create a new arch-specific function to hold it, and move it into that. Make the function weak so that any arch can implement it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de>
-rw-r--r--arch/powerpc/lib/Makefile2
-rw-r--r--arch/powerpc/lib/bdinfo.c41
-rw-r--r--cmd/bdinfo.c27
3 files changed, 43 insertions, 27 deletions
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
index 01c9dd51be..f61809ab05 100644
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
@@ -15,6 +15,8 @@ MINIMAL=y
endif
endif
+obj-y += bdinfo.o
+
ifdef MINIMAL
obj-y += cache.o time.o
ifndef CONFIG_TIMER
diff --git a/arch/powerpc/lib/bdinfo.c b/arch/powerpc/lib/bdinfo.c
new file mode 100644
index 0000000000..da09bb276f
--- /dev/null
+++ b/arch/powerpc/lib/bdinfo.c
@@ -0,0 +1,41 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * PPC-specific information for the 'bd' command
+ *
+ * (C) Copyright 2003
+ * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+ */
+
+#include <common.h>
+#include <init.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+void __weak board_detail(void)
+{
+ /* Please define board_detail() for your PPC platform */
+}
+
+void arch_print_bdinfo(void)
+{
+ bd_t *bd = gd->bd;
+
+#if defined(CONFIG_MPC8xx) || defined(CONFIG_E500)
+ bdinfo_print_num("immr_base", bd->bi_immr_base);
+#endif
+ bdinfo_print_num("bootflags", bd->bi_bootflags);
+ bdinfo_print_mhz("intfreq", bd->bi_intfreq);
+#ifdef CONFIG_ENABLE_36BIT_PHYS
+ if (IS_ENABLED(CONFIG_PHYS_64BIT))
+ puts("addressing = 36-bit\n");
+ else
+ puts("addressing = 32-bit\n");
+#endif
+ board_detail();
+#if defined(CONFIG_CPM2)
+ bdinfo_print_mhz("cpmfreq", bd->bi_cpmfreq);
+ bdinfo_print_mhz("vco", bd->bi_vco);
+ bdinfo_print_mhz("sccfreq", bd->bi_sccfreq);
+ bdinfo_print_mhz("brgfreq", bd->bi_brgfreq);
+#endif
+}
diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c
index 6aa23e6a43..524677edd2 100644
--- a/cmd/bdinfo.c
+++ b/cmd/bdinfo.c
@@ -62,11 +62,6 @@ static void print_bi_dram(const bd_t *bd)
#endif
}
-void __weak board_detail(void)
-{
- /* Please define board_detail() for your PPC platform */
-}
-
__weak void arch_print_bdinfo(void)
{
}
@@ -106,28 +101,6 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
arch_print_bdinfo();
- /* This section is used only by ppc */
-#if defined(CONFIG_MPC8xx) || defined(CONFIG_E500)
- bdinfo_print_num("immr_base", bd->bi_immr_base);
-#endif
- if (IS_ENABLED(CONFIG_PPC)) {
- bdinfo_print_num("bootflags", bd->bi_bootflags);
- bdinfo_print_mhz("intfreq", bd->bi_intfreq);
-#ifdef CONFIG_ENABLE_36BIT_PHYS
- if (IS_ENABLED(CONFIG_PHYS_64BIT))
- puts("addressing = 36-bit\n");
- else
- puts("addressing = 32-bit\n");
-#endif
- board_detail();
- }
-#if defined(CONFIG_CPM2)
- bdinfo_print_mhz("cpmfreq", bd->bi_cpmfreq);
- bdinfo_print_mhz("vco", bd->bi_vco);
- bdinfo_print_mhz("sccfreq", bd->bi_sccfreq);
- bdinfo_print_mhz("brgfreq", bd->bi_brgfreq);
-#endif
-
/* This is used by m68k and ppc */
#if defined(CONFIG_SYS_INIT_RAM_ADDR)
bdinfo_print_num("sramstart", (ulong)bd->bi_sramstart);