summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorPrzemyslaw Marczak <p.marczak@samsung.com>2015-10-27 13:07:55 +0100
committerMinkyu Kang <mk7.kang@samsung.com>2015-11-02 10:37:59 +0900
commitfdbb740d7c3fd701ca3af1f6033060cfd358c2bc (patch)
tree7d233621a0502c9d85c2fc5b71ba69b01b09f6b0 /arch/arm
parentbc3f39ea0d3c9339b7f09b1d766b6a62e1921033 (diff)
downloadu-boot-imx-fdbb740d7c3fd701ca3af1f6033060cfd358c2bc.zip
u-boot-imx-fdbb740d7c3fd701ca3af1f6033060cfd358c2bc.tar.gz
u-boot-imx-fdbb740d7c3fd701ca3af1f6033060cfd358c2bc.tar.bz2
s5p: cpu_info: print "cpu-model" if exists in dts
The CPU name for Exynos was concatenated with cpu id, but for new Exynos platforms, like Chromebook Peach Pi based on Exynos5800, the name of SoC variant does not include the real SoC cpu id (0x5422). For such case, the CPU name should be defined in device tree. This commit introduces new device-tree property for Exynos: - "cpu-model" - with cpu name string If defined, then the cpu id is not printed. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Anand Moon <linux.amoon@gmail.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/cpu/armv7/s5p-common/cpu_info.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/arm/cpu/armv7/s5p-common/cpu_info.c b/arch/arm/cpu/armv7/s5p-common/cpu_info.c
index 154d674..764c661 100644
--- a/arch/arm/cpu/armv7/s5p-common/cpu_info.c
+++ b/arch/arm/cpu/armv7/s5p-common/cpu_info.c
@@ -5,9 +5,12 @@
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
+#include <fdtdec.h>
#include <asm/io.h>
#include <asm/arch/clk.h>
+DECLARE_GLOBAL_DATA_PTR;
+
/* Default is s5pc100 */
unsigned int s5p_cpu_id = 0xC100;
/* Default is EVT1 */
@@ -30,7 +33,16 @@ u32 get_device_type(void)
#ifdef CONFIG_DISPLAY_CPUINFO
int print_cpuinfo(void)
{
- printf("CPU: %s%X @ ", s5p_get_cpu_name(), s5p_cpu_id);
+ const char *cpu_model;
+ int len;
+
+ /* For SoC with no real CPU ID in naming convention. */
+ cpu_model = fdt_getprop(gd->fdt_blob, 0, "cpu-model", &len);
+ if (cpu_model)
+ printf("CPU: %.*s @ ", len, cpu_model);
+ else
+ printf("CPU: %s%X @ ", s5p_get_cpu_name(), s5p_cpu_id);
+
print_freq(get_arm_clk(), "\n");
return 0;