Commit 94a92cca authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'omap-for-v4.7/soc-signed' of...

Merge tag 'omap-for-v4.7/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

Merge "SoC related changes for omaps for v4.7 merge window" from Tony Lindgren:

- Remove now unnecessary multi vs single SoC compile time optimizations
  as we are now using multiarch

- Configure dra7 powerdomains

- Clarify why omap-wakeupgen does not need to handle FROZEN transitions

- Add dra7 module configuration for MaASP, PWMSS and timer 12

- Add RTC module configuration unlock and lock functions

- Fix hwmod idle state sanity check sequence

* tag 'omap-for-v4.7/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: wakeupgen: Add comment for unhandled FROZEN transitions
  ARM: OMAP: DRA7: powerdomain data: Remove wrong OSWR capability
  ARM: OMAP: DRA7: powerdomain data: Fix "ON" state for memories
  ARM: OMAP: DRA7: powerdomain data: Erratum i892 workaround: Disable core INA
  ARM: OMAP2+: remove redundant multiplatform checks
  ARM: OMAP2+: hwmod: fix _idle() hwmod state sanity check sequence
  ARM: DRA7: hwmod: Add data for GPTimer 12
  ARM: AMx3xx: RTC: Add lock and unlock functions
  ARM: DRA7: RTC: Add lock and unlock functions
  ARM: OMAP2+: hwmod: RTC: Add lock and unlock functions
  ARM: OMAP2+: DRA7: Add hwmod entries for PWMSS
  ARM: DRA7: hwmod: Add data for McASP1/2/4/5/6/7/8
  ARM: DRA7: clockdomain: Implement timer workaround for errata i874
  ARM: OMAP2+: hwmod: Fix updating of sysconfig register
parents 0d922f44 22292b91
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
# Makefile for the linux kernel.
#

ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \
ccflags-y := -I$(srctree)/$(src)/include \
	-I$(srctree)/arch/arm/plat-omap/include

# Common support
+1 −1
Original line number Diff line number Diff line
@@ -461,7 +461,7 @@ static struct clockdomain ipu_7xx_clkdm = {
	.cm_inst	  = DRA7XX_CM_CORE_AON_IPU_INST,
	.clkdm_offs	  = DRA7XX_CM_CORE_AON_IPU_IPU_CDOFFS,
	.dep_bit	  = DRA7XX_IPU_STATDEP_SHIFT,
	.flags		  = CLKDM_CAN_HWSUP_SWSUP,
	.flags		  = CLKDM_CAN_SWSUP,
};

static struct clockdomain mpu1_7xx_clkdm = {
+5 −0
Original line number Diff line number Diff line
@@ -320,6 +320,11 @@ static int irq_cpu_hotplug_notify(struct notifier_block *self,
{
	unsigned int cpu = (unsigned int)hcpu;

	/*
	 * Corresponding FROZEN transitions do not have to be handled,
	 * they are handled by at a higher level
	 * (drivers/cpuidle/coupled.c).
	 */
	switch (action) {
	case CPU_ONLINE:
		wakeupgen_irqmask_all(cpu, 0);
+10 −10
Original line number Diff line number Diff line
@@ -1416,8 +1416,6 @@ static void _enable_sysc(struct omap_hwmod *oh)
	    (sf & SYSC_HAS_CLOCKACTIVITY))
		_set_clockactivity(oh, oh->class->sysc->clockact, &v);

	/* If the cached value is the same as the new value, skip the write */
	if (oh->_sysc_cache != v)
	_write_sysconfig(v, oh);

	/*
@@ -1481,6 +1479,8 @@ static void _idle_sysc(struct omap_hwmod *oh)
		_set_master_standbymode(oh, idlemode, &v);
	}

	/* If the cached value is the same as the new value, skip the write */
	if (oh->_sysc_cache != v)
		_write_sysconfig(v, oh);
}

@@ -2207,15 +2207,15 @@ static int _idle(struct omap_hwmod *oh)

	pr_debug("omap_hwmod: %s: idling\n", oh->name);

	if (_are_all_hardreset_lines_asserted(oh))
		return 0;

	if (oh->_state != _HWMOD_STATE_ENABLED) {
		WARN(1, "omap_hwmod: %s: idle state can only be entered from enabled state\n",
			oh->name);
		return -EINVAL;
	}

	if (_are_all_hardreset_lines_asserted(oh))
		return 0;

	if (oh->class->sysc)
		_idle_sysc(oh);
	_del_initiator_dep(oh, mpu_oh);
@@ -2262,6 +2262,9 @@ static int _shutdown(struct omap_hwmod *oh)
	int ret, i;
	u8 prev_state;

	if (_are_all_hardreset_lines_asserted(oh))
		return 0;

	if (oh->_state != _HWMOD_STATE_IDLE &&
	    oh->_state != _HWMOD_STATE_ENABLED) {
		WARN(1, "omap_hwmod: %s: disabled state can only be entered from idle, or enabled state\n",
@@ -2269,9 +2272,6 @@ static int _shutdown(struct omap_hwmod *oh)
		return -EINVAL;
	}

	if (_are_all_hardreset_lines_asserted(oh))
		return 0;

	pr_debug("omap_hwmod: %s: disabling\n", oh->name);

	if (oh->class->pre_shutdown) {
+2 −0
Original line number Diff line number Diff line
@@ -754,6 +754,8 @@ const char *omap_hwmod_get_main_clk(struct omap_hwmod *oh);
 */

extern int omap_hwmod_aess_preprogram(struct omap_hwmod *oh);
void omap_hwmod_rtc_unlock(struct omap_hwmod *oh);
void omap_hwmod_rtc_lock(struct omap_hwmod *oh);

/*
 * Chip variant-specific hwmod init routines - XXX should be converted
Loading