Lines Matching defs:cs47l15
39 #define DRV_NAME "cs47l15-codec"
41 struct cs47l15 {
73 struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
74 struct madera_priv *priv = &cs47l15->core;
88 ret = madera_set_adsp_clk(&cs47l15->core, w->shift, freq);
111 struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
113 ucontrol->value.integer.value[0] = !!cs47l15->in1_lp_mode;
123 struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
125 if (!!ucontrol->value.integer.value[0] == cs47l15->in1_lp_mode)
139 cs47l15->in1_lp_mode = false;
152 cs47l15->in1_lp_mode = true;
1129 struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
1133 return madera_set_fll_refclk(&cs47l15->fll[0], source, fref,
1136 return madera_set_fll_ao_refclk(&cs47l15->fll[1], source, fref,
1139 return madera_set_fll_syncclk(&cs47l15->fll[0], source, fref,
1152 .name = "cs47l15-aif1",
1174 .name = "cs47l15-aif2",
1196 .name = "cs47l15-aif3",
1218 .name = "cs47l15-cpu-trace",
1229 .name = "cs47l15-dsp-trace",
1244 struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
1245 struct madera_priv *priv = &cs47l15->core;
1249 if (strcmp(asoc_rtd_to_codec(rtd, 0)->name, "cs47l15-dsp-trace") == 0) {
1263 struct cs47l15 *cs47l15 = data;
1264 struct madera_priv *priv = &cs47l15->core;
1283 struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
1284 struct madera *madera = cs47l15->core.madera;
1311 wm_adsp2_component_probe(&cs47l15->core.adsp[0], component);
1318 struct cs47l15 *cs47l15 = snd_soc_component_get_drvdata(component);
1319 struct madera *madera = cs47l15->core.madera;
1325 wm_adsp2_component_remove(&cs47l15->core.adsp[0], component);
1368 struct cs47l15 *cs47l15;
1379 cs47l15 = devm_kzalloc(&pdev->dev, sizeof(struct cs47l15),
1381 if (!cs47l15)
1384 platform_set_drvdata(pdev, cs47l15);
1386 cs47l15->core.madera = madera;
1387 cs47l15->core.dev = &pdev->dev;
1388 cs47l15->core.num_inputs = 4;
1390 ret = madera_core_init(&cs47l15->core);
1394 ret = madera_init_overheat(&cs47l15->core);
1400 cs47l15);
1410 cs47l15->core.adsp[0].part = "cs47l15";
1411 cs47l15->core.adsp[0].cs_dsp.num = 1;
1412 cs47l15->core.adsp[0].cs_dsp.type = WMFW_ADSP2;
1413 cs47l15->core.adsp[0].cs_dsp.rev = 2;
1414 cs47l15->core.adsp[0].cs_dsp.dev = madera->dev;
1415 cs47l15->core.adsp[0].cs_dsp.regmap = madera->regmap_32bit;
1417 cs47l15->core.adsp[0].cs_dsp.base = MADERA_DSP1_CONFIG_1;
1418 cs47l15->core.adsp[0].cs_dsp.mem = cs47l15_dsp1_regions;
1419 cs47l15->core.adsp[0].cs_dsp.num_mems = ARRAY_SIZE(cs47l15_dsp1_regions);
1421 cs47l15->core.adsp[0].cs_dsp.lock_regions =
1424 ret = wm_adsp2_init(&cs47l15->core.adsp[0]);
1428 ret = madera_init_bus_error_irq(&cs47l15->core, 0, wm_adsp2_bus_error);
1433 &cs47l15->fll[0]);
1435 &cs47l15->fll[1]);
1438 madera_init_dai(&cs47l15->core, i);
1461 madera_free_bus_error_irq(&cs47l15->core, 0);
1463 wm_adsp2_remove(&cs47l15->core.adsp[0]);
1466 madera_free_irq(madera, MADERA_IRQ_DSP_IRQ1, cs47l15);
1468 madera_free_overheat(&cs47l15->core);
1470 madera_core_free(&cs47l15->core);
1477 struct cs47l15 *cs47l15 = platform_get_drvdata(pdev);
1481 madera_free_bus_error_irq(&cs47l15->core, 0);
1483 wm_adsp2_remove(&cs47l15->core.adsp[0]);
1485 madera_set_irq_wake(cs47l15->core.madera, MADERA_IRQ_DSP_IRQ1, 0);
1486 madera_free_irq(cs47l15->core.madera, MADERA_IRQ_DSP_IRQ1, cs47l15);
1487 madera_free_overheat(&cs47l15->core);
1488 madera_core_free(&cs47l15->core);
1493 .name = "cs47l15-codec",
1506 MODULE_ALIAS("platform:cs47l15-codec");