clk: qcom: Add support for Qualcomm GPU Clock Controller on Shikra

The Qualcomm Shikra GPU clock controller is similar to QCM2290 GPUCC
hardware block, with minor differences. Hence add support for Shikra
GPUCC by extending the QCM2290 GPUCC driver.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Imran Shaik <imran.shaik@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260718-shikra-dispcc-gpucc-v6-15-62703e05ef0f@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
Imran Shaik 2026-07-18 18:26:22 +05:30 committed by Bjorn Andersson
parent 22d9257f08
commit c7d44572a8

View File

@ -134,6 +134,17 @@ static const struct freq_tbl ftbl_gpu_cc_gx_gfx3d_clk_src[] = {
{ }
};
static const struct freq_tbl ftbl_gpu_cc_gx_gfx3d_clk_src_shikra[] = {
F(355200000, P_GPU_CC_PLL0_OUT_AUX, 2, 0, 0),
F(537600000, P_GPU_CC_PLL0_OUT_AUX, 2, 0, 0),
F(672000000, P_GPU_CC_PLL0_OUT_AUX2, 2, 0, 0),
F(844800000, P_GPU_CC_PLL0_OUT_AUX2, 2, 0, 0),
F(921600000, P_GPU_CC_PLL0_OUT_AUX2, 2, 0, 0),
F(1017600000, P_GPU_CC_PLL0_OUT_AUX2, 2, 0, 0),
F(1142400000, P_GPU_CC_PLL0_OUT_AUX2, 2, 0, 0),
{ }
};
static struct clk_rcg2 gpu_cc_gx_gfx3d_clk_src = {
.cmd_rcgr = 0x101c,
.mnd_width = 0,
@ -372,12 +383,16 @@ static const struct qcom_cc_desc gpu_cc_qcm2290_desc = {
static const struct of_device_id gpu_cc_qcm2290_match_table[] = {
{ .compatible = "qcom,qcm2290-gpucc" },
{ .compatible = "qcom,shikra-gpucc" },
{ }
};
MODULE_DEVICE_TABLE(of, gpu_cc_qcm2290_match_table);
static int gpu_cc_qcm2290_probe(struct platform_device *pdev)
{
if (device_is_compatible(&pdev->dev, "qcom,shikra-gpucc"))
gpu_cc_gx_gfx3d_clk_src.freq_tbl = ftbl_gpu_cc_gx_gfx3d_clk_src_shikra;
return qcom_cc_probe(pdev, &gpu_cc_qcm2290_desc);
}