Re: [PATCH v7 00/21] Move PMC clocks into Tegra PMC driver

From: Sowjanya Komatineni
Date: Thu Jan 09 2020 - 22:25:01 EST



On 1/9/20 5:39 PM, Sowjanya Komatineni wrote:

On 1/9/20 11:44 AM, Dmitry Osipenko wrote:
External email: Use caution opening links or attachments


08.01.2020 07:24, Sowjanya Komatineni ÐÐÑÐÑ:
This patch series moves Tegra PMC clocks from clock driver to pmc driver
along with the device trees changes and audio driver which uses one of
the pmc clock for audio mclk.

Tegra PMC has clk_out_1, clk_out_2, clk_out_3 and blink controls which
are currently registered by Tegra clock driver using clk_regiser_mux and
clk_register_gate which performs direct Tegra PMC register access.

When Tegra PMC is in secure mode, any access from non-secure world will
not go through.

This patch series adds these Tegra PMC clocks and blink controls to Tegra
PMC driver with PMC as clock provider and removes them from Tegra clock
driver.

PMC clock clk_out_1 is dedicated for audio mclk from Tegra30 thru Tegra210
and clock driver does inital parent configuration for it and enables them.
But this clock should be taken care by audio driver as there is no need
to have this clock pre enabled.

So, this series also includes patch that updates ASoC driver to take
care of parent configuration for mclk if device tree don't specify
initial parent configuration using assigned-clock-parents and controls
audio mclk enable/disable during ASoC machine startup and shutdown.

DTs are also updated to use clk_out_1 as audio mclk rather than extern1.

This series also includes a patch for mclk fallback to extern1 when
retrieving mclk fails to have this backward compatible of new DT with
old kernels.
Suspend-resume doesn't work anymore, reverting this series helps. I
don't have any other information yet, please take a look.
Thanks Dmitry. Will test suspend resume and check..

I see if we leave audio mclk (cdev1) enabled during tegra_asoc_utils_init, suspend resume works.

Without audio mclk enabled during tegra_asoc_utils_init, somehow it prevents entry to suspend on Tegra30 platform.

Will look in detail..