Lines Matching full:wm5110
3 * wm5110.c -- WM5110 ALSA SoC Audio driver
31 #include "wm5110.h"
35 #define DRV_NAME "wm5110-codec"
512 struct wm5110_priv *wm5110 = snd_soc_component_get_drvdata(component); in wm5110_in_analog_ev() local
526 wm5110->in_value |= 0x3 << ((w->shift ^ 0x1) * 2); in wm5110_in_analog_ev()
527 wm5110->in_pre_pending++; in wm5110_in_analog_ev()
528 wm5110->in_post_pending++; in wm5110_in_analog_ev()
531 wm5110->in_pga_cache[w->shift] = snd_soc_component_read(component, reg); in wm5110_in_analog_ev()
536 wm5110->in_pre_pending--; in wm5110_in_analog_ev()
537 if (wm5110->in_pre_pending == 0) { in wm5110_in_analog_ev()
538 analog_seq[1].def = wm5110->in_value; in wm5110_in_analog_ev()
545 wm5110->in_value = 0; in wm5110_in_analog_ev()
551 wm5110->in_pga_cache[w->shift]); in wm5110_in_analog_ev()
553 wm5110->in_post_pending--; in wm5110_in_analog_ev()
554 if (wm5110->in_post_pending == 0) in wm5110_in_analog_ev()
2053 struct wm5110_priv *wm5110 = snd_soc_component_get_drvdata(component); in wm5110_set_fll() local
2057 return arizona_set_fll(&wm5110->fll[0], source, Fref, Fout); in wm5110_set_fll()
2059 return arizona_set_fll(&wm5110->fll[1], source, Fref, Fout); in wm5110_set_fll()
2061 return arizona_set_fll_refclk(&wm5110->fll[0], source, Fref, in wm5110_set_fll()
2064 return arizona_set_fll_refclk(&wm5110->fll[1], source, Fref, in wm5110_set_fll()
2078 .name = "wm5110-aif1",
2100 .name = "wm5110-aif2",
2122 .name = "wm5110-aif3",
2144 .name = "wm5110-slim1",
2163 .name = "wm5110-slim2",
2182 .name = "wm5110-slim3",
2201 .name = "wm5110-cpu-voicectrl",
2212 .name = "wm5110-dsp-voicectrl",
2222 .name = "wm5110-cpu-trace",
2233 .name = "wm5110-dsp-trace",
2252 if (strcmp(asoc_rtd_to_codec(rtd, 0)->name, "wm5110-dsp-voicectrl") == 0) { in wm5110_open()
2254 } else if (strcmp(asoc_rtd_to_codec(rtd, 0)->name, "wm5110-dsp-trace") == 0) { in wm5110_open()
2393 struct wm5110_priv *wm5110; in wm5110_probe() local
2396 wm5110 = devm_kzalloc(&pdev->dev, sizeof(struct wm5110_priv), in wm5110_probe()
2398 if (wm5110 == NULL) in wm5110_probe()
2400 platform_set_drvdata(pdev, wm5110); in wm5110_probe()
2410 wm5110->core.arizona = arizona; in wm5110_probe()
2411 wm5110->core.num_inputs = 8; in wm5110_probe()
2414 wm5110->core.adsp[i].part = "wm5110"; in wm5110_probe()
2415 wm5110->core.adsp[i].num = i + 1; in wm5110_probe()
2416 wm5110->core.adsp[i].type = WMFW_ADSP2; in wm5110_probe()
2417 wm5110->core.adsp[i].dev = arizona->dev; in wm5110_probe()
2418 wm5110->core.adsp[i].regmap = arizona->regmap; in wm5110_probe()
2420 wm5110->core.adsp[i].base = ARIZONA_DSP1_CONTROL_1 in wm5110_probe()
2422 wm5110->core.adsp[i].mem = wm5110_dsp_regions[i]; in wm5110_probe()
2423 wm5110->core.adsp[i].num_mems in wm5110_probe()
2426 ret = wm_adsp2_init(&wm5110->core.adsp[i]); in wm5110_probe()
2431 for (i = 0; i < ARRAY_SIZE(wm5110->fll); i++) in wm5110_probe()
2432 wm5110->fll[i].vco_mult = 3; in wm5110_probe()
2436 &wm5110->fll[0]); in wm5110_probe()
2439 &wm5110->fll[1]); in wm5110_probe()
2448 arizona_init_dai(&wm5110->core, i); in wm5110_probe()
2460 wm5110); in wm5110_probe()
2496 arizona_free_irq(arizona, ARIZONA_IRQ_DSP_IRQ1, wm5110); in wm5110_probe()
2503 struct wm5110_priv *wm5110 = platform_get_drvdata(pdev); in wm5110_remove() local
2504 struct arizona *arizona = wm5110->core.arizona; in wm5110_remove()
2510 wm_adsp2_remove(&wm5110->core.adsp[i]); in wm5110_remove()
2515 arizona_free_irq(arizona, ARIZONA_IRQ_DSP_IRQ1, wm5110); in wm5110_remove()
2522 .name = "wm5110-codec",
2530 MODULE_DESCRIPTION("ASoC WM5110 driver");
2533 MODULE_ALIAS("platform:wm5110-codec");