Skip to content

Commit

Permalink
ASoC: SDP3430: Fix TWL GPIO6 pin mux request
Browse files Browse the repository at this point in the history
Fix the write to PMBR1 register through I2C. Also, the constant which
holds the value to write is now called TWL4030_GPIO6_PWM0_MUTE. This
name is based on TRM to avoid confusion.

Signed-off-by: Jorge Eduardo Candelaria <x0107209@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Candelaria Villareal, Jorge authored and Mark Brown committed Aug 25, 2009
1 parent faf907c commit 30cd0c4
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions sound/soc/omap/sdp3430.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,10 @@
#include "omap-pcm.h"
#include "../codecs/twl4030.h"

#define TWL4030_INTBR_PMBR1 0x0D
#define EXTMUTE(value) (value << 2)
/* TWL4030 PMBR1 Register */
#define TWL4030_INTBR_PMBR1 0x0D
/* TWL4030 PMBR1 Register GPIO6 mux bit */
#define TWL4030_GPIO6_PWM0_MUTE(value) (value << 2)

static struct snd_soc_card snd_soc_sdp3430;

Expand Down Expand Up @@ -299,6 +301,7 @@ static struct platform_device *sdp3430_snd_device;
static int __init sdp3430_soc_init(void)
{
int ret;
u8 pin_mux;

if (!machine_is_omap_3430sdp()) {
pr_debug("Not SDP3430!\n");
Expand All @@ -318,8 +321,12 @@ static int __init sdp3430_soc_init(void)
*(unsigned int *)sdp3430_dai[1].cpu_dai->private_data = 2; /* McBSP3 */

/* Set TWL4030 GPIO6 as EXTMUTE signal */
twl4030_i2c_write_u8(TWL4030_MODULE_INTBR, EXTMUTE(0x02),
TWL4030_MODULE_INTBR);
twl4030_i2c_read_u8(TWL4030_MODULE_INTBR, &pin_mux,
TWL4030_INTBR_PMBR1);
pin_mux &= ~TWL4030_GPIO6_PWM0_MUTE(0x03);
pin_mux |= TWL4030_GPIO6_PWM0_MUTE(0x02);
twl4030_i2c_write_u8(TWL4030_MODULE_INTBR, pin_mux,
TWL4030_INTBR_PMBR1);

ret = platform_device_add(sdp3430_snd_device);
if (ret)
Expand Down

0 comments on commit 30cd0c4

Please sign in to comment.