clk: rockchip: rk3399: keep the pclk_vio is CLK_IGNORE_UNUSED and critical
authorXing Zheng <zhengxing@rock-chips.com>
Fri, 22 Apr 2016 07:26:55 +0000 (15:26 +0800)
committerGerrit Code Review <gerrit@rock-chips.com>
Mon, 25 Apr 2016 12:35:26 +0000 (20:35 +0800)
When we use the MIPI screen, the driver will unprepare and disable
the phy_cfg, it will diable its parent pclk_vio:
dw_mipi_dsi_phy_init
  --> clk_disable_unprepare
    --> clk_disable
      --> clk_core_disable(core->parent)

The pclk_vio supply power for pclk_vio_grf, hence, disable pclk_vio_grf will
cause other drivers failed to operate GRF.

Change-Id: I6d5bd27b9478da09209130f1fd5a62c0d4bb1785
Reported-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
drivers/clk/rockchip/clk-rk3399.c

index 71a3529ca61b276879e9f358aa53b1d79f680421..5277c0d8345183eb06ddf043549875c4d63e0b66 100644 (file)
@@ -1077,7 +1077,7 @@ static struct rockchip_clk_branch rk3399_clk_branches[] __initdata = {
        COMPOSITE(ACLK_VIO, "aclk_vio", mux_pll_src_cpll_gpll_ppll_p, CLK_IGNORE_UNUSED,
                        RK3399_CLKSEL_CON(42), 6, 2, MFLAGS, 0, 5, DFLAGS,
                        RK3399_CLKGATE_CON(11), 10, GFLAGS),
-       COMPOSITE_NOMUX(PCLK_VIO, "pclk_vio", "aclk_vio", 0,
+       COMPOSITE_NOMUX(PCLK_VIO, "pclk_vio", "aclk_vio", CLK_IGNORE_UNUSED,
                        RK3399_CLKSEL_CON(43), 0, 5, DFLAGS,
                        RK3399_CLKGATE_CON(11), 1, GFLAGS),
 
@@ -1534,6 +1534,7 @@ static const char *const rk3399_cru_critical_clocks[] __initconst = {
        "aclk_dmac1_perilp",
        "gpll_aclk_perilp0_src",
        "gpll_aclk_perihp_src",
+       "pclk_vio",
 };
 
 static const char *const rk3399_pmucru_critical_clocks[] __initconst = {