ARC: Implement print_cpuinfo()

Once we enable DISPLAY_CPUINFO for ARC we'll see
ARC core family and version printed on boot.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
lime2-spi
Alexey Brodkin 6 years ago
parent c3dcd508b6
commit 7fe46b969d
  1. 35
      arch/arc/lib/cpu.c

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0+ // SPDX-License-Identifier: GPL-2.0+
/* /*
* Copyright (C) 2013-2014 Synopsys, Inc. All rights reserved. * Copyright (C) 2013-2014, 2018 Synopsys, Inc. All rights reserved.
*/ */
#include <common.h> #include <common.h>
@ -33,3 +33,36 @@ int dram_init(void)
{ {
return 0; return 0;
} }
#ifdef CONFIG_DISPLAY_CPUINFO
const char *decode_identity(void)
{
int arcver = read_aux_reg(ARC_AUX_IDENTITY) & 0xff;
switch (arcver) {
/* ARCompact cores */
case 0x32: return "ARC 700 v4.4-4.5";
case 0x33: return "ARC 700 v4.6-v4.9";
case 0x34: return "ARC 700 v4.10";
case 0x35: return "ARC 700 v4.11";
/* ARCv2 cores */
case 0x41: return "ARC EM v1.1a";
case 0x42: return "ARC EM v3.0";
case 0x43: return "ARC EM v4.0";
case 0x50: return "ARC HS v1.0";
case 0x51: return "ARC EM v2.0";
case 0x52: return "ARC EM v2.1";
case 0x53: return "ARC HS v3.0";
case 0x54: return "ARC HS v4.0";
default: return "Unknown ARC core";
}
}
int print_cpuinfo(void)
{
printf("CPU: %s\n", decode_identity());
return 0;
}
#endif /* CONFIG_DISPLAY_CPUINFO */

Loading…
Cancel
Save