Lines Matching defs:cs47l90

30 #define DRV_NAME "cs47l90-codec"
35 struct cs47l90 {
115 struct cs47l90 *cs47l90 = snd_soc_component_get_drvdata(component);
116 struct madera_priv *priv = &cs47l90->core;
130 ret = madera_set_adsp_clk(&cs47l90->core, w->shift, freq);
2148 struct cs47l90 *cs47l90 = snd_soc_component_get_drvdata(component);
2152 return madera_set_fll_refclk(&cs47l90->fll[0], source, fref,
2155 return madera_set_fll_refclk(&cs47l90->fll[1], source, fref,
2158 return madera_set_fll_ao_refclk(&cs47l90->fll[2], source, fref,
2161 return madera_set_fll_syncclk(&cs47l90->fll[0], source, fref,
2164 return madera_set_fll_syncclk(&cs47l90->fll[1], source, fref,
2177 .name = "cs47l90-aif1",
2199 .name = "cs47l90-aif2",
2221 .name = "cs47l90-aif3",
2243 .name = "cs47l90-aif4",
2265 .name = "cs47l90-slim1",
2284 .name = "cs47l90-slim2",
2303 .name = "cs47l90-slim3",
2322 .name = "cs47l90-cpu-voicectrl",
2333 .name = "cs47l90-dsp-voicectrl",
2343 .name = "cs47l90-cpu-trace",
2354 .name = "cs47l90-dsp-trace",
2369 struct cs47l90 *cs47l90 = snd_soc_component_get_drvdata(component);
2370 struct madera_priv *priv = &cs47l90->core;
2374 if (strcmp(snd_soc_rtd_to_codec(rtd, 0)->name, "cs47l90-dsp-voicectrl") == 0) {
2376 } else if (strcmp(snd_soc_rtd_to_codec(rtd, 0)->name, "cs47l90-dsp-trace") == 0) {
2390 struct cs47l90 *cs47l90 = data;
2391 struct madera_priv *priv = &cs47l90->core;
2419 struct cs47l90 *cs47l90 = snd_soc_component_get_drvdata(component);
2420 struct madera *madera = cs47l90->core.madera;
2447 wm_adsp2_component_probe(&cs47l90->core.adsp[i], component);
2454 struct cs47l90 *cs47l90 = snd_soc_component_get_drvdata(component);
2455 struct madera *madera = cs47l90->core.madera;
2463 wm_adsp2_component_remove(&cs47l90->core.adsp[i], component);
2509 struct cs47l90 *cs47l90;
2520 cs47l90 = devm_kzalloc(&pdev->dev, sizeof(struct cs47l90),
2522 if (!cs47l90)
2525 platform_set_drvdata(pdev, cs47l90);
2527 cs47l90->core.madera = madera;
2528 cs47l90->core.dev = &pdev->dev;
2529 cs47l90->core.num_inputs = 10;
2531 ret = madera_core_init(&cs47l90->core);
2537 cs47l90);
2548 cs47l90->core.adsp[i].part = "cs47l90";
2549 cs47l90->core.adsp[i].cs_dsp.num = i + 1;
2550 cs47l90->core.adsp[i].cs_dsp.type = WMFW_ADSP2;
2551 cs47l90->core.adsp[i].cs_dsp.rev = 2;
2552 cs47l90->core.adsp[i].cs_dsp.dev = madera->dev;
2553 cs47l90->core.adsp[i].cs_dsp.regmap = madera->regmap_32bit;
2555 cs47l90->core.adsp[i].cs_dsp.base = cs47l90_dsp_control_bases[i];
2556 cs47l90->core.adsp[i].cs_dsp.mem = cs47l90_dsp_regions[i];
2557 cs47l90->core.adsp[i].cs_dsp.num_mems =
2560 cs47l90->core.adsp[i].cs_dsp.lock_regions = CS_ADSP2_REGION_1_9;
2562 ret = wm_adsp2_init(&cs47l90->core.adsp[i]);
2565 ret = madera_init_bus_error_irq(&cs47l90->core, i,
2568 wm_adsp2_remove(&cs47l90->core.adsp[i]);
2573 madera_free_bus_error_irq(&cs47l90->core, i);
2574 wm_adsp2_remove(&cs47l90->core.adsp[i]);
2581 &cs47l90->fll[0]);
2583 &cs47l90->fll[1]);
2585 &cs47l90->fll[2]);
2588 madera_init_dai(&cs47l90->core, i);
2613 madera_free_bus_error_irq(&cs47l90->core, i);
2614 wm_adsp2_remove(&cs47l90->core.adsp[i]);
2618 madera_free_irq(madera, MADERA_IRQ_DSP_IRQ1, cs47l90);
2620 madera_core_free(&cs47l90->core);
2627 struct cs47l90 *cs47l90 = platform_get_drvdata(pdev);
2633 madera_free_bus_error_irq(&cs47l90->core, i);
2634 wm_adsp2_remove(&cs47l90->core.adsp[i]);
2637 madera_set_irq_wake(cs47l90->core.madera, MADERA_IRQ_DSP_IRQ1, 0);
2638 madera_free_irq(cs47l90->core.madera, MADERA_IRQ_DSP_IRQ1, cs47l90);
2639 madera_core_free(&cs47l90->core);
2644 .name = "cs47l90-codec",
2656 MODULE_ALIAS("platform:cs47l90-codec");