@@ -766,13 +766,89 @@ static const struct rpm_smd_clk_desc rpm_clk_msm8998 = {
766
766
.num_clks = ARRAY_SIZE (msm8998_clks ),
767
767
};
768
768
769
+ /* sdm660 */
770
+ DEFINE_CLK_SMD_RPM_BRANCH (sdm660 , bi_tcxo , bi_tcxo_a , QCOM_SMD_RPM_MISC_CLK , 0 ,
771
+ 19200000 );
772
+ DEFINE_CLK_SMD_RPM (sdm660 , snoc_clk , snoc_a_clk , QCOM_SMD_RPM_BUS_CLK , 1 );
773
+ DEFINE_CLK_SMD_RPM (sdm660 , cnoc_clk , cnoc_a_clk , QCOM_SMD_RPM_BUS_CLK , 2 );
774
+ DEFINE_CLK_SMD_RPM (sdm660 , cnoc_periph_clk , cnoc_periph_a_clk ,
775
+ QCOM_SMD_RPM_BUS_CLK , 0 );
776
+ DEFINE_CLK_SMD_RPM (sdm660 , bimc_clk , bimc_a_clk , QCOM_SMD_RPM_MEM_CLK , 0 );
777
+ DEFINE_CLK_SMD_RPM (sdm660 , mmssnoc_axi_clk , mmssnoc_axi_a_clk ,
778
+ QCOM_SMD_RPM_MMAXI_CLK , 0 );
779
+ DEFINE_CLK_SMD_RPM (sdm660 , ipa_clk , ipa_a_clk , QCOM_SMD_RPM_IPA_CLK , 0 );
780
+ DEFINE_CLK_SMD_RPM (sdm660 , ce1_clk , ce1_a_clk , QCOM_SMD_RPM_CE_CLK , 0 );
781
+ DEFINE_CLK_SMD_RPM (sdm660 , aggre2_noc_clk , aggre2_noc_a_clk ,
782
+ QCOM_SMD_RPM_AGGR_CLK , 2 );
783
+ DEFINE_CLK_SMD_RPM_QDSS (sdm660 , qdss_clk , qdss_a_clk ,
784
+ QCOM_SMD_RPM_MISC_CLK , 1 );
785
+ DEFINE_CLK_SMD_RPM_XO_BUFFER (sdm660 , rf_clk1 , rf_clk1_a , 4 );
786
+ DEFINE_CLK_SMD_RPM_XO_BUFFER (sdm660 , div_clk1 , div_clk1_a , 11 );
787
+ DEFINE_CLK_SMD_RPM_XO_BUFFER (sdm660 , ln_bb_clk1 , ln_bb_clk1_a , 1 );
788
+ DEFINE_CLK_SMD_RPM_XO_BUFFER (sdm660 , ln_bb_clk2 , ln_bb_clk2_a , 2 );
789
+ DEFINE_CLK_SMD_RPM_XO_BUFFER (sdm660 , ln_bb_clk3 , ln_bb_clk3_a , 3 );
790
+
791
+ DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL (sdm660 , rf_clk1_pin , rf_clk1_a_pin , 4 );
792
+ DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL (sdm660 , ln_bb_clk1_pin ,
793
+ ln_bb_clk1_pin_a , 1 );
794
+ DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL (sdm660 , ln_bb_clk2_pin ,
795
+ ln_bb_clk2_pin_a , 2 );
796
+ DEFINE_CLK_SMD_RPM_XO_BUFFER_PINCTRL (sdm660 , ln_bb_clk3_pin ,
797
+ ln_bb_clk3_pin_a , 3 );
798
+ static struct clk_smd_rpm * sdm660_clks [] = {
799
+ [RPM_SMD_XO_CLK_SRC ] = & sdm660_bi_tcxo ,
800
+ [RPM_SMD_XO_A_CLK_SRC ] = & sdm660_bi_tcxo_a ,
801
+ [RPM_SMD_SNOC_CLK ] = & sdm660_snoc_clk ,
802
+ [RPM_SMD_SNOC_A_CLK ] = & sdm660_snoc_a_clk ,
803
+ [RPM_SMD_CNOC_CLK ] = & sdm660_cnoc_clk ,
804
+ [RPM_SMD_CNOC_A_CLK ] = & sdm660_cnoc_a_clk ,
805
+ [RPM_SMD_CNOC_PERIPH_CLK ] = & sdm660_cnoc_periph_clk ,
806
+ [RPM_SMD_CNOC_PERIPH_A_CLK ] = & sdm660_cnoc_periph_a_clk ,
807
+ [RPM_SMD_BIMC_CLK ] = & sdm660_bimc_clk ,
808
+ [RPM_SMD_BIMC_A_CLK ] = & sdm660_bimc_a_clk ,
809
+ [RPM_SMD_MMSSNOC_AXI_CLK ] = & sdm660_mmssnoc_axi_clk ,
810
+ [RPM_SMD_MMSSNOC_AXI_CLK_A ] = & sdm660_mmssnoc_axi_a_clk ,
811
+ [RPM_SMD_IPA_CLK ] = & sdm660_ipa_clk ,
812
+ [RPM_SMD_IPA_A_CLK ] = & sdm660_ipa_a_clk ,
813
+ [RPM_SMD_CE1_CLK ] = & sdm660_ce1_clk ,
814
+ [RPM_SMD_CE1_A_CLK ] = & sdm660_ce1_a_clk ,
815
+ [RPM_SMD_AGGR2_NOC_CLK ] = & sdm660_aggre2_noc_clk ,
816
+ [RPM_SMD_AGGR2_NOC_A_CLK ] = & sdm660_aggre2_noc_a_clk ,
817
+ [RPM_SMD_QDSS_CLK ] = & sdm660_qdss_clk ,
818
+ [RPM_SMD_QDSS_A_CLK ] = & sdm660_qdss_a_clk ,
819
+ [RPM_SMD_RF_CLK1 ] = & sdm660_rf_clk1 ,
820
+ [RPM_SMD_RF_CLK1_A ] = & sdm660_rf_clk1_a ,
821
+ [RPM_SMD_DIV_CLK1 ] = & sdm660_div_clk1 ,
822
+ [RPM_SMD_DIV_A_CLK1 ] = & sdm660_div_clk1_a ,
823
+ [RPM_SMD_LN_BB_CLK ] = & sdm660_ln_bb_clk1 ,
824
+ [RPM_SMD_LN_BB_A_CLK ] = & sdm660_ln_bb_clk1_a ,
825
+ [RPM_SMD_LN_BB_CLK2 ] = & sdm660_ln_bb_clk2 ,
826
+ [RPM_SMD_LN_BB_CLK2_A ] = & sdm660_ln_bb_clk2_a ,
827
+ [RPM_SMD_LN_BB_CLK3 ] = & sdm660_ln_bb_clk3 ,
828
+ [RPM_SMD_LN_BB_CLK3_A ] = & sdm660_ln_bb_clk3_a ,
829
+ [RPM_SMD_RF_CLK1_PIN ] = & sdm660_rf_clk1_pin ,
830
+ [RPM_SMD_RF_CLK1_A_PIN ] = & sdm660_rf_clk1_a_pin ,
831
+ [RPM_SMD_LN_BB_CLK1_PIN ] = & sdm660_ln_bb_clk1_pin ,
832
+ [RPM_SMD_LN_BB_CLK1_A_PIN ] = & sdm660_ln_bb_clk1_pin_a ,
833
+ [RPM_SMD_LN_BB_CLK2_PIN ] = & sdm660_ln_bb_clk2_pin ,
834
+ [RPM_SMD_LN_BB_CLK2_A_PIN ] = & sdm660_ln_bb_clk2_pin_a ,
835
+ [RPM_SMD_LN_BB_CLK3_PIN ] = & sdm660_ln_bb_clk3_pin ,
836
+ [RPM_SMD_LN_BB_CLK3_A_PIN ] = & sdm660_ln_bb_clk3_pin_a ,
837
+ };
838
+
839
+ static const struct rpm_smd_clk_desc rpm_clk_sdm660 = {
840
+ .clks = sdm660_clks ,
841
+ .num_clks = ARRAY_SIZE (sdm660_clks ),
842
+ };
843
+
769
844
static const struct of_device_id rpm_smd_clk_match_table [] = {
770
845
{ .compatible = "qcom,rpmcc-msm8916" , .data = & rpm_clk_msm8916 },
771
846
{ .compatible = "qcom,rpmcc-msm8974" , .data = & rpm_clk_msm8974 },
772
847
{ .compatible = "qcom,rpmcc-msm8976" , .data = & rpm_clk_msm8976 },
773
848
{ .compatible = "qcom,rpmcc-msm8996" , .data = & rpm_clk_msm8996 },
774
849
{ .compatible = "qcom,rpmcc-msm8998" , .data = & rpm_clk_msm8998 },
775
850
{ .compatible = "qcom,rpmcc-qcs404" , .data = & rpm_clk_qcs404 },
851
+ { .compatible = "qcom,rpmcc-sdm660" , .data = & rpm_clk_sdm660 },
776
852
{ }
777
853
};
778
854
MODULE_DEVICE_TABLE (of , rpm_smd_clk_match_table );
0 commit comments