@@ -1110,6 +1110,27 @@ static struct clk_rcg2 ufs_axi_clk_src = {
1110
1110
},
1111
1111
};
1112
1112
1113
+ static const struct freq_tbl ftbl_ufs_unipro_core_clk_src [] = {
1114
+ F (37500000 , P_GPLL0_OUT_MAIN , 16 , 0 , 0 ),
1115
+ F (75000000 , P_GPLL0_OUT_MAIN , 8 , 0 , 0 ),
1116
+ F (150000000 , P_GPLL0_OUT_MAIN , 4 , 0 , 0 ),
1117
+ { }
1118
+ };
1119
+
1120
+ static struct clk_rcg2 ufs_unipro_core_clk_src = {
1121
+ .cmd_rcgr = 0x76028 ,
1122
+ .mnd_width = 8 ,
1123
+ .hid_width = 5 ,
1124
+ .parent_map = gcc_parent_map_0 ,
1125
+ .freq_tbl = ftbl_ufs_unipro_core_clk_src ,
1126
+ .clkr .hw .init = & (struct clk_init_data ){
1127
+ .name = "ufs_unipro_core_clk_src" ,
1128
+ .parent_names = gcc_parent_names_0 ,
1129
+ .num_parents = 4 ,
1130
+ .ops = & clk_rcg2_ops ,
1131
+ },
1132
+ };
1133
+
1113
1134
static const struct freq_tbl ftbl_usb30_master_clk_src [] = {
1114
1135
F (19200000 , P_XO , 1 , 0 , 0 ),
1115
1136
F (60000000 , P_GPLL0_OUT_MAIN , 10 , 0 , 0 ),
@@ -2549,6 +2570,11 @@ static struct clk_branch gcc_ufs_unipro_core_clk = {
2549
2570
.enable_mask = BIT (0 ),
2550
2571
.hw .init = & (struct clk_init_data ){
2551
2572
.name = "gcc_ufs_unipro_core_clk" ,
2573
+ .parent_names = (const char * []){
2574
+ "ufs_unipro_core_clk_src" ,
2575
+ },
2576
+ .num_parents = 1 ,
2577
+ .flags = CLK_SET_RATE_PARENT ,
2552
2578
.ops = & clk_branch2_ops ,
2553
2579
},
2554
2580
},
@@ -2904,6 +2930,7 @@ static struct clk_regmap *gcc_msm8998_clocks[] = {
2904
2930
[SDCC4_APPS_CLK_SRC ] = & sdcc4_apps_clk_src .clkr ,
2905
2931
[TSIF_REF_CLK_SRC ] = & tsif_ref_clk_src .clkr ,
2906
2932
[UFS_AXI_CLK_SRC ] = & ufs_axi_clk_src .clkr ,
2933
+ [UFS_UNIPRO_CORE_CLK_SRC ] = & ufs_unipro_core_clk_src .clkr ,
2907
2934
[USB30_MASTER_CLK_SRC ] = & usb30_master_clk_src .clkr ,
2908
2935
[USB30_MOCK_UTMI_CLK_SRC ] = & usb30_mock_utmi_clk_src .clkr ,
2909
2936
[USB3_PHY_AUX_CLK_SRC ] = & usb3_phy_aux_clk_src .clkr ,
0 commit comments