Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

clk: qcom: gpucc-sm8150: Add SC8180x support

The GPU clock controller found in SC8180x is a variant of the same block
found in SM8150, but with one additional clock frequency for the
gmu_clk_src clock.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210721225329.3035779-1-bjorn.andersson@linaro.org
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>

authored by

Bjorn Andersson and committed by
Stephen Boyd
945cb3a1 48662d98

+13
+1
Documentation/devicetree/bindings/clock/qcom,gpucc.yaml
··· 26 26 - qcom,sdm845-gpucc 27 27 - qcom,sc7180-gpucc 28 28 - qcom,sc7280-gpucc 29 + - qcom,sc8180x-gpucc 29 30 - qcom,sm8150-gpucc 30 31 - qcom,sm8250-gpucc 31 32
+12
drivers/clk/qcom/gpucc-sm8150.c
··· 82 82 { } 83 83 }; 84 84 85 + static const struct freq_tbl ftbl_gpu_cc_gmu_clk_src_sc8180x[] = { 86 + F(19200000, P_BI_TCXO, 1, 0, 0), 87 + F(200000000, P_GPLL0_OUT_MAIN_DIV, 1.5, 0, 0), 88 + F(400000000, P_GPLL0_OUT_MAIN, 1.5, 0, 0), 89 + F(500000000, P_GPU_CC_PLL1_OUT_MAIN, 1, 0, 0), 90 + { } 91 + }; 92 + 85 93 static struct clk_rcg2 gpu_cc_gmu_clk_src = { 86 94 .cmd_rcgr = 0x1120, 87 95 .mnd_width = 0, ··· 285 277 }; 286 278 287 279 static const struct of_device_id gpu_cc_sm8150_match_table[] = { 280 + { .compatible = "qcom,sc8180x-gpucc" }, 288 281 { .compatible = "qcom,sm8150-gpucc" }, 289 282 { } 290 283 }; ··· 298 289 regmap = qcom_cc_map(pdev, &gpu_cc_sm8150_desc); 299 290 if (IS_ERR(regmap)) 300 291 return PTR_ERR(regmap); 292 + 293 + if (of_device_is_compatible(pdev->dev.of_node, "qcom,sc8180x-gpucc")) 294 + gpu_cc_gmu_clk_src.freq_tbl = ftbl_gpu_cc_gmu_clk_src_sc8180x; 301 295 302 296 clk_trion_pll_configure(&gpu_cc_pll1, regmap, &gpu_cc_pll1_config); 303 297