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