Skip to content

Commit

Permalink
ASoC: Zoom2: Update twl4030_setup_data parameters
Browse files Browse the repository at this point in the history
Add support for EXTMUTE in Zoom2 machine driver. This is necessary
to further reduce pop noise problem. Signal EXTMUTE is connected to
signal GPIO 153 in Zoom2 board.

In addition, change ramp delay value to 3 (218/161/109 ms). With
previous ramp delay value, pop noise was louder. With a longer value
the beep tone can be observed.

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 Jul 3, 2009
1 parent 4e49ffd commit 1b6ebdd
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions sound/soc/omap/zoom2.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@
#include "omap-pcm.h"
#include "../codecs/twl4030.h"

#define ZOOM2_HEADSET_MUX_GPIO (OMAP_MAX_GPIO_LINES + 15)
#define ZOOM2_HEADSET_MUX_GPIO (OMAP_MAX_GPIO_LINES + 15)
#define ZOOM2_HEADSET_EXTMUTE_GPIO 153

static int zoom2_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
Expand Down Expand Up @@ -234,10 +235,18 @@ static struct snd_soc_card snd_soc_zoom2 = {
.num_links = ARRAY_SIZE(zoom2_dai),
};

/* EXTMUTE callback function */
void zoom2_set_hs_extmute(int mute)
{
gpio_set_value(ZOOM2_HEADSET_EXTMUTE_GPIO, mute);
}

/* twl4030 setup */
static struct twl4030_setup_data twl4030_setup = {
.ramp_delay_value = 2, /* 81 ms */
.ramp_delay_value = 3, /* 161 ms */
.sysclk = 26000,
.hs_extmute = 1,
.set_hs_extmute = zoom2_set_hs_extmute,
};

/* Audio subsystem */
Expand Down Expand Up @@ -277,6 +286,9 @@ static int __init zoom2_soc_init(void)
BUG_ON(gpio_request(ZOOM2_HEADSET_MUX_GPIO, "hs_mux") < 0);
gpio_direction_output(ZOOM2_HEADSET_MUX_GPIO, 0);

BUG_ON(gpio_request(ZOOM2_HEADSET_EXTMUTE_GPIO, "ext_mute") < 0);
gpio_direction_output(ZOOM2_HEADSET_EXTMUTE_GPIO, 0);

return 0;

err1:
Expand All @@ -290,6 +302,7 @@ module_init(zoom2_soc_init);
static void __exit zoom2_soc_exit(void)
{
gpio_free(ZOOM2_HEADSET_MUX_GPIO);
gpio_free(ZOOM2_HEADSET_EXTMUTE_GPIO);

platform_device_unregister(zoom2_snd_device);
}
Expand Down

0 comments on commit 1b6ebdd

Please sign in to comment.