ASoC: codecs: Add support for new audio clocks

Add support for new audio clocks for audio playback and capture.

Change-Id: I9c07700a8060717fa9213b8536efb5780c9936bb
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
This commit is contained in:
Sudheer Papothi
2020-12-11 01:04:19 +05:30
parent f067509538
commit 34c62909f4

View File

@@ -35,6 +35,10 @@ enum {
AUDIO_EXT_CLK_LPASS8,
AUDIO_EXT_CLK_LPASS_AUDIO_HW_VOTE,
AUDIO_EXT_CLK_LPASS9,
AUDIO_EXT_CLK_LPASS10,
AUDIO_EXT_CLK_LPASS11,
AUDIO_EXT_CLK_LPASS12,
AUDIO_EXT_CLK_LPASS13,
AUDIO_EXT_CLK_LPASS_MAX,
AUDIO_EXT_CLK_EXTERNAL_PLL = AUDIO_EXT_CLK_LPASS_MAX,
AUDIO_EXT_CLK_MAX,
@@ -161,16 +165,16 @@ static u8 audio_ext_clk_get_parent(struct clk_hw *hw)
}
pr_debug("%s: parent index = %u\n", __func__, ret);
return ret;
} else if ((clk_priv->clk_src >= AUDIO_EXT_CLK_LPASS6) &&
(clk_priv->clk_src < AUDIO_EXT_CLK_LPASS_MAX) &&
} else if ((clk_priv->clk_src >= AUDIO_EXT_CLK_LPASS10) &&
(clk_priv->clk_src < AUDIO_EXT_CLK_LPASS13) &&
clk_priv->clk_name) {
for (i = 0; i < num_parents; i++) {
if (!strcmp(parent_names[i],
clk_priv->clk_name))
ret = i;
}
pr_debug("%s: parent index = %u\n", __func__, ret);
return ret;
for (i = 0; i < num_parents; i++) {
if (!strcmp(parent_names[i],
clk_priv->clk_name))
ret = i;
}
pr_debug("%s: parent index = %u\n", __func__, ret);
return ret;
} else
return 0;
}
@@ -382,9 +386,6 @@ static struct audio_ext_clk audio_clk_array[] = {
.div = 1,
.hw.init = &(struct clk_init_data){
.name = "audio_lpass_mclk6",
.parent_names = (const char *[])
{ "audio_lpass_mclk5" },
.num_parents = 1,
.ops = &audio_ext_clk_ops,
},
},
@@ -396,9 +397,6 @@ static struct audio_ext_clk audio_clk_array[] = {
.div = 1,
.hw.init = &(struct clk_init_data){
.name = "audio_lpass_mclk7",
.parent_names = (const char *[])
{ "audio_lpass_mclk5" },
.num_parents = 1,
.ops = &audio_ext_clk_ops,
},
},
@@ -419,9 +417,6 @@ static struct audio_ext_clk audio_clk_array[] = {
.div = 1,
.hw.init = &(struct clk_init_data){
.name = "audio_lpass_mclk8",
.parent_names = (const char *[])
{ "audio_lpass_mclk5" },
.num_parents = 1,
.ops = &audio_ext_clk_ops,
},
},
@@ -442,13 +437,63 @@ static struct audio_ext_clk audio_clk_array[] = {
.div = 1,
.hw.init = &(struct clk_init_data){
.name = "audio_lpass_mclk9",
.ops = &audio_ext_clk_ops,
},
},
},
{
.pnctrl_info = {NULL},
.fact = {
.mult = 1,
.div = 1,
.hw.init = &(struct clk_init_data){
.name = "audio_lpass_mclk10",
.parent_names = (const char *[])
{ "audio_lpass_mclk5" },
{ "audio_lpass_mclk6" },
.num_parents = 1,
.ops = &audio_ext_clk_ops,
},
},
},
{
.pnctrl_info = {NULL},
.fact = {
.mult = 1,
.div = 1,
.hw.init = &(struct clk_init_data){
.name = "audio_lpass_mclk11",
.parent_names = (const char *[])
{ "audio_lpass_mclk6" },
.num_parents = 1,
.ops = &audio_ext_clk_ops,
},
},
},
{
.pnctrl_info = {NULL},
.fact = {
.mult = 1,
.div = 1,
.hw.init = &(struct clk_init_data){
.name = "audio_lpass_mclk12",
.parent_names = (const char *[])
{ "audio_lpass_mclk6" },
.num_parents = 1,
.ops = &audio_ext_clk_ops,
},
},
},
{
.pnctrl_info = {NULL},
.fact = {
.mult = 1,
.div = 1,
.hw.init = &(struct clk_init_data){
.name = "audio_lpass_mclk13",
.ops = &audio_ext_clk_ops,
},
},
},
{
.pnctrl_info = {NULL},
.fact = {