xref: /openbmc/u-boot/arch/arc/lib/cpu.c (revision 87e29878)
1 /*
2  * Copyright (C) 2013-2014 Synopsys, Inc. All rights reserved.
3  *
4  * SPDX-License-Identifier:	GPL-2.0+
5  */
6 
7 #include <common.h>
8 #include <asm/arcregs.h>
9 #include <asm/cache.h>
10 
11 DECLARE_GLOBAL_DATA_PTR;
12 
13 int arch_cpu_init(void)
14 {
15 	timer_init();
16 
17 /* In simulation (ISS) "CHIPID" and "ARCNUM" are all "ff" */
18 	if ((read_aux_reg(ARC_AUX_IDENTITY) & 0xffffff00) == 0xffffff00)
19 		gd->arch.running_on_hw = 0;
20 	else
21 		gd->arch.running_on_hw = 1;
22 
23 	gd->cpu_clk = CONFIG_SYS_CLK_FREQ;
24 	gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
25 
26 	cache_init();
27 
28 	return 0;
29 }
30 
31 int arch_early_init_r(void)
32 {
33 	gd->bd->bi_memstart = CONFIG_SYS_SDRAM_BASE;
34 	gd->bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
35 	return 0;
36 }
37