From 6ef705b1575045f7b63bf011a0774228159715b2 Mon Sep 17 00:00:00 2001 From: Alexey Brodkin Date: Tue, 27 Nov 2018 09:47:01 +0300 Subject: [PATCH] arc: devboards: Implement checkboard() This allows us to print nice board name on boot. Signed-off-by: Alexey Brodkin --- board/synopsys/axs10x/axs10x.c | 8 ++++++++ board/synopsys/emsdp/emsdp.c | 10 ++++++++++ board/synopsys/hsdk/hsdk.c | 6 ++++++ 3 files changed, 24 insertions(+) diff --git a/board/synopsys/axs10x/axs10x.c b/board/synopsys/axs10x/axs10x.c index c95f7af7a7..ffa7c154b5 100644 --- a/board/synopsys/axs10x/axs10x.c +++ b/board/synopsys/axs10x/axs10x.c @@ -109,3 +109,11 @@ void smp_kick_all_cpus(void) writel(cmd, (void __iomem *)AXC003_CREG_CPU_START); } #endif + +int checkboard(void) +{ + printf("Board: ARC Software Development Platform AXS%s\n", + is_isa_arcv2() ? "103" : "101"); + + return 0; +}; diff --git a/board/synopsys/emsdp/emsdp.c b/board/synopsys/emsdp/emsdp.c index 3d05f7a8a5..c0770b58c1 100644 --- a/board/synopsys/emsdp/emsdp.c +++ b/board/synopsys/emsdp/emsdp.c @@ -80,6 +80,7 @@ int board_mmc_getcd(struct mmc *mmc) #define CREG_BASE 0xF0001000 #define CREG_BOOT (void *)(CREG_BASE + 0x0FF0) #define CREG_IP_SW_RESET (void *)(CREG_BASE + 0x0FF0) +#define CREG_IP_VERSION (void *)(CREG_BASE + 0x0FF8) /* Bits in CREG_BOOT register */ #define CREG_BOOT_WP_BIT BIT(8) @@ -133,3 +134,12 @@ U_BOOT_CMD( "rom unlock - Unlock non-volatile memory for writing\n" "emsdp rom lock - Lock non-volatile memory to prevent writing\n" ); + +int checkboard(void) +{ + int version = readl(CREG_IP_VERSION); + + printf("Board: ARC EM Software Development Platform v%d.%d\n", + (version >> 16) & 0xff, version & 0xff); + return 0; +}; diff --git a/board/synopsys/hsdk/hsdk.c b/board/synopsys/hsdk/hsdk.c index ff343599b0..8a2c201477 100644 --- a/board/synopsys/hsdk/hsdk.c +++ b/board/synopsys/hsdk/hsdk.c @@ -1053,3 +1053,9 @@ int board_mmc_init(bd_t *bis) return 0; } + +int checkboard(void) +{ + puts("Board: Synopsys ARC HS Development Kit\n"); + return 0; +}; -- 2.39.5