[PATCH 1/2] ASoC: rt5682s: Add driver for ALC5682I-VS codec
Derek [方德義]
derek.fang at realtek.com
Tue Aug 31 14:37:36 CEST 2021
> Subject: Re: [PATCH 1/2] ASoC: rt5682s: Add driver for ALC5682I-VS codec
>
> On 8/26/2021 4:09 PM, derek.fang at realtek.com wrote:
> > +
> > +static int is_sys_clk_from_plla(struct snd_soc_dapm_widget *w,
> > + struct snd_soc_dapm_widget *sink)
> > +{
> > + struct snd_soc_component *component =
> snd_soc_dapm_to_component(w->dapm);
> > + struct rt5682s_priv *rt5682s =
> snd_soc_component_get_drvdata(component);
> > +
> > + if ((rt5682s->sysclk_src == RT5682S_CLK_SRC_PLL1) ||
> > + (rt5682s->sysclk_src == RT5682S_CLK_SRC_PLL2 &&
> > + rt5682s->pll_comb == USE_PLLAB))
>
>
> What about rt5682s->pll_comb == USE_PLLA?
Thanks for review.
My design thought of this check function is that
pll_comb would be set via snd_soc_dai_set_pll and
sysclk_src would be set via snd_soc_dai_set_sysclk.
So I want to make sure the two settings are both correct first
and then power PLLA/B.
Otherwise, not power, although the chance of mistake is rare.
___ +-->[PLLA]-+-------------------> PLL1 out
|Clk| | | ___
|Mux|--| +-->|Clk|
|___| | |Mux|-->[PLLB]--> PLL2 out
+------------->|___|
>
> > + return 1;
> > +
> > + return 0;
> > +}
> > +
> > +static int is_sys_clk_from_pllb(struct snd_soc_dapm_widget *w,
> > + struct snd_soc_dapm_widget *sink)
> > +{
> > + struct snd_soc_component *component =
> snd_soc_dapm_to_component(w->dapm);
> > + struct rt5682s_priv *rt5682s =
> snd_soc_component_get_drvdata(component);
> > +
> > + if (rt5682s->sysclk_src == RT5682S_CLK_SRC_PLL2)
>
>
> Should we also test rt5682s->pll_comb here?
>
>
> > + return 1;
> > +
> > + return 0;
> > +}
> >
> ------Please consider the environment before printing this e-mail.
More information about the Alsa-devel
mailing list