generic-board: show model name in board_init_f() too
The common/board_r.c has show_model_r() to display the model name if the DTB has a "model" property. It sounds useful to have a similar function in common/board_f.c too because most of the boards show their board name before relocation. Instead of implementing the same function in both common/board_f.c and common/board_r.c, let's split it up into common/show_board_info.c. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
5468461d1e
commit
0365ffcc0b
|
@ -27,6 +27,8 @@ endif
|
||||||
# boards
|
# boards
|
||||||
obj-$(CONFIG_SYS_GENERIC_BOARD) += board_f.o
|
obj-$(CONFIG_SYS_GENERIC_BOARD) += board_f.o
|
||||||
obj-$(CONFIG_SYS_GENERIC_BOARD) += board_r.o
|
obj-$(CONFIG_SYS_GENERIC_BOARD) += board_r.o
|
||||||
|
obj-$(CONFIG_DISPLAY_BOARDINFO) += board_info.o
|
||||||
|
obj-$(CONFIG_DISPLAY_BOARDINFO_LATE) += board_info.o
|
||||||
|
|
||||||
# core command
|
# core command
|
||||||
obj-y += cmd_boot.o
|
obj-y += cmd_boot.o
|
||||||
|
|
|
@ -894,7 +894,7 @@ static init_fnc_t init_sequence_f[] = {
|
||||||
prt_mpc5xxx_clks,
|
prt_mpc5xxx_clks,
|
||||||
#endif /* CONFIG_MPC5xxx */
|
#endif /* CONFIG_MPC5xxx */
|
||||||
#if defined(CONFIG_DISPLAY_BOARDINFO)
|
#if defined(CONFIG_DISPLAY_BOARDINFO)
|
||||||
checkboard, /* display board info */
|
show_board_info,
|
||||||
#endif
|
#endif
|
||||||
INIT_FUNC_WATCHDOG_INIT
|
INIT_FUNC_WATCHDOG_INIT
|
||||||
#if defined(CONFIG_MISC_INIT_F)
|
#if defined(CONFIG_MISC_INIT_F)
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
/*
|
||||||
|
* SPDX-License-Identifier: GPL-2.0+
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
#include <libfdt.h>
|
||||||
|
#include <linux/compiler.h>
|
||||||
|
|
||||||
|
int __weak checkboard(void)
|
||||||
|
{
|
||||||
|
printf("Board: Unknown\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If the root node of the DTB has a "model" property, show it.
|
||||||
|
* If CONFIG_OF_CONTROL is disabled or the "model" property is missing,
|
||||||
|
* fall back to checkboard().
|
||||||
|
*/
|
||||||
|
int show_board_info(void)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_OF_CONTROL
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
const char *model;
|
||||||
|
|
||||||
|
model = fdt_getprop(gd->fdt_blob, 0, "model", NULL);
|
||||||
|
|
||||||
|
if (model) {
|
||||||
|
printf("Model: %s\n", model);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return checkboard();
|
||||||
|
}
|
|
@ -476,22 +476,6 @@ static int initr_api(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_DISPLAY_BOARDINFO_LATE
|
|
||||||
static int show_model_r(void)
|
|
||||||
{
|
|
||||||
/* Put this here so it appears on the LCD, now it is ready */
|
|
||||||
# ifdef CONFIG_OF_CONTROL
|
|
||||||
const char *model;
|
|
||||||
|
|
||||||
model = (char *)fdt_getprop(gd->fdt_blob, 0, "model", NULL);
|
|
||||||
printf("Model: %s\n", model ? model : "<unknown>");
|
|
||||||
# else
|
|
||||||
checkboard();
|
|
||||||
# endif
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* enable exceptions */
|
/* enable exceptions */
|
||||||
#ifdef CONFIG_ARM
|
#ifdef CONFIG_ARM
|
||||||
static int initr_enable_interrupts(void)
|
static int initr_enable_interrupts(void)
|
||||||
|
@ -801,7 +785,7 @@ init_fnc_t init_sequence_r[] = {
|
||||||
#endif
|
#endif
|
||||||
console_init_r, /* fully init console as a device */
|
console_init_r, /* fully init console as a device */
|
||||||
#ifdef CONFIG_DISPLAY_BOARDINFO_LATE
|
#ifdef CONFIG_DISPLAY_BOARDINFO_LATE
|
||||||
show_model_r,
|
show_board_info,
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_MISC_INIT
|
#ifdef CONFIG_ARCH_MISC_INIT
|
||||||
arch_misc_init, /* miscellaneous arch-dependent init */
|
arch_misc_init, /* miscellaneous arch-dependent init */
|
||||||
|
|
|
@ -229,10 +229,11 @@ extern char console_buffer[];
|
||||||
|
|
||||||
/* arch/$(ARCH)/lib/board.c */
|
/* arch/$(ARCH)/lib/board.c */
|
||||||
void board_init_f(ulong);
|
void board_init_f(ulong);
|
||||||
void board_init_r (gd_t *, ulong) __attribute__ ((noreturn));
|
void board_init_r(gd_t *, ulong) __attribute__ ((noreturn));
|
||||||
int checkboard (void);
|
int checkboard(void);
|
||||||
int checkflash (void);
|
int show_board_info(void);
|
||||||
int checkdram (void);
|
int checkflash(void);
|
||||||
|
int checkdram(void);
|
||||||
int last_stage_init(void);
|
int last_stage_init(void);
|
||||||
extern ulong monitor_flash_len;
|
extern ulong monitor_flash_len;
|
||||||
int mac_read_from_eeprom(void);
|
int mac_read_from_eeprom(void);
|
||||||
|
|
Loading…
Reference in New Issue