Commit 00bd60fe33f3b9e0d790a5e3eebbaa50ac89ead2
Exists in
master
and in
20 other branches
Merge branch 'v3.4-samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel…
…/git/kgene/linux-samsung into fixes * 'v3.4-samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: Fix compiler warning in dma.c file ARM: EXYNOS: fix ISO C90 warning ARM: EXYNOS: use chip_id reg in uncompress to select uart base phys ARM: EXYNOS: fix CONFIG_DEBUG_LL ARM: S3C24XX: fix missing common.h in mach-s3c24xx/
Showing 5 changed files Side-by-side Diff
arch/arm/mach-exynos/common.c
... | ... | @@ -583,10 +583,11 @@ |
583 | 583 | #ifdef CONFIG_CACHE_L2X0 |
584 | 584 | static int __init exynos4_l2x0_cache_init(void) |
585 | 585 | { |
586 | + int ret; | |
587 | + | |
586 | 588 | if (soc_is_exynos5250()) |
587 | 589 | return 0; |
588 | 590 | |
589 | - int ret; | |
590 | 591 | ret = l2x0_of_init(L2_AUX_VAL, L2_AUX_MASK); |
591 | 592 | if (!ret) { |
592 | 593 | l2x0_regs_phys = virt_to_phys(&l2x0_saved_regs); |
arch/arm/mach-exynos/dma.c
arch/arm/mach-exynos/include/mach/debug-macro.S
... | ... | @@ -21,10 +21,9 @@ |
21 | 21 | */ |
22 | 22 | |
23 | 23 | .macro addruart, rp, rv, tmp |
24 | - mov \rp, #0x10000000 | |
25 | - ldr \rp, [\rp, #0x0] | |
26 | - and \rp, \rp, #0xf00000 | |
27 | - teq \rp, #0x500000 @@ EXYNOS5 | |
24 | + mrc p15, 0, \tmp, c0, c0, 0 | |
25 | + and \tmp, \tmp, #0xf0 | |
26 | + teq \tmp, #0xf0 @@ A15 | |
28 | 27 | ldreq \rp, =EXYNOS5_PA_UART |
29 | 28 | movne \rp, #EXYNOS4_PA_UART @@ EXYNOS4 |
30 | 29 | ldr \rv, =S3C_VA_UART |
arch/arm/mach-exynos/include/mach/uncompress.h
... | ... | @@ -20,9 +20,24 @@ |
20 | 20 | |
21 | 21 | #include <plat/uncompress.h> |
22 | 22 | |
23 | +static unsigned int __raw_readl(unsigned int ptr) | |
24 | +{ | |
25 | + return *((volatile unsigned int *)ptr); | |
26 | +} | |
27 | + | |
23 | 28 | static void arch_detect_cpu(void) |
24 | 29 | { |
25 | - if (machine_is_smdk5250()) | |
30 | + u32 chip_id = __raw_readl(EXYNOS_PA_CHIPID); | |
31 | + | |
32 | + /* | |
33 | + * product_id is bits 31:12 | |
34 | + * bits 23:20 describe the exynosX family | |
35 | + * | |
36 | + */ | |
37 | + chip_id >>= 20; | |
38 | + chip_id &= 0xf; | |
39 | + | |
40 | + if (chip_id == 0x5) | |
26 | 41 | uart_base = (volatile u8 *)EXYNOS5_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT); |
27 | 42 | else |
28 | 43 | uart_base = (volatile u8 *)EXYNOS4_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT); |
arch/arm/mach-s3c24xx/common.h
1 | +/* | |
2 | + * Copyright (c) 2012 Samsung Electronics Co., Ltd. | |
3 | + * http://www.samsung.com | |
4 | + * | |
5 | + * Common Header for S3C24XX SoCs | |
6 | + * | |
7 | + * This program is free software; you can redistribute it and/or modify | |
8 | + * it under the terms of the GNU General Public License version 2 as | |
9 | + * published by the Free Software Foundation. | |
10 | + */ | |
11 | + | |
12 | +#ifndef __ARCH_ARM_MACH_S3C24XX_COMMON_H | |
13 | +#define __ARCH_ARM_MACH_S3C24XX_COMMON_H __FILE__ | |
14 | + | |
15 | +void s3c2410_restart(char mode, const char *cmd); | |
16 | +void s3c244x_restart(char mode, const char *cmd); | |
17 | + | |
18 | +#endif /* __ARCH_ARM_MACH_S3C24XX_COMMON_H */ |