[PATCH] clk: meson: g12a: mark fclk_div2 as CLK_IGNORE_UNUSED

Jerome Brunet jbrunet at baylibre.com
Fri Aug 28 09:41:53 EDT 2020


On Fri 28 Aug 2020 at 15:07, Marek Szyprowski <m.szyprowski at samsung.com> wrote:

> Add CLK_IGNORE_UNUSED flag to the "fclk_div2" clock to fix boot hang on
> the Hardkernel's Odroid N2 board (with bootloader booted from SD card and
> kernel loaded via FTFP).
>
> It looks that this clock is disabled by the generic unused clocks
> scanning code before it gets enabled by the meson-gx-mmc driver.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
> ---
> Without this patch the only way to boot OdroidN2 board with mainline
> kernel is to append clk_ignore_unused kernel parameter. I've build the
> kernel from the default arm64's defconfig. The kernel is loaded via TFTP
> using vendor's u-boot.
> ---
>  drivers/clk/clk.c        | 5 +++++
>  drivers/clk/meson/g12a.c | 1 +
>  2 files changed, 6 insertions(+)
>
> diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c
> index 9803d44bb157..4106b6231be4 100644
> --- a/drivers/clk/meson/g12a.c
> +++ b/drivers/clk/meson/g12a.c
> @@ -298,6 +298,7 @@ static struct clk_regmap g12a_fclk_div2 = {
>  			&g12a_fclk_div2_div.hw
>  		},
>  		.num_parents = 1,
> +		.flags = CLK_IGNORE_UNUSED,

Hi Marek,

I just received another patch making this clock critical which I'm more
inclined to take. It should solve this problem you reporting as well.

In general CLK_IGNORE_UNUSED is not best way to address these problems as
a particular race condition (with probe defferal for ex) could still
turn the clock off ... which is apparently something we can't tolerate.

Thanks for reporting

>  	},
>  };




More information about the linux-amlogic mailing list