aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-04-11 13:35:25 -0400
committerOlof Johansson <olof@lixom.net>2013-04-11 13:36:42 -0400
commit9251c6c0dc929d8eec6751c12ef312597f84e147 (patch)
treecf01bdb4884f59277caef88fc490191824f6fc8c /arch
parentafa3a13da7c18f08b9c636fc25a67d40144c5e9b (diff)
parent65be2de17aae0fd94e55f7c4a474933cf4607ea2 (diff)
Merge tag 'renesas-boards-lager-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/boards2
From Simon Horman: Renesas ARM based SoC lager board updates for v3.10 * Use r8a7790 timer setup code to force the arch timer to be enabled regardless of the bootloader setting - This is necessary for the lager board to boot This pull request is based on: git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git renesas-boards3-for-v3.10 git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git renesas-soc-r8a7790-for-v3.10 The merge was made to provide the r8a7790 timer setup code * tag 'renesas-boards-lager-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: use r8a7790 timer setup code on Lager ARM: shmobile: force enable of r8a7790 arch timer ARM: shmobile: Add second I/O range for r8a7790 PFC Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-shmobile/board-lager.c2
-rw-r--r--arch/arm/mach-shmobile/include/mach/r8a7790.h1
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7790.c15
3 files changed, 16 insertions, 2 deletions
diff --git a/arch/arm/mach-shmobile/board-lager.c b/arch/arm/mach-shmobile/board-lager.c
index ea6f9e5d3500..f587187a8603 100644
--- a/arch/arm/mach-shmobile/board-lager.c
+++ b/arch/arm/mach-shmobile/board-lager.c
@@ -40,7 +40,7 @@ static const char *lager_boards_compat_dt[] __initdata = {
40 40
41DT_MACHINE_START(LAGER_DT, "lager") 41DT_MACHINE_START(LAGER_DT, "lager")
42 .init_irq = irqchip_init, 42 .init_irq = irqchip_init,
43 .init_time = shmobile_timer_init, 43 .init_time = r8a7790_timer_init,
44 .init_machine = lager_add_standard_devices, 44 .init_machine = lager_add_standard_devices,
45 .dt_compat = lager_boards_compat_dt, 45 .dt_compat = lager_boards_compat_dt,
46MACHINE_END 46MACHINE_END
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7790.h b/arch/arm/mach-shmobile/include/mach/r8a7790.h
index 9bd6f5c894bb..2e919e61fa0d 100644
--- a/arch/arm/mach-shmobile/include/mach/r8a7790.h
+++ b/arch/arm/mach-shmobile/include/mach/r8a7790.h
@@ -4,5 +4,6 @@
4void r8a7790_add_standard_devices(void); 4void r8a7790_add_standard_devices(void);
5void r8a7790_clock_init(void); 5void r8a7790_clock_init(void);
6void r8a7790_pinmux_init(void); 6void r8a7790_pinmux_init(void);
7void r8a7790_timer_init(void);
7 8
8#endif /* __ASM_R8A7790_H__ */ 9#endif /* __ASM_R8A7790_H__ */
diff --git a/arch/arm/mach-shmobile/setup-r8a7790.c b/arch/arm/mach-shmobile/setup-r8a7790.c
index 481201a4f3f5..49de2d56f86d 100644
--- a/arch/arm/mach-shmobile/setup-r8a7790.c
+++ b/arch/arm/mach-shmobile/setup-r8a7790.c
@@ -31,6 +31,7 @@
31 31
32static const struct resource pfc_resources[] = { 32static const struct resource pfc_resources[] = {
33 DEFINE_RES_MEM(0xe6060000, 0x250), 33 DEFINE_RES_MEM(0xe6060000, 0x250),
34 DEFINE_RES_MEM(0xe6050000, 0x5050),
34}; 35};
35 36
36void __init r8a7790_pinmux_init(void) 37void __init r8a7790_pinmux_init(void)
@@ -117,6 +118,18 @@ void __init r8a7790_add_standard_devices(void)
117 r8a7790_register_irqc(0); 118 r8a7790_register_irqc(0);
118} 119}
119 120
121void __init r8a7790_timer_init(void)
122{
123 void __iomem *cntcr;
124
125 /* make sure arch timer is started by setting bit 0 of CNTCT */
126 cntcr = ioremap(0xe6080000, PAGE_SIZE);
127 iowrite32(1, cntcr);
128 iounmap(cntcr);
129
130 shmobile_timer_init();
131}
132
120#ifdef CONFIG_USE_OF 133#ifdef CONFIG_USE_OF
121void __init r8a7790_add_standard_devices_dt(void) 134void __init r8a7790_add_standard_devices_dt(void)
122{ 135{
@@ -131,7 +144,7 @@ static const char *r8a7790_boards_compat_dt[] __initdata = {
131DT_MACHINE_START(R8A7790_DT, "Generic R8A7790 (Flattened Device Tree)") 144DT_MACHINE_START(R8A7790_DT, "Generic R8A7790 (Flattened Device Tree)")
132 .init_irq = irqchip_init, 145 .init_irq = irqchip_init,
133 .init_machine = r8a7790_add_standard_devices_dt, 146 .init_machine = r8a7790_add_standard_devices_dt,
134 .init_time = shmobile_timer_init, 147 .init_time = r8a7790_timer_init,
135 .dt_compat = r8a7790_boards_compat_dt, 148 .dt_compat = r8a7790_boards_compat_dt,
136MACHINE_END 149MACHINE_END
137#endif /* CONFIG_USE_OF */ 150#endif /* CONFIG_USE_OF */