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,
1357 .name = "cs47l35-aif1",
1379 .name = "cs47l35-aif2",
1401 .name = "cs47l35-aif3",
1423 .name = "cs47l35-slim1",
1442 .name = "cs47l35-slim2",
1461 .name = "cs47l35-cpu-voicectrl",
1472 .name = "cs47l35-dsp-voicectrl",
1482 .name = "cs47l35-cpu-trace",
1493 .name = "cs47l35-dsp-trace",
1508 struct cs47l35 *cs47l35 = snd_soc_component_get_drvdata(component);
1509 struct madera_priv *priv = &cs47l35->core;
1513 if (strcmp(asoc_rtd_to_codec(rtd, 0)->name, "cs47l35-dsp-voicectrl") == 0) {
1515 } else if (strcmp(asoc_rtd_to_codec(rtd, 0)->name, "cs47l35-dsp-trace") == 0) {
1529 struct cs47l35 *cs47l35 = data;
1530 struct madera_priv *priv = &cs47l35->core;
1562 struct cs47l35 *cs47l35 = snd_soc_component_get_drvdata(component);
1563 struct madera *madera = cs47l35->core.madera;
1591 wm_adsp2_component_probe(&cs47l35->core.adsp[i], component);
1598 struct cs47l35 *cs47l35 = snd_soc_component_get_drvdata(component);
1599 struct madera *madera = cs47l35->core.madera;
1607 wm_adsp2_component_remove(&cs47l35->core.adsp[i], component);
1650 struct cs47l35 *cs47l35;
1661 cs47l35 = devm_kzalloc(&pdev->dev, sizeof(struct cs47l35), GFP_KERNEL);
1662 if (!cs47l35)
1664 platform_set_drvdata(pdev, cs47l35);
1666 cs47l35->core.madera = madera;
1667 cs47l35->core.dev = &pdev->dev;
1668 cs47l35->core.num_inputs = 4;
1670 ret = madera_core_init(&cs47l35->core);
1674 ret = madera_init_overheat(&cs47l35->core);
1680 cs47l35);
1691 cs47l35->core.adsp[i].part = "cs47l35";
1692 cs47l35->core.adsp[i].cs_dsp.num = i + 1;
1693 cs47l35->core.adsp[i].cs_dsp.type = WMFW_ADSP2;
1694 cs47l35->core.adsp[i].cs_dsp.rev = 1;
1695 cs47l35->core.adsp[i].cs_dsp.dev = madera->dev;
1696 cs47l35->core.adsp[i].cs_dsp.regmap = madera->regmap_32bit;
1698 cs47l35->core.adsp[i].cs_dsp.base = wm_adsp2_control_bases[i];
1699 cs47l35->core.adsp[i].cs_dsp.mem = cs47l35_dsp_regions[i];
1700 cs47l35->core.adsp[i].cs_dsp.num_mems =
1703 ret = wm_adsp2_init(&cs47l35->core.adsp[i]);
1706 wm_adsp2_remove(&cs47l35->core.adsp[i]);
1711 madera_init_fll(madera, 1, MADERA_FLL1_CONTROL_1 - 1, &cs47l35->fll);
1714 madera_init_dai(&cs47l35->core, i);
1739 wm_adsp2_remove(&cs47l35->core.adsp[i]);
1742 madera_free_irq(madera, MADERA_IRQ_DSP_IRQ1, cs47l35);
1744 madera_free_overheat(&cs47l35->core);
1746 madera_core_free(&cs47l35->core);
1753 struct cs47l35 *cs47l35 = platform_get_drvdata(pdev);
1759 wm_adsp2_remove(&cs47l35->core.adsp[i]);
1761 madera_set_irq_wake(cs47l35->core.madera, MADERA_IRQ_DSP_IRQ1, 0);
1762 madera_free_irq(cs47l35->core.madera, MADERA_IRQ_DSP_IRQ1, cs47l35);
1763 madera_free_overheat(&cs47l35->core);
1764 madera_core_free(&cs47l35->core);
1769 .name = "cs47l35-codec",
1781 MODULE_ALIAS("platform:cs47l35-codec");