aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-04-11 10:32:21 -0700
committerOlof Johansson <olof@lixom.net>2013-04-11 10:32:39 -0700
commitf6940610c76e9a6dbb23cef51b64fd48877b68df (patch)
tree535d759034c9a4fc5f3555b45cb7758a2809144c /arch/arm/mach-shmobile
parent432b473419d9833ff9c48c768f2c8de35185609e (diff)
parentab5fdfd5ea621b629da9bfda987af301da973525 (diff)
Merge tag 'renesas-soc-r8a7790-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc2
From Simon Horman: Renesas ARM based r8a7790 SoC update for v3.10 * Force architecture timer to be activated regardless of bootloader - This is necessary for the lager board to boot * Add second memory range to r8a7790 PFC device - This is in preparation for further PFC work. It should not break anything as it is not used yet. This pull request is based on: git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git renesas-soc2-for-v3.10 * tag 'renesas-soc-r8a7790-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: 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/arm/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/include/mach/r8a7790.h1
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7790.c15
2 files changed, 15 insertions, 1 deletions
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7790.h b/arch/arm/mach-shmobile/include/mach/r8a7790.h
index 9bd6f5c894b..2e919e61fa0 100644
--- a/arch/arm/mach-shmobile/include/mach/r8a7790.h
+++ b/arch/arm/mach-shmobile/include/mach/r8a7790.h
@@ -4,5 +4,6 @@
void r8a7790_add_standard_devices(void);
void r8a7790_clock_init(void);
void r8a7790_pinmux_init(void);
+void r8a7790_timer_init(void);
#endif /* __ASM_R8A7790_H__ */
diff --git a/arch/arm/mach-shmobile/setup-r8a7790.c b/arch/arm/mach-shmobile/setup-r8a7790.c
index 481201a4f3f..49de2d56f86 100644
--- a/arch/arm/mach-shmobile/setup-r8a7790.c
+++ b/arch/arm/mach-shmobile/setup-r8a7790.c
@@ -31,6 +31,7 @@
static const struct resource pfc_resources[] = {
DEFINE_RES_MEM(0xe6060000, 0x250),
+ DEFINE_RES_MEM(0xe6050000, 0x5050),
};
void __init r8a7790_pinmux_init(void)
@@ -117,6 +118,18 @@ void __init r8a7790_add_standard_devices(void)
r8a7790_register_irqc(0);
}
+void __init r8a7790_timer_init(void)
+{
+ void __iomem *cntcr;
+
+ /* make sure arch timer is started by setting bit 0 of CNTCT */
+ cntcr = ioremap(0xe6080000, PAGE_SIZE);
+ iowrite32(1, cntcr);
+ iounmap(cntcr);
+
+ shmobile_timer_init();
+}
+
#ifdef CONFIG_USE_OF
void __init r8a7790_add_standard_devices_dt(void)
{
@@ -131,7 +144,7 @@ static const char *r8a7790_boards_compat_dt[] __initdata = {
DT_MACHINE_START(R8A7790_DT, "Generic R8A7790 (Flattened Device Tree)")
.init_irq = irqchip_init,
.init_machine = r8a7790_add_standard_devices_dt,
- .init_time = shmobile_timer_init,
+ .init_time = r8a7790_timer_init,
.dt_compat = r8a7790_boards_compat_dt,
MACHINE_END
#endif /* CONFIG_USE_OF */