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>
This commit is contained in:
David Hendricks 2013-08-01 18:17:55 -07:00 committed by Patrick Georgi
parent 8ccabb6877
commit d598cac656
1 changed files with 22 additions and 10 deletions

View File

@ -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;
}
}