Skip to content

Commit 6131dc8

Browse files
Jeffrey Hugobebarino
authored andcommitted
clk: qcom: smd: Add support for MSM8998 rpm clocks
Add rpm smd clocks, PMIC and bus clocks which are required on MSM8998 for clients to vote on. Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
1 parent 5f2420e commit 6131dc8

File tree

3 files changed

+74
-0
lines changed

3 files changed

+74
-0
lines changed

Documentation/devicetree/bindings/clock/qcom,rpmcc.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Required properties :
1616
"qcom,rpmcc-msm8974", "qcom,rpmcc"
1717
"qcom,rpmcc-apq8064", "qcom,rpmcc"
1818
"qcom,rpmcc-msm8996", "qcom,rpmcc"
19+
"qcom,rpmcc-msm8998", "qcom,rpmcc"
1920
"qcom,rpmcc-qcs404", "qcom,rpmcc"
2021

2122
- #clock-cells : shall contain 1

drivers/clk/qcom/clk-smd-rpm.c

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,10 +655,73 @@ static const struct rpm_smd_clk_desc rpm_clk_qcs404 = {
655655
.num_clks = ARRAY_SIZE(qcs404_clks),
656656
};
657657

658+
/* msm8998 */
659+
DEFINE_CLK_SMD_RPM(msm8998, snoc_clk, snoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 1);
660+
DEFINE_CLK_SMD_RPM(msm8998, cnoc_clk, cnoc_a_clk, QCOM_SMD_RPM_BUS_CLK, 2);
661+
DEFINE_CLK_SMD_RPM(msm8998, ce1_clk, ce1_a_clk, QCOM_SMD_RPM_CE_CLK, 0);
662+
DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8998, div_clk1, div_clk1_a, 0xb);
663+
DEFINE_CLK_SMD_RPM(msm8998, ipa_clk, ipa_a_clk, QCOM_SMD_RPM_IPA_CLK, 0);
664+
DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8998, ln_bb_clk1, ln_bb_clk1_a, 1);
665+
DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8998, ln_bb_clk2, ln_bb_clk2_a, 2);
666+
DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL(msm8998, ln_bb_clk3_pin, ln_bb_clk3_a_pin,
667+
3);
668+
DEFINE_CLK_SMD_RPM(msm8998, mmssnoc_axi_rpm_clk, mmssnoc_axi_rpm_a_clk,
669+
QCOM_SMD_RPM_MMAXI_CLK, 0);
670+
DEFINE_CLK_SMD_RPM(msm8998, aggre1_noc_clk, aggre1_noc_a_clk,
671+
QCOM_SMD_RPM_AGGR_CLK, 1);
672+
DEFINE_CLK_SMD_RPM(msm8998, aggre2_noc_clk, aggre2_noc_a_clk,
673+
QCOM_SMD_RPM_AGGR_CLK, 2);
674+
DEFINE_CLK_SMD_RPM_QDSS(msm8998, qdss_clk, qdss_a_clk,
675+
QCOM_SMD_RPM_MISC_CLK, 1);
676+
DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8998, rf_clk1, rf_clk1_a, 4);
677+
DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL(msm8998, rf_clk2_pin, rf_clk2_a_pin, 5);
678+
DEFINE_CLK_SMD_RPM_XO_BUFFER(msm8998, rf_clk3, rf_clk3_a, 6);
679+
DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL(msm8998, rf_clk3_pin, rf_clk3_a_pin, 6);
680+
static struct clk_smd_rpm *msm8998_clks[] = {
681+
[RPM_SMD_SNOC_CLK] = &msm8998_snoc_clk,
682+
[RPM_SMD_SNOC_A_CLK] = &msm8998_snoc_a_clk,
683+
[RPM_SMD_CNOC_CLK] = &msm8998_cnoc_clk,
684+
[RPM_SMD_CNOC_A_CLK] = &msm8998_cnoc_a_clk,
685+
[RPM_SMD_CE1_CLK] = &msm8998_ce1_clk,
686+
[RPM_SMD_CE1_A_CLK] = &msm8998_ce1_a_clk,
687+
[RPM_SMD_DIV_CLK1] = &msm8998_div_clk1,
688+
[RPM_SMD_DIV_A_CLK1] = &msm8998_div_clk1_a,
689+
[RPM_SMD_IPA_CLK] = &msm8998_ipa_clk,
690+
[RPM_SMD_IPA_A_CLK] = &msm8998_ipa_a_clk,
691+
[RPM_SMD_LN_BB_CLK1] = &msm8998_ln_bb_clk1,
692+
[RPM_SMD_LN_BB_CLK1_A] = &msm8998_ln_bb_clk1_a,
693+
[RPM_SMD_LN_BB_CLK2] = &msm8998_ln_bb_clk2,
694+
[RPM_SMD_LN_BB_CLK2_A] = &msm8998_ln_bb_clk2_a,
695+
[RPM_SMD_LN_BB_CLK3_PIN] = &msm8998_ln_bb_clk3_pin,
696+
[RPM_SMD_LN_BB_CLK3_A_PIN] = &msm8998_ln_bb_clk3_a_pin,
697+
[RPM_SMD_MMAXI_CLK] = &msm8998_mmssnoc_axi_rpm_clk,
698+
[RPM_SMD_MMAXI_A_CLK] = &msm8998_mmssnoc_axi_rpm_a_clk,
699+
[RPM_SMD_AGGR1_NOC_CLK] = &msm8998_aggre1_noc_clk,
700+
[RPM_SMD_AGGR1_NOC_A_CLK] = &msm8998_aggre1_noc_a_clk,
701+
[RPM_SMD_AGGR2_NOC_CLK] = &msm8998_aggre2_noc_clk,
702+
[RPM_SMD_AGGR2_NOC_A_CLK] = &msm8998_aggre2_noc_a_clk,
703+
[RPM_SMD_QDSS_CLK] = &msm8998_qdss_clk,
704+
[RPM_SMD_QDSS_A_CLK] = &msm8998_qdss_a_clk,
705+
[RPM_SMD_RF_CLK1] = &msm8998_rf_clk1,
706+
[RPM_SMD_RF_CLK1_A] = &msm8998_rf_clk1_a,
707+
[RPM_SMD_RF_CLK2_PIN] = &msm8998_rf_clk2_pin,
708+
[RPM_SMD_RF_CLK2_A_PIN] = &msm8998_rf_clk2_a_pin,
709+
[RPM_SMD_RF_CLK3] = &msm8998_rf_clk3,
710+
[RPM_SMD_RF_CLK3_A] = &msm8998_rf_clk3_a,
711+
[RPM_SMD_RF_CLK3_PIN] = &msm8998_rf_clk3_pin,
712+
[RPM_SMD_RF_CLK3_A_PIN] = &msm8998_rf_clk3_a_pin,
713+
};
714+
715+
static const struct rpm_smd_clk_desc rpm_clk_msm8998 = {
716+
.clks = msm8998_clks,
717+
.num_clks = ARRAY_SIZE(msm8998_clks),
718+
};
719+
658720
static const struct of_device_id rpm_smd_clk_match_table[] = {
659721
{ .compatible = "qcom,rpmcc-msm8916", .data = &rpm_clk_msm8916 },
660722
{ .compatible = "qcom,rpmcc-msm8974", .data = &rpm_clk_msm8974 },
661723
{ .compatible = "qcom,rpmcc-msm8996", .data = &rpm_clk_msm8996 },
724+
{ .compatible = "qcom,rpmcc-msm8998", .data = &rpm_clk_msm8998 },
662725
{ .compatible = "qcom,rpmcc-qcs404", .data = &rpm_clk_qcs404 },
663726
{ }
664727
};

include/dt-bindings/clock/qcom,rpmcc.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,5 +127,15 @@
127127
#define RPM_SMD_BIMC_GPU_A_CLK 77
128128
#define RPM_SMD_QPIC_CLK 78
129129
#define RPM_SMD_QPIC_CLK_A 79
130+
#define RPM_SMD_LN_BB_CLK1 80
131+
#define RPM_SMD_LN_BB_CLK1_A 81
132+
#define RPM_SMD_LN_BB_CLK2 82
133+
#define RPM_SMD_LN_BB_CLK2_A 83
134+
#define RPM_SMD_LN_BB_CLK3_PIN 84
135+
#define RPM_SMD_LN_BB_CLK3_A_PIN 85
136+
#define RPM_SMD_RF_CLK3 86
137+
#define RPM_SMD_RF_CLK3_A 87
138+
#define RPM_SMD_RF_CLK3_PIN 88
139+
#define RPM_SMD_RF_CLK3_A_PIN 89
130140

131141
#endif

0 commit comments

Comments
 (0)