UPSTREAM: clk: rockchip: mark noc and some special clk as critical on rk3228

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 f18c0994cd)

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

Change-Id: Ie2c4c8d2c73a62efe96e64a3ec638970e82051d1
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
This commit is contained in:
Elaine Zhang
2017-05-02 15:34:04 +08:00
committed by Huang, Tao
parent 2d69aae60e
commit fe47e58fb1

View 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)