UPSTREAM: clk: rockchip: mark noc and some special clk as critical on rk3228
authorElaine Zhang <zhangqing@rock-chips.com>
Tue, 2 May 2017 07:34:04 +0000 (15:34 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Mon, 5 Jun 2017 08:10:05 +0000 (16:10 +0800)
The jtag/bus/peri/initmem/rom/stimer/phy clks no driver to handle them.
But this clks need enable,so make it as critical.

The ddrupctl/ddrmon/ddrphy clks no driver to handle them,
Chip design requirements for these clock to always on,

The hclk_otg_pmu is Chip design defect, must be always on,
The new document will update the description of this clock.

All these non-noc/non-arbi clocks,IC suggest always on,
Because it's have some order limitation, between the NOC clock switch
and bus IDLE(or pd on/off).

The software is not very good to solve this constraint.
Always on these clocks, has no effect on the system power consumption.
The new document will update the description of these clock.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git.kernel.org mmind/linux-rockchip.git v4.13-clk/next
 commit f18c0994cda54dc21d3b0ce2ba130b5ea8f58666)

Conflicts:
drivers/clk/rockchip/clk-rk3228.c

Change-Id: Ie2c4c8d2c73a62efe96e64a3ec638970e82051d1
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
drivers/clk/rockchip/clk-rk3228.c

index efa63382a667f85e3865fc4462e0c15ff83576ca..3f04be67429d3d434ae6a6ed70a72625959b9d90 100644 (file)
@@ -663,11 +663,37 @@ static struct rockchip_clk_branch rk3228_clk_branches[] __initdata = {
 
 static const char *const rk3228_critical_clocks[] __initconst = {
        "aclk_cpu",
-       "hclk_cpu",
        "pclk_cpu",
+       "hclk_cpu",
        "aclk_peri",
        "hclk_peri",
        "pclk_peri",
+       "aclk_rga_noc",
+       "aclk_iep_noc",
+       "aclk_vop_noc",
+       "aclk_hdcp_noc",
+       "hclk_vio_ahb_arbi",
+       "hclk_vio_noc",
+       "hclk_vop_noc",
+       "hclk_host0_arb",
+       "hclk_host1_arb",
+       "hclk_host2_arb",
+       "hclk_otg_pmu",
+       "aclk_gpu_noc",
+       "sclk_initmem_mbist",
+       "aclk_initmem",
+       "hclk_rom",
+       "pclk_ddrupctl",
+       "pclk_ddrmon",
+       "pclk_msch_noc",
+       "pclk_stimer",
+       "pclk_ddrphy",
+       "pclk_acodecphy",
+       "pclk_phy_noc",
+       "aclk_vpu_noc",
+       "aclk_rkvdec_noc",
+       "hclk_vpu_noc",
+       "hclk_rkvdec_noc",
 };
 
 static void __init rk3228_clk_init(struct device_node *np)