[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1ja6yd7czk.fsf@starbuckisacylon.baylibre.com>
Date: Sat, 29 Aug 2020 16:17:35 +0200
From: Jerome Brunet <jbrunet@...libre.com>
To: Stefan Agner <stefan@...er.ch>, narmstrong@...libre.com
Cc: mturquette@...libre.com, sboyd@...nel.org, khilman@...libre.com,
linux-amlogic@...ts.infradead.org, linux-clk@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Marek Szyprowski <m.szyprowski@...sung.com>,
Anand Moon <linux.amoon@...il.com>
Subject: Re: [PATCH v2] clk: meson: g12a: mark fclk_div2 as critical
On Fri 28 Aug 2020 at 17:52, Stefan Agner <stefan@...er.ch> wrote:
> On Amlogic Meson G12b platform, similar to fclk_div3, the fclk_div2
> seems to be necessary for the system to operate correctly as well.
>
> Typically, the clock also gets chosen by the eMMC peripheral. This
> probably masked the problem so far. However, when booting from a SD
> card the clock seems to get disabled which leads to a system freeze.
>
> Let's mark this clock as critical, fixing boot from SD card on G12b
> platforms.
>
> Fixes: 085a4ea93d54 ("clk: meson: g12a: add peripheral clock controller")
> Cc: Marek Szyprowski <m.szyprowski@...sung.com>
> Signed-off-by: Stefan Agner <stefan@...er.ch>
> Tested-by: Anand Moon <linux.amoon@...il.com>
Applied Thx.
> ---
> drivers/clk/meson/g12a.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c
> index fad616cac01e..6d44cadc06af 100644
> --- a/drivers/clk/meson/g12a.c
> +++ b/drivers/clk/meson/g12a.c
> @@ -298,6 +298,17 @@ static struct clk_regmap g12a_fclk_div2 = {
> &g12a_fclk_div2_div.hw
> },
> .num_parents = 1,
> + /*
> + * Similar to fclk_div3, it seems that this clock is used by
> + * the resident firmware and is required by the platform to
> + * operate correctly.
> + * Until the following condition are met, we need this clock to
> + * be marked as critical:
> + * a) Mark the clock used by a firmware resource, if possible
> + * b) CCF has a clock hand-off mechanism to make the sure the
> + * clock stays on until the proper driver comes along
> + */
> + .flags = CLK_IS_CRITICAL,
> },
> };
Powered by blists - more mailing lists