-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
- Loading branch information
Showing
8 changed files
with
208 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
/* | ||
* AESS IP block reset | ||
* | ||
* Copyright (C) 2012 Texas Instruments, Inc. | ||
* Paul Walmsley | ||
* | ||
* 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 | ||
*/ | ||
#ifndef __SOUND_AESS_H__ | ||
#define __SOUND_AESS_H__ | ||
|
||
#include <linux/kernel.h> | ||
#include <linux/io.h> | ||
|
||
/* | ||
* AESS_AUTO_GATING_ENABLE_OFFSET: offset in bytes of the AESS IP | ||
* block's AESS_AUTO_GATING_ENABLE__1 register from the IP block's | ||
* base address | ||
*/ | ||
#define AESS_AUTO_GATING_ENABLE_OFFSET 0x07c | ||
|
||
/* Register bitfields in the AESS_AUTO_GATING_ENABLE__1 register */ | ||
#define AESS_AUTO_GATING_ENABLE_SHIFT 0 | ||
|
||
/** | ||
* aess_enable_autogating - enable AESS internal autogating | ||
* @oh: struct omap_hwmod * | ||
* | ||
* Enable internal autogating on the AESS. This allows the AESS to | ||
* indicate that it is idle to the OMAP PRCM. Returns 0. | ||
*/ | ||
static inline void aess_enable_autogating(void __iomem *base) | ||
{ | ||
u32 v; | ||
|
||
/* Set AESS_AUTO_GATING_ENABLE__1.ENABLE to allow idle entry */ | ||
v = 1 << AESS_AUTO_GATING_ENABLE_SHIFT; | ||
writel(v, base + AESS_AUTO_GATING_ENABLE_OFFSET); | ||
} | ||
|
||
#endif /* __SOUND_AESS_H__ */ |