diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-28 17:12:05 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-28 17:12:05 -0400 |
| commit | 45b5bed7bc02a7f04127ac32f8fe7117b6baa419 (patch) | |
| tree | 1cfa97e50e3e7be28f025e580a3e6e5deedaa737 | |
| parent | 30c0f6a04975d557f3c1a4e640b3808b1231c3ef (diff) | |
| parent | 766211e74818e655593fd3272cbf84868220f9e5 (diff) | |
Merge branch 's5p-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung
* 's5p-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: S5PV310: Fix on Secondary CPU startup
ARM: S5PV310: Bug fix on uclk1 and sclk_pwm
ARM: S5PV310: Fix missed uart clocks
ARM: S5PV310: Should be clk_sclk_apll not clk_mout_apll
ARM: S5PV310: Fix on PLL setting for S5PV310
ARM: S5PV310: Add CMU block for S5PV310 Clock
ARM: S5PV310: Fix on typo irqs.h of S5PV310
ARM: S5PV310: Fix on default ZRELADDR of ARCH_S5PV310
ARM: S5PV310: Fix on GPIO base addresses
ARM: SAMSUNG: Fix on build warning regarding VMALLOC_END type
ARM: S5P: VMALLOC_END should be unsigned long
| -rw-r--r-- | arch/arm/Kconfig | 3 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2410/include/mach/vmalloc.h | 2 | ||||
| -rw-r--r-- | arch/arm/mach-s3c64xx/include/mach/vmalloc.h | 2 | ||||
| -rw-r--r-- | arch/arm/mach-s5p6440/include/mach/vmalloc.h | 2 | ||||
| -rw-r--r-- | arch/arm/mach-s5p6442/include/mach/vmalloc.h | 2 | ||||
| -rw-r--r-- | arch/arm/mach-s5pv210/include/mach/vmalloc.h | 2 | ||||
| -rw-r--r-- | arch/arm/mach-s5pv310/clock.c | 82 | ||||
| -rw-r--r-- | arch/arm/mach-s5pv310/cpu.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-s5pv310/include/mach/irqs.h | 11 | ||||
| -rw-r--r-- | arch/arm/mach-s5pv310/include/mach/map.h | 16 | ||||
| -rw-r--r-- | arch/arm/mach-s5pv310/include/mach/regs-clock.h | 59 | ||||
| -rw-r--r-- | arch/arm/mach-s5pv310/include/mach/vmalloc.h | 2 | ||||
| -rw-r--r-- | arch/arm/mach-s5pv310/platsmp.c | 2 | ||||
| -rw-r--r-- | arch/arm/plat-s5p/include/plat/map-s5p.h | 2 |
14 files changed, 135 insertions, 62 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 92951103255a..a7ed21f0136a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
| @@ -1622,7 +1622,8 @@ config ZRELADDR | |||
| 1622 | default 0x40008000 if ARCH_STMP378X ||\ | 1622 | default 0x40008000 if ARCH_STMP378X ||\ |
| 1623 | ARCH_STMP37XX ||\ | 1623 | ARCH_STMP37XX ||\ |
| 1624 | ARCH_SH7372 ||\ | 1624 | ARCH_SH7372 ||\ |
| 1625 | ARCH_SH7377 | 1625 | ARCH_SH7377 ||\ |
| 1626 | ARCH_S5PV310 | ||
| 1626 | default 0x50008000 if ARCH_S3C64XX ||\ | 1627 | default 0x50008000 if ARCH_S3C64XX ||\ |
| 1627 | ARCH_SH7367 | 1628 | ARCH_SH7367 |
| 1628 | default 0x60008000 if ARCH_VEXPRESS | 1629 | default 0x60008000 if ARCH_VEXPRESS |
diff --git a/arch/arm/mach-s3c2410/include/mach/vmalloc.h b/arch/arm/mach-s3c2410/include/mach/vmalloc.h index 315b0078a34d..54297eb0bf5e 100644 --- a/arch/arm/mach-s3c2410/include/mach/vmalloc.h +++ b/arch/arm/mach-s3c2410/include/mach/vmalloc.h | |||
| @@ -15,6 +15,6 @@ | |||
| 15 | #ifndef __ASM_ARCH_VMALLOC_H | 15 | #ifndef __ASM_ARCH_VMALLOC_H |
| 16 | #define __ASM_ARCH_VMALLOC_H | 16 | #define __ASM_ARCH_VMALLOC_H |
| 17 | 17 | ||
| 18 | #define VMALLOC_END (0xE0000000) | 18 | #define VMALLOC_END 0xE0000000UL |
| 19 | 19 | ||
| 20 | #endif /* __ASM_ARCH_VMALLOC_H */ | 20 | #endif /* __ASM_ARCH_VMALLOC_H */ |
diff --git a/arch/arm/mach-s3c64xx/include/mach/vmalloc.h b/arch/arm/mach-s3c64xx/include/mach/vmalloc.h index 7411ef3711a6..bc0e91389864 100644 --- a/arch/arm/mach-s3c64xx/include/mach/vmalloc.h +++ b/arch/arm/mach-s3c64xx/include/mach/vmalloc.h | |||
| @@ -15,6 +15,6 @@ | |||
| 15 | #ifndef __ASM_ARCH_VMALLOC_H | 15 | #ifndef __ASM_ARCH_VMALLOC_H |
| 16 | #define __ASM_ARCH_VMALLOC_H | 16 | #define __ASM_ARCH_VMALLOC_H |
| 17 | 17 | ||
| 18 | #define VMALLOC_END (0xE0000000) | 18 | #define VMALLOC_END 0xE0000000UL |
| 19 | 19 | ||
| 20 | #endif /* __ASM_ARCH_VMALLOC_H */ | 20 | #endif /* __ASM_ARCH_VMALLOC_H */ |
diff --git a/arch/arm/mach-s5p6440/include/mach/vmalloc.h b/arch/arm/mach-s5p6440/include/mach/vmalloc.h index 16df257b1dce..e3f0eebf5205 100644 --- a/arch/arm/mach-s5p6440/include/mach/vmalloc.h +++ b/arch/arm/mach-s5p6440/include/mach/vmalloc.h | |||
| @@ -12,6 +12,6 @@ | |||
| 12 | #ifndef __ASM_ARCH_VMALLOC_H | 12 | #ifndef __ASM_ARCH_VMALLOC_H |
| 13 | #define __ASM_ARCH_VMALLOC_H | 13 | #define __ASM_ARCH_VMALLOC_H |
| 14 | 14 | ||
| 15 | #define VMALLOC_END (0xE0000000) | 15 | #define VMALLOC_END 0xE0000000UL |
| 16 | 16 | ||
| 17 | #endif /* __ASM_ARCH_VMALLOC_H */ | 17 | #endif /* __ASM_ARCH_VMALLOC_H */ |
diff --git a/arch/arm/mach-s5p6442/include/mach/vmalloc.h b/arch/arm/mach-s5p6442/include/mach/vmalloc.h index be3333688c20..f5c83f02c18e 100644 --- a/arch/arm/mach-s5p6442/include/mach/vmalloc.h +++ b/arch/arm/mach-s5p6442/include/mach/vmalloc.h | |||
| @@ -12,6 +12,6 @@ | |||
| 12 | #ifndef __ASM_ARCH_VMALLOC_H | 12 | #ifndef __ASM_ARCH_VMALLOC_H |
| 13 | #define __ASM_ARCH_VMALLOC_H | 13 | #define __ASM_ARCH_VMALLOC_H |
| 14 | 14 | ||
| 15 | #define VMALLOC_END (0xE0000000) | 15 | #define VMALLOC_END 0xE0000000UL |
| 16 | 16 | ||
| 17 | #endif /* __ASM_ARCH_VMALLOC_H */ | 17 | #endif /* __ASM_ARCH_VMALLOC_H */ |
diff --git a/arch/arm/mach-s5pv210/include/mach/vmalloc.h b/arch/arm/mach-s5pv210/include/mach/vmalloc.h index 58f515e0747e..df9a28808323 100644 --- a/arch/arm/mach-s5pv210/include/mach/vmalloc.h +++ b/arch/arm/mach-s5pv210/include/mach/vmalloc.h | |||
| @@ -17,6 +17,6 @@ | |||
| 17 | #ifndef __ASM_ARCH_VMALLOC_H | 17 | #ifndef __ASM_ARCH_VMALLOC_H |
| 18 | #define __ASM_ARCH_VMALLOC_H __FILE__ | 18 | #define __ASM_ARCH_VMALLOC_H __FILE__ |
| 19 | 19 | ||
| 20 | #define VMALLOC_END (0xE0000000) | 20 | #define VMALLOC_END (0xE0000000UL) |
| 21 | 21 | ||
| 22 | #endif /* __ASM_ARCH_VMALLOC_H */ | 22 | #endif /* __ASM_ARCH_VMALLOC_H */ |
diff --git a/arch/arm/mach-s5pv310/clock.c b/arch/arm/mach-s5pv310/clock.c index 77f2b4d85e6b..26a0f03df8ea 100644 --- a/arch/arm/mach-s5pv310/clock.c +++ b/arch/arm/mach-s5pv310/clock.c | |||
| @@ -30,6 +30,16 @@ static struct clk clk_sclk_hdmi27m = { | |||
| 30 | .rate = 27000000, | 30 | .rate = 27000000, |
| 31 | }; | 31 | }; |
| 32 | 32 | ||
| 33 | static int s5pv310_clksrc_mask_peril0_ctrl(struct clk *clk, int enable) | ||
| 34 | { | ||
| 35 | return s5p_gatectrl(S5P_CLKSRC_MASK_PERIL0, clk, enable); | ||
| 36 | } | ||
| 37 | |||
| 38 | static int s5pv310_clk_ip_peril_ctrl(struct clk *clk, int enable) | ||
| 39 | { | ||
| 40 | return s5p_gatectrl(S5P_CLKGATE_IP_PERIL, clk, enable); | ||
| 41 | } | ||
| 42 | |||
| 33 | /* Core list of CMU_CPU side */ | 43 | /* Core list of CMU_CPU side */ |
| 34 | 44 | ||
| 35 | static struct clksrc_clk clk_mout_apll = { | 45 | static struct clksrc_clk clk_mout_apll = { |
| @@ -39,6 +49,14 @@ static struct clksrc_clk clk_mout_apll = { | |||
| 39 | }, | 49 | }, |
| 40 | .sources = &clk_src_apll, | 50 | .sources = &clk_src_apll, |
| 41 | .reg_src = { .reg = S5P_CLKSRC_CPU, .shift = 0, .size = 1 }, | 51 | .reg_src = { .reg = S5P_CLKSRC_CPU, .shift = 0, .size = 1 }, |
| 52 | }; | ||
| 53 | |||
| 54 | static struct clksrc_clk clk_sclk_apll = { | ||
| 55 | .clk = { | ||
| 56 | .name = "sclk_apll", | ||
| 57 | .id = -1, | ||
| 58 | .parent = &clk_mout_apll.clk, | ||
| 59 | }, | ||
| 42 | .reg_div = { .reg = S5P_CLKDIV_CPU, .shift = 24, .size = 3 }, | 60 | .reg_div = { .reg = S5P_CLKDIV_CPU, .shift = 24, .size = 3 }, |
| 43 | }; | 61 | }; |
| 44 | 62 | ||
| @@ -61,7 +79,7 @@ static struct clksrc_clk clk_mout_mpll = { | |||
| 61 | }; | 79 | }; |
| 62 | 80 | ||
| 63 | static struct clk *clkset_moutcore_list[] = { | 81 | static struct clk *clkset_moutcore_list[] = { |
| 64 | [0] = &clk_mout_apll.clk, | 82 | [0] = &clk_sclk_apll.clk, |
| 65 | [1] = &clk_mout_mpll.clk, | 83 | [1] = &clk_mout_mpll.clk, |
| 66 | }; | 84 | }; |
| 67 | 85 | ||
| @@ -154,7 +172,7 @@ static struct clksrc_clk clk_pclk_dbg = { | |||
| 154 | 172 | ||
| 155 | static struct clk *clkset_corebus_list[] = { | 173 | static struct clk *clkset_corebus_list[] = { |
| 156 | [0] = &clk_mout_mpll.clk, | 174 | [0] = &clk_mout_mpll.clk, |
| 157 | [1] = &clk_mout_apll.clk, | 175 | [1] = &clk_sclk_apll.clk, |
| 158 | }; | 176 | }; |
| 159 | 177 | ||
| 160 | static struct clksrc_sources clkset_mout_corebus = { | 178 | static struct clksrc_sources clkset_mout_corebus = { |
| @@ -220,7 +238,7 @@ static struct clksrc_clk clk_pclk_acp = { | |||
| 220 | 238 | ||
| 221 | static struct clk *clkset_aclk_top_list[] = { | 239 | static struct clk *clkset_aclk_top_list[] = { |
| 222 | [0] = &clk_mout_mpll.clk, | 240 | [0] = &clk_mout_mpll.clk, |
| 223 | [1] = &clk_mout_apll.clk, | 241 | [1] = &clk_sclk_apll.clk, |
| 224 | }; | 242 | }; |
| 225 | 243 | ||
| 226 | static struct clksrc_sources clkset_aclk_200 = { | 244 | static struct clksrc_sources clkset_aclk_200 = { |
| @@ -321,11 +339,6 @@ static struct clksrc_clk clk_sclk_vpll = { | |||
| 321 | .reg_src = { .reg = S5P_CLKSRC_TOP0, .shift = 8, .size = 1 }, | 339 | .reg_src = { .reg = S5P_CLKSRC_TOP0, .shift = 8, .size = 1 }, |
| 322 | }; | 340 | }; |
| 323 | 341 | ||
| 324 | static int s5pv310_clk_ip_peril_ctrl(struct clk *clk, int enable) | ||
| 325 | { | ||
| 326 | return s5p_gatectrl(S5P_CLKGATE_IP_PERIL, clk, enable); | ||
| 327 | } | ||
| 328 | |||
| 329 | static struct clk init_clocks_disable[] = { | 342 | static struct clk init_clocks_disable[] = { |
| 330 | { | 343 | { |
| 331 | .name = "timers", | 344 | .name = "timers", |
| @@ -337,7 +350,37 @@ static struct clk init_clocks_disable[] = { | |||
| 337 | }; | 350 | }; |
| 338 | 351 | ||
| 339 | static struct clk init_clocks[] = { | 352 | static struct clk init_clocks[] = { |
| 340 | /* Nothing here yet */ | 353 | { |
| 354 | .name = "uart", | ||
| 355 | .id = 0, | ||
