
If CONFIG_OF_CONTROL is defined and the root node of the device tree has "model" property, display the model name instead of the hard-coded board name.
Signed-off-by: Masahiro Yamada yamada.m@jp.panasonic.com ---
arch/arm/cpu/armv7/uniphier/Makefile | 1 + arch/arm/cpu/armv7/uniphier/board_info.c | 25 +++++++++++++++++++++++ arch/arm/cpu/armv7/uniphier/ph1-ld4/board_info.c | 8 +------- arch/arm/cpu/armv7/uniphier/ph1-pro4/board_info.c | 9 ++------ arch/arm/cpu/armv7/uniphier/ph1-sld8/board_info.c | 9 ++------ arch/arm/include/asm/arch-uniphier/board.h | 2 ++ 6 files changed, 33 insertions(+), 21 deletions(-) create mode 100644 arch/arm/cpu/armv7/uniphier/board_info.c
diff --git a/arch/arm/cpu/armv7/uniphier/Makefile b/arch/arm/cpu/armv7/uniphier/Makefile index 0f64d25..77650bd 100644 --- a/arch/arm/cpu/armv7/uniphier/Makefile +++ b/arch/arm/cpu/armv7/uniphier/Makefile @@ -11,6 +11,7 @@ obj-y += cache_uniphier.o obj-$(CONFIG_BOARD_POSTCLK_INIT) += board_postclk_init.o obj-y += dram_init.o obj-$(CONFIG_DISPLAY_CPUINFO) += cpu_info.o +obj-$(CONFIG_DISPLAY_BOARDINFO) += board_info.o obj-$(CONFIG_BOARD_LATE_INIT) += board_late_init.o obj-$(CONFIG_UNIPHIER_SMP) += smp.o obj-$(CONFIG_CMD_PINMON) += cmd_pinmon.o diff --git a/arch/arm/cpu/armv7/uniphier/board_info.c b/arch/arm/cpu/armv7/uniphier/board_info.c new file mode 100644 index 0000000..bd56c11 --- /dev/null +++ b/arch/arm/cpu/armv7/uniphier/board_info.c @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2014 Panasonic Corporation + * Author: Masahiro Yamada yamada.m@jp.panasonic.com + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <asm/arch/board.h> + +int checkboard(void) +{ + const char *model = NULL; +#ifdef CONFIG_OF_CONTROL + DECLARE_GLOBAL_DATA_PTR; + + model = (const char *)fdt_getprop(gd->fdt_blob, 0, "model", NULL); +#endif + if (!model) + model = uniphier_board_name; + + printf("Board: %s\n", model); + + return check_support_card(); +} diff --git a/arch/arm/cpu/armv7/uniphier/ph1-ld4/board_info.c b/arch/arm/cpu/armv7/uniphier/ph1-ld4/board_info.c index 27d772e..a84b77f 100644 --- a/arch/arm/cpu/armv7/uniphier/ph1-ld4/board_info.c +++ b/arch/arm/cpu/armv7/uniphier/ph1-ld4/board_info.c @@ -5,12 +5,6 @@ * SPDX-License-Identifier: GPL-2.0+ */
-#include <common.h> #include <asm/arch/board.h>
-int checkboard(void) -{ - puts("Board: PH1-LD4 Board\n"); - - return check_support_card(); -} +const char *uniphier_board_name = "PH1-LD4 Board"; diff --git a/arch/arm/cpu/armv7/uniphier/ph1-pro4/board_info.c b/arch/arm/cpu/armv7/uniphier/ph1-pro4/board_info.c index 325a4f6..94897d5 100644 --- a/arch/arm/cpu/armv7/uniphier/ph1-pro4/board_info.c +++ b/arch/arm/cpu/armv7/uniphier/ph1-pro4/board_info.c @@ -5,12 +5,7 @@ * SPDX-License-Identifier: GPL-2.0+ */
-#include <common.h> -#include <asm/arch/board.h>
-int checkboard(void) -{ - puts("Board: PH1-Pro4 Board\n"); +#include <asm/arch/board.h>
- return check_support_card(); -} +const char *uniphier_board_name = "PH1-Pro4 Board"; diff --git a/arch/arm/cpu/armv7/uniphier/ph1-sld8/board_info.c b/arch/arm/cpu/armv7/uniphier/ph1-sld8/board_info.c index 15dc289..3a293be 100644 --- a/arch/arm/cpu/armv7/uniphier/ph1-sld8/board_info.c +++ b/arch/arm/cpu/armv7/uniphier/ph1-sld8/board_info.c @@ -5,12 +5,7 @@ * SPDX-License-Identifier: GPL-2.0+ */
-#include <common.h> -#include <asm/arch/board.h>
-int checkboard(void) -{ - puts("Board: PH1-sLD8 Board\n"); +#include <asm/arch/board.h>
- return check_support_card(); -} +const char *uniphier_board_name = "PH1-sLD8 Board"; diff --git a/arch/arm/include/asm/arch-uniphier/board.h b/arch/arm/include/asm/arch-uniphier/board.h index e6ba4e4..1b50dd2 100644 --- a/arch/arm/include/asm/arch-uniphier/board.h +++ b/arch/arm/include/asm/arch-uniphier/board.h @@ -22,6 +22,8 @@ static inline int check_support_card(void) } #endif
+extern const char *uniphier_board_name; + static inline void uniphier_board_reset(void) { support_card_reset();