Lines Matching refs:cs42xx8

197 	struct cs42xx8_priv *cs42xx8 = snd_soc_codec_get_drvdata(codec);  in cs42xx8_set_dai_sysclk()  local
199 cs42xx8->sysclk = freq; in cs42xx8_set_dai_sysclk()
208 struct cs42xx8_priv *cs42xx8 = snd_soc_codec_get_drvdata(codec); in cs42xx8_set_dai_fmt() local
230 regmap_update_bits(cs42xx8->regmap, CS42XX8_INTF, in cs42xx8_set_dai_fmt()
237 cs42xx8->slave_mode = true; in cs42xx8_set_dai_fmt()
240 cs42xx8->slave_mode = false; in cs42xx8_set_dai_fmt()
255 struct cs42xx8_priv *cs42xx8 = snd_soc_codec_get_drvdata(codec); in cs42xx8_hw_params() local
257 u32 ratio = cs42xx8->sysclk / params_rate(params); in cs42xx8_hw_params()
273 fm = cs42xx8->slave_mode ? CS42XX8_FM_AUTO : cs42xx8_ratios[i].speed; in cs42xx8_hw_params()
275 regmap_update_bits(cs42xx8->regmap, CS42XX8_FUNCMOD, in cs42xx8_hw_params()
285 struct cs42xx8_priv *cs42xx8 = snd_soc_codec_get_drvdata(codec); in cs42xx8_digital_mute() local
287 regmap_update_bits(cs42xx8->regmap, CS42XX8_DACMUTE, in cs42xx8_digital_mute()
382 struct cs42xx8_priv *cs42xx8 = snd_soc_codec_get_drvdata(codec); in cs42xx8_codec_probe() local
385 switch (cs42xx8->drvdata->num_adcs) { in cs42xx8_codec_probe()
399 regmap_write(cs42xx8->regmap, CS42XX8_DACMUTE, CS42XX8_DACMUTE_ALL); in cs42xx8_codec_probe()
439 struct cs42xx8_priv *cs42xx8; in cs42xx8_probe() local
448 cs42xx8 = devm_kzalloc(dev, sizeof(*cs42xx8), GFP_KERNEL); in cs42xx8_probe()
449 if (cs42xx8 == NULL) in cs42xx8_probe()
452 cs42xx8->regmap = regmap; in cs42xx8_probe()
453 dev_set_drvdata(dev, cs42xx8); in cs42xx8_probe()
457 cs42xx8->drvdata = of_id->data; in cs42xx8_probe()
459 if (!cs42xx8->drvdata) { in cs42xx8_probe()
464 cs42xx8->clk = devm_clk_get(dev, "mclk"); in cs42xx8_probe()
465 if (IS_ERR(cs42xx8->clk)) { in cs42xx8_probe()
467 PTR_ERR(cs42xx8->clk)); in cs42xx8_probe()
471 cs42xx8->sysclk = clk_get_rate(cs42xx8->clk); in cs42xx8_probe()
473 for (i = 0; i < ARRAY_SIZE(cs42xx8->supplies); i++) in cs42xx8_probe()
474 cs42xx8->supplies[i].supply = cs42xx8_supply_names[i]; in cs42xx8_probe()
477 ARRAY_SIZE(cs42xx8->supplies), cs42xx8->supplies); in cs42xx8_probe()
483 ret = regulator_bulk_enable(ARRAY_SIZE(cs42xx8->supplies), in cs42xx8_probe()
484 cs42xx8->supplies); in cs42xx8_probe()
498 regcache_cache_bypass(cs42xx8->regmap, true); in cs42xx8_probe()
501 ret = regmap_read(cs42xx8->regmap, CS42XX8_CHIPID, &val); in cs42xx8_probe()
518 regcache_cache_bypass(cs42xx8->regmap, false); in cs42xx8_probe()
520 cs42xx8_dai.name = cs42xx8->drvdata->name; in cs42xx8_probe()
523 cs42xx8_dai.capture.channels_max = cs42xx8->drvdata->num_adcs * 2; in cs42xx8_probe()
531 regcache_cache_only(cs42xx8->regmap, true); in cs42xx8_probe()
534 regulator_bulk_disable(ARRAY_SIZE(cs42xx8->supplies), in cs42xx8_probe()
535 cs42xx8->supplies); in cs42xx8_probe()
544 struct cs42xx8_priv *cs42xx8 = dev_get_drvdata(dev); in cs42xx8_runtime_resume() local
547 ret = clk_prepare_enable(cs42xx8->clk); in cs42xx8_runtime_resume()
553 ret = regulator_bulk_enable(ARRAY_SIZE(cs42xx8->supplies), in cs42xx8_runtime_resume()
554 cs42xx8->supplies); in cs42xx8_runtime_resume()
563 regcache_cache_only(cs42xx8->regmap, false); in cs42xx8_runtime_resume()
565 ret = regcache_sync(cs42xx8->regmap); in cs42xx8_runtime_resume()
574 regulator_bulk_disable(ARRAY_SIZE(cs42xx8->supplies), in cs42xx8_runtime_resume()
575 cs42xx8->supplies); in cs42xx8_runtime_resume()
577 clk_disable_unprepare(cs42xx8->clk); in cs42xx8_runtime_resume()
584 struct cs42xx8_priv *cs42xx8 = dev_get_drvdata(dev); in cs42xx8_runtime_suspend() local
586 regcache_cache_only(cs42xx8->regmap, true); in cs42xx8_runtime_suspend()
588 regulator_bulk_disable(ARRAY_SIZE(cs42xx8->supplies), in cs42xx8_runtime_suspend()
589 cs42xx8->supplies); in cs42xx8_runtime_suspend()
591 clk_disable_unprepare(cs42xx8->clk); in cs42xx8_runtime_suspend()