Lines Matching defs:cs47l35
33 #define DRV_NAME "cs47l35-codec"
35 struct cs47l35 {
91 struct cs47l35 *cs47l35 = snd_soc_component_get_drvdata(component);
92 struct madera_priv *priv = &cs47l35->core;
109 ret = madera_set_adsp_clk(&cs47l35->core, w->shift, freq);
1337 struct cs47l35 *cs47l35 = snd_soc_component_get_drvdata(component);
1341 return madera_set_fll_refclk(&cs47l35->fll, source, fref,
1344 return madera_set_fll_syncclk(&cs47l35->fll, source, fref,
1353 .name = "cs47l35-aif1",
1375 .name = "cs47l35-aif2",
1397 .name = "cs47l35-aif3",
1419 .name = "cs47l35-slim1",
1438 .name = "cs47l35-slim2",
1457 .name = "cs47l35-cpu-voicectrl",
1468 .name = "cs47l35-dsp-voicectrl",
1478 .name = "cs47l35-cpu-trace",
1489 .name = "cs47l35-dsp-trace",
1504 struct cs47l35 *cs47l35 = snd_soc_component_get_drvdata(component);
1505 struct madera_priv *priv = &cs47l35->core;
1509 if (strcmp(asoc_rtd_to_codec(rtd, 0)->name, "cs47l35-dsp-voicectrl") == 0) {
1511 } else if (strcmp(asoc_rtd_to_codec(rtd, 0)->name, "cs47l35-dsp-trace") == 0) {
1525 struct cs47l35 *cs47l35 = data;
1526 struct madera_priv *priv = &cs47l35->core;
1558 struct cs47l35 *cs47l35 = snd_soc_component_get_drvdata(component);
1559 struct madera *madera = cs47l35->core.madera;
1587 wm_adsp2_component_probe(&cs47l35->core.adsp[i], component);
1594 struct cs47l35 *cs47l35 = snd_soc_component_get_drvdata(component);
1595 struct madera *madera = cs47l35->core.madera;
1603 wm_adsp2_component_remove(&cs47l35->core.adsp[i], component);
1647 struct cs47l35 *cs47l35;
1658 cs47l35 = devm_kzalloc(&pdev->dev, sizeof(struct cs47l35), GFP_KERNEL);
1659 if (!cs47l35)
1661 platform_set_drvdata(pdev, cs47l35);
1663 cs47l35->core.madera = madera;
1664 cs47l35->core.dev = &pdev->dev;
1665 cs47l35->core.num_inputs = 4;
1667 ret = madera_core_init(&cs47l35->core);
1671 ret = madera_init_overheat(&cs47l35->core);
1677 cs47l35);
1688 cs47l35->core.adsp[i].part = "cs47l35";
1689 cs47l35->core.adsp[i].num = i + 1;
1690 cs47l35->core.adsp[i].type = WMFW_ADSP2;
1691 cs47l35->core.adsp[i].rev = 1;
1692 cs47l35->core.adsp[i].dev = madera->dev;
1693 cs47l35->core.adsp[i].regmap = madera->regmap_32bit;
1695 cs47l35->core.adsp[i].base = wm_adsp2_control_bases[i];
1696 cs47l35->core.adsp[i].mem = cs47l35_dsp_regions[i];
1697 cs47l35->core.adsp[i].num_mems =
1700 ret = wm_adsp2_init(&cs47l35->core.adsp[i]);
1703 wm_adsp2_remove(&cs47l35->core.adsp[i]);
1708 madera_init_fll(madera, 1, MADERA_FLL1_CONTROL_1 - 1, &cs47l35->fll);
1711 madera_init_dai(&cs47l35->core, i);
1736 wm_adsp2_remove(&cs47l35->core.adsp[i]);
1739 madera_free_irq(madera, MADERA_IRQ_DSP_IRQ1, cs47l35);
1741 madera_free_overheat(&cs47l35->core);
1743 madera_core_free(&cs47l35->core);
1750 struct cs47l35 *cs47l35 = platform_get_drvdata(pdev);
1756 wm_adsp2_remove(&cs47l35->core.adsp[i]);
1758 madera_set_irq_wake(cs47l35->core.madera, MADERA_IRQ_DSP_IRQ1, 0);
1759 madera_free_irq(cs47l35->core.madera, MADERA_IRQ_DSP_IRQ1, cs47l35);
1760 madera_free_overheat(&cs47l35->core);
1761 madera_core_free(&cs47l35->core);
1768 .name = "cs47l35-codec",
1780 MODULE_ALIAS("platform:cs47l35-codec");