[alsa-devel] [PATCH] 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: Jorge Eduardo Candelaria x0107209@ti.com --- sound/soc/omap/sdp3430.c | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/sound/soc/omap/sdp3430.c b/sound/soc/omap/sdp3430.c index f7e5b74..7ad99d2 100644 --- a/sound/soc/omap/sdp3430.c +++ b/sound/soc/omap/sdp3430.c @@ -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;
@@ -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(0x3); + pin_mux |= TWL4030_GPIO6_PWM0_MUTE(0x2); + twl4030_i2c_write_u8(TWL4030_MODULE_INTBR, pin_mux, + TWL4030_INTBR_PMBR1);
ret = platform_device_add(sdp3430_snd_device); if (ret)
On Tuesday 25 August 2009 03:04:50 ext Candelaria Villareal, Jorge wrote:
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
/* 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(0x3);
- pin_mux |= TWL4030_GPIO6_PWM0_MUTE(0x2);
I still think that using 0x03/0x02 instead of 0x3/0x2 looks better, but otherwise I see no problem with the patch.
Acked-by: Peter Ujfalusi peter.ujfalusi@nokia.com
On Tuesday 25 August 2009 03:04:50 ext Candelaria Villareal, Jorge wrote:
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
/* 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(0x3);
- pin_mux |= TWL4030_GPIO6_PWM0_MUTE(0x2);
I still think that using 0x03/0x02 instead of 0x3/0x2 looks better, but otherwise I see no problem with the patch.
I had forgot about doing this change. Mark found an issue with my patch, so I will be resending again with the 0x03/0x02, since it does help code look cleaner.
Acked-by: Peter Ujfalusi peter.ujfalusi@nokia.com
On Mon, Aug 24, 2009 at 07:04:50PM -0500, Candelaria Villareal, Jorge wrote:
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
Your patch doesn't apply - it looks like your mail program may have mangled it in some interesting fashion and replaced all the tabs with single spaces but I'm not 100% sure. Could you please look into what's happened here?
On Mon, Aug 24, 2009 at 07:04:50PM -0500, Candelaria Villareal, Jorge wrote:
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
Your patch doesn't apply - it looks like your mail program may have mangled it in some interesting fashion and replaced all the tabs with single spaces but I'm not 100% sure. Could you please look into what's happened here?
Yes, it seems all the tabs have been replaced with single spaces. I have corrected the problem and will resend in a few minutes.
participants (3)
-
Candelaria Villareal, Jorge
-
Mark Brown
-
Peter Ujfalusi