]> git.baikalelectronics.ru Git - kernel.git/commit
clk: meson-gxbb: set fclk_div3 as CLK_IS_CRITICAL
authorChristian Hewitt <christianshewitt@gmail.com>
Mon, 5 Nov 2018 23:08:20 +0000 (00:08 +0100)
committerStephen Boyd <sboyd@kernel.org>
Thu, 8 Nov 2018 18:12:46 +0000 (10:12 -0800)
commite94b612527b408bd3f52aa30a44059c6ac9d3224
tree5a9cb10d0477ffc29598096e655907884456d51c
parente9766e9a588e25991acf146230cdc803762cdb20
clk: meson-gxbb: set fclk_div3 as CLK_IS_CRITICAL

On the Khadas VIM2 (GXM) and LePotato (GXL) board there are problems
with reboot; e.g. a ~60 second delay between issuing reboot and the
board power cycling (and in some OS configurations reboot will fail
and require manual power cycling).

Similar to 'commit 52ae7c4a87a4485b5f7f27f30b8c9a74501c30ec ("clk:
meson-gxbb: set fclk_div2 as CLK_IS_CRITICAL")' the SCPI Cortex-M4
Co-Processor seems to depend on FCLK_DIV3 being operational.

Until commit 003f3d10a72f753b46919419111c19a9753bc41b ("clk:
meson: add fdiv clock gates"), this clock was modeled and left on by
the bootloader.

We don't have precise documentation about the SCPI Co-Processor and
its clock requirement so we are learning things the hard way.

Marking this clock as critical solves the problem but it should not
be viewed as final solution. Ideally, the SCPI driver should claim
these clocks. We also depends on some clock hand-off mechanism
making its way to CCF, to make sure the clock stays on between its
registration and the SCPI driver probe.

Fixes: 003f3d10a72f ("clk: meson: add fdiv clock gates")
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/meson/gxbb.c