diff --git a/drivers/clk/qcom/gpucc-sm8550.c b/drivers/clk/qcom/gpucc-sm8550.c index 53614e980b26..f8dd1727c080 100644 --- a/drivers/clk/qcom/gpucc-sm8550.c +++ b/drivers/clk/qcom/gpucc-sm8550.c @@ -547,7 +547,18 @@ static const struct regmap_config gpu_cc_sm8550_regmap_config = { .fast_io = true, }; +static const u32 gpu_cc_sm8550_critical_cbcrs[] = { + 0x9004, /* GPU_CC_CXO_AON_CLK */ + 0x900c, /* GPU_CC_DEMET_CLK */ +}; + +static const struct qcom_cc_driver_data gpu_cc_sm8550_driver_data = { + .clk_cbcrs = gpu_cc_sm8550_critical_cbcrs, + .num_clk_cbcrs = ARRAY_SIZE(gpu_cc_sm8550_critical_cbcrs), +}; + static const struct qcom_cc_desc gpu_cc_sm8550_desc = { + .driver_data = &gpu_cc_sm8550_driver_data, .config = &gpu_cc_sm8550_regmap_config, .clks = gpu_cc_sm8550_clocks, .num_clks = ARRAY_SIZE(gpu_cc_sm8550_clocks), @@ -574,10 +585,6 @@ static int gpu_cc_sm8550_probe(struct platform_device *pdev) clk_lucid_ole_pll_configure(&gpu_cc_pll0, regmap, &gpu_cc_pll0_config); clk_lucid_ole_pll_configure(&gpu_cc_pll1, regmap, &gpu_cc_pll1_config); - /* Keep some clocks always-on */ - qcom_branch_set_clk_en(regmap, 0x9004); /* GPU_CC_CXO_AON_CLK */ - qcom_branch_set_clk_en(regmap, 0x900c); /* GPU_CC_DEMET_CLK */ - return qcom_cc_really_probe(&pdev->dev, &gpu_cc_sm8550_desc, regmap); }