From 80c0d38a560cd991907340799fb55a6d75dd997f Mon Sep 17 00:00:00 2001 From: T Karthik Reddy <t.karthik.reddy@xilinx.com> Date: Tue, 10 Aug 2021 06:50:20 -0600 Subject: [PATCH] xilinx: common: Add function to print SoC info Add print_cpuinfo() to print SoC info like family & revision. This function depends on CONFIG_DISPLAY_CPUINFO config. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Reviewed-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> --- board/xilinx/common/board.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c index 92b61d83ca..90c87bab5c 100644 --- a/board/xilinx/common/board.c +++ b/board/xilinx/common/board.c @@ -18,6 +18,7 @@ #include <i2c_eeprom.h> #include <net.h> #include <generated/dt.h> +#include <soc.h> #include "fru.h" @@ -440,3 +441,28 @@ int __maybe_unused board_fit_config_name_match(const char *name) return -1; } + +#if defined(CONFIG_DISPLAY_CPUINFO) && !defined(CONFIG_ARCH_ZYNQ) +int print_cpuinfo(void) +{ + struct udevice *soc; + char name[SOC_MAX_STR_SIZE]; + int ret; + + ret = soc_get(&soc); + if (ret) { + printf("CPU: UNKNOWN\n"); + return 0; + } + + ret = soc_get_family(soc, name, SOC_MAX_STR_SIZE); + if (ret) + printf("CPU: %s\n", name); + + ret = soc_get_revision(soc, name, SOC_MAX_STR_SIZE); + if (ret) + printf("Silicon: %s\n", name); + + return 0; +} +#endif