On Fri 28 Aug 2020 at 15:07, Marek Szyprowski <[email protected]> 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 <[email protected]> > --- > 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 > }, > };

