diff options
author | Tobias Johansson <tobias.johansson@stericsson.com> | 2011-03-28 16:33:25 +0200 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@stericsson.com> | 2011-09-19 15:15:02 +0200 |
commit | cd70d92186500aab0aa2596c52d4abc8c9bd9b15 (patch) | |
tree | 1053f67650c491120262693d5e4acc40ab2a8caf | |
parent | 3544c95156e9612bc35ba4dcaffc6f7abc3d6a36 (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.c | 21 |
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; |