Lines Matching refs:cs42l52
478 struct cs42l52_private *cs42l52 = snd_soc_codec_get_drvdata(codec); in cs42l52_add_mic_controls() local
479 struct cs42l52_platform_data *pdata = &cs42l52->pdata; in cs42l52_add_mic_controls()
720 struct cs42l52_private *cs42l52 = snd_soc_codec_get_drvdata(codec); in cs42l52_set_sysclk() local
723 cs42l52->sysclk = freq; in cs42l52_set_sysclk()
734 struct cs42l52_private *cs42l52 = snd_soc_codec_get_drvdata(codec); in cs42l52_set_fmt() local
785 cs42l52->config.format = iface; in cs42l52_set_fmt()
786 snd_soc_write(codec, CS42L52_IFACE_CTL1, cs42l52->config.format); in cs42l52_set_fmt()
812 struct cs42l52_private *cs42l52 = snd_soc_codec_get_drvdata(codec); in cs42l52_pcm_hw_params() local
816 index = cs42l52_get_clk(cs42l52->sysclk, params_rate(params)); in cs42l52_pcm_hw_params()
818 cs42l52->sysclk = clk_map_table[index].mclk; in cs42l52_pcm_hw_params()
838 struct cs42l52_private *cs42l52 = snd_soc_codec_get_drvdata(codec); in cs42l52_set_bias_level() local
849 regcache_cache_only(cs42l52->regmap, false); in cs42l52_set_bias_level()
850 regcache_sync(cs42l52->regmap); in cs42l52_set_bias_level()
856 regcache_cache_only(cs42l52->regmap, true); in cs42l52_set_bias_level()
903 struct cs42l52_private *cs42l52 = in cs42l52_beep_work() local
905 struct snd_soc_codec *codec = cs42l52->codec; in cs42l52_beep_work()
911 if (cs42l52->beep_rate) { in cs42l52_beep_work()
913 if (abs(cs42l52->beep_rate - beep_rates[i]) < in cs42l52_beep_work()
914 abs(cs42l52->beep_rate - beep_rates[best])) in cs42l52_beep_work()
919 beep_rates[best], cs42l52->beep_rate); in cs42l52_beep_work()
942 struct cs42l52_private *cs42l52 = snd_soc_codec_get_drvdata(codec); in cs42l52_beep_event() local
957 cs42l52->beep_rate = hz; in cs42l52_beep_event()
958 schedule_work(&cs42l52->beep_work); in cs42l52_beep_event()
966 struct cs42l52_private *cs42l52 = dev_get_drvdata(dev); in cs42l52_beep_set() local
974 input_event(cs42l52->beep, EV_SND, SND_TONE, time); in cs42l52_beep_set()
983 struct cs42l52_private *cs42l52 = snd_soc_codec_get_drvdata(codec); in cs42l52_init_beep() local
986 cs42l52->beep = devm_input_allocate_device(codec->dev); in cs42l52_init_beep()
987 if (!cs42l52->beep) { in cs42l52_init_beep()
992 INIT_WORK(&cs42l52->beep_work, cs42l52_beep_work); in cs42l52_init_beep()
993 cs42l52->beep_rate = 0; in cs42l52_init_beep()
995 cs42l52->beep->name = "CS42L52 Beep Generator"; in cs42l52_init_beep()
996 cs42l52->beep->phys = dev_name(codec->dev); in cs42l52_init_beep()
997 cs42l52->beep->id.bustype = BUS_I2C; in cs42l52_init_beep()
999 cs42l52->beep->evbit[0] = BIT_MASK(EV_SND); in cs42l52_init_beep()
1000 cs42l52->beep->sndbit[0] = BIT_MASK(SND_BELL) | BIT_MASK(SND_TONE); in cs42l52_init_beep()
1001 cs42l52->beep->event = cs42l52_beep_event; in cs42l52_init_beep()
1002 cs42l52->beep->dev.parent = codec->dev; in cs42l52_init_beep()
1003 input_set_drvdata(cs42l52->beep, codec); in cs42l52_init_beep()
1005 ret = input_register_device(cs42l52->beep); in cs42l52_init_beep()
1007 cs42l52->beep = NULL; in cs42l52_init_beep()
1020 struct cs42l52_private *cs42l52 = snd_soc_codec_get_drvdata(codec); in cs42l52_free_beep() local
1023 cancel_work_sync(&cs42l52->beep_work); in cs42l52_free_beep()
1024 cs42l52->beep = NULL; in cs42l52_free_beep()
1032 struct cs42l52_private *cs42l52 = snd_soc_codec_get_drvdata(codec); in cs42l52_probe() local
1034 regcache_cache_only(cs42l52->regmap, true); in cs42l52_probe()
1040 cs42l52->sysclk = CS42L52_DEFAULT_CLK; in cs42l52_probe()
1041 cs42l52->config.format = CS42L52_DEFAULT_FORMAT; in cs42l52_probe()
1095 struct cs42l52_private *cs42l52; in cs42l52_i2c_probe() local
1102 cs42l52 = devm_kzalloc(&i2c_client->dev, sizeof(struct cs42l52_private), in cs42l52_i2c_probe()
1104 if (cs42l52 == NULL) in cs42l52_i2c_probe()
1106 cs42l52->dev = &i2c_client->dev; in cs42l52_i2c_probe()
1108 cs42l52->regmap = devm_regmap_init_i2c(i2c_client, &cs42l52_regmap); in cs42l52_i2c_probe()
1109 if (IS_ERR(cs42l52->regmap)) { in cs42l52_i2c_probe()
1110 ret = PTR_ERR(cs42l52->regmap); in cs42l52_i2c_probe()
1115 cs42l52->pdata = *pdata; in cs42l52_i2c_probe()
1145 cs42l52->pdata = *pdata; in cs42l52_i2c_probe()
1148 if (cs42l52->pdata.reset_gpio) { in cs42l52_i2c_probe()
1150 cs42l52->pdata.reset_gpio, in cs42l52_i2c_probe()
1155 cs42l52->pdata.reset_gpio, ret); in cs42l52_i2c_probe()
1158 gpio_set_value_cansleep(cs42l52->pdata.reset_gpio, 0); in cs42l52_i2c_probe()
1159 gpio_set_value_cansleep(cs42l52->pdata.reset_gpio, 1); in cs42l52_i2c_probe()
1162 i2c_set_clientdata(i2c_client, cs42l52); in cs42l52_i2c_probe()
1164 ret = regmap_register_patch(cs42l52->regmap, cs42l52_threshold_patch, in cs42l52_i2c_probe()
1167 dev_warn(cs42l52->dev, "Failed to apply regmap patch: %d\n", in cs42l52_i2c_probe()
1170 ret = regmap_read(cs42l52->regmap, CS42L52_CHIP, ®); in cs42l52_i2c_probe()
1184 if (cs42l52->pdata.mica_diff_cfg) in cs42l52_i2c_probe()
1185 regmap_update_bits(cs42l52->regmap, CS42L52_MICA_CTL, in cs42l52_i2c_probe()
1187 cs42l52->pdata.mica_diff_cfg << in cs42l52_i2c_probe()
1190 if (cs42l52->pdata.micb_diff_cfg) in cs42l52_i2c_probe()
1191 regmap_update_bits(cs42l52->regmap, CS42L52_MICB_CTL, in cs42l52_i2c_probe()
1193 cs42l52->pdata.micb_diff_cfg << in cs42l52_i2c_probe()
1196 if (cs42l52->pdata.chgfreq) in cs42l52_i2c_probe()
1197 regmap_update_bits(cs42l52->regmap, CS42L52_CHARGE_PUMP, in cs42l52_i2c_probe()
1199 cs42l52->pdata.chgfreq << in cs42l52_i2c_probe()
1202 if (cs42l52->pdata.micbias_lvl) in cs42l52_i2c_probe()
1203 regmap_update_bits(cs42l52->regmap, CS42L52_IFACE_CTL2, in cs42l52_i2c_probe()
1205 cs42l52->pdata.micbias_lvl); in cs42l52_i2c_probe()