aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/samsung/exynos5-common/cpu_info.c
diff options
context:
space:
mode:
authorStefan Reinauer <reinauer@chromium.org>2013-05-10 16:21:58 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2013-07-10 02:41:09 +0200
commit043eb0e35f93b41348eb69061a6aa0355ef544bc (patch)
tree3f5875408faf7223a9edfa1c3629e44e411b81d9 /src/cpu/samsung/exynos5-common/cpu_info.c
parent6adef0847e4a62abf00e489209d239c958447830 (diff)
Wield battle axe at ARM port
This patch unfortunately incorporates a number of changes, all of which are making future ARM ports easier. - drop cruft that came in with u-boot - move serial console from mainboard Kconfig to Exynos Kconfig - factor out non-board specific wakeup code - move generic bootblock code from mainboard to Exynos - actually call arch_cpu_init() - remove dead code - fix up copyright messages - remove snow_ prefix from a lot of code to reduce the noise when creating a new mainboard based on that code. Change-Id: Ic05326edf5a7e1a691c5ff841a604cb9e351b562 Signed-off-by: Stefan Reinauer <reinauer@google.com> Signed-off-by: Gabe Black <gabeblack@chromium.org> Reviewed-on: http://review.coreboot.org/3640 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/cpu/samsung/exynos5-common/cpu_info.c')
-rw-r--r--src/cpu/samsung/exynos5-common/cpu_info.c80
1 files changed, 9 insertions, 71 deletions
diff --git a/src/cpu/samsung/exynos5-common/cpu_info.c b/src/cpu/samsung/exynos5-common/cpu_info.c
index 6b75473656..ca9454ef61 100644
--- a/src/cpu/samsung/exynos5-common/cpu_info.c
+++ b/src/cpu/samsung/exynos5-common/cpu_info.c
@@ -20,13 +20,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
+
+#include <console/console.h>
#include <common.h>
-#if 0
-#include <asm/io.h>
-#include <asm/arch/clk.h>
-#include <asm/arch/clock.h>
-#include <asm/arch/dmc.h>
-#endif
#include <arch/io.h>
#include <cpu/samsung/exynos5-common/clk.h>
@@ -39,31 +35,10 @@
/* FIXME(dhendrix): consolidate samsung ID code/#defines to a common location */
#include <cpu/samsung/exynos5250/setup.h> /* cpu_info_init() prototype */
-/*
- * The following CPU infos are initialized in lowlevel_init(). They should be
- * put in the .data section. Otherwise, a compile will put them in the .bss
- * section since they don't have initial values. The relocation code which
- * runs after lowlevel_init() will reset them to zero.
- */
-unsigned int s5p_cpu_id __attribute__((section(".data")));
-unsigned int s5p_cpu_rev __attribute__((section(".data")));
-
-void cpu_info_init(void)
-{
- s5p_set_cpu_id();
-}
-
-int s5p_get_cpu_id(void)
-{
- return s5p_cpu_id;
-}
-
-int s5p_get_cpu_rev(void)
-{
- return s5p_cpu_rev;
-}
+static unsigned int s5p_cpu_id;
+static unsigned int s5p_cpu_rev;
-void s5p_set_cpu_id(void)
+static void s5p_set_cpu_id(void)
{
s5p_cpu_id = readl((void *)EXYNOS_PRO_ID);
s5p_cpu_id = (0xC000 | ((s5p_cpu_id & 0x00FFF000) >> 12));
@@ -80,49 +55,12 @@ void s5p_set_cpu_id(void)
}
}
-#ifdef CONFIG_DISPLAY_CPUINFO
-int print_cpuinfo(void)
-{
- char buf[32];
-
- printf("CPU: S5P%X @ %sMHz\n",
- s5p_cpu_id, strmhz(buf, get_arm_clk()));
-
- return 0;
-}
-#endif
-
-#if 0
-void board_show_dram(ulong size)
-{
- enum ddr_mode mem_type;
- unsigned frequency_mhz;
- unsigned arm_freq;
- enum mem_manuf mem_manuf;
- char buf[32];
- int ret;
-
- /* Get settings from the fdt */
- ret = clock_get_mem_selection(&mem_type, &frequency_mhz,
- &arm_freq, &mem_manuf);
- if (ret)
- panic("Invalid DRAM information");
-
- puts("DRAM: ");
- print_size(size, " ");
- printf("%s %s @ %sMHz",
- clock_get_mem_manuf_name(mem_manuf),
- clock_get_mem_type_name(mem_type),
- strmhz(buf, frequency_mhz));
- putc('\n');
-}
-#endif
-
-#ifdef CONFIG_ARCH_CPU_INIT
int arch_cpu_init(void)
{
- cpu_info_init();
+ s5p_set_cpu_id();
+
+ printk(BIOS_INFO, "CPU: S5P%X @ %ldMHz\n",
+ s5p_cpu_id, get_arm_clk() / (1024*1024));
return 0;
}
-#endif