From 1aeeaeb56e03610250075943b546b9e913b099b0 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 10 May 2020 14:16:39 -0600 Subject: [PATCH] bdinfo: arm: Use the generic bd command Unfortunately ARM has a lot of special stuff. Move it into the generic function for now, so we can have it all in one place. Signed-off-by: Simon Glass Reviewed-by: Bin Meng --- cmd/bdinfo.c | 102 ++++++++++++++++++++++----------------------------- 1 file changed, 44 insertions(+), 58 deletions(-) diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c index 9585d6a37a..996fb5d06f 100644 --- a/cmd/bdinfo.c +++ b/cmd/bdinfo.c @@ -193,64 +193,7 @@ static inline void __maybe_unused print_std_bdinfo(const bd_t *bd) #elif defined(CONFIG_ARM) -static int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, - char *const argv[]) -{ - bd_t *bd = gd->bd; - - print_num("arch_number", bd->bi_arch_number); - print_bi_boot_params(bd); - print_bi_dram(bd); - -#ifdef CONFIG_SYS_MEM_RESERVE_SECURE - if (gd->arch.secure_ram & MEM_RESERVE_SECURE_SECURED) { - print_num("Secure ram", - gd->arch.secure_ram & MEM_RESERVE_SECURE_ADDR_MASK); - } -#endif -#ifdef CONFIG_RESV_RAM - if (gd->arch.resv_ram) - print_num("Reserved ram", gd->arch.resv_ram); -#endif -#if defined(CONFIG_CMD_NET) && !defined(CONFIG_DM_ETH) - print_eths(); -#endif - print_baudrate(); -#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF)) - print_num("TLB addr", gd->arch.tlb_addr); -#endif - print_num("relocaddr", gd->relocaddr); - print_num("reloc off", gd->reloc_off); - print_num("irq_sp", gd->irq_sp); /* irq stack pointer */ - print_num("sp start ", gd->start_addr_sp); -#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) || defined(CONFIG_DM_VIDEO) - print_num("FB base ", gd->fb_base); -#endif - /* - * 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) - print_num("multi_dtb_fit", (ulong)gd->multi_dtb_fit); -#endif - if (gd->fdt_blob) - print_num("fdt_blob", (ulong)gd->fdt_blob); - print_cpu_word_size(); - - return 0; -} +#define USE_GENERIC #elif defined(CONFIG_SH) @@ -308,6 +251,8 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) #ifdef DEBUG print_num("bd address", (ulong)bd); #endif + if (IS_ENABLED(CONFIG_ARM)) + print_num("arch_number", bd->bi_arch_number); print_bi_dram(bd); print_std_bdinfo(bd); print_num("relocaddr", gd->relocaddr); @@ -319,6 +264,47 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) print_num("fdt_blob", (ulong)gd->fdt_blob); print_num("new_fdt", (ulong)gd->new_fdt); print_num("fdt_size", (ulong)gd->fdt_size); +#if defined(CONFIG_LCD) || defined(CONFIG_VIDEO) || defined(CONFIG_DM_VIDEO) + print_num("FB base ", gd->fb_base); +#endif + + /* This section is used only by ARM */ +#ifdef CONFIG_ARM +#ifdef CONFIG_SYS_MEM_RESERVE_SECURE + if (gd->arch.secure_ram & MEM_RESERVE_SECURE_SECURED) { + print_num("Secure ram", + gd->arch.secure_ram & MEM_RESERVE_SECURE_ADDR_MASK); + } +#endif +#ifdef CONFIG_RESV_RAM + if (gd->arch.resv_ram) + print_num("Reserved ram", gd->arch.resv_ram); +#endif +#if !(CONFIG_IS_ENABLED(SYS_ICACHE_OFF) && CONFIG_IS_ENABLED(SYS_DCACHE_OFF)) + print_num("TLB addr", gd->arch.tlb_addr); +#endif + print_num("irq_sp", gd->irq_sp); /* irq stack pointer */ + 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) + print_num("multi_dtb_fit", (ulong)gd->multi_dtb_fit); +#endif +#endif /* CONFIG_ARM */ /* This section is used only by ppc */ #if defined(CONFIG_MPC8xx) || defined(CONFIG_E500) -- 2.39.5