Lines Matching +full:codec +full:- +full:aif3
2 * wm8998.c -- ALSA SoC Audio driver for WM8998 codecs
44 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in wm8998_asrc_ev()
60 dev_warn(component->dev, in wm8998_asrc_ev()
63 return -EINVAL; in wm8998_asrc_ev()
67 dev_err(component->dev, in wm8998_asrc_ev()
70 return -EINVAL; in wm8998_asrc_ev()
80 val -= 0x8; in wm8998_asrc_ev()
84 dev_warn(component->dev, in wm8998_asrc_ev()
87 return -EINVAL; in wm8998_asrc_ev()
91 dev_err(component->dev, in wm8998_asrc_ev()
94 return -EINVAL; in wm8998_asrc_ev()
98 return -EINVAL; in wm8998_asrc_ev()
110 struct arizona *arizona = wm8998->core.arizona; in wm8998_inmux_put()
111 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; in wm8998_inmux_put()
115 mux = ucontrol->value.enumerated.item[0]; in wm8998_inmux_put()
117 return -EINVAL; in wm8998_inmux_put()
119 switch (e->reg) { in wm8998_inmux_put()
130 inmode = arizona->pdata.inmode[mode_index]; in wm8998_inmux_put()
143 snd_soc_component_update_bits(component, e->reg, in wm8998_inmux_put()
149 ucontrol->value.enumerated.item[0], in wm8998_inmux_put()
185 static DECLARE_TLV_DB_SCALE(eq_tlv, -1200, 100, 0);
186 static DECLARE_TLV_DB_SCALE(digital_tlv, -6400, 50, 0);
187 static DECLARE_TLV_DB_SCALE(ng_tlv, -10200, 600, 0);
898 { "AIF3 Capture", NULL, "DBVDD3" },
899 { "AIF3 Playback", NULL, "DBVDD3" },
979 { "AIF3 Capture", NULL, "AIF3TX1" },
980 { "AIF3 Capture", NULL, "AIF3TX2" },
982 { "AIF3RX1", NULL, "AIF3 Playback" },
983 { "AIF3RX2", NULL, "AIF3 Playback" },
1001 { "AIF3 Playback", NULL, "SYSCLK" },
1007 { "AIF3 Capture", NULL, "SYSCLK" },
1149 .name = "wm8998-aif1",
1171 .name = "wm8998-aif2",
1193 .name = "wm8998-aif3",
1197 .stream_name = "AIF3 Playback",
1204 .stream_name = "AIF3 Capture",
1215 .name = "wm8998-slim1",
1234 .name = "wm8998-slim2",
1261 return arizona_set_fll(&wm8998->fll[0], source, Fref, Fout); in wm8998_set_fll()
1263 return arizona_set_fll(&wm8998->fll[1], source, Fref, Fout); in wm8998_set_fll()
1265 return arizona_set_fll_refclk(&wm8998->fll[0], source, Fref, in wm8998_set_fll()
1268 return arizona_set_fll_refclk(&wm8998->fll[1], source, Fref, in wm8998_set_fll()
1271 return -EINVAL; in wm8998_set_fll()
1279 struct arizona *arizona = priv->core.arizona; in wm8998_component_probe()
1282 arizona->dapm = dapm; in wm8998_component_probe()
1283 snd_soc_component_init_regmap(component, arizona->regmap); in wm8998_component_probe()
1300 priv->core.arizona->dapm = NULL; in wm8998_component_remove()
1335 struct arizona *arizona = dev_get_drvdata(pdev->dev.parent); in wm8998_probe()
1339 wm8998 = devm_kzalloc(&pdev->dev, sizeof(struct wm8998_priv), in wm8998_probe()
1342 return -ENOMEM; in wm8998_probe()
1346 if (!dev_get_platdata(arizona->dev)) { in wm8998_probe()
1353 wm8998->core.arizona = arizona; in wm8998_probe()
1354 wm8998->core.num_inputs = 3; /* IN1L, IN1R, IN2 */ in wm8998_probe()
1356 for (i = 0; i < ARRAY_SIZE(wm8998->fll); i++) in wm8998_probe()
1357 wm8998->fll[i].vco_mult = 1; in wm8998_probe()
1359 arizona_init_fll(arizona, 1, ARIZONA_FLL1_CONTROL_1 - 1, in wm8998_probe()
1361 &wm8998->fll[0]); in wm8998_probe()
1362 arizona_init_fll(arizona, 2, ARIZONA_FLL2_CONTROL_1 - 1, in wm8998_probe()
1364 &wm8998->fll[1]); in wm8998_probe()
1367 arizona_init_dai(&wm8998->core, i); in wm8998_probe()
1371 regmap_update_bits(arizona->regmap, wm8998_digital_vu[i], in wm8998_probe()
1374 pm_runtime_enable(&pdev->dev); in wm8998_probe()
1375 pm_runtime_idle(&pdev->dev); in wm8998_probe()
1383 ret = devm_snd_soc_register_component(&pdev->dev, in wm8998_probe()
1388 dev_err(&pdev->dev, "Failed to register component: %d\n", ret); in wm8998_probe()
1403 struct arizona *arizona = wm8998->core.arizona; in wm8998_remove()
1405 pm_runtime_disable(&pdev->dev); in wm8998_remove()
1414 .name = "wm8998-codec",
1425 MODULE_ALIAS("platform:wm8998-codec");