Merge tag 'renesas-soc-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorOlof Johansson <olof@lixom.net>
Tue, 8 Jul 2014 05:07:14 +0000 (22:07 -0700)
committerOlof Johansson <olof@lixom.net>
Tue, 8 Jul 2014 05:07:14 +0000 (22:07 -0700)
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>
1  2 
arch/arm/mach-shmobile/Kconfig
arch/arm/mach-shmobile/Makefile
arch/arm/mach-shmobile/common.h

@@@ -1,7 -1,7 +1,7 @@@
  config ARCH_SHMOBILE
        bool
  
 -config ARCH_SHMOBILE_MULTI
 +menuconfig ARCH_SHMOBILE_MULTI
        bool "Renesas ARM SoCs" if ARCH_MULTI_V7
        depends on MMU
        select ARCH_SHMOBILE
        select NO_IOPORT_MAP
        select PINCTRL
        select ARCH_REQUIRE_GPIOLIB
+       select ARCH_HAS_OPP
  
  if ARCH_SHMOBILE_MULTI
  
 -comment "Renesas ARM SoCs System Type"
 +#comment "Renesas ARM SoCs System Type"
  
  config ARCH_EMEV2
        bool "Emma Mobile EV2"
@@@ -25,11 -26,6 +26,11 @@@ config ARCH_R7S7210
        bool "RZ/A1H (R7S72100)"
        select SYS_SUPPORTS_SH_MTU2
  
 +config ARCH_R8A7779
 +      bool "R-Car H1 (R8A77790)"
 +      select RENESAS_INTC_IRQPIN
 +      select SYS_SUPPORTS_SH_TMU
 +
  config ARCH_R8A7790
        bool "R-Car H2 (R8A77900)"
        select RENESAS_IRQC
@@@ -56,11 -52,6 +57,11 @@@ config MACH_LAGE
        depends on ARCH_R8A7790
        select MICREL_PHY if SH_ETH
  
 +config MACH_MARZEN
 +      bool "MARZEN board"
 +      depends on ARCH_R8A7779
 +      select REGULATOR_FIXED_VOLTAGE if REGULATOR
 +
  comment "Renesas ARM SoCs System Configuration"
  endif
  
@@@ -95,6 -86,7 +96,6 @@@ config ARCH_R8A73A
        select CPU_V7
        select SH_CLK_CPG
        select RENESAS_IRQC
 -      select ARCH_HAS_CPUFREQ
        select ARCH_HAS_OPP
        select SYS_SUPPORTS_SH_CMT
        select SYS_SUPPORTS_SH_TMU
@@@ -244,6 -236,19 +245,6 @@@ config MACH_MARZE
        select REGULATOR_FIXED_VOLTAGE if REGULATOR
        select USE_OF
  
 -config MACH_MARZEN_REFERENCE
 -      bool "MARZEN board - Reference Device Tree Implementation"
 -      depends on ARCH_R8A7779
 -      select ARCH_REQUIRE_GPIOLIB
 -      select REGULATOR_FIXED_VOLTAGE if REGULATOR
 -      select USE_OF
 -      ---help---
 -         Use reference implementation of Marzen board support
 -         which makes use of device tree at the expense
 -         of not supporting a number of devices.
 -
 -         This is intended to aid developers
 -
  config MACH_LAGER
        bool "Lager board"
        depends on ARCH_R8A7790
@@@ -260,6 -265,7 +261,6 @@@ config MACH_KOELSC
  config MACH_KZM9G
        bool "KZM-A9-GT board"
        depends on ARCH_SH73A0
 -      select ARCH_HAS_CPUFREQ
        select ARCH_HAS_OPP
        select ARCH_REQUIRE_GPIOLIB
        select REGULATOR_FIXED_VOLTAGE if REGULATOR
@@@ -48,19 -48,18 +48,20 @@@ obj-$(CONFIG_ARCH_SH7372)  += entry-intc
  # PM objects
  obj-$(CONFIG_SUSPEND)         += suspend.o
  obj-$(CONFIG_CPU_IDLE)                += cpuidle.o
 +obj-$(CONFIG_CPU_FREQ)                += cpufreq.o
  obj-$(CONFIG_ARCH_SH7372)     += pm-sh7372.o sleep-sh7372.o pm-rmobile.o
  obj-$(CONFIG_ARCH_SH73A0)     += pm-sh73a0.o
  obj-$(CONFIG_ARCH_R8A7740)    += pm-r8a7740.o pm-rmobile.o
  obj-$(CONFIG_ARCH_R8A7779)    += pm-r8a7779.o pm-rcar.o
  obj-$(CONFIG_ARCH_R8A7790)    += pm-r8a7790.o pm-rcar.o
+ obj-$(CONFIG_ARCH_R8A7791)    += pm-r8a7791.o pm-rcar.o
  
  # Board objects
  ifdef CONFIG_ARCH_SHMOBILE_MULTI
  obj-$(CONFIG_MACH_GENMAI)     += board-genmai-reference.o
  obj-$(CONFIG_MACH_KOELSCH)    += board-koelsch-reference.o
  obj-$(CONFIG_MACH_LAGER)      += board-lager-reference.o
 +obj-$(CONFIG_MACH_MARZEN)     += board-marzen-reference.o
  else
  obj-$(CONFIG_MACH_APE6EVM)    += board-ape6evm.o
  obj-$(CONFIG_MACH_APE6EVM_REFERENCE)  += board-ape6evm-reference.o
@@@ -69,6 -68,7 +70,6 @@@ obj-$(CONFIG_MACH_BOCKW)      += board-bockw
  obj-$(CONFIG_MACH_BOCKW_REFERENCE)    += board-bockw-reference.o
  obj-$(CONFIG_MACH_GENMAI)     += board-genmai.o
  obj-$(CONFIG_MACH_MARZEN)     += board-marzen.o
 -obj-$(CONFIG_MACH_MARZEN_REFERENCE)   += board-marzen-reference.o
  obj-$(CONFIG_MACH_LAGER)      += board-lager.o
  obj-$(CONFIG_MACH_ARMADILLO800EVA)    += board-armadillo800eva.o
  obj-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE)  += board-armadillo800eva-reference.o
@@@ -35,8 -35,10 +35,10 @@@ extern void shmobile_cpuidle_set_driver
  
  #ifdef CONFIG_SUSPEND
  int shmobile_suspend_init(void);
+ void shmobile_smp_apmu_suspend_init(void);
  #else
  static inline int shmobile_suspend_init(void) { return 0; }
+ static inline void shmobile_smp_apmu_suspend_init(void) { }
  #endif
  
  #ifdef CONFIG_CPU_IDLE
@@@ -45,19 -47,12 +47,19 @@@ int shmobile_cpuidle_init(void)
  static inline int shmobile_cpuidle_init(void) { return 0; }
  #endif
  
 +#ifdef CONFIG_CPU_FREQ
 +int shmobile_cpufreq_init(void);
 +#else
 +static inline int shmobile_cpufreq_init(void) { return 0; }
 +#endif
 +
  extern void __iomem *shmobile_scu_base;
  
  static inline void __init shmobile_init_late(void)
  {
        shmobile_suspend_init();
        shmobile_cpuidle_init();
 +      shmobile_cpufreq_init();
  }
  
  #endif /* __ARCH_MACH_COMMON_H */