xref: /rk3399_rockchip-uboot/arch/arm/cpu/armv7/s5p-common/cpu_info.c (revision 5f5620ab2679608f94b3a77e51c77d0a770103bd)
1852bd07cSMinkyu Kang /*
2852bd07cSMinkyu Kang  * Copyright (C) 2009 Samsung Electronics
3852bd07cSMinkyu Kang  * Minkyu Kang <mk7.kang@samsung.com>
4852bd07cSMinkyu Kang  *
51a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
6852bd07cSMinkyu Kang  */
7852bd07cSMinkyu Kang #include <common.h>
8*fdbb740dSPrzemyslaw Marczak #include <fdtdec.h>
9852bd07cSMinkyu Kang #include <asm/io.h>
10852bd07cSMinkyu Kang #include <asm/arch/clk.h>
11852bd07cSMinkyu Kang 
12*fdbb740dSPrzemyslaw Marczak DECLARE_GLOBAL_DATA_PTR;
13*fdbb740dSPrzemyslaw Marczak 
14852bd07cSMinkyu Kang /* Default is s5pc100 */
1537168dabSMinkyu Kang unsigned int s5p_cpu_id = 0xC100;
165d845f27SMinkyu Kang /* Default is EVT1 */
175d845f27SMinkyu Kang unsigned int s5p_cpu_rev = 1;
18852bd07cSMinkyu Kang 
19852bd07cSMinkyu Kang #ifdef CONFIG_ARCH_CPU_INIT
arch_cpu_init(void)20852bd07cSMinkyu Kang int arch_cpu_init(void)
21852bd07cSMinkyu Kang {
2237168dabSMinkyu Kang 	s5p_set_cpu_id();
23852bd07cSMinkyu Kang 
24852bd07cSMinkyu Kang 	return 0;
25852bd07cSMinkyu Kang }
26852bd07cSMinkyu Kang #endif
27852bd07cSMinkyu Kang 
get_device_type(void)28852bd07cSMinkyu Kang u32 get_device_type(void)
29852bd07cSMinkyu Kang {
3037168dabSMinkyu Kang 	return s5p_cpu_id;
31852bd07cSMinkyu Kang }
32852bd07cSMinkyu Kang 
33852bd07cSMinkyu Kang #ifdef CONFIG_DISPLAY_CPUINFO
print_cpuinfo(void)34852bd07cSMinkyu Kang int print_cpuinfo(void)
35852bd07cSMinkyu Kang {
36*fdbb740dSPrzemyslaw Marczak 	const char *cpu_model;
37*fdbb740dSPrzemyslaw Marczak 	int len;
38*fdbb740dSPrzemyslaw Marczak 
39*fdbb740dSPrzemyslaw Marczak 	/* For SoC with no real CPU ID in naming convention. */
40*fdbb740dSPrzemyslaw Marczak 	cpu_model = fdt_getprop(gd->fdt_blob, 0, "cpu-model", &len);
41*fdbb740dSPrzemyslaw Marczak 	if (cpu_model)
42*fdbb740dSPrzemyslaw Marczak 		printf("CPU:   %.*s @ ", len, cpu_model);
43*fdbb740dSPrzemyslaw Marczak 	else
4471db6341SSimon Glass 		printf("CPU:   %s%X @ ", s5p_get_cpu_name(), s5p_cpu_id);
45*fdbb740dSPrzemyslaw Marczak 
4671db6341SSimon Glass 	print_freq(get_arm_clk(), "\n");
47852bd07cSMinkyu Kang 
48852bd07cSMinkyu Kang 	return 0;
49852bd07cSMinkyu Kang }
50852bd07cSMinkyu Kang #endif
51