summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile/pm-r8a7791.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2014-07-07 22:07:14 -0700
committerOlof Johansson <olof@lixom.net>2014-07-07 22:07:14 -0700
commit98abaf1370c932db38a23b270f86689b66b34cdf (patch)
treeb06a4d1d15023a21f935b26043ac9b15e5b8e553 /arch/arm/mach-shmobile/pm-r8a7791.c
parent12af7011e958f2d2cef3ec1e2b692fb93f9c3dac (diff)
parent3ed66ec5ced8b801cb851b2b8548301df94f8f54 (diff)
downloadop-kernel-dev-98abaf1370c932db38a23b270f86689b66b34cdf.zip
op-kernel-dev-98abaf1370c932db38a23b270f86689b66b34cdf.tar.gz
Merge tag 'renesas-soc-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Renesas ARM Based SoC Updates for v3.17" from Simon Horman: - Use shmobile_init_late on r8a7791 and r8a7790 whien booting using DT-only - Support Core-Standby for Suspend to RAM on r8a7791 and r8a7790 SoCs - Shared CMA reservation for R-Car Gen2 SoCs - Add r8a7791 SYSC power management support * tag 'renesas-soc-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Remove ARCH_HAS_CPUFREQ config for shmobile ARM: shmobile: rcar-gen2: update call to dma_contiguous_reserve_area ARM: shmobile: rcar-gen2: correct return value of shmobile_smp_apmu_suspend_init ARM: shmobile: rcar-gen2: Remove useless copied section for LongTrail ARM: shmobile: rcar-gen2: Use "1ULL" instead of "(u64)1" ARM: shmobile: rcar-gen2: Update for of_get_flat_dt_prop() update ARM: shmobile: Add shared R-Car Gen2 CMA reservation code ARM: shmobile: Use shmobile_init_late() on r8a7791 DT-only ARM: shmobile: Use shmobile_init_late() on r8a7790 DT-only ARM: shmobile: Mark all SoCs in shmobile as CPUFreq, capable ARM: shmobile: r8a7791: Support Core-Standby for Suspend to RAM ARM: shmobile: r8a7790: Support Core-Standby for Suspend to RAM ARM: shmobile: APMU: Add Core-Standby-state for Suspend to RAM ARM: shmobile: r8a7791 SYSC setup code Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/mach-shmobile/pm-r8a7791.c')
-rw-r--r--arch/arm/mach-shmobile/pm-r8a7791.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/pm-r8a7791.c b/arch/arm/mach-shmobile/pm-r8a7791.c
new file mode 100644
index 0000000..1519087
--- /dev/null
+++ b/arch/arm/mach-shmobile/pm-r8a7791.c
@@ -0,0 +1,47 @@
+/*
+ * r8a7791 Power management support
+ *
+ * Copyright (C) 2014 Renesas Electronics Corporation
+ * Copyright (C) 2011 Renesas Solutions Corp.
+ * Copyright (C) 2011 Magnus Damm
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ */
+
+#include <asm/io.h>
+#include <linux/kernel.h>
+#include <mach/r8a7791.h>
+#include "pm-rcar.h"
+
+/* SYSC */
+#define SYSCIER 0x0c
+#define SYSCIMR 0x10
+
+#if defined(CONFIG_SMP)
+
+static void __init r8a7791_sysc_init(void)
+{
+ void __iomem *base = rcar_sysc_init(0xe6180000);
+
+ /* enable all interrupt sources, but do not use interrupt handler */
+ iowrite32(0x0131000e, base + SYSCIER);
+ iowrite32(0, base + SYSCIMR);
+}
+
+#else /* CONFIG_SMP */
+
+static inline void r8a7791_sysc_init(void) {}
+
+#endif /* CONFIG_SMP */
+
+void __init r8a7791_pm_init(void)
+{
+ static int once;
+
+ if (once++)
+ return;
+
+ r8a7791_sysc_init();
+}
OpenPOWER on IntegriCloud