xref: /openbmc/u-boot/common/board_info.c (revision 0365ffcc)
1*0365ffccSMasahiro Yamada /*
2*0365ffccSMasahiro Yamada  * SPDX-License-Identifier:	GPL-2.0+
3*0365ffccSMasahiro Yamada  */
4*0365ffccSMasahiro Yamada 
5*0365ffccSMasahiro Yamada #include <common.h>
6*0365ffccSMasahiro Yamada #include <libfdt.h>
7*0365ffccSMasahiro Yamada #include <linux/compiler.h>
8*0365ffccSMasahiro Yamada 
9*0365ffccSMasahiro Yamada int __weak checkboard(void)
10*0365ffccSMasahiro Yamada {
11*0365ffccSMasahiro Yamada 	printf("Board: Unknown\n");
12*0365ffccSMasahiro Yamada 	return 0;
13*0365ffccSMasahiro Yamada }
14*0365ffccSMasahiro Yamada 
15*0365ffccSMasahiro Yamada /*
16*0365ffccSMasahiro Yamada  * If the root node of the DTB has a "model" property, show it.
17*0365ffccSMasahiro Yamada  * If CONFIG_OF_CONTROL is disabled or the "model" property is missing,
18*0365ffccSMasahiro Yamada  * fall back to checkboard().
19*0365ffccSMasahiro Yamada  */
20*0365ffccSMasahiro Yamada int show_board_info(void)
21*0365ffccSMasahiro Yamada {
22*0365ffccSMasahiro Yamada #ifdef CONFIG_OF_CONTROL
23*0365ffccSMasahiro Yamada 	DECLARE_GLOBAL_DATA_PTR;
24*0365ffccSMasahiro Yamada 	const char *model;
25*0365ffccSMasahiro Yamada 
26*0365ffccSMasahiro Yamada 	model = fdt_getprop(gd->fdt_blob, 0, "model", NULL);
27*0365ffccSMasahiro Yamada 
28*0365ffccSMasahiro Yamada 	if (model) {
29*0365ffccSMasahiro Yamada 		printf("Model: %s\n", model);
30*0365ffccSMasahiro Yamada 		return 0;
31*0365ffccSMasahiro Yamada 	}
32*0365ffccSMasahiro Yamada #endif
33*0365ffccSMasahiro Yamada 
34*0365ffccSMasahiro Yamada 	return checkboard();
35*0365ffccSMasahiro Yamada }
36