Skip to content

Commit

Permalink
ASoC: amd: Added hw_params support for ALC1015
Browse files Browse the repository at this point in the history
Adding rt1015 hw_params which set Bit-clock ratio,
PLL and appropriate sys clk specific with RTK1015.

Signed-off-by: Ravulapati Vishnu vardhan rao <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
  • Loading branch information
Ravulapati Vishnu vardhan rao authored and broonie committed Jul 30, 2020
1 parent f7b2651 commit c3936ba
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions sound/soc/amd/acp3x-rt5682-max9836.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,34 @@ static int rt5682_clk_enable(struct snd_pcm_substream *substream)
return ret;
}

static int acp3x_1015_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_dai *codec_dai;
int srate, i, ret;

ret = 0;
srate = params_rate(params);

for_each_rtd_codec_dais(rtd, i, codec_dai) {
if (strcmp(codec_dai->component->name, "rt1015-aif"))
continue;
ret = snd_soc_dai_set_bclk_ratio(codec_dai, 64);
if (ret < 0)
return ret;
ret = snd_soc_dai_set_pll(codec_dai, 0, RT1015_PLL_S_BCLK,
64 * srate, 256 * srate);
if (ret < 0)
return ret;
ret = snd_soc_dai_set_sysclk(codec_dai, RT1015_SCLK_S_PLL,
256 * srate, SND_SOC_CLOCK_IN);
if (ret < 0)
return ret;
}
return ret;
}

static void rt5682_clk_disable(void)
{
clk_disable_unprepare(rt5682_dai_wclk);
Expand Down Expand Up @@ -232,6 +260,7 @@ static const struct snd_soc_ops acp3x_5682_ops = {
static const struct snd_soc_ops acp3x_max_play_ops = {
.startup = acp3x_max_startup,
.shutdown = rt5682_shutdown,
.hw_params = acp3x_1015_hw_params,
};

static const struct snd_soc_ops acp3x_ec_cap0_ops = {
Expand Down

0 comments on commit c3936ba

Please sign in to comment.