@@ -202,16 +202,23 @@ static const struct mtk_mux top_muxes[] = {
202202 MUX_GATE_CLR_SET_UPD (CLK_TOP_F_26M_ADC_SEL , "f_26m_adc_sel" ,
203203 f_26m_adc_parents , 0x020 , 0x024 , 0x028 , 16 , 1 , 23 ,
204204 0x1C0 , 10 ),
205- MUX_GATE_CLR_SET_UPD (CLK_TOP_DRAMC_SEL , "dramc_sel" , f_26m_adc_parents ,
206- 0x020 , 0x024 , 0x028 , 24 , 1 , 31 , 0x1C0 , 11 ),
205+ MUX_GATE_CLR_SET_UPD_FLAGS (CLK_TOP_DRAMC_SEL , "dramc_sel" ,
206+ f_26m_adc_parents , 0x020 , 0x024 , 0x028 ,
207+ 24 , 1 , 31 , 0x1C0 , 11 ,
208+ CLK_IS_CRITICAL | CLK_SET_RATE_PARENT ),
207209 /* CLK_CFG_3 */
208- MUX_GATE_CLR_SET_UPD (CLK_TOP_DRAMC_MD32_SEL , "dramc_md32_sel" ,
209- dramc_md32_parents , 0x030 , 0x034 , 0x038 , 0 , 1 , 7 ,
210- 0x1C0 , 12 ),
211- MUX_GATE_CLR_SET_UPD (CLK_TOP_SYSAXI_SEL , "sysaxi_sel" , sysaxi_parents ,
212- 0x030 , 0x034 , 0x038 , 8 , 2 , 15 , 0x1C0 , 13 ),
213- MUX_GATE_CLR_SET_UPD (CLK_TOP_SYSAPB_SEL , "sysapb_sel" , sysapb_parents ,
214- 0x030 , 0x034 , 0x038 , 16 , 2 , 23 , 0x1C0 , 14 ),
210+ MUX_GATE_CLR_SET_UPD_FLAGS (CLK_TOP_DRAMC_MD32_SEL , "dramc_md32_sel" ,
211+ dramc_md32_parents , 0x030 , 0x034 , 0x038 ,
212+ 0 , 1 , 7 , 0x1C0 , 12 ,
213+ CLK_IS_CRITICAL | CLK_SET_RATE_PARENT ),
214+ MUX_GATE_CLR_SET_UPD_FLAGS (CLK_TOP_SYSAXI_SEL , "sysaxi_sel" ,
215+ sysaxi_parents , 0x030 , 0x034 , 0x038 ,
216+ 8 , 2 , 15 , 0x1C0 , 13 ,
217+ CLK_IS_CRITICAL | CLK_SET_RATE_PARENT ),
218+ MUX_GATE_CLR_SET_UPD_FLAGS (CLK_TOP_SYSAPB_SEL , "sysapb_sel" ,
219+ sysapb_parents , 0x030 , 0x034 , 0x038 ,
220+ 16 , 2 , 23 , 0x1C0 , 14 ,
221+ CLK_IS_CRITICAL | CLK_SET_RATE_PARENT ),
215222 MUX_GATE_CLR_SET_UPD (CLK_TOP_ARM_DB_MAIN_SEL , "arm_db_main_sel" ,
216223 arm_db_main_parents , 0x030 , 0x034 , 0x038 , 24 , 1 ,
217224 31 , 0x1C0 , 15 ),
@@ -234,9 +241,10 @@ static const struct mtk_mux top_muxes[] = {
234241 MUX_GATE_CLR_SET_UPD (CLK_TOP_SGM_325M_SEL , "sgm_325m_sel" ,
235242 sgm_325m_parents , 0x050 , 0x054 , 0x058 , 8 , 1 , 15 ,
236243 0x1C0 , 21 ),
237- MUX_GATE_CLR_SET_UPD (CLK_TOP_SGM_REG_SEL , "sgm_reg_sel" ,
238- sgm_reg_parents , 0x050 , 0x054 , 0x058 , 16 , 1 , 23 ,
239- 0x1C0 , 22 ),
244+ MUX_GATE_CLR_SET_UPD_FLAGS (CLK_TOP_SGM_REG_SEL , "sgm_reg_sel" ,
245+ sgm_reg_parents , 0x050 , 0x054 , 0x058 ,
246+ 16 , 1 , 23 , 0x1C0 , 22 ,
247+ CLK_IS_CRITICAL | CLK_SET_RATE_PARENT ),
240248 MUX_GATE_CLR_SET_UPD (CLK_TOP_A1SYS_SEL , "a1sys_sel" , a1sys_parents ,
241249 0x050 , 0x054 , 0x058 , 24 , 1 , 31 , 0x1C0 , 23 ),
242250 /* CLK_CFG_6 */
@@ -252,9 +260,10 @@ static const struct mtk_mux top_muxes[] = {
252260 f_26m_adc_parents , 0x060 , 0x064 , 0x068 , 24 , 1 , 31 ,
253261 0x1C0 , 27 ),
254262 /* CLK_CFG_7 */
255- MUX_GATE_CLR_SET_UPD (CLK_TOP_F26M_SEL , "csw_f26m_sel" ,
256- f_26m_adc_parents , 0x070 , 0x074 , 0x078 , 0 , 1 , 7 ,
257- 0x1C0 , 28 ),
263+ MUX_GATE_CLR_SET_UPD_FLAGS (CLK_TOP_F26M_SEL , "csw_f26m_sel" ,
264+ f_26m_adc_parents , 0x070 , 0x074 , 0x078 ,
265+ 0 , 1 , 7 , 0x1C0 , 28 ,
266+ CLK_IS_CRITICAL | CLK_SET_RATE_PARENT ),
258267 MUX_GATE_CLR_SET_UPD (CLK_TOP_AUD_L_SEL , "aud_l_sel" , aud_l_parents ,
259268 0x070 , 0x074 , 0x078 , 8 , 2 , 15 , 0x1C0 , 29 ),
260269 MUX_GATE_CLR_SET_UPD (CLK_TOP_A_TUNER_SEL , "a_tuner_sel" ,
@@ -307,13 +316,6 @@ static int clk_mt7986_topckgen_probe(struct platform_device *pdev)
307316 ARRAY_SIZE (top_muxes ), node ,
308317 & mt7986_clk_lock , clk_data );
309318
310- clk_prepare_enable (clk_data -> hws [CLK_TOP_SYSAXI_SEL ]-> clk );
311- clk_prepare_enable (clk_data -> hws [CLK_TOP_SYSAPB_SEL ]-> clk );
312- clk_prepare_enable (clk_data -> hws [CLK_TOP_DRAMC_SEL ]-> clk );
313- clk_prepare_enable (clk_data -> hws [CLK_TOP_DRAMC_MD32_SEL ]-> clk );
314- clk_prepare_enable (clk_data -> hws [CLK_TOP_F26M_SEL ]-> clk );
315- clk_prepare_enable (clk_data -> hws [CLK_TOP_SGM_REG_SEL ]-> clk );
316-
317319 r = of_clk_add_hw_provider (node , of_clk_hw_onecell_get , clk_data );
318320
319321 if (r ) {
0 commit comments