From 7259ca6cfed084419b6a02c172b03bf96fe02416 Mon Sep 17 00:00:00 2001 From: Aditya Bavanari Date: Mon, 30 Jul 2018 12:03:03 +0530 Subject: [PATCH] asoc: audio-ext-clk: Add support for multiple lpass clock sources In bolero, Rx and Tx macros require multiple lpass clock sources. Update audio clock driver to support multiple lpass clock instances as required for Rx and Tx macros. Change-Id: Ia7d766c52c8edb65f3ceb0585c6fd5a2fee6c5a6 Signed-off-by: Aditya Bavanari --- asoc/codecs/audio-ext-clk-up.c | 48 ++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/asoc/codecs/audio-ext-clk-up.c b/asoc/codecs/audio-ext-clk-up.c index 2664b15b59..0c02e14d7d 100644 --- a/asoc/codecs/audio-ext-clk-up.c +++ b/asoc/codecs/audio-ext-clk-up.c @@ -29,6 +29,10 @@ enum { AUDIO_EXT_CLK_LPASS, AUDIO_EXT_CLK_LPASS2, AUDIO_EXT_CLK_LPASS3, + AUDIO_EXT_CLK_LPASS4, + AUDIO_EXT_CLK_LPASS5, + AUDIO_EXT_CLK_LPASS6, + AUDIO_EXT_CLK_LPASS7, AUDIO_EXT_CLK_LPASS_MAX, AUDIO_EXT_CLK_MAX = AUDIO_EXT_CLK_LPASS_MAX, }; @@ -211,6 +215,50 @@ static struct audio_ext_clk audio_clk_array[] = { }, }, }, + { + .pnctrl_info = {NULL}, + .fact = { + .mult = 1, + .div = 1, + .hw.init = &(struct clk_init_data){ + .name = "audio_lpass_mclk4", + .ops = &audio_ext_clk_ops, + }, + }, + }, + { + .pnctrl_info = {NULL}, + .fact = { + .mult = 1, + .div = 1, + .hw.init = &(struct clk_init_data){ + .name = "audio_lpass_mclk5", + .ops = &audio_ext_clk_ops, + }, + }, + }, + { + .pnctrl_info = {NULL}, + .fact = { + .mult = 1, + .div = 1, + .hw.init = &(struct clk_init_data){ + .name = "audio_lpass_mclk6", + .ops = &audio_ext_clk_ops, + }, + }, + }, + { + .pnctrl_info = {NULL}, + .fact = { + .mult = 1, + .div = 1, + .hw.init = &(struct clk_init_data){ + .name = "audio_lpass_mclk7", + .ops = &audio_ext_clk_ops, + }, + }, + }, }; static int audio_get_pinctrl(struct platform_device *pdev)