@@ -753,6 +753,9 @@ static struct clk_regmap toddr_d =
753753 AUD_PCLK_GATE (toddr_d , AUDIO_CLK_GATE_EN1 , 1 );
754754static struct clk_regmap loopback_b =
755755 AUD_PCLK_GATE (loopback_b , AUDIO_CLK_GATE_EN1 , 2 );
756+ static struct clk_regmap earcrx =
757+ AUD_PCLK_GATE (earcrx , AUDIO_CLK_GATE_EN1 , 6 );
758+
756759
757760static struct clk_regmap sm1_mst_a_mclk_sel =
758761 AUD_MST_MCLK_MUX (mst_a_mclk , AUDIO_SM1_MCLK_A_CTRL );
@@ -766,6 +769,10 @@ static struct clk_regmap sm1_mst_e_mclk_sel =
766769 AUD_MST_MCLK_MUX (mst_e_mclk , AUDIO_SM1_MCLK_E_CTRL );
767770static struct clk_regmap sm1_mst_f_mclk_sel =
768771 AUD_MST_MCLK_MUX (mst_f_mclk , AUDIO_SM1_MCLK_F_CTRL );
772+ static struct clk_regmap sm1_earcrx_cmdc_clk_sel =
773+ AUD_MST_MCLK_MUX (earcrx_cmdc_clk , AUDIO_EARCRX_CMDC_CLK_CTRL );
774+ static struct clk_regmap sm1_earcrx_dmac_clk_sel =
775+ AUD_MST_MCLK_MUX (earcrx_dmac_clk , AUDIO_EARCRX_DMAC_CLK_CTRL );
769776
770777static struct clk_regmap sm1_mst_a_mclk_div =
771778 AUD_MST_MCLK_DIV (mst_a_mclk , AUDIO_SM1_MCLK_A_CTRL );
@@ -779,6 +786,11 @@ static struct clk_regmap sm1_mst_e_mclk_div =
779786 AUD_MST_MCLK_DIV (mst_e_mclk , AUDIO_SM1_MCLK_E_CTRL );
780787static struct clk_regmap sm1_mst_f_mclk_div =
781788 AUD_MST_MCLK_DIV (mst_f_mclk , AUDIO_SM1_MCLK_F_CTRL );
789+ static struct clk_regmap sm1_earcrx_cmdc_clk_div =
790+ AUD_MST_MCLK_DIV (earcrx_cmdc_clk , AUDIO_EARCRX_CMDC_CLK_CTRL );
791+ static struct clk_regmap sm1_earcrx_dmac_clk_div =
792+ AUD_MST_MCLK_DIV (earcrx_dmac_clk , AUDIO_EARCRX_DMAC_CLK_CTRL );
793+
782794
783795static struct clk_regmap sm1_mst_a_mclk =
784796 AUD_MST_MCLK_GATE (mst_a_mclk , AUDIO_SM1_MCLK_A_CTRL );
@@ -792,6 +804,10 @@ static struct clk_regmap sm1_mst_e_mclk =
792804 AUD_MST_MCLK_GATE (mst_e_mclk , AUDIO_SM1_MCLK_E_CTRL );
793805static struct clk_regmap sm1_mst_f_mclk =
794806 AUD_MST_MCLK_GATE (mst_f_mclk , AUDIO_SM1_MCLK_F_CTRL );
807+ static struct clk_regmap sm1_earcrx_cmdc_clk =
808+ AUD_MST_MCLK_GATE (earcrx_cmdc_clk , AUDIO_EARCRX_CMDC_CLK_CTRL );
809+ static struct clk_regmap sm1_earcrx_dmac_clk =
810+ AUD_MST_MCLK_GATE (earcrx_dmac_clk , AUDIO_EARCRX_DMAC_CLK_CTRL );
795811
796812static struct clk_regmap sm1_tdm_mclk_pad_0 = AUD_TDM_PAD_CTRL (
797813 tdm_mclk_pad_0 , AUDIO_SM1_MST_PAD_CTRL0 , 0 , mclk_pad_ctrl_parent_data );
@@ -1232,6 +1248,13 @@ static struct clk_hw *sm1_audio_hw_clks[] = {
12321248 [AUD_CLKID_SYSCLK_A_EN ] = & sm1_sysclk_a_en .hw ,
12331249 [AUD_CLKID_SYSCLK_B_DIV ] = & sm1_sysclk_b_div .hw ,
12341250 [AUD_CLKID_SYSCLK_B_EN ] = & sm1_sysclk_b_en .hw ,
1251+ [AUD_CLKID_EARCRX ] = & earcrx .hw ,
1252+ [AUD_CLKID_EARCRX_CMDC_SEL ] = & sm1_earcrx_cmdc_clk_sel .hw ,
1253+ [AUD_CLKID_EARCRX_CMDC_DIV ] = & sm1_earcrx_cmdc_clk_div .hw ,
1254+ [AUD_CLKID_EARCRX_CMDC ] = & sm1_earcrx_cmdc_clk .hw ,
1255+ [AUD_CLKID_EARCRX_DMAC_SEL ] = & sm1_earcrx_dmac_clk_sel .hw ,
1256+ [AUD_CLKID_EARCRX_DMAC_DIV ] = & sm1_earcrx_dmac_clk_div .hw ,
1257+ [AUD_CLKID_EARCRX_DMAC ] = & sm1_earcrx_dmac_clk .hw ,
12351258};
12361259
12371260
@@ -1646,6 +1669,13 @@ static struct clk_regmap *const sm1_clk_regmaps[] = {
16461669 & sm1_sysclk_a_en ,
16471670 & sm1_sysclk_b_div ,
16481671 & sm1_sysclk_b_en ,
1672+ & earcrx ,
1673+ & sm1_earcrx_cmdc_clk_sel ,
1674+ & sm1_earcrx_cmdc_clk_div ,
1675+ & sm1_earcrx_cmdc_clk ,
1676+ & sm1_earcrx_dmac_clk_sel ,
1677+ & sm1_earcrx_dmac_clk_div ,
1678+ & sm1_earcrx_dmac_clk ,
16491679};
16501680
16511681struct axg_audio_reset_data {
@@ -1853,7 +1883,7 @@ static const struct audioclk_data sm1_audioclk_data = {
18531883 },
18541884 .reset_offset = AUDIO_SM1_SW_RESET0 ,
18551885 .reset_num = 39 ,
1856- .max_register = AUDIO_CLK_SPDIFOUT_B_CTRL ,
1886+ .max_register = AUDIO_EARCRX_DMAC_CLK_CTRL ,
18571887};
18581888
18591889static const struct of_device_id clkc_match_table [] = {
0 commit comments