summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Johansson <tobias.johansson@stericsson.com>2011-03-28 16:33:25 +0200
committerUlf Hansson <ulf.hansson@stericsson.com>2011-09-19 15:15:02 +0200
commitcd70d92186500aab0aa2596c52d4abc8c9bd9b15 (patch)
tree1053f67650c491120262693d5e4acc40ab2a8caf
parent3544c95156e9612bc35ba4dcaffc6f7abc3d6a36 (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>
-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;