Lines Matching full:cs47l85

3 // ALSA SoC Audio driver for CS47L85 codec
30 #define DRV_NAME "cs47l85-codec"
35 struct cs47l85 { struct
115 struct cs47l85 *cs47l85 = snd_soc_component_get_drvdata(component); in cs47l85_adsp_power_ev() local
116 struct madera_priv *priv = &cs47l85->core; in cs47l85_adsp_power_ev()
133 ret = madera_set_adsp_clk(&cs47l85->core, w->shift, freq); in cs47l85_adsp_power_ev()
2226 struct cs47l85 *cs47l85 = snd_soc_component_get_drvdata(component); in cs47l85_set_fll() local
2230 return madera_set_fll_refclk(&cs47l85->fll[0], source, fref, in cs47l85_set_fll()
2233 return madera_set_fll_refclk(&cs47l85->fll[1], source, fref, in cs47l85_set_fll()
2236 return madera_set_fll_refclk(&cs47l85->fll[2], source, fref, in cs47l85_set_fll()
2239 return madera_set_fll_syncclk(&cs47l85->fll[0], source, fref, in cs47l85_set_fll()
2242 return madera_set_fll_syncclk(&cs47l85->fll[1], source, fref, in cs47l85_set_fll()
2245 return madera_set_fll_syncclk(&cs47l85->fll[2], source, fref, in cs47l85_set_fll()
2254 .name = "cs47l85-aif1",
2276 .name = "cs47l85-aif2",
2298 .name = "cs47l85-aif3",
2320 .name = "cs47l85-aif4",
2342 .name = "cs47l85-slim1",
2361 .name = "cs47l85-slim2",
2380 .name = "cs47l85-slim3",
2399 .name = "cs47l85-cpu-voicectrl",
2410 .name = "cs47l85-dsp-voicectrl",
2420 .name = "cs47l85-cpu-trace",
2431 .name = "cs47l85-dsp-trace",
2446 struct cs47l85 *cs47l85 = snd_soc_component_get_drvdata(component); in cs47l85_open() local
2447 struct madera_priv *priv = &cs47l85->core; in cs47l85_open()
2451 if (strcmp(asoc_rtd_to_codec(rtd, 0)->name, "cs47l85-dsp-voicectrl") == 0) { in cs47l85_open()
2453 } else if (strcmp(asoc_rtd_to_codec(rtd, 0)->name, "cs47l85-dsp-trace") == 0) { in cs47l85_open()
2467 struct cs47l85 *cs47l85 = data; in cs47l85_adsp2_irq() local
2468 struct madera_priv *priv = &cs47l85->core; in cs47l85_adsp2_irq()
2496 struct cs47l85 *cs47l85 = snd_soc_component_get_drvdata(component); in cs47l85_component_probe() local
2497 struct madera *madera = cs47l85->core.madera; in cs47l85_component_probe()
2524 wm_adsp2_component_probe(&cs47l85->core.adsp[i], component); in cs47l85_component_probe()
2531 struct cs47l85 *cs47l85 = snd_soc_component_get_drvdata(component); in cs47l85_component_remove() local
2532 struct madera *madera = cs47l85->core.madera; in cs47l85_component_remove()
2540 wm_adsp2_component_remove(&cs47l85->core.adsp[i], component); in cs47l85_component_remove()
2590 struct cs47l85 *cs47l85; in cs47l85_probe() local
2601 cs47l85 = devm_kzalloc(&pdev->dev, sizeof(struct cs47l85), in cs47l85_probe()
2603 if (!cs47l85) in cs47l85_probe()
2606 platform_set_drvdata(pdev, cs47l85); in cs47l85_probe()
2608 cs47l85->core.madera = madera; in cs47l85_probe()
2609 cs47l85->core.dev = &pdev->dev; in cs47l85_probe()
2610 cs47l85->core.num_inputs = 12; in cs47l85_probe()
2612 ret = madera_core_init(&cs47l85->core); in cs47l85_probe()
2616 ret = madera_init_overheat(&cs47l85->core); in cs47l85_probe()
2622 cs47l85); in cs47l85_probe()
2633 cs47l85->core.adsp[i].part = "cs47l85"; in cs47l85_probe()
2634 cs47l85->core.adsp[i].cs_dsp.num = i + 1; in cs47l85_probe()
2635 cs47l85->core.adsp[i].cs_dsp.type = WMFW_ADSP2; in cs47l85_probe()
2636 cs47l85->core.adsp[i].cs_dsp.rev = 1; in cs47l85_probe()
2637 cs47l85->core.adsp[i].cs_dsp.dev = madera->dev; in cs47l85_probe()
2638 cs47l85->core.adsp[i].cs_dsp.regmap = madera->regmap_32bit; in cs47l85_probe()
2640 cs47l85->core.adsp[i].cs_dsp.base = wm_adsp2_control_bases[i]; in cs47l85_probe()
2641 cs47l85->core.adsp[i].cs_dsp.mem = cs47l85_dsp_regions[i]; in cs47l85_probe()
2642 cs47l85->core.adsp[i].cs_dsp.num_mems = in cs47l85_probe()
2645 ret = wm_adsp2_init(&cs47l85->core.adsp[i]); in cs47l85_probe()
2648 wm_adsp2_remove(&cs47l85->core.adsp[i]); in cs47l85_probe()
2654 &cs47l85->fll[0]); in cs47l85_probe()
2656 &cs47l85->fll[1]); in cs47l85_probe()
2658 &cs47l85->fll[2]); in cs47l85_probe()
2661 madera_init_dai(&cs47l85->core, i); in cs47l85_probe()
2686 wm_adsp2_remove(&cs47l85->core.adsp[i]); in cs47l85_probe()
2689 madera_free_irq(madera, MADERA_IRQ_DSP_IRQ1, cs47l85); in cs47l85_probe()
2691 madera_free_overheat(&cs47l85->core); in cs47l85_probe()
2693 madera_core_free(&cs47l85->core); in cs47l85_probe()
2700 struct cs47l85 *cs47l85 = platform_get_drvdata(pdev); in cs47l85_remove() local
2706 wm_adsp2_remove(&cs47l85->core.adsp[i]); in cs47l85_remove()
2708 madera_set_irq_wake(cs47l85->core.madera, MADERA_IRQ_DSP_IRQ1, 0); in cs47l85_remove()
2709 madera_free_irq(cs47l85->core.madera, MADERA_IRQ_DSP_IRQ1, cs47l85); in cs47l85_remove()
2710 madera_free_overheat(&cs47l85->core); in cs47l85_remove()
2711 madera_core_free(&cs47l85->core); in cs47l85_remove()
2718 .name = "cs47l85-codec",
2727 MODULE_DESCRIPTION("ASoC CS47L85 driver");
2730 MODULE_ALIAS("platform:cs47l85-codec");