[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <35430e71-5718-de7f-9587-73d15ed6507a@opensource.cirrus.com>
Date: Mon, 21 Dec 2020 10:38:22 +0000
From: Richard Fitzgerald <rf@...nsource.cirrus.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>
CC: <broonie@...nel.org>, <robh+dt@...nel.org>,
<nsaenzjulienne@...e.de>, <linux-kernel@...r.kernel.org>,
<devicetree@...r.kernel.org>, <alsa-devel@...a-project.org>,
<patches@...nsource.cirrus.com>,
<bcm-kernel-feedback-list@...adcom.com>,
<linux-rpi-kernel@...ts.infradead.org>,
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH v3 3/6] ASoC: audio-graph-card: Support setting component
plls and sysclks
On 18/12/2020 00:03, Kuninori Morimoto wrote:
>
> Hi Richard
>
> Thank you for your patch.
> This is v3 patch, but I think this is the first time for me
> to receive patch...
Yes sorry.
Somehow I missed you off V1 and V2 emails.
>
>> Some codecs need plls and/or sysclks to be configured using the
>> snd_soc_component_set_[sysclk|pll] functions. These drivers cannot
>> necessarily be converted to use the clock framework. If the codec is on
>> a I2C/SPI bus, a nested clk_get would be needed to enable the bus clock.
>> But the clock framework does not support nested operations and this would
>> deadlock.
>>
>> This patch adds new dt properties that list phandles of components with
>> the pll/sysclk settings to be applied. Multiple settings can be given for
>> the same phandle to allow for components with multiple clocks and plls.
>> The plls and sysclks are enabled when the card bias level moves to STANDBY
>> and disabled when it moves to OFF.
>>
>> The implementation does not attempt to handle specifying complex clock
>> ordering interdependencies between components. The plls and sysclks are
>> applied to a component as it is passed to the card set_bias_level/
>> set_bias_level_post callbacks. It follows from this that the order
>> components are configured is the order that they are passed to those
>> callbacks.
>>
>> Signed-off-by: Richard Fitzgerald <rf@...nsource.cirrus.com>
>> ---
>> include/sound/simple_card_utils.h | 25 +++
>> sound/soc/generic/audio-graph-card.c | 16 +-
>> sound/soc/generic/simple-card-utils.c | 236 ++++++++++++++++++++++++++
>> 3 files changed, 275 insertions(+), 2 deletions(-)
>
> I understand that you need sysclk/pll and .set_bias_level_xxx().
> But I guess makes it generic code is difficult (?).
> Thus, as Sameer doing on Tegra, creating custom audio-graph-card is better
> idea for you ?
>
> # Now I'm creating new audio-graph-card2 which also supports
> # overwriting/customizing each/all functions.
> # It is not full compatible with audio-graph-card, but almost same if you
> # uses normal connection.
> # I hope I can post it next year
>
> Thank you for your help !!
>
> Best regards
> ---
> Kuninori Morimoto
>
Powered by blists - more mailing lists