Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 30cd0c4a authored by Candelaria Villareal, Jorge's avatar Candelaria Villareal, Jorge Committed by Mark Brown
Browse files

ASoC: SDP3430: Fix TWL GPIO6 pin mux request



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: default avatarJorge Eduardo Candelaria <x0107209@ti.com>
Acked-by: default avatarPeter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent faf907c7
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -40,8 +40,10 @@
#include "omap-pcm.h"
#include "../codecs/twl4030.h"

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

static struct snd_soc_card snd_soc_sdp3430;

@@ -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");
@@ -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)