Skip to content

Commit

Permalink
ARM: EXYNOS: use chip_id reg in uncompress to select uart base phys
Browse files Browse the repository at this point in the history
Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
  • Loading branch information
Dima Zavin authored and Kukjin Kim committed Apr 4, 2012
1 parent fd9abe1 commit 6aa5106
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion arch/arm/mach-exynos/include/mach/uncompress.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,24 @@ volatile u8 *uart_base;

#include <plat/uncompress.h>

static unsigned int __raw_readl(unsigned int ptr)
{
return *((volatile unsigned int *)ptr);
}

static void arch_detect_cpu(void)
{
if (machine_is_smdk5250())
u32 chip_id = __raw_readl(EXYNOS_PA_CHIPID);

/*
* product_id is bits 31:12
* bits 23:20 describe the exynosX family
*
*/
chip_id >>= 20;
chip_id &= 0xf;

if (chip_id == 0x5)
uart_base = (volatile u8 *)EXYNOS5_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT);
else
uart_base = (volatile u8 *)EXYNOS4_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT);
Expand Down

0 comments on commit 6aa5106

Please sign in to comment.