Skip to content

Commit d4113d5

Browse files
konradybcioandersson
authored andcommitted
clk: qcom: gcc-sm8450: Enable hw_clk_ctrl
Enable hardware clock control on all RCGs. Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20230517-topic-waipio-gpucc-v1-3-4f40e282af1d@linaro.org
1 parent a0e0ec7 commit d4113d5

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

drivers/clk/qcom/gcc-sm8450.c

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ static struct clk_rcg2 gcc_gp1_clk_src = {
334334
.hid_width = 5,
335335
.parent_map = gcc_parent_map_1,
336336
.freq_tbl = ftbl_gcc_gp1_clk_src,
337+
.hw_clk_ctrl = true,
337338
.clkr.hw.init = &(struct clk_init_data){
338339
.name = "gcc_gp1_clk_src",
339340
.parent_data = gcc_parent_data_1,
@@ -349,6 +350,7 @@ static struct clk_rcg2 gcc_gp2_clk_src = {
349350
.hid_width = 5,
350351
.parent_map = gcc_parent_map_1,
351352
.freq_tbl = ftbl_gcc_gp1_clk_src,
353+
.hw_clk_ctrl = true,
352354
.clkr.hw.init = &(struct clk_init_data){
353355
.name = "gcc_gp2_clk_src",
354356
.parent_data = gcc_parent_data_1,
@@ -364,6 +366,7 @@ static struct clk_rcg2 gcc_gp3_clk_src = {
364366
.hid_width = 5,
365367
.parent_map = gcc_parent_map_1,
366368
.freq_tbl = ftbl_gcc_gp1_clk_src,
369+
.hw_clk_ctrl = true,
367370
.clkr.hw.init = &(struct clk_init_data){
368371
.name = "gcc_gp3_clk_src",
369372
.parent_data = gcc_parent_data_1,
@@ -384,6 +387,7 @@ static struct clk_rcg2 gcc_pcie_0_aux_clk_src = {
384387
.hid_width = 5,
385388
.parent_map = gcc_parent_map_2,
386389
.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
390+
.hw_clk_ctrl = true,
387391
.clkr.hw.init = &(struct clk_init_data){
388392
.name = "gcc_pcie_0_aux_clk_src",
389393
.parent_data = gcc_parent_data_2,
@@ -405,6 +409,7 @@ static struct clk_rcg2 gcc_pcie_0_phy_rchng_clk_src = {
405409
.hid_width = 5,
406410
.parent_map = gcc_parent_map_0,
407411
.freq_tbl = ftbl_gcc_pcie_0_phy_rchng_clk_src,
412+
.hw_clk_ctrl = true,
408413
.clkr.hw.init = &(struct clk_init_data){
409414
.name = "gcc_pcie_0_phy_rchng_clk_src",
410415
.parent_data = gcc_parent_data_0,
@@ -420,6 +425,7 @@ static struct clk_rcg2 gcc_pcie_1_aux_clk_src = {
420425
.hid_width = 5,
421426
.parent_map = gcc_parent_map_2,
422427
.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
428+
.hw_clk_ctrl = true,
423429
.clkr.hw.init = &(struct clk_init_data){
424430
.name = "gcc_pcie_1_aux_clk_src",
425431
.parent_data = gcc_parent_data_2,
@@ -435,6 +441,7 @@ static struct clk_rcg2 gcc_pcie_1_phy_rchng_clk_src = {
435441
.hid_width = 5,
436442
.parent_map = gcc_parent_map_0,
437443
.freq_tbl = ftbl_gcc_pcie_0_phy_rchng_clk_src,
444+
.hw_clk_ctrl = true,
438445
.clkr.hw.init = &(struct clk_init_data){
439446
.name = "gcc_pcie_1_phy_rchng_clk_src",
440447
.parent_data = gcc_parent_data_0,
@@ -455,6 +462,7 @@ static struct clk_rcg2 gcc_pdm2_clk_src = {
455462
.hid_width = 5,
456463
.parent_map = gcc_parent_map_0,
457464
.freq_tbl = ftbl_gcc_pdm2_clk_src,
465+
.hw_clk_ctrl = true,
458466
.clkr.hw.init = &(struct clk_init_data){
459467
.name = "gcc_pdm2_clk_src",
460468
.parent_data = gcc_parent_data_0,
@@ -493,6 +501,7 @@ static struct clk_rcg2 gcc_qupv3_wrap0_s0_clk_src = {
493501
.hid_width = 5,
494502
.parent_map = gcc_parent_map_0,
495503
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
504+
.hw_clk_ctrl = true,
496505
.clkr.hw.init = &gcc_qupv3_wrap0_s0_clk_src_init,
497506
};
498507

@@ -510,6 +519,7 @@ static struct clk_rcg2 gcc_qupv3_wrap0_s1_clk_src = {
510519
.hid_width = 5,
511520
.parent_map = gcc_parent_map_0,
512521
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
522+
.hw_clk_ctrl = true,
513523
.clkr.hw.init = &gcc_qupv3_wrap0_s1_clk_src_init,
514524
};
515525

@@ -527,6 +537,7 @@ static struct clk_rcg2 gcc_qupv3_wrap0_s2_clk_src = {
527537
.hid_width = 5,
528538
.parent_map = gcc_parent_map_0,
529539
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
540+
.hw_clk_ctrl = true,
530541
.clkr.hw.init = &gcc_qupv3_wrap0_s2_clk_src_init,
531542
};
532543

@@ -544,6 +555,7 @@ static struct clk_rcg2 gcc_qupv3_wrap0_s3_clk_src = {
544555
.hid_width = 5,
545556
.parent_map = gcc_parent_map_0,
546557
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
558+
.hw_clk_ctrl = true,
547559
.clkr.hw.init = &gcc_qupv3_wrap0_s3_clk_src_init,
548560
};
549561

@@ -561,6 +573,7 @@ static struct clk_rcg2 gcc_qupv3_wrap0_s4_clk_src = {
561573
.hid_width = 5,
562574
.parent_map = gcc_parent_map_0,
563575
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
576+
.hw_clk_ctrl = true,
564577
.clkr.hw.init = &gcc_qupv3_wrap0_s4_clk_src_init,
565578
};
566579

@@ -590,6 +603,7 @@ static struct clk_rcg2 gcc_qupv3_wrap0_s5_clk_src = {
590603
.hid_width = 5,
591604
.parent_map = gcc_parent_map_0,
592605
.freq_tbl = ftbl_gcc_qupv3_wrap0_s5_clk_src,
606+
.hw_clk_ctrl = true,
593607
.clkr.hw.init = &gcc_qupv3_wrap0_s5_clk_src_init,
594608
};
595609

@@ -607,6 +621,7 @@ static struct clk_rcg2 gcc_qupv3_wrap0_s6_clk_src = {
607621
.hid_width = 5,
608622
.parent_map = gcc_parent_map_0,
609623
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
624+
.hw_clk_ctrl = true,
610625
.clkr.hw.init = &gcc_qupv3_wrap0_s6_clk_src_init,
611626
};
612627

@@ -624,6 +639,7 @@ static struct clk_rcg2 gcc_qupv3_wrap0_s7_clk_src = {
624639
.hid_width = 5,
625640
.parent_map = gcc_parent_map_0,
626641
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
642+
.hw_clk_ctrl = true,
627643
.clkr.hw.init = &gcc_qupv3_wrap0_s7_clk_src_init,
628644
};
629645

@@ -660,6 +676,7 @@ static struct clk_rcg2 gcc_qupv3_wrap1_s0_clk_src = {
660676
.hid_width = 5,
661677
.parent_map = gcc_parent_map_0,
662678
.freq_tbl = ftbl_gcc_qupv3_wrap1_s0_clk_src,
679+
.hw_clk_ctrl = true,
663680
.clkr.hw.init = &gcc_qupv3_wrap1_s0_clk_src_init,
664681
};
665682

@@ -677,6 +694,7 @@ static struct clk_rcg2 gcc_qupv3_wrap1_s1_clk_src = {
677694
.hid_width = 5,
678695
.parent_map = gcc_parent_map_0,
679696
.freq_tbl = ftbl_gcc_qupv3_wrap1_s0_clk_src,
697+
.hw_clk_ctrl = true,
680698
.clkr.hw.init = &gcc_qupv3_wrap1_s1_clk_src_init,
681699
};
682700

@@ -694,6 +712,7 @@ static struct clk_rcg2 gcc_qupv3_wrap1_s2_clk_src = {
694712
.hid_width = 5,
695713
.parent_map = gcc_parent_map_0,
696714
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
715+
.hw_clk_ctrl = true,
697716
.clkr.hw.init = &gcc_qupv3_wrap1_s2_clk_src_init,
698717
};
699718

@@ -711,6 +730,7 @@ static struct clk_rcg2 gcc_qupv3_wrap1_s3_clk_src = {
711730
.hid_width = 5,
712731
.parent_map = gcc_parent_map_0,
713732
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
733+
.hw_clk_ctrl = true,
714734
.clkr.hw.init = &gcc_qupv3_wrap1_s3_clk_src_init,
715735
};
716736

@@ -728,6 +748,7 @@ static struct clk_rcg2 gcc_qupv3_wrap1_s4_clk_src = {
728748
.hid_width = 5,
729749
.parent_map = gcc_parent_map_0,
730750
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
751+
.hw_clk_ctrl = true,
731752
.clkr.hw.init = &gcc_qupv3_wrap1_s4_clk_src_init,
732753
};
733754

@@ -745,6 +766,7 @@ static struct clk_rcg2 gcc_qupv3_wrap1_s5_clk_src = {
745766
.hid_width = 5,
746767
.parent_map = gcc_parent_map_0,
747768
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
769+
.hw_clk_ctrl = true,
748770
.clkr.hw.init = &gcc_qupv3_wrap1_s5_clk_src_init,
749771
};
750772

@@ -762,6 +784,7 @@ static struct clk_rcg2 gcc_qupv3_wrap1_s6_clk_src = {
762784
.hid_width = 5,
763785
.parent_map = gcc_parent_map_0,
764786
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
787+
.hw_clk_ctrl = true,
765788
.clkr.hw.init = &gcc_qupv3_wrap1_s6_clk_src_init,
766789
};
767790

@@ -779,6 +802,7 @@ static struct clk_rcg2 gcc_qupv3_wrap2_s0_clk_src = {
779802
.hid_width = 5,
780803
.parent_map = gcc_parent_map_0,
781804
.freq_tbl = ftbl_gcc_qupv3_wrap1_s0_clk_src,
805+
.hw_clk_ctrl = true,
782806
.clkr.hw.init = &gcc_qupv3_wrap2_s0_clk_src_init,
783807
};
784808

@@ -796,6 +820,7 @@ static struct clk_rcg2 gcc_qupv3_wrap2_s1_clk_src = {
796820
.hid_width = 5,
797821
.parent_map = gcc_parent_map_0,
798822
.freq_tbl = ftbl_gcc_qupv3_wrap1_s0_clk_src,
823+
.hw_clk_ctrl = true,
799824
.clkr.hw.init = &gcc_qupv3_wrap2_s1_clk_src_init,
800825
};
801826

@@ -813,6 +838,7 @@ static struct clk_rcg2 gcc_qupv3_wrap2_s2_clk_src = {
813838
.hid_width = 5,
814839
.parent_map = gcc_parent_map_0,
815840
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
841+
.hw_clk_ctrl = true,
816842
.clkr.hw.init = &gcc_qupv3_wrap2_s2_clk_src_init,
817843
};
818844

@@ -830,6 +856,7 @@ static struct clk_rcg2 gcc_qupv3_wrap2_s3_clk_src = {
830856
.hid_width = 5,
831857
.parent_map = gcc_parent_map_0,
832858
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
859+
.hw_clk_ctrl = true,
833860
.clkr.hw.init = &gcc_qupv3_wrap2_s3_clk_src_init,
834861
};
835862

@@ -847,6 +874,7 @@ static struct clk_rcg2 gcc_qupv3_wrap2_s4_clk_src = {
847874
.hid_width = 5,
848875
.parent_map = gcc_parent_map_0,
849876
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
877+
.hw_clk_ctrl = true,
850878
.clkr.hw.init = &gcc_qupv3_wrap2_s4_clk_src_init,
851879
};
852880

@@ -864,6 +892,7 @@ static struct clk_rcg2 gcc_qupv3_wrap2_s5_clk_src = {
864892
.hid_width = 5,
865893
.parent_map = gcc_parent_map_0,
866894
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
895+
.hw_clk_ctrl = true,
867896
.clkr.hw.init = &gcc_qupv3_wrap2_s5_clk_src_init,
868897
};
869898

@@ -881,6 +910,7 @@ static struct clk_rcg2 gcc_qupv3_wrap2_s6_clk_src = {
881910
.hid_width = 5,
882911
.parent_map = gcc_parent_map_0,
883912
.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
913+
.hw_clk_ctrl = true,
884914
.clkr.hw.init = &gcc_qupv3_wrap2_s6_clk_src_init,
885915
};
886916

@@ -899,6 +929,7 @@ static struct clk_rcg2 gcc_sdcc2_apps_clk_src = {
899929
.hid_width = 5,
900930
.parent_map = gcc_parent_map_7,
901931
.freq_tbl = ftbl_gcc_sdcc2_apps_clk_src,
932+
.hw_clk_ctrl = true,
902933
.clkr.hw.init = &(struct clk_init_data){
903934
.name = "gcc_sdcc2_apps_clk_src",
904935
.parent_data = gcc_parent_data_7,
@@ -921,6 +952,7 @@ static struct clk_rcg2 gcc_sdcc4_apps_clk_src = {
921952
.hid_width = 5,
922953
.parent_map = gcc_parent_map_0,
923954
.freq_tbl = ftbl_gcc_sdcc4_apps_clk_src,
955+
.hw_clk_ctrl = true,
924956
.clkr.hw.init = &(struct clk_init_data){
925957
.name = "gcc_sdcc4_apps_clk_src",
926958
.parent_data = gcc_parent_data_0,
@@ -944,6 +976,7 @@ static struct clk_rcg2 gcc_ufs_phy_axi_clk_src = {
944976
.hid_width = 5,
945977
.parent_map = gcc_parent_map_0,
946978
.freq_tbl = ftbl_gcc_ufs_phy_axi_clk_src,
979+
.hw_clk_ctrl = true,
947980
.clkr.hw.init = &(struct clk_init_data){
948981
.name = "gcc_ufs_phy_axi_clk_src",
949982
.parent_data = gcc_parent_data_0,
@@ -966,6 +999,7 @@ static struct clk_rcg2 gcc_ufs_phy_ice_core_clk_src = {
966999
.hid_width = 5,
9671000
.parent_map = gcc_parent_map_0,
9681001
.freq_tbl = ftbl_gcc_ufs_phy_ice_core_clk_src,
1002+
.hw_clk_ctrl = true,
9691003
.clkr.hw.init = &(struct clk_init_data){
9701004
.name = "gcc_ufs_phy_ice_core_clk_src",
9711005
.parent_data = gcc_parent_data_0,
@@ -987,6 +1021,7 @@ static struct clk_rcg2 gcc_ufs_phy_phy_aux_clk_src = {
9871021
.hid_width = 5,
9881022
.parent_map = gcc_parent_map_3,
9891023
.freq_tbl = ftbl_gcc_ufs_phy_phy_aux_clk_src,
1024+
.hw_clk_ctrl = true,
9901025
.clkr.hw.init = &(struct clk_init_data){
9911026
.name = "gcc_ufs_phy_phy_aux_clk_src",
9921027
.parent_data = gcc_parent_data_3,
@@ -1002,6 +1037,7 @@ static struct clk_rcg2 gcc_ufs_phy_unipro_core_clk_src = {
10021037
.hid_width = 5,
10031038
.parent_map = gcc_parent_map_0,
10041039
.freq_tbl = ftbl_gcc_ufs_phy_ice_core_clk_src,
1040+
.hw_clk_ctrl = true,
10051041
.clkr.hw.init = &(struct clk_init_data){
10061042
.name = "gcc_ufs_phy_unipro_core_clk_src",
10071043
.parent_data = gcc_parent_data_0,
@@ -1025,6 +1061,7 @@ static struct clk_rcg2 gcc_usb30_prim_master_clk_src = {
10251061
.hid_width = 5,
10261062
.parent_map = gcc_parent_map_0,
10271063
.freq_tbl = ftbl_gcc_usb30_prim_master_clk_src,
1064+
.hw_clk_ctrl = true,
10281065
.clkr.hw.init = &(struct clk_init_data){
10291066
.name = "gcc_usb30_prim_master_clk_src",
10301067
.parent_data = gcc_parent_data_0,
@@ -1040,6 +1077,7 @@ static struct clk_rcg2 gcc_usb30_prim_mock_utmi_clk_src = {
10401077
.hid_width = 5,
10411078
.parent_map = gcc_parent_map_0,
10421079
.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1080+
.hw_clk_ctrl = true,
10431081
.clkr.hw.init = &(struct clk_init_data){
10441082
.name = "gcc_usb30_prim_mock_utmi_clk_src",
10451083
.parent_data = gcc_parent_data_0,
@@ -1055,6 +1093,7 @@ static struct clk_rcg2 gcc_usb3_prim_phy_aux_clk_src = {
10551093
.hid_width = 5,
10561094
.parent_map = gcc_parent_map_2,
10571095
.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1096+
.hw_clk_ctrl = true,
10581097
.clkr.hw.init = &(struct clk_init_data){
10591098
.name = "gcc_usb3_prim_phy_aux_clk_src",
10601099
.parent_data = gcc_parent_data_2,

0 commit comments

Comments
 (0)