diff options
| author | Olof Johansson <olof@lixom.net> | 2013-02-12 15:33:39 -0800 | 
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2013-02-12 15:33:39 -0800 | 
| commit | ebcfe0faf969fe64060132a455db64bcc3517e5c (patch) | |
| tree | fadeb32f8820bfa53a5a37f967bf0d58aafeb82f /arch/arm/mach-omap2/omap_hwmod_reset.c | |
| parent | 488c77c961e65894d864af4da720a880a5fbb066 (diff) | |
| parent | 93b23711b7132400d4d76f31c660d27a2bb0afdb (diff) | |
| download | olio-linux-3.10-ebcfe0faf969fe64060132a455db64bcc3517e5c.tar.xz olio-linux-3.10-ebcfe0faf969fe64060132a455db64bcc3517e5c.zip  | |
Merge tag 'omap-for-v3.9/pm-omap4-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into late/omap
From Tony Lindgren:
omap4 pm changes via Paul Walmsley <paul@pwsan.com>:
Some OMAP4 power management fixes and audio device integration
patches.  This pull request contains a fix for an issue discovered during
branch integration.
Basic test logs are available at:
    http://www.pwsan.com/omap/testlogs/omap4_prcm_devel_a_3.9/20130210112717/
* tag 'omap-for-v3.9/pm-omap4-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP4: hwmod data: Enable AESS hwmod device
  ARM: OMAP4: hwmod data: Update AESS data with memory bank area
  ARM: OMAP4+: AESS: enable internal auto-gating during initial setup
  ASoC: TI AESS: add autogating-enable function, callable from architecture code
  ARM: OMAP2+: hwmod: add enable_preprogram hook
  ARM: OMAP2+: PM: Fix the dt return condition in pm_late_init()
  ARM: OMAP4: PM: Warn users about usage of older bootloaders
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod_reset.c')
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_reset.c | 52 | 
1 files changed, 52 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_reset.c b/arch/arm/mach-omap2/omap_hwmod_reset.c new file mode 100644 index 00000000000..bba43fa627d --- /dev/null +++ b/arch/arm/mach-omap2/omap_hwmod_reset.c @@ -0,0 +1,52 @@ +/* + * OMAP IP block custom reset and preprogramming stubs + * + * Copyright (C) 2012 Texas Instruments, Inc. + * Paul Walmsley + * + * A small number of IP blocks need custom reset and preprogramming + * functions.  The stubs in this file provide a standard way for the + * hwmod code to call these functions, which are to be located under + * drivers/. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation version 2. + * + * This program is distributed "as is" WITHOUT ANY WARRANTY of any + * kind, whether express or implied; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + */ +#include <linux/kernel.h> + +#include <sound/aess.h> + +#include "omap_hwmod.h" + +/** + * omap_hwmod_aess_preprogram - enable AESS internal autogating + * @oh: struct omap_hwmod * + * + * The AESS will not IdleAck to the PRCM until its internal autogating + * is enabled.  Since internal autogating is disabled by default after + * AESS reset, we must enable autogating after the hwmod code resets + * the AESS.  Returns 0. + */ +int omap_hwmod_aess_preprogram(struct omap_hwmod *oh) +{ +	void __iomem *va; + +	va = omap_hwmod_get_mpu_rt_va(oh); +	if (!va) +		return -EINVAL; + +	aess_enable_autogating(va); + +	return 0; +}  |