summaryrefslogtreecommitdiff
path: root/arch/arm/mach-ux500/board-mop500-msp.c
diff options
context:
space:
mode:
authorTobias Johansson <tobias.johansson@stericsson.com>2011-03-28 16:33:25 +0200
committerHenrik Aberg <henrik.aberg@stericsson.com>2011-05-18 09:39:52 +0200
commit0d188b801ebcb113dc42b3f8ad2bca89538fc35b (patch)
treece9afe85497179ddea507389ea514046ebec45bc /arch/arm/mach-ux500/board-mop500-msp.c
parent922222f32816a2870e5c8acb68db0f3bafa8f995 (diff)
ux500 MSP: Set SLPM for GPIO pins used by MSP1
This is needed when playing audio with auto idle enabled in CM in the low power audio use case. ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I13ee24c548c82f639c9bad82fd06a2850b23e85b Signed-off-by: Tobias Johansson <tobias.johansson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/19313 Reviewed-by: Deepak KARDA <deepak.karda@stericsson.com> Reviewed-by: Ola LILJA2 <ola.o.lilja@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'arch/arm/mach-ux500/board-mop500-msp.c')
-rw-r--r--arch/arm/mach-ux500/board-mop500-msp.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-msp.c b/arch/arm/mach-ux500/board-mop500-msp.c
index 8867dded7aa..f398eed7a7b 100644
--- a/arch/arm/mach-ux500/board-mop500-msp.c
+++ b/arch/arm/mach-ux500/board-mop500-msp.c
@@ -28,11 +28,18 @@ static DEFINE_SPINLOCK(msp_rxtx_lock);
/* Reference Count */
static int msp_rxtx_ref;
-static pin_cfg_t mop500_msp1_pins[] = {
- GPIO33_MSP1_TXD | PIN_OUTPUT_LOW,
- GPIO34_MSP1_TFS | PIN_INPUT_NOPULL,
- GPIO35_MSP1_TCK | PIN_INPUT_NOPULL,
- GPIO36_MSP1_RXD | PIN_INPUT_NOPULL,
+static pin_cfg_t mop500_msp1_pins_init[] = {
+ GPIO33_MSP1_TXD | PIN_OUTPUT_LOW | PIN_SLPM_WAKEUP_DISABLE,
+ GPIO34_MSP1_TFS | PIN_INPUT_NOPULL | PIN_SLPM_WAKEUP_DISABLE,
+ GPIO35_MSP1_TCK | PIN_INPUT_NOPULL | PIN_SLPM_WAKEUP_DISABLE,
+ GPIO36_MSP1_RXD | PIN_INPUT_NOPULL | PIN_SLPM_WAKEUP_DISABLE,
+};
+
+static pin_cfg_t mop500_msp1_pins_exit[] = {
+ GPIO33_MSP1_TXD | PIN_OUTPUT_LOW | PIN_SLPM_WAKEUP_ENABLE,
+ GPIO34_MSP1_TFS | PIN_INPUT_NOPULL | PIN_SLPM_WAKEUP_ENABLE,
+ GPIO35_MSP1_TCK | PIN_INPUT_NOPULL | PIN_SLPM_WAKEUP_ENABLE,
+ GPIO36_MSP1_RXD | PIN_INPUT_NOPULL | PIN_SLPM_WAKEUP_ENABLE,
};
int msp13_i2s_init(void)
@@ -43,7 +50,7 @@ int msp13_i2s_init(void)
spin_lock_irqsave(&msp_rxtx_lock, flags);
if (msp_rxtx_ref == 0)
retval = nmk_config_pins(
- ARRAY_AND_SIZE(mop500_msp1_pins));
+ ARRAY_AND_SIZE(mop500_msp1_pins_init));
if (!retval)
msp_rxtx_ref++;
spin_unlock_irqrestore(&msp_rxtx_lock, flags);
@@ -61,7 +68,7 @@ int msp13_i2s_exit(void)
msp_rxtx_ref--;
if (msp_rxtx_ref == 0)
retval = nmk_config_pins_sleep(
- ARRAY_AND_SIZE(mop500_msp1_pins));
+ ARRAY_AND_SIZE(mop500_msp1_pins_exit));
spin_unlock_irqrestore(&msp_rxtx_lock, flags);
return retval;