diff options
author | David Hendricks <dhendrix@chromium.org> | 2013-08-01 18:17:55 -0700 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2013-12-21 21:02:31 +0100 |
commit | d598cac656d214bbdfdfa11426cca4bee6aed216 (patch) | |
tree | 13c4034a050d3d00ac24caed407b583167b36c5a | |
parent | 8ccabb6877c443d7905b02c9d9e5bafdc3994d82 (diff) |
exynos5420: update set_cpu_id()
The current function seems to be outdated...
Signed-off-by: David Hendricks <dhendrix@chromium.org>
built and booted. Now we see "CPU: S5P5420 @ 762MHz"
instead of "CPU: S5PC420 @ 762MHz"
Change-Id: Ieb103a5fa62bda9a6b2cbd9a82fb4f72c5dd6466
Reviewed-on: https://gerrit.chromium.org/gerrit/64302
Commit-Queue: David Hendricks <dhendrix@chromium.org>
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Tested-by: David Hendricks <dhendrix@chromium.org>
Reviewed-on: http://review.coreboot.org/4425
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
-rw-r--r-- | src/cpu/samsung/exynos5420/cpu.c | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/src/cpu/samsung/exynos5420/cpu.c b/src/cpu/samsung/exynos5420/cpu.c index 27fa08d5aa..49e1692723 100644 --- a/src/cpu/samsung/exynos5420/cpu.c +++ b/src/cpu/samsung/exynos5420/cpu.c @@ -37,18 +37,30 @@ static unsigned int cpu_rev; static void set_cpu_id(void) { - cpu_id = readl((void *)EXYNOS_PRO_ID); - cpu_id = (0xC000 | ((cpu_id & 0x00FFF000) >> 12)); + u32 pro_id = (read32((void *)EXYNOS_PRO_ID) & 0x00FFF000) >> 12; - /* - * 0xC200: EXYNOS4210 EVT0 - * 0xC210: EXYNOS4210 EVT1 - */ - if (cpu_id == 0xC200) { - cpu_id |= 0x10; + switch (pro_id) { + case 0x200: + /* Exynos4210 EVT0 */ + cpu_id = 0x4210; cpu_rev = 0; - } else if (cpu_id == 0xC210) { - cpu_rev = 1; + break; + case 0x210: + /* Exynos4210 EVT1 */ + cpu_id = 0x4210; + break; + case 0x412: + /* Exynos4412 */ + cpu_id = 0x4412; + break; + case 0x520: + /* Exynos5250 */ + cpu_id = 0x5250; + break; + case 0x420: + /* Exynos5420 */ + cpu_id = 0x5420; + break; } } |