diff options
author | Olof Johansson <olof@lixom.net> | 2012-04-05 13:49:45 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-04-05 13:49:45 -0400 |
commit | 00bd60fe33f3b9e0d790a5e3eebbaa50ac89ead2 (patch) | |
tree | 706e9db7d0a45fd75d03d72ab568d6b7d44287b7 /arch | |
parent | 57b501bdceca328bb500d87587b440194ef15e8d (diff) | |
parent | f011fd164801cd8dd151268ae7adbadef0e3e301 (diff) |
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/
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-exynos/common.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-exynos/dma.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/debug-macro.S | 7 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/uncompress.h | 17 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/common.h | 18 |
5 files changed, 39 insertions, 8 deletions
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c index e6cc50e94a58..8614aab47cc0 100644 --- a/arch/arm/mach-exynos/common.c +++ b/arch/arm/mach-exynos/common.c | |||
@@ -583,10 +583,11 @@ core_initcall(exynos_core_init); | |||
583 | #ifdef CONFIG_CACHE_L2X0 | 583 | #ifdef CONFIG_CACHE_L2X0 |
584 | static int __init exynos4_l2x0_cache_init(void) | 584 | static int __init exynos4_l2x0_cache_init(void) |
585 | { | 585 | { |
586 | int ret; | ||
587 | |||
586 | if (soc_is_exynos5250()) | 588 | if (soc_is_exynos5250()) |
587 | return 0; | 589 | return 0; |
588 | 590 | ||
589 | int ret; | ||
590 | ret = l2x0_of_init(L2_AUX_VAL, L2_AUX_MASK); | 591 | ret = l2x0_of_init(L2_AUX_VAL, L2_AUX_MASK); |
591 | if (!ret) { | 592 | if (!ret) { |
592 | l2x0_regs_phys = virt_to_phys(&l2x0_saved_regs); | 593 | l2x0_regs_phys = virt_to_phys(&l2x0_saved_regs); |
diff --git a/arch/arm/mach-exynos/dma.c b/arch/arm/mach-exynos/dma.c index 3983abee4264..69aaa4503205 100644 --- a/arch/arm/mach-exynos/dma.c +++ b/arch/arm/mach-exynos/dma.c | |||
@@ -35,8 +35,6 @@ | |||
35 | #include <mach/irqs.h> | 35 | #include <mach/irqs.h> |
36 | #include <mach/dma.h> | 36 | #include <mach/dma.h> |
37 | 37 | ||
38 | static u64 dma_dmamask = DMA_BIT_MASK(32); | ||
39 | |||
40 | static u8 exynos4210_pdma0_peri[] = { | 38 | static u8 exynos4210_pdma0_peri[] = { |
41 | DMACH_PCM0_RX, | 39 | DMACH_PCM0_RX, |
42 | DMACH_PCM0_TX, | 40 | DMACH_PCM0_TX, |
diff --git a/arch/arm/mach-exynos/include/mach/debug-macro.S b/arch/arm/mach-exynos/include/mach/debug-macro.S index 6c857ff0b5d8..e0c86ea475e7 100644 --- a/arch/arm/mach-exynos/include/mach/debug-macro.S +++ b/arch/arm/mach-exynos/include/mach/debug-macro.S | |||
@@ -21,10 +21,9 @@ | |||
21 | */ | 21 | */ |
22 | 22 | ||
23 | .macro addruart, rp, rv, tmp | 23 | .macro addruart, rp, rv, tmp |
24 | mov \rp, #0x10000000 | 24 | mrc p15, 0, \tmp, c0, c0, 0 |
25 | ldr \rp, [\rp, #0x0] | 25 | and \tmp, \tmp, #0xf0 |
26 | and \rp, \rp, #0xf00000 | 26 | teq \tmp, #0xf0 @@ A15 |
27 | teq \rp, #0x500000 @@ EXYNOS5 | ||
28 | ldreq \rp, =EXYNOS5_PA_UART | 27 | ldreq \rp, =EXYNOS5_PA_UART |
29 | movne \rp, #EXYNOS4_PA_UART @@ EXYNOS4 | 28 | movne \rp, #EXYNOS4_PA_UART @@ EXYNOS4 |
30 | ldr \rv, =S3C_VA_UART | 29 | ldr \rv, =S3C_VA_UART |
diff --git a/arch/arm/mach-exynos/include/mach/uncompress.h b/arch/arm/mach-exynos/include/mach/uncompress.h index 493f4f365ddf..2979995d5a6a 100644 --- a/arch/arm/mach-exynos/include/mach/uncompress.h +++ b/arch/arm/mach-exynos/include/mach/uncompress.h | |||
@@ -20,9 +20,24 @@ volatile u8 *uart_base; | |||
20 | 20 | ||
21 | #include <plat/uncompress.h> | 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 | static void arch_detect_cpu(void) | 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 | uart_base = (volatile u8 *)EXYNOS5_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT); | 41 | uart_base = (volatile u8 *)EXYNOS5_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT); |
27 | else | 42 | else |
28 | uart_base = (volatile u8 *)EXYNOS4_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT); | 43 | uart_base = (volatile u8 *)EXYNOS4_PA_UART + (S3C_UART_OFFSET * CONFIG_S3C_LOWLEVEL_UART_PORT); |
diff --git a/arch/arm/mach-s3c24xx/common.h b/arch/arm/mach-s3c24xx/common.h new file mode 100644 index 000000000000..c2f596e7bc2d --- /dev/null +++ b/arch/arm/mach-s3c24xx/common.h | |||
@@ -0,0 +1,18 @@ | |||
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 */ | ||