UPSTREAM: clk: rockchip: mark some special clk as critical on rk3368
[firefly-linux-kernel-4.4.55.git] / drivers / clk / rockchip / clk-rk3368.c
index d5263d5c2b4e10f05552995e7c9954c30f879734..7df7b9a89b7aa8861fb66f8916e55fde39a2afe3 100644 (file)
@@ -648,7 +648,7 @@ static struct rockchip_clk_branch rk3368_clk_branches[] __initdata = {
        GATE(SCLK_MAC_TX, "sclk_mac_tx", "mac_clk", 0,
                        RK3368_CLKGATE_CON(7), 5, GFLAGS),
 
-       GATE(0, "jtag", "ext_jtag", 0,
+       GATE(0, "jtag", "ext_jtag", CLK_IGNORE_UNUSED,
                        RK3368_CLKGATE_CON(7), 0, GFLAGS),
 
        COMPOSITE_NODIV(0, "hsic_usbphy_480m", mux_hsic_usbphy480m_p, 0,
@@ -862,8 +862,18 @@ static struct rockchip_clk_branch rk3368_clk_branches[] __initdata = {
 static const char *const rk3368_critical_clocks[] __initconst = {
        "aclk_bus",
        "aclk_peri",
+       /*
+        * pwm1 supplies vdd_logic on a lot of boards, is currently unhandled
+        * but needs to stay enabled there (including its parents) at all times.
+        */
+       "pclk_pwm1",
        "pclk_pd_pmu",
-       "hclk_vio_noc",
+       "pclk_pd_alive",
+       "pclk_peri",
+       "hclk_peri",
+       "pclk_ddrphy",
+       "pclk_ddrupctl",
+       "pmu_hclk_otg0",
 };
 
 static void __init rk3368_clk_init(struct device_node *np)