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,
2173 .name = "cs47l90-aif1",
2195 .name = "cs47l90-aif2",
2217 .name = "cs47l90-aif3",
2239 .name = "cs47l90-aif4",
2261 .name = "cs47l90-slim1",
2280 .name = "cs47l90-slim2",
2299 .name = "cs47l90-slim3",
2318 .name = "cs47l90-cpu-voicectrl",
2329 .name = "cs47l90-dsp-voicectrl",
2339 .name = "cs47l90-cpu-trace",
2350 .name = "cs47l90-dsp-trace",
2365 struct cs47l90 *cs47l90 = snd_soc_component_get_drvdata(component);
2366 struct madera_priv *priv = &cs47l90->core;
2370 if (strcmp(asoc_rtd_to_codec(rtd, 0)->name, "cs47l90-dsp-voicectrl") == 0) {
2372 } else if (strcmp(asoc_rtd_to_codec(rtd, 0)->name, "cs47l90-dsp-trace") == 0) {
2386 struct cs47l90 *cs47l90 = data;
2387 struct madera_priv *priv = &cs47l90->core;
2415 struct cs47l90 *cs47l90 = snd_soc_component_get_drvdata(component);
2416 struct madera *madera = cs47l90->core.madera;
2443 wm_adsp2_component_probe(&cs47l90->core.adsp[i], component);
2450 struct cs47l90 *cs47l90 = snd_soc_component_get_drvdata(component);
2451 struct madera *madera = cs47l90->core.madera;
2459 wm_adsp2_component_remove(&cs47l90->core.adsp[i], component);
2506 struct cs47l90 *cs47l90;
2517 cs47l90 = devm_kzalloc(&pdev->dev, sizeof(struct cs47l90),
2519 if (!cs47l90)
2522 platform_set_drvdata(pdev, cs47l90);
2524 cs47l90->core.madera = madera;
2525 cs47l90->core.dev = &pdev->dev;
2526 cs47l90->core.num_inputs = 10;
2528 ret = madera_core_init(&cs47l90->core);
2534 cs47l90);
2545 cs47l90->core.adsp[i].part = "cs47l90";
2546 cs47l90->core.adsp[i].num = i + 1;
2547 cs47l90->core.adsp[i].type = WMFW_ADSP2;
2548 cs47l90->core.adsp[i].rev = 2;
2549 cs47l90->core.adsp[i].dev = madera->dev;
2550 cs47l90->core.adsp[i].regmap = madera->regmap_32bit;
2552 cs47l90->core.adsp[i].base = cs47l90_dsp_control_bases[i];
2553 cs47l90->core.adsp[i].mem = cs47l90_dsp_regions[i];
2554 cs47l90->core.adsp[i].num_mems =
2557 cs47l90->core.adsp[i].lock_regions = WM_ADSP2_REGION_1_9;
2559 ret = wm_adsp2_init(&cs47l90->core.adsp[i]);
2562 ret = madera_init_bus_error_irq(&cs47l90->core, i,
2565 wm_adsp2_remove(&cs47l90->core.adsp[i]);
2570 madera_free_bus_error_irq(&cs47l90->core, i);
2571 wm_adsp2_remove(&cs47l90->core.adsp[i]);
2578 &cs47l90->fll[0]);
2580 &cs47l90->fll[1]);
2582 &cs47l90->fll[2]);
2585 madera_init_dai(&cs47l90->core, i);
2610 madera_free_bus_error_irq(&cs47l90->core, i);
2611 wm_adsp2_remove(&cs47l90->core.adsp[i]);
2615 madera_free_irq(madera, MADERA_IRQ_DSP_IRQ1, cs47l90);
2617 madera_core_free(&cs47l90->core);
2624 struct cs47l90 *cs47l90 = platform_get_drvdata(pdev);
2630 madera_free_bus_error_irq(&cs47l90->core, i);
2631 wm_adsp2_remove(&cs47l90->core.adsp[i]);
2634 madera_set_irq_wake(cs47l90->core.madera, MADERA_IRQ_DSP_IRQ1, 0);
2635 madera_free_irq(cs47l90->core.madera, MADERA_IRQ_DSP_IRQ1, cs47l90);
2636 madera_core_free(&cs47l90->core);
2643 .name = "cs47l90-codec",
2655 MODULE_ALIAS("platform:cs47l90-codec");