[PATCH 30/36] bdinfo: arm: Move ARM-specific info into its own file
Daniel Schwierzeck
daniel.schwierzeck at gmail.com
Wed May 6 18:10:23 CEST 2020
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 <sjg at chromium.org>
> ---
>
> 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 <common.h>
> +#include <init.h>
> +
> +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
More information about the U-Boot
mailing list