diff options
author | Olof Johansson <olof@lixom.net> | 2014-07-07 22:07:14 -0700 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2014-07-07 22:07:14 -0700 |
commit | 98abaf1370c932db38a23b270f86689b66b34cdf (patch) | |
tree | b06a4d1d15023a21f935b26043ac9b15e5b8e553 /arch/arm/mach-shmobile/pm-r8a7791.c | |
parent | 12af7011e958f2d2cef3ec1e2b692fb93f9c3dac (diff) | |
parent | 3ed66ec5ced8b801cb851b2b8548301df94f8f54 (diff) | |
download | op-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.c | 47 |
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(); +} |