Lines Matching refs:da7218

3  * da7218.c - DA7218 ALSA SoC Codec Driver
28 #include <sound/da7218.h>
29 #include "da7218.h"
429 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
438 if ((ret == 1) && (da7218->alc_en))
450 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
458 if ((lvalue || rvalue) && (!da7218->alc_en))
462 da7218->alc_en &= ~mask;
463 da7218->alc_en |= (lvalue << lshift) | (rvalue << rshift);
473 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
484 ret = regmap_raw_read(da7218->regmap, reg, &val, 2);
497 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
510 return regmap_raw_write(da7218->regmap, reg, &val, 2);
517 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
526 da7218->mic_lvl_det_en &= ~mask;
527 da7218->mic_lvl_det_en |= (lvalue << lshift) | (rvalue << rshift);
537 (da7218->in_filt_en & da7218->mic_lvl_det_en));
544 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
553 (da7218->mic_lvl_det_en & lmask) >> lshift;
555 (da7218->mic_lvl_det_en & rmask) >> rshift;
564 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
571 memcpy(ucontrol->value.bytes.data, da7218->biq_5stage_coeff,
575 memcpy(ucontrol->value.bytes.data, da7218->stbiq_3stage_coeff,
589 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
603 memcpy(da7218->biq_5stage_coeff, ucontrol->value.bytes.data,
608 memcpy(da7218->stbiq_3stage_coeff, ucontrol->value.bytes.data,
623 regmap_raw_write(da7218->regmap, reg, cfg, DA7218_BIQ_CFG_SIZE);
1349 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
1371 da7218->in_filt_en |= mask;
1377 if (mask & da7218->mic_lvl_det_en)
1381 da7218->in_filt_en &= ~mask;
1389 (da7218->in_filt_en & da7218->mic_lvl_det_en));
1398 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
1405 if (da7218->master)
1466 if (da7218->master)
1481 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
1487 if (da7218->hp_single_supply)
1813 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
1816 if (da7218->mclk_rate == freq)
1840 if (da7218->mclk) {
1841 freq = clk_round_rate(da7218->mclk, freq);
1842 ret = clk_set_rate(da7218->mclk, freq);
1850 da7218->mclk_rate = freq;
1859 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
1867 if (da7218->mclk_rate < 2000000) {
1869 da7218->mclk_rate);
1871 } else if (da7218->mclk_rate <= 4500000) {
1874 } else if (da7218->mclk_rate <= 9000000) {
1877 } else if (da7218->mclk_rate <= 18000000) {
1880 } else if (da7218->mclk_rate <= 36000000) {
1883 } else if (da7218->mclk_rate <= 54000000) {
1888 da7218->mclk_rate);
1891 freq_ref = (da7218->mclk_rate / indiv);
1934 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
1939 da7218->master = true;
1942 da7218->master = false;
2181 .name = "da7218-hifi",
2209 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
2211 if (da7218->dev_id == DA7217_DEV_ID)
2214 da7218->jack = jack;
2235 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
2246 snd_soc_jack_report(da7218->jack, report, SND_JACK_HEADPHONE);
2283 { .compatible = "dlg,da7218", .data = (void *) DA7218_DEV_ID },
2445 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
2511 if (da7218->dev_id == DA7217_DEV_ID) {
2516 if (da7218->dev_id == DA7218_DEV_ID) {
2574 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
2583 if (da7218->mclk) {
2584 ret = clk_prepare_enable(da7218->mclk);
2606 if (da7218->mclk)
2607 clk_disable_unprepare(da7218->mclk);
2612 if (!da7218->jack) {
2635 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
2642 da7218->supplies[i].supply = da7218_supply_names[i];
2645 da7218->supplies);
2652 vddio = da7218->supplies[DA7218_SUPPLY_VDDIO].consumer;
2660 ret = regulator_bulk_enable(DA7218_NUM_SUPPLIES, da7218->supplies);
2677 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
2678 struct da7218_pdata *pdata = da7218->pdata;
2800 if (da7218->dev_id == DA7217_DEV_ID) {
2801 da7218->hp_single_supply =
2804 if (da7218->hp_single_supply) {
2814 if ((da7218->dev_id == DA7218_DEV_ID) &&
2879 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
2889 da7218->pdata = da7218_of_to_pdata(component);
2891 da7218->pdata = dev_get_platdata(component->dev);
2896 da7218->mclk = devm_clk_get(component->dev, "mclk");
2897 if (IS_ERR(da7218->mclk)) {
2898 if (PTR_ERR(da7218->mclk) != -ENOENT) {
2899 ret = PTR_ERR(da7218->mclk);
2902 da7218->mclk = NULL;
2958 if (da7218->dev_id == DA7217_DEV_ID) {
2968 if (da7218->irq) {
2969 ret = devm_request_threaded_irq(component->dev, da7218->irq, NULL,
2972 "da7218", component);
2975 da7218->irq, ret);
2984 regulator_bulk_disable(DA7218_NUM_SUPPLIES, da7218->supplies);
2991 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
2993 regulator_bulk_disable(DA7218_NUM_SUPPLIES, da7218->supplies);
2999 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
3004 if (!da7218->jack)
3012 struct da7218_priv *da7218 = snd_soc_component_get_drvdata(component);
3015 if (!da7218->jack)
3264 struct da7218_priv *da7218;
3267 da7218 = devm_kzalloc(&i2c->dev, sizeof(*da7218), GFP_KERNEL);
3268 if (!da7218)
3271 i2c_set_clientdata(i2c, da7218);
3274 da7218->dev_id = da7218_of_get_id(&i2c->dev);
3276 da7218->dev_id = id->driver_data;
3278 if ((da7218->dev_id != DA7217_DEV_ID) &&
3279 (da7218->dev_id != DA7218_DEV_ID)) {
3284 da7218->irq = i2c->irq;
3286 da7218->regmap = devm_regmap_init_i2c(i2c, &da7218_regmap_config);
3287 if (IS_ERR(da7218->regmap)) {
3288 ret = PTR_ERR(da7218->regmap);
3296 dev_err(&i2c->dev, "Failed to register da7218 component: %d\n",
3304 { "da7218", DA7218_DEV_ID },
3311 .name = "da7218",