[PATCH] clk: rockchip: add pclk_vio_grf to critical clock on the RK3399

Xing Zheng zhengxing at rock-chips.com
Sun Jun 12 02:48:33 PDT 2016

The pclk_vio_grf supply power for GRF IOs, if it is disabled, will
cause abnormal operation of the GRF.

The clock tree of the pclk_vio like this:
             | --> pclk_vio_grf
... pclk_vio | --> pclk_mipi_dsi1
             | --> pclk_mipi_dsi0

and the pclk_mipi_dsi0 and pclk_mipi_dsi1 don't have the flag
CLK_IGNORE_UNUSED, and they will be disabled by clk_disable_unused
when startup:
  --> clk_disable_unprepare
    --> clk_disable
      --> clk_core_disable(core->parent)

then, the pclk_vio_grf also is disabled. Therefore, we need to add
pclk_vio_grf to critical clock and avoid to disable pclk_vio and

Tested-by: Yakir Yang <ykk at rock-chips.com>
Signed-off-by: Yakir Yang <ykk at rock-chips.com>
Signed-off-by: Brian Norris <briannorris at chromium.org>
Signed-off-by: Xing Zheng <zhengxing at rock-chips.com>

 drivers/clk/rockchip/clk-rk3399.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/clk/rockchip/clk-rk3399.c b/drivers/clk/rockchip/clk-rk3399.c
index b6742fa..7ecb12c3 100644
--- a/drivers/clk/rockchip/clk-rk3399.c
+++ b/drivers/clk/rockchip/clk-rk3399.c
@@ -1485,6 +1485,7 @@ static const char *const rk3399_cru_critical_clocks[] __initconst = {
+	"pclk_vio_grf",
 static const char *const rk3399_pmucru_critical_clocks[] __initconst = {

More information about the Linux-rockchip mailing list