From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: "Reddy, MR Swami" <MR.Swami.Reddy@ti.com>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
"Girdwood, Liam" <lrg@ti.com>
Subject: Re: [PATCH] ASoC: Add support for TI LM49453 Audio codec
Date: Thu, 5 Jan 2012 06:17:13 +0000 [thread overview]
Message-ID: <20120105061713.GH11867@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <290463D19D2E064191F1F96ECA480A89434A7595BC@EXMAIL02.scwf.nsc.com>
On Wed, Jan 04, 2012 at 03:11:03AM -0800, Reddy, MR Swami wrote:
> On Wednesday, January 04, 2012 2:48 AM, Mark Brown wrote:
Your mail client appears to be very broken, it's reflowed all my text to
remove line breaks which does nothing for legibility.
> >> + SND_SOC_DAPM_OUT_DRV("Sidetone DAC HPR Playback",
> >> + LM49453_P0_STN_SEL_REG, 1, 0, NULL, 0),
> >What exactly do these register bits do? The use of OUT_DRV widgets looks very suspicious for a sidetone, an output driver would usually be a power
> >amplifier or transducer driver so I suspect the power sequencing will be all wrong. It looks like these are mixer input controls which wouldn't
> >normally be widgets at all.
> The above selects the Sidetone onto left and right HP DAC output. Sidetone is not a mixer control.
What makes you say that the sidetone is not a mixer? That's generally
exactly what a sidetone is - mixing an input into an output, usually
with a lot of attenuation. What you're describing above just sounds
like a normal sidetone, why have you done these as output driver widgets?
> >> + { "AMIC1Bias", NULL, "AMIC1"},
> >> + { "Mic1_Input Capture Route", "MIC1", "AMIC1Bias"},
> >Your CODEC driver should not be connecting the microphone biases, the connections are board specific.
> The above Micbias is internal to codec. Please advice.
You're saying that the CODEC has a MEMS microphone built into it?
> >That memset is just going to mask warnings, it shouldn't be needed.
> OK.
Generally it's OK to just make updates in new versions without
explicitly commenting on each one, this makes it much easier to see
areas of your reply that are signifigant.
> >> + snd_soc_write(codec, LM49453_P0_ADC_CLK_DIV_REG, val);
> >> + snd_soc_write(codec, LM49453_P0_DAC_OT_CLK_DIV_REG, val);
> >> + snd_soc_write(codec, LM49453_P0_DAC_HP_CLK_DIV_REG, val);
> >...and frankly I've no idea what this code is doing, I'd expect a clock divider configuration to vary depending on the >input clock as well as the sample rate.
> The 'val' is the clock divider value based on the sampling rate.
If these are clock dividers shouldn't they also depend on the input
clock?
> >> + case 19000000:
> >> + val = 0;
> >> + break;
> >> + case 48000:
> >> + case 32576:
> >> + val = 1;
> >> + break;
> >> + default:
> >> + return -EINVAL;
> >> + }
> >> + snd_soc_update_bits(codec, LM49453_P0_PMC_SETUP_REG, BIT(4),
> >> + val);
> >I don't think this does what you think it does, your mask and value don't overlap at all.
> In the above _update_bits(), the LM49453_P0_PMC_SETUP_REG register's 4th bit is set, based on the 'val'. Please let me know, if something wrong there.
Please read what I wrote above.
> >> + snd_soc_update_bits(dai->codec, LM49453_P0_DAC_DSP_REG, BIT(0),
> >> + (!!mute << 0));
> >> + snd_soc_update_bits(dai->codec, LM49453_P0_DAC_DSP_REG, BIT(1),
> >> + (!!mute << 1));
> >Why are there two separate update bits operations here?
> For muting the HP left and right channels using BIT(0) and BIT(1).
That doesn't answer my question, my question was why there are two
*separate* update_bits() operations.
next prev parent reply other threads:[~2012-01-05 6:17 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <290463D19D2E064191F1F96ECA480A89434A67486B@EXMAIL02.scwf.nsc.com>
2012-01-03 21:17 ` [PATCH] ASoC: Add support for TI LM49453 Audio codec Mark Brown
[not found] ` <290463D19D2E064191F1F96ECA480A89434A7595BC@EXMAIL02.scwf.nsc.com>
2012-01-05 6:17 ` Mark Brown [this message]
[not found] <290463D19D2E064191F1F96ECA480A89434AAB3793@EXMAIL02.scwf.nsc.com>
2012-01-27 14:35 ` Mark Brown
2012-01-31 11:59 Reddy, MR Swami
2012-01-31 20:12 ` Mark Brown
-- strict thread matches above, loose matches on Subject: below --
2012-02-02 14:30 [PATCH ] " Reddy, MR Swami
2012-02-02 23:14 ` Mark Brown
2012-02-03 12:19 ` Reddy, MR Swami
2012-02-03 13:25 ` Mark Brown
2012-02-03 13:33 ` M R Swami Reddy
2012-02-03 13:55 ` Mark Brown
2012-02-03 14:44 ` M R Swami Reddy
2012-02-03 14:54 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120105061713.GH11867@opensource.wolfsonmicro.com \
--to=broonie@opensource.wolfsonmicro.com \
--cc=MR.Swami.Reddy@ti.com \
--cc=alsa-devel@alsa-project.org \
--cc=lrg@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.