clk: qcom: rpmcc: Add support for MSM8953 RPM clocks.
authorVladimir Lypak <junak.pub@gmail.com>
Thu, 5 Aug 2021 17:19:44 +0000 (17:19 +0000)
committerStephen Boyd <sboyd@kernel.org>
Fri, 6 Aug 2021 01:44:49 +0000 (18:44 -0700)
Add definitions for RPM clocks used on MSM8953 platform.

Signed-off-by: Vladimir Lypak <junak.pub@gmail.com>
Signed-off-by: Adam Skladowski <a_skl39@protonmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Sireesh Kodali <sireeshkodali@protonmail.com>
Link: https://lore.kernel.org/r/QZ0fkozlubDdc7CvqjZPhAviFmjJ28ht7Y4PT3rYM@cp4-web-038.plabs.ch
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/qcom/clk-smd-rpm.c

index 7390f51..fbf4bc7 100644 (file)
@@ -913,6 +913,42 @@ static const struct rpm_smd_clk_desc rpm_clk_sdm660 = {
        .num_clks = ARRAY_SIZE(sdm660_clks),
 };
 
+static struct clk_smd_rpm *msm8953_clks[] = {
+       [RPM_SMD_XO_CLK_SRC]            = &sdm660_bi_tcxo,
+       [RPM_SMD_XO_A_CLK_SRC]          = &sdm660_bi_tcxo_a,
+       [RPM_SMD_PCNOC_CLK]             = &msm8916_pcnoc_clk,
+       [RPM_SMD_PCNOC_A_CLK]           = &msm8916_pcnoc_a_clk,
+       [RPM_SMD_SNOC_CLK]              = &msm8916_snoc_clk,
+       [RPM_SMD_SNOC_A_CLK]            = &msm8916_snoc_a_clk,
+       [RPM_SMD_BIMC_CLK]              = &msm8916_bimc_clk,
+       [RPM_SMD_BIMC_A_CLK]            = &msm8916_bimc_a_clk,
+       [RPM_SMD_IPA_CLK]               = &msm8976_ipa_clk,
+       [RPM_SMD_IPA_A_CLK]             = &msm8976_ipa_a_clk,
+       [RPM_SMD_SYSMMNOC_CLK]          = &msm8936_sysmmnoc_clk,
+       [RPM_SMD_SYSMMNOC_A_CLK]        = &msm8936_sysmmnoc_a_clk,
+       [RPM_SMD_QDSS_CLK]              = &msm8916_qdss_clk,
+       [RPM_SMD_QDSS_A_CLK]            = &msm8916_qdss_a_clk,
+       [RPM_SMD_BB_CLK1]               = &msm8916_bb_clk1,
+       [RPM_SMD_BB_CLK1_A]             = &msm8916_bb_clk1_a,
+       [RPM_SMD_BB_CLK2]               = &msm8916_bb_clk2,
+       [RPM_SMD_BB_CLK2_A]             = &msm8916_bb_clk2_a,
+       [RPM_SMD_RF_CLK2]               = &msm8916_rf_clk2,
+       [RPM_SMD_RF_CLK2_A]             = &msm8916_rf_clk2_a,
+       [RPM_SMD_RF_CLK3]               = &msm8992_ln_bb_clk,
+       [RPM_SMD_RF_CLK3_A]             = &msm8992_ln_bb_a_clk,
+       [RPM_SMD_DIV_CLK2]              = &msm8974_div_clk2,
+       [RPM_SMD_DIV_A_CLK2]            = &msm8974_div_a_clk2,
+       [RPM_SMD_BB_CLK1_PIN]           = &msm8916_bb_clk1_pin,
+       [RPM_SMD_BB_CLK1_A_PIN]         = &msm8916_bb_clk1_a_pin,
+       [RPM_SMD_BB_CLK2_PIN]           = &msm8916_bb_clk2_pin,
+       [RPM_SMD_BB_CLK2_A_PIN]         = &msm8916_bb_clk2_a_pin,
+};
+
+static const struct rpm_smd_clk_desc rpm_clk_msm8953 = {
+       .clks = msm8953_clks,
+       .num_clks = ARRAY_SIZE(msm8953_clks),
+};
+
 /* SM6125 */
 DEFINE_CLK_SMD_RPM(sm6125, cnoc_clk, cnoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 1);
 DEFINE_CLK_SMD_RPM(sm6125, snoc_clk, snoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 2);
@@ -1013,6 +1049,7 @@ static const struct of_device_id rpm_smd_clk_match_table[] = {
        { .compatible = "qcom,rpmcc-msm8226", .data = &rpm_clk_msm8974 },
        { .compatible = "qcom,rpmcc-msm8916", .data = &rpm_clk_msm8916 },
        { .compatible = "qcom,rpmcc-msm8936", .data = &rpm_clk_msm8936 },
+       { .compatible = "qcom,rpmcc-msm8953", .data = &rpm_clk_msm8953 },
        { .compatible = "qcom,rpmcc-msm8974", .data = &rpm_clk_msm8974 },
        { .compatible = "qcom,rpmcc-msm8976", .data = &rpm_clk_msm8976 },
        { .compatible = "qcom,rpmcc-msm8992", .data = &rpm_clk_msm8992 },