@@ -753,6 +753,9 @@ static struct clk_regmap toddr_d =
753
753
AUD_PCLK_GATE (toddr_d , AUDIO_CLK_GATE_EN1 , 1 );
754
754
static struct clk_regmap loopback_b =
755
755
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
+
756
759
757
760
static struct clk_regmap sm1_mst_a_mclk_sel =
758
761
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 =
766
769
AUD_MST_MCLK_MUX (mst_e_mclk , AUDIO_SM1_MCLK_E_CTRL );
767
770
static struct clk_regmap sm1_mst_f_mclk_sel =
768
771
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 );
769
776
770
777
static struct clk_regmap sm1_mst_a_mclk_div =
771
778
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 =
779
786
AUD_MST_MCLK_DIV (mst_e_mclk , AUDIO_SM1_MCLK_E_CTRL );
780
787
static struct clk_regmap sm1_mst_f_mclk_div =
781
788
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
+
782
794
783
795
static struct clk_regmap sm1_mst_a_mclk =
784
796
AUD_MST_MCLK_GATE (mst_a_mclk , AUDIO_SM1_MCLK_A_CTRL );
@@ -792,6 +804,10 @@ static struct clk_regmap sm1_mst_e_mclk =
792
804
AUD_MST_MCLK_GATE (mst_e_mclk , AUDIO_SM1_MCLK_E_CTRL );
793
805
static struct clk_regmap sm1_mst_f_mclk =
794
806
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 );
795
811
796
812
static struct clk_regmap sm1_tdm_mclk_pad_0 = AUD_TDM_PAD_CTRL (
797
813
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[] = {
1232
1248
[AUD_CLKID_SYSCLK_A_EN ] = & sm1_sysclk_a_en .hw ,
1233
1249
[AUD_CLKID_SYSCLK_B_DIV ] = & sm1_sysclk_b_div .hw ,
1234
1250
[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 ,
1235
1258
};
1236
1259
1237
1260
@@ -1646,6 +1669,13 @@ static struct clk_regmap *const sm1_clk_regmaps[] = {
1646
1669
& sm1_sysclk_a_en ,
1647
1670
& sm1_sysclk_b_div ,
1648
1671
& 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 ,
1649
1679
};
1650
1680
1651
1681
struct axg_audio_reset_data {
@@ -1853,7 +1883,7 @@ static const struct audioclk_data sm1_audioclk_data = {
1853
1883
},
1854
1884
.reset_offset = AUDIO_SM1_SW_RESET0 ,
1855
1885
.reset_num = 39 ,
1856
- .max_register = AUDIO_CLK_SPDIFOUT_B_CTRL ,
1886
+ .max_register = AUDIO_EARCRX_DMAC_CLK_CTRL ,
1857
1887
};
1858
1888
1859
1889
static const struct of_device_id clkc_match_table [] = {
0 commit comments