From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Schwierzeck Date: Wed, 6 May 2020 18:10:23 +0200 Subject: [PATCH 30/36] bdinfo: arm: Move ARM-specific info into its own file In-Reply-To: <20200504231732.98778-22-sjg@chromium.org> References: <20200504231732.98778-1-sjg@chromium.org> <20200504231732.98778-22-sjg@chromium.org> Message-ID: <18f3a5fd-fee2-ea20-5873-4458cade228d@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Am 05.05.20 um 01:17 schrieb Simon Glass: > We don't really want to have ARM-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 > --- > > arch/arm/lib/Makefile | 1 + > arch/arm/lib/bdinfo.c | 51 +++++++++++++++++++++++++++++++++++++++++++ > cmd/bdinfo.c | 44 +++++-------------------------------- > include/init.h | 3 +++ > 4 files changed, 61 insertions(+), 38 deletions(-) > create mode 100644 arch/arm/lib/bdinfo.c > > diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile > index b839aa7a50..27b12e7f2b 100644 > --- a/arch/arm/lib/Makefile > +++ b/arch/arm/lib/Makefile > @@ -43,6 +43,7 @@ obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_MEMSET) += memset.o > obj-$(CONFIG_$(SPL_TPL_)USE_ARCH_MEMCPY) += memcpy.o > obj-$(CONFIG_SEMIHOSTING) += semihosting.o > > +obj-y += bdinfo.o > obj-y += sections.o > obj-y += stack.o > ifdef CONFIG_CPU_V7M > diff --git a/arch/arm/lib/bdinfo.c b/arch/arm/lib/bdinfo.c > new file mode 100644 > index 0000000000..ce8edd0313 > --- /dev/null > +++ b/arch/arm/lib/bdinfo.c > @@ -0,0 +1,51 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * ARM-specific information for the 'bd' command > + * > + * (C) Copyright 2003 > + * Wolfgang Denk, DENX Software Engineering, wd at denx.de. > + */ > + > +#include > +#include > + > +DECLARE_GLOBAL_DATA_PTR; > + > +void arch_print_bdinfo(void) > +{ > +#ifdef CONFIG_SYS_MEM_RESERVE_SECURE > + if (gd->arch.secure_ram & MEM_RESERVE_SECURE_SECURED) { > + bdinfo_print_num("Secure ram", > + gd->arch.secure_ram & > + MEM_RESERVE_SECURE_ADDR_MASK); > + } > +#endif > +#ifdef CONFIG_RESV_RAM > + if (gd->arch.resv_ram) > + bdinfo_print_num("Reserved ram", gd->arch.resv_ram); > +#endif > +#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF)) > + bdinfo_print_num("TLB addr", gd->arch.tlb_addr); > +#endif > + bdinfo_print_num("irq_sp", gd->irq_sp); /* irq stack pointer */ > + bdinfo_print_num("sp start ", gd->start_addr_sp); > + /* > + * TODO: Currently only support for davinci SOC's is added. > + * Remove this check once all the board implement this. > + */ > +#ifdef CONFIG_CLOCKS > + printf("ARM frequency = %ld MHz\n", gd->bd->bi_arm_freq); > + printf("DSP frequency = %ld MHz\n", gd->bd->bi_dsp_freq); > + printf("DDR frequency = %ld MHz\n", gd->bd->bi_ddr_freq); > +#endif > +#ifdef CONFIG_BOARD_TYPES > + printf("Board Type = %ld\n", gd->board_type); > +#endif > +#if CONFIG_VAL(SYS_MALLOC_F_LEN) > + printf("Early malloc usage: %lx / %x\n", gd->malloc_ptr, > + CONFIG_VAL(SYS_MALLOC_F_LEN)); > +#endif > +#if CONFIG_IS_ENABLED(MULTI_DTB_FIT) > + bdinfo_print_num("multi_dtb_fit", (ulong)gd->multi_dtb_fit); > +#endif > +} that part is not really ARM specific. Maybe it's useful in the generic function? -- - Daniel