cs43130           238 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130           242 sound/soc/codecs/cs43130.c 		cs43130->mclk, cs43130->mclk_int);
cs43130           244 sound/soc/codecs/cs43130.c 	pll_entry = cs43130_get_pll_table(cs43130->mclk, cs43130->mclk_int);
cs43130           249 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_PLL_SET_1,
cs43130           252 sound/soc/codecs/cs43130.c 		cs43130->pll_bypass = true;
cs43130           256 sound/soc/codecs/cs43130.c 	cs43130->pll_bypass = false;
cs43130           258 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_PLL_SET_2,
cs43130           262 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_PLL_SET_3,
cs43130           266 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_PLL_SET_4,
cs43130           270 sound/soc/codecs/cs43130.c 	regmap_write(cs43130->regmap, CS43130_PLL_SET_5,
cs43130           272 sound/soc/codecs/cs43130.c 	regmap_write(cs43130->regmap, CS43130_PLL_SET_6, pll_entry->pll_divout);
cs43130           273 sound/soc/codecs/cs43130.c 	regmap_write(cs43130->regmap, CS43130_PLL_SET_7,
cs43130           275 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_PLL_SET_8,
cs43130           278 sound/soc/codecs/cs43130.c 	regmap_write(cs43130->regmap, CS43130_PLL_SET_9,
cs43130           280 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_PLL_SET_1,
cs43130           290 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130           303 sound/soc/codecs/cs43130.c 		cs43130->mclk = freq_in;
cs43130           313 sound/soc/codecs/cs43130.c 		cs43130->mclk_int = freq_out;
cs43130           316 sound/soc/codecs/cs43130.c 		cs43130->mclk_int = freq_out;
cs43130           325 sound/soc/codecs/cs43130.c 	dev_dbg(component->dev, "cs43130->pll_bypass = %d", cs43130->pll_bypass);
cs43130           333 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130           336 sound/soc/codecs/cs43130.c 	if (src == cs43130->mclk_int_src) {
cs43130           341 sound/soc/codecs/cs43130.c 	switch (cs43130->mclk_int) {
cs43130           349 sound/soc/codecs/cs43130.c 		dev_err(component->dev, "Invalid MCLK INT freq: %u\n", cs43130->mclk_int);
cs43130           355 sound/soc/codecs/cs43130.c 		cs43130->pll_bypass = true;
cs43130           356 sound/soc/codecs/cs43130.c 		cs43130->mclk_int_src = CS43130_MCLK_SRC_EXT;
cs43130           357 sound/soc/codecs/cs43130.c 		if (cs43130->xtal_ibias == CS43130_XTAL_UNUSED) {
cs43130           358 sound/soc/codecs/cs43130.c 			regmap_update_bits(cs43130->regmap, CS43130_PWDN_CTL,
cs43130           362 sound/soc/codecs/cs43130.c 			reinit_completion(&cs43130->xtal_rdy);
cs43130           363 sound/soc/codecs/cs43130.c 			regmap_update_bits(cs43130->regmap, CS43130_INT_MASK_1,
cs43130           365 sound/soc/codecs/cs43130.c 			regmap_update_bits(cs43130->regmap, CS43130_PWDN_CTL,
cs43130           367 sound/soc/codecs/cs43130.c 			ret = wait_for_completion_timeout(&cs43130->xtal_rdy,
cs43130           369 sound/soc/codecs/cs43130.c 			regmap_update_bits(cs43130->regmap, CS43130_INT_MASK_1,
cs43130           378 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_SYS_CLK_CTL_1,
cs43130           381 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_SYS_CLK_CTL_1,
cs43130           386 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_PWDN_CTL,
cs43130           391 sound/soc/codecs/cs43130.c 		cs43130->pll_bypass = false;
cs43130           392 sound/soc/codecs/cs43130.c 		cs43130->mclk_int_src = CS43130_MCLK_SRC_PLL;
cs43130           393 sound/soc/codecs/cs43130.c 		if (cs43130->xtal_ibias == CS43130_XTAL_UNUSED) {
cs43130           394 sound/soc/codecs/cs43130.c 			regmap_update_bits(cs43130->regmap, CS43130_PWDN_CTL,
cs43130           398 sound/soc/codecs/cs43130.c 			reinit_completion(&cs43130->xtal_rdy);
cs43130           399 sound/soc/codecs/cs43130.c 			regmap_update_bits(cs43130->regmap, CS43130_INT_MASK_1,
cs43130           401 sound/soc/codecs/cs43130.c 			regmap_update_bits(cs43130->regmap, CS43130_PWDN_CTL,
cs43130           403 sound/soc/codecs/cs43130.c 			ret = wait_for_completion_timeout(&cs43130->xtal_rdy,
cs43130           405 sound/soc/codecs/cs43130.c 			regmap_update_bits(cs43130->regmap, CS43130_INT_MASK_1,
cs43130           414 sound/soc/codecs/cs43130.c 		reinit_completion(&cs43130->pll_rdy);
cs43130           415 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_INT_MASK_1,
cs43130           417 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_PWDN_CTL,
cs43130           419 sound/soc/codecs/cs43130.c 		ret = wait_for_completion_timeout(&cs43130->pll_rdy,
cs43130           421 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_INT_MASK_1,
cs43130           429 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_SYS_CLK_CTL_1,
cs43130           432 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_SYS_CLK_CTL_1,
cs43130           438 sound/soc/codecs/cs43130.c 		cs43130->mclk_int_src = CS43130_MCLK_SRC_RCO;
cs43130           440 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_SYS_CLK_CTL_1,
cs43130           443 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_SYS_CLK_CTL_1,
cs43130           448 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_PWDN_CTL,
cs43130           451 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_PWDN_CTL,
cs43130           558 sound/soc/codecs/cs43130.c 			      struct cs43130_private *cs43130)
cs43130           573 sound/soc/codecs/cs43130.c 	switch (cs43130->dais[dai_id].dai_format) {
cs43130           598 sound/soc/codecs/cs43130.c 	switch (cs43130->dais[dai_id].dai_mode) {
cs43130           631 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_ASP_LRCK_PERIOD_1,
cs43130           634 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_ASP_LRCK_PERIOD_2,
cs43130           637 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_ASP_LRCK_HI_TIME_1,
cs43130           640 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_ASP_LRCK_HI_TIME_2,
cs43130           643 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_ASP_FRAME_CONF, frm_data);
cs43130           644 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_ASP_CH_1_LOC, loc_ch1);
cs43130           645 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_ASP_CH_2_LOC, loc_ch2);
cs43130           646 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_ASP_CH_1_SZ_EN,
cs43130           648 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_ASP_CH_2_SZ_EN,
cs43130           650 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_ASP_CLOCK_CONF, clk_data);
cs43130           653 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_XSP_LRCK_PERIOD_1,
cs43130           656 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_XSP_LRCK_PERIOD_2,
cs43130           659 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_XSP_LRCK_HI_TIME_1,
cs43130           662 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_XSP_LRCK_HI_TIME_2,
cs43130           665 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_XSP_FRAME_CONF, frm_data);
cs43130           666 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_XSP_CH_1_LOC, loc_ch1);
cs43130           667 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_XSP_CH_2_LOC, loc_ch2);
cs43130           668 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_XSP_CH_1_SZ_EN,
cs43130           670 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_XSP_CH_2_SZ_EN,
cs43130           672 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_XSP_CLOCK_CONF, clk_data);
cs43130           680 sound/soc/codecs/cs43130.c 		clk_gen = cs43130_get_clk_gen(cs43130->mclk_int,
cs43130           686 sound/soc/codecs/cs43130.c 		clk_gen = cs43130_get_clk_gen(cs43130->mclk_int,
cs43130           692 sound/soc/codecs/cs43130.c 		clk_gen = cs43130_get_clk_gen(cs43130->mclk_int,
cs43130           698 sound/soc/codecs/cs43130.c 		clk_gen = cs43130_get_clk_gen(cs43130->mclk_int,
cs43130           713 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_ASP_DEN_1,
cs43130           716 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_ASP_DEN_2,
cs43130           719 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_ASP_NUM_1,
cs43130           722 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_ASP_NUM_2,
cs43130           727 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_XSP_DEN_1,
cs43130           730 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_XSP_DEN_2,
cs43130           733 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_XSP_NUM_1,
cs43130           736 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_XSP_NUM_2,
cs43130           775 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130           779 sound/soc/codecs/cs43130.c 	mutex_lock(&cs43130->clk_mutex);
cs43130           780 sound/soc/codecs/cs43130.c 	if (!cs43130->clk_req) {
cs43130           787 sound/soc/codecs/cs43130.c 		cs43130_set_pll(component, 0, 0, cs43130->mclk, required_clk);
cs43130           788 sound/soc/codecs/cs43130.c 		if (cs43130->pll_bypass)
cs43130           794 sound/soc/codecs/cs43130.c 	cs43130->clk_req++;
cs43130           795 sound/soc/codecs/cs43130.c 	if (cs43130->clk_req == 2)
cs43130           796 sound/soc/codecs/cs43130.c 		cs43130_pcm_dsd_mix(true, cs43130->regmap);
cs43130           797 sound/soc/codecs/cs43130.c 	mutex_unlock(&cs43130->clk_mutex);
cs43130           812 sound/soc/codecs/cs43130.c 	if (cs43130->dais[dai->id].dai_mode == SND_SOC_DAIFMT_CBM_CFM)
cs43130           813 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_DSD_INT_CFG,
cs43130           816 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_DSD_INT_CFG,
cs43130           819 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_DSD_PATH_CTL_2,
cs43130           822 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_DSD_PATH_CTL_2,
cs43130           834 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130           836 sound/soc/codecs/cs43130.c 	unsigned int sclk = cs43130->dais[dai->id].sclk;
cs43130           842 sound/soc/codecs/cs43130.c 	mutex_lock(&cs43130->clk_mutex);
cs43130           843 sound/soc/codecs/cs43130.c 	if (!cs43130->clk_req) {
cs43130           850 sound/soc/codecs/cs43130.c 		cs43130_set_pll(component, 0, 0, cs43130->mclk, required_clk);
cs43130           851 sound/soc/codecs/cs43130.c 		if (cs43130->pll_bypass)
cs43130           857 sound/soc/codecs/cs43130.c 	cs43130->clk_req++;
cs43130           858 sound/soc/codecs/cs43130.c 	if (cs43130->clk_req == 2)
cs43130           859 sound/soc/codecs/cs43130.c 		cs43130_pcm_dsd_mix(true, cs43130->regmap);
cs43130           860 sound/soc/codecs/cs43130.c 	mutex_unlock(&cs43130->clk_mutex);
cs43130           883 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_DSD_PATH_CTL_2,
cs43130           892 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_SP_SRATE, rate_map->val);
cs43130           901 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_DSD_PATH_CTL_2,
cs43130           906 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_DSD_PATH_CTL_2,
cs43130           912 sound/soc/codecs/cs43130.c 	if (!sclk && cs43130->dais[dai->id].dai_mode == SND_SOC_DAIFMT_CBM_CFM)
cs43130           937 sound/soc/codecs/cs43130.c 	cs43130_set_bitwidth(dai->id, bitwidth_dai, cs43130->regmap);
cs43130           938 sound/soc/codecs/cs43130.c 	cs43130_set_sp_fmt(dai->id, bitwidth_sclk, params, cs43130);
cs43130           947 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130           949 sound/soc/codecs/cs43130.c 	mutex_lock(&cs43130->clk_mutex);
cs43130           950 sound/soc/codecs/cs43130.c 	cs43130->clk_req--;
cs43130           951 sound/soc/codecs/cs43130.c 	if (!cs43130->clk_req) {
cs43130           954 sound/soc/codecs/cs43130.c 		cs43130_pcm_dsd_mix(false, cs43130->regmap);
cs43130           956 sound/soc/codecs/cs43130.c 	mutex_unlock(&cs43130->clk_mutex);
cs43130          1024 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130          1031 sound/soc/codecs/cs43130.c 	switch (cs43130->dev_id) {
cs43130          1035 sound/soc/codecs/cs43130.c 			regmap_multi_reg_write(cs43130->regmap, pcm_ch_en_seq,
cs43130          1038 sound/soc/codecs/cs43130.c 			regmap_multi_reg_write(cs43130->regmap, pcm_ch_dis_seq,
cs43130          1145 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130          1149 sound/soc/codecs/cs43130.c 		switch (cs43130->dev_id) {
cs43130          1152 sound/soc/codecs/cs43130.c 			regmap_multi_reg_write(cs43130->regmap, dsd_seq,
cs43130          1158 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_DSD_PATH_CTL_1,
cs43130          1160 sound/soc/codecs/cs43130.c 		switch (cs43130->dev_id) {
cs43130          1163 sound/soc/codecs/cs43130.c 			regmap_multi_reg_write(cs43130->regmap, unmute_seq,
cs43130          1169 sound/soc/codecs/cs43130.c 		switch (cs43130->dev_id) {
cs43130          1172 sound/soc/codecs/cs43130.c 			regmap_multi_reg_write(cs43130->regmap, mute_seq,
cs43130          1174 sound/soc/codecs/cs43130.c 			regmap_update_bits(cs43130->regmap,
cs43130          1185 sound/soc/codecs/cs43130.c 			regmap_update_bits(cs43130->regmap,
cs43130          1202 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130          1206 sound/soc/codecs/cs43130.c 		switch (cs43130->dev_id) {
cs43130          1209 sound/soc/codecs/cs43130.c 			regmap_multi_reg_write(cs43130->regmap, pcm_seq,
cs43130          1215 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_PCM_PATH_CTL_1,
cs43130          1217 sound/soc/codecs/cs43130.c 		switch (cs43130->dev_id) {
cs43130          1220 sound/soc/codecs/cs43130.c 			regmap_multi_reg_write(cs43130->regmap, unmute_seq,
cs43130          1226 sound/soc/codecs/cs43130.c 		switch (cs43130->dev_id) {
cs43130          1229 sound/soc/codecs/cs43130.c 			regmap_multi_reg_write(cs43130->regmap, mute_seq,
cs43130          1231 sound/soc/codecs/cs43130.c 			regmap_update_bits(cs43130->regmap,
cs43130          1242 sound/soc/codecs/cs43130.c 			regmap_update_bits(cs43130->regmap,
cs43130          1271 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130          1275 sound/soc/codecs/cs43130.c 		switch (cs43130->dev_id) {
cs43130          1278 sound/soc/codecs/cs43130.c 			regmap_multi_reg_write(cs43130->regmap, pop_free_seq,
cs43130          1283 sound/soc/codecs/cs43130.c 			regmap_multi_reg_write(cs43130->regmap, pop_free_seq2,
cs43130          1291 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_DXD1, 0x99);
cs43130          1293 sound/soc/codecs/cs43130.c 		switch (cs43130->dev_id) {
cs43130          1296 sound/soc/codecs/cs43130.c 			regmap_multi_reg_write(cs43130->regmap, dac_postpmu_seq,
cs43130          1304 sound/soc/codecs/cs43130.c 			regmap_write(cs43130->regmap, CS43130_DXD12, 0);
cs43130          1309 sound/soc/codecs/cs43130.c 			regmap_write(cs43130->regmap, CS43130_DXD13, 0);
cs43130          1313 sound/soc/codecs/cs43130.c 		regmap_write(cs43130->regmap, CS43130_DXD1, 0);
cs43130          1316 sound/soc/codecs/cs43130.c 		switch (cs43130->dev_id) {
cs43130          1319 sound/soc/codecs/cs43130.c 			regmap_multi_reg_write(cs43130->regmap, dac_postpmd_seq,
cs43130          1351 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130          1355 sound/soc/codecs/cs43130.c 		regmap_multi_reg_write(cs43130->regmap, hpin_prepmd_seq,
cs43130          1359 sound/soc/codecs/cs43130.c 		regmap_multi_reg_write(cs43130->regmap, hpin_postpmu_seq,
cs43130          1472 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130          1476 sound/soc/codecs/cs43130.c 		cs43130->dais[codec_dai->id].dai_mode = SND_SOC_DAIFMT_CBS_CFS;
cs43130          1479 sound/soc/codecs/cs43130.c 		cs43130->dais[codec_dai->id].dai_mode = SND_SOC_DAIFMT_CBM_CFM;
cs43130          1488 sound/soc/codecs/cs43130.c 		cs43130->dais[codec_dai->id].dai_format = SND_SOC_DAIFMT_I2S;
cs43130          1491 sound/soc/codecs/cs43130.c 		cs43130->dais[codec_dai->id].dai_format = SND_SOC_DAIFMT_LEFT_J;
cs43130          1494 sound/soc/codecs/cs43130.c 		cs43130->dais[codec_dai->id].dai_format = SND_SOC_DAIFMT_DSP_A;
cs43130          1497 sound/soc/codecs/cs43130.c 		cs43130->dais[codec_dai->id].dai_format = SND_SOC_DAIFMT_DSP_B;
cs43130          1507 sound/soc/codecs/cs43130.c 		cs43130->dais[codec_dai->id].dai_mode,
cs43130          1508 sound/soc/codecs/cs43130.c 		cs43130->dais[codec_dai->id].dai_format);
cs43130          1516 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130          1520 sound/soc/codecs/cs43130.c 		cs43130->dais[codec_dai->id].dai_mode = SND_SOC_DAIFMT_CBS_CFS;
cs43130          1523 sound/soc/codecs/cs43130.c 		cs43130->dais[codec_dai->id].dai_mode = SND_SOC_DAIFMT_CBM_CFM;
cs43130          1531 sound/soc/codecs/cs43130.c 		cs43130->dais[codec_dai->id].dai_mode);
cs43130          1540 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130          1542 sound/soc/codecs/cs43130.c 	cs43130->dais[codec_dai->id].sclk = freq;
cs43130          1544 sound/soc/codecs/cs43130.c 		cs43130->dais[codec_dai->id].sclk);
cs43130          1631 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130          1639 sound/soc/codecs/cs43130.c 		cs43130->mclk = freq;
cs43130          1647 sound/soc/codecs/cs43130.c 		cs43130->pll_bypass = true;
cs43130          1665 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = i2c_get_clientdata(client);
cs43130          1667 sound/soc/codecs/cs43130.c 	if (!cs43130->hpload_done)
cs43130          1671 sound/soc/codecs/cs43130.c 				 cs43130->hpload_dc[ch]);
cs43130          1703 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = i2c_get_clientdata(client);
cs43130          1705 sound/soc/codecs/cs43130.c 	if (cs43130->hpload_done && cs43130->ac_meas) {
cs43130          1708 sound/soc/codecs/cs43130.c 					cs43130->hpload_ac[i][ch]);
cs43130          1923 sound/soc/codecs/cs43130.c 				 struct cs43130_private *cs43130)
cs43130          1929 sound/soc/codecs/cs43130.c 	struct snd_soc_component *component = cs43130->component;
cs43130          1939 sound/soc/codecs/cs43130.c 	regmap_read(cs43130->regmap, CS43130_HP_LOAD_1, &reg);
cs43130          1948 sound/soc/codecs/cs43130.c 	regmap_read(cs43130->regmap, addr, &reg);
cs43130          1950 sound/soc/codecs/cs43130.c 	regmap_read(cs43130->regmap, addr + 1, &reg);
cs43130          1955 sound/soc/codecs/cs43130.c 			cs43130->hpload_dc[HP_LEFT] = impedance;
cs43130          1957 sound/soc/codecs/cs43130.c 			cs43130->hpload_dc[HP_RIGHT] = impedance;
cs43130          1963 sound/soc/codecs/cs43130.c 			cs43130->hpload_ac[ac_idx][HP_LEFT] = impedance;
cs43130          1965 sound/soc/codecs/cs43130.c 			cs43130->hpload_ac[ac_idx][HP_RIGHT] = impedance;
cs43130          1968 sound/soc/codecs/cs43130.c 			cs43130->ac_freq[ac_idx], !left_ch, impedance);
cs43130          1974 sound/soc/codecs/cs43130.c static int cs43130_hpload_proc(struct cs43130_private *cs43130,
cs43130          1981 sound/soc/codecs/cs43130.c 	struct snd_soc_component *component = cs43130->component;
cs43130          1983 sound/soc/codecs/cs43130.c 	reinit_completion(&cs43130->hpload_evt);
cs43130          1986 sound/soc/codecs/cs43130.c 		ac_reg_val = cs43130_get_ac_reg_val(cs43130->ac_freq[ac_idx]);
cs43130          1987 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_HP_LOAD_1,
cs43130          1989 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_HP_MEAS_LOAD_1,
cs43130          1992 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_HP_MEAS_LOAD_2,
cs43130          1997 sound/soc/codecs/cs43130.c 	regmap_multi_reg_write(cs43130->regmap, seq,
cs43130          2000 sound/soc/codecs/cs43130.c 	ret = wait_for_completion_timeout(&cs43130->hpload_evt,
cs43130          2002 sound/soc/codecs/cs43130.c 	regmap_read(cs43130->regmap, CS43130_INT_MASK_4, &msk);
cs43130          2009 sound/soc/codecs/cs43130.c 		cs43130->hpload_stat, msk);
cs43130          2010 sound/soc/codecs/cs43130.c 	if ((cs43130->hpload_stat & (CS43130_HPLOAD_NO_DC_INT |
cs43130          2013 sound/soc/codecs/cs43130.c 	    !(cs43130->hpload_stat & rslt_msk)) {
cs43130          2055 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130;
cs43130          2059 sound/soc/codecs/cs43130.c 	cs43130 = container_of(wk, struct cs43130_private, work);
cs43130          2060 sound/soc/codecs/cs43130.c 	component = cs43130->component;
cs43130          2062 sound/soc/codecs/cs43130.c 	if (!cs43130->mclk)
cs43130          2065 sound/soc/codecs/cs43130.c 	cs43130->hpload_done = false;
cs43130          2067 sound/soc/codecs/cs43130.c 	mutex_lock(&cs43130->clk_mutex);
cs43130          2068 sound/soc/codecs/cs43130.c 	if (!cs43130->clk_req) {
cs43130          2070 sound/soc/codecs/cs43130.c 		cs43130_set_pll(component, 0, 0, cs43130->mclk, CS43130_MCLK_22M);
cs43130          2071 sound/soc/codecs/cs43130.c 		if (cs43130->pll_bypass)
cs43130          2077 sound/soc/codecs/cs43130.c 	cs43130->clk_req++;
cs43130          2078 sound/soc/codecs/cs43130.c 	mutex_unlock(&cs43130->clk_mutex);
cs43130          2080 sound/soc/codecs/cs43130.c 	regmap_read(cs43130->regmap, CS43130_INT_STATUS_4, &reg);
cs43130          2082 sound/soc/codecs/cs43130.c 	switch (cs43130->dev_id) {
cs43130          2092 sound/soc/codecs/cs43130.c 		WARN(1, "Invalid dev_id for meas: %d", cs43130->dev_id);
cs43130          2099 sound/soc/codecs/cs43130.c 		ret = cs43130_hpload_proc(cs43130, hpload_seq[i].seq,
cs43130          2105 sound/soc/codecs/cs43130.c 		cs43130_update_hpload(hpload_seq[i].msk, ac_idx, cs43130);
cs43130          2107 sound/soc/codecs/cs43130.c 		if (cs43130->ac_meas &&
cs43130          2116 sound/soc/codecs/cs43130.c 	cs43130->hpload_done = true;
cs43130          2118 sound/soc/codecs/cs43130.c 	if (cs43130->hpload_dc[HP_LEFT] >= CS43130_LINEOUT_LOAD)
cs43130          2119 sound/soc/codecs/cs43130.c 		snd_soc_jack_report(&cs43130->jack, CS43130_JACK_LINEOUT,
cs43130          2122 sound/soc/codecs/cs43130.c 		snd_soc_jack_report(&cs43130->jack, CS43130_JACK_HEADPHONE,
cs43130          2128 sound/soc/codecs/cs43130.c 			cs43130->dc_threshold[i]);
cs43130          2130 sound/soc/codecs/cs43130.c 	cs43130_set_hv(cs43130->regmap, cs43130->hpload_dc[HP_LEFT],
cs43130          2131 sound/soc/codecs/cs43130.c 		       cs43130->dc_threshold);
cs43130          2134 sound/soc/codecs/cs43130.c 	switch (cs43130->dev_id) {
cs43130          2136 sound/soc/codecs/cs43130.c 		cs43130_hpload_proc(cs43130, hp_dis_cal_seq,
cs43130          2141 sound/soc/codecs/cs43130.c 		cs43130_hpload_proc(cs43130, hp_dis_cal_seq2,
cs43130          2147 sound/soc/codecs/cs43130.c 	regmap_multi_reg_write(cs43130->regmap, hp_cln_seq,
cs43130          2150 sound/soc/codecs/cs43130.c 	mutex_lock(&cs43130->clk_mutex);
cs43130          2151 sound/soc/codecs/cs43130.c 	cs43130->clk_req--;
cs43130          2153 sound/soc/codecs/cs43130.c 	if (!cs43130->clk_req)
cs43130          2155 sound/soc/codecs/cs43130.c 	mutex_unlock(&cs43130->clk_mutex);
cs43130          2160 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = (struct cs43130_private *)data;
cs43130          2161 sound/soc/codecs/cs43130.c 	struct snd_soc_component *component = cs43130->component;
cs43130          2168 sound/soc/codecs/cs43130.c 		regmap_read(cs43130->regmap, CS43130_INT_STATUS_1 + i,
cs43130          2170 sound/soc/codecs/cs43130.c 		regmap_read(cs43130->regmap, CS43130_INT_MASK_1 + i,
cs43130          2186 sound/soc/codecs/cs43130.c 		complete(&cs43130->xtal_rdy);
cs43130          2191 sound/soc/codecs/cs43130.c 		complete(&cs43130->pll_rdy);
cs43130          2196 sound/soc/codecs/cs43130.c 		cs43130->hpload_stat = stickies[3];
cs43130          2199 sound/soc/codecs/cs43130.c 			cs43130->hpload_stat);
cs43130          2200 sound/soc/codecs/cs43130.c 		complete(&cs43130->hpload_evt);
cs43130          2205 sound/soc/codecs/cs43130.c 		cs43130->hpload_stat = stickies[3];
cs43130          2207 sound/soc/codecs/cs43130.c 			cs43130->hpload_stat);
cs43130          2208 sound/soc/codecs/cs43130.c 		complete(&cs43130->hpload_evt);
cs43130          2213 sound/soc/codecs/cs43130.c 		cs43130->hpload_stat = stickies[3];
cs43130          2215 sound/soc/codecs/cs43130.c 			cs43130->hpload_stat);
cs43130          2216 sound/soc/codecs/cs43130.c 		complete(&cs43130->hpload_evt);
cs43130          2221 sound/soc/codecs/cs43130.c 		cs43130->hpload_stat = stickies[3];
cs43130          2223 sound/soc/codecs/cs43130.c 			cs43130->hpload_stat);
cs43130          2224 sound/soc/codecs/cs43130.c 		complete(&cs43130->hpload_evt);
cs43130          2229 sound/soc/codecs/cs43130.c 		cs43130->hpload_stat = stickies[3];
cs43130          2231 sound/soc/codecs/cs43130.c 			cs43130->hpload_stat);
cs43130          2232 sound/soc/codecs/cs43130.c 		complete(&cs43130->hpload_evt);
cs43130          2237 sound/soc/codecs/cs43130.c 		cs43130->hpload_stat = stickies[3];
cs43130          2239 sound/soc/codecs/cs43130.c 			cs43130->hpload_stat);
cs43130          2240 sound/soc/codecs/cs43130.c 		complete(&cs43130->hpload_evt);
cs43130          2245 sound/soc/codecs/cs43130.c 		cs43130->hpload_stat = stickies[3];
cs43130          2247 sound/soc/codecs/cs43130.c 			cs43130->hpload_stat);
cs43130          2248 sound/soc/codecs/cs43130.c 		complete(&cs43130->hpload_evt);
cs43130          2259 sound/soc/codecs/cs43130.c 		cs43130->hpload_done = false;
cs43130          2260 sound/soc/codecs/cs43130.c 		snd_soc_jack_report(&cs43130->jack, 0, CS43130_JACK_MASK);
cs43130          2265 sound/soc/codecs/cs43130.c 		if (cs43130->dc_meas && !cs43130->hpload_done &&
cs43130          2266 sound/soc/codecs/cs43130.c 		    !work_busy(&cs43130->work)) {
cs43130          2268 sound/soc/codecs/cs43130.c 			queue_work(cs43130->wq, &cs43130->work);
cs43130          2271 sound/soc/codecs/cs43130.c 		snd_soc_jack_report(&cs43130->jack, SND_JACK_MECHANICAL,
cs43130          2282 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = snd_soc_component_get_drvdata(component);
cs43130          2286 sound/soc/codecs/cs43130.c 	cs43130->component = component;
cs43130          2288 sound/soc/codecs/cs43130.c 	if (cs43130->xtal_ibias != CS43130_XTAL_UNUSED) {
cs43130          2289 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_CRYSTAL_SET,
cs43130          2291 sound/soc/codecs/cs43130.c 				   cs43130->xtal_ibias);
cs43130          2292 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_INT_MASK_1,
cs43130          2297 sound/soc/codecs/cs43130.c 				    &cs43130->jack, NULL, 0);
cs43130          2303 sound/soc/codecs/cs43130.c 	cs43130->hpload_done = false;
cs43130          2304 sound/soc/codecs/cs43130.c 	if (cs43130->dc_meas) {
cs43130          2321 sound/soc/codecs/cs43130.c 		cs43130->wq = create_singlethread_workqueue("cs43130_hp");
cs43130          2322 sound/soc/codecs/cs43130.c 		if (!cs43130->wq)
cs43130          2324 sound/soc/codecs/cs43130.c 		INIT_WORK(&cs43130->work, cs43130_imp_meas);
cs43130          2327 sound/soc/codecs/cs43130.c 	regmap_read(cs43130->regmap, CS43130_INT_STATUS_1, &reg);
cs43130          2328 sound/soc/codecs/cs43130.c 	regmap_read(cs43130->regmap, CS43130_HP_STATUS, &reg);
cs43130          2329 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_INT_MASK_1,
cs43130          2331 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_HP_DETECT,
cs43130          2333 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_HP_DETECT,
cs43130          2375 sound/soc/codecs/cs43130.c 				      struct cs43130_private *cs43130)
cs43130          2383 sound/soc/codecs/cs43130.c 		cs43130->xtal_ibias = CS43130_XTAL_UNUSED;
cs43130          2389 sound/soc/codecs/cs43130.c 		cs43130->xtal_ibias = CS43130_XTAL_IBIAS_7_5UA;
cs43130          2392 sound/soc/codecs/cs43130.c 		cs43130->xtal_ibias = CS43130_XTAL_IBIAS_12_5UA;
cs43130          2395 sound/soc/codecs/cs43130.c 		cs43130->xtal_ibias = CS43130_XTAL_IBIAS_15UA;
cs43130          2403 sound/soc/codecs/cs43130.c 	cs43130->dc_meas = of_property_read_bool(np, "cirrus,dc-measure");
cs43130          2404 sound/soc/codecs/cs43130.c 	cs43130->ac_meas = of_property_read_bool(np, "cirrus,ac-measure");
cs43130          2406 sound/soc/codecs/cs43130.c 	if (of_property_read_u16_array(np, "cirrus,ac-freq", cs43130->ac_freq,
cs43130          2409 sound/soc/codecs/cs43130.c 			cs43130->ac_freq[i] = cs43130_ac_freq[i];
cs43130          2413 sound/soc/codecs/cs43130.c 				       cs43130->dc_threshold,
cs43130          2416 sound/soc/codecs/cs43130.c 			cs43130->dc_threshold[i] = cs43130_dc_threshold[i];
cs43130          2425 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130;
cs43130          2431 sound/soc/codecs/cs43130.c 	cs43130 = devm_kzalloc(&client->dev, sizeof(*cs43130), GFP_KERNEL);
cs43130          2432 sound/soc/codecs/cs43130.c 	if (!cs43130)
cs43130          2435 sound/soc/codecs/cs43130.c 	i2c_set_clientdata(client, cs43130);
cs43130          2437 sound/soc/codecs/cs43130.c 	cs43130->regmap = devm_regmap_init_i2c(client, &cs43130_regmap);
cs43130          2438 sound/soc/codecs/cs43130.c 	if (IS_ERR(cs43130->regmap)) {
cs43130          2439 sound/soc/codecs/cs43130.c 		ret = PTR_ERR(cs43130->regmap);
cs43130          2444 sound/soc/codecs/cs43130.c 		ret = cs43130_handle_device_data(client, cs43130);
cs43130          2448 sound/soc/codecs/cs43130.c 	for (i = 0; i < ARRAY_SIZE(cs43130->supplies); i++)
cs43130          2449 sound/soc/codecs/cs43130.c 		cs43130->supplies[i].supply = cs43130_supply_names[i];
cs43130          2452 sound/soc/codecs/cs43130.c 				      ARRAY_SIZE(cs43130->supplies),
cs43130          2453 sound/soc/codecs/cs43130.c 				      cs43130->supplies);
cs43130          2458 sound/soc/codecs/cs43130.c 	ret = regulator_bulk_enable(ARRAY_SIZE(cs43130->supplies),
cs43130          2459 sound/soc/codecs/cs43130.c 				    cs43130->supplies);
cs43130          2465 sound/soc/codecs/cs43130.c 	cs43130->reset_gpio = devm_gpiod_get_optional(&client->dev,
cs43130          2467 sound/soc/codecs/cs43130.c 	if (IS_ERR(cs43130->reset_gpio))
cs43130          2468 sound/soc/codecs/cs43130.c 		return PTR_ERR(cs43130->reset_gpio);
cs43130          2470 sound/soc/codecs/cs43130.c 	gpiod_set_value_cansleep(cs43130->reset_gpio, 1);
cs43130          2474 sound/soc/codecs/cs43130.c 	ret = regmap_read(cs43130->regmap, CS43130_DEVID_AB, &reg);
cs43130          2477 sound/soc/codecs/cs43130.c 	ret = regmap_read(cs43130->regmap, CS43130_DEVID_CD, &reg);
cs43130          2479 sound/soc/codecs/cs43130.c 	ret = regmap_read(cs43130->regmap, CS43130_DEVID_E, &reg);
cs43130          2497 sound/soc/codecs/cs43130.c 	cs43130->dev_id = devid;
cs43130          2498 sound/soc/codecs/cs43130.c 	ret = regmap_read(cs43130->regmap, CS43130_REV_ID, &reg);
cs43130          2508 sound/soc/codecs/cs43130.c 	mutex_init(&cs43130->clk_mutex);
cs43130          2510 sound/soc/codecs/cs43130.c 	init_completion(&cs43130->xtal_rdy);
cs43130          2511 sound/soc/codecs/cs43130.c 	init_completion(&cs43130->pll_rdy);
cs43130          2512 sound/soc/codecs/cs43130.c 	init_completion(&cs43130->hpload_evt);
cs43130          2517 sound/soc/codecs/cs43130.c 					"cs43130", cs43130);
cs43130          2523 sound/soc/codecs/cs43130.c 	cs43130->mclk_int_src = CS43130_MCLK_SRC_RCO;
cs43130          2530 sound/soc/codecs/cs43130.c 	switch (cs43130->dev_id) {
cs43130          2573 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_PAD_INT_CFG,
cs43130          2575 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_PAD_INT_CFG,
cs43130          2585 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = i2c_get_clientdata(client);
cs43130          2587 sound/soc/codecs/cs43130.c 	if (cs43130->xtal_ibias != CS43130_XTAL_UNUSED)
cs43130          2588 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_INT_MASK_1,
cs43130          2592 sound/soc/codecs/cs43130.c 	regmap_update_bits(cs43130->regmap, CS43130_INT_MASK_1,
cs43130          2596 sound/soc/codecs/cs43130.c 	if (cs43130->dc_meas) {
cs43130          2597 sound/soc/codecs/cs43130.c 		cancel_work_sync(&cs43130->work);
cs43130          2598 sound/soc/codecs/cs43130.c 		flush_workqueue(cs43130->wq);
cs43130          2606 sound/soc/codecs/cs43130.c 	gpiod_set_value_cansleep(cs43130->reset_gpio, 0);
cs43130          2609 sound/soc/codecs/cs43130.c 	regulator_bulk_disable(CS43130_NUM_SUPPLIES, cs43130->supplies);
cs43130          2616 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = dev_get_drvdata(dev);
cs43130          2618 sound/soc/codecs/cs43130.c 	if (cs43130->xtal_ibias != CS43130_XTAL_UNUSED)
cs43130          2619 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_INT_MASK_1,
cs43130          2623 sound/soc/codecs/cs43130.c 	regcache_cache_only(cs43130->regmap, true);
cs43130          2624 sound/soc/codecs/cs43130.c 	regcache_mark_dirty(cs43130->regmap);
cs43130          2626 sound/soc/codecs/cs43130.c 	gpiod_set_value_cansleep(cs43130->reset_gpio, 0);
cs43130          2628 sound/soc/codecs/cs43130.c 	regulator_bulk_disable(CS43130_NUM_SUPPLIES, cs43130->supplies);
cs43130          2635 sound/soc/codecs/cs43130.c 	struct cs43130_private *cs43130 = dev_get_drvdata(dev);
cs43130          2638 sound/soc/codecs/cs43130.c 	ret = regulator_bulk_enable(CS43130_NUM_SUPPLIES, cs43130->supplies);
cs43130          2644 sound/soc/codecs/cs43130.c 	regcache_cache_only(cs43130->regmap, false);
cs43130          2646 sound/soc/codecs/cs43130.c 	gpiod_set_value_cansleep(cs43130->reset_gpio, 1);
cs43130          2650 sound/soc/codecs/cs43130.c 	ret = regcache_sync(cs43130->regmap);
cs43130          2656 sound/soc/codecs/cs43130.c 	if (cs43130->xtal_ibias != CS43130_XTAL_UNUSED)
cs43130          2657 sound/soc/codecs/cs43130.c 		regmap_update_bits(cs43130->regmap, CS43130_INT_MASK_1,
cs43130          2662 sound/soc/codecs/cs43130.c 	regcache_cache_only(cs43130->regmap, true);
cs43130          2663 sound/soc/codecs/cs43130.c 	regulator_bulk_disable(CS43130_NUM_SUPPLIES, cs43130->supplies);