1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright 2000-2009
4  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5  */
6 
7 #include <common.h>
8 #include <command.h>
9 #include <display_options.h>
10 #include <timestamp.h>
11 #include <version.h>
12 #include <version_string.h>
13 #include <linux/compiler.h>
14 #ifdef CONFIG_SYS_COREBOOT
15 #include <asm/cb_sysinfo.h>
16 #endif
17 
18 #define U_BOOT_VERSION_STRING U_BOOT_VERSION " (" U_BOOT_DATE " - " \
19 	U_BOOT_TIME " " U_BOOT_TZ ")" CONFIG_IDENT_STRING
20 
21 const char version_string[] = U_BOOT_VERSION_STRING;
22 
do_version(struct cmd_tbl * cmdtp,int flag,int argc,char * const argv[])23 static int do_version(struct cmd_tbl *cmdtp, int flag, int argc,
24 		      char *const argv[])
25 {
26 	char buf[DISPLAY_OPTIONS_BANNER_LENGTH];
27 
28 	printf(display_options_get_banner(false, buf, sizeof(buf)));
29 #ifdef CC_VERSION_STRING
30 	puts(CC_VERSION_STRING "\n");
31 #endif
32 #ifdef LD_VERSION_STRING
33 	puts(LD_VERSION_STRING "\n");
34 #endif
35 #ifdef CONFIG_SYS_COREBOOT
36 	printf("coreboot-%s (%s)\n", lib_sysinfo.version, lib_sysinfo.build);
37 #endif
38 	return 0;
39 }
40 
41 U_BOOT_CMD(
42 	version,	1,		1,	do_version,
43 	"print monitor, compiler and linker version",
44 	""
45 );
46