• Home
  • Raw
  • Download

Lines Matching refs:component

49 static int wm8960_set_pll(struct snd_soc_component *component,
168 static int wm8960_set_deemph(struct snd_soc_component *component) in wm8960_set_deemph() argument
170 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_set_deemph()
189 dev_dbg(component->dev, "Set deemphasis %d\n", val); in wm8960_set_deemph()
191 return snd_soc_component_update_bits(component, WM8960_DACCTL1, in wm8960_set_deemph()
198 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in wm8960_get_deemph() local
199 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_get_deemph()
208 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in wm8960_put_deemph() local
209 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_put_deemph()
217 return wm8960_set_deemph(component); in wm8960_put_deemph()
470 static int wm8960_add_widgets(struct snd_soc_component *component) in wm8960_add_widgets() argument
472 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_add_widgets()
474 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component); in wm8960_add_widgets()
504 list_for_each_entry(w, &component->card->widgets, list) { in wm8960_add_widgets()
521 struct snd_soc_component *component = codec_dai->component; in wm8960_set_dai_fmt() local
573 snd_soc_component_write(component, WM8960_IFACE1, iface); in wm8960_set_dai_fmt()
685 int wm8960_configure_pll(struct snd_soc_component *component, int freq_in, in wm8960_configure_pll() argument
688 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_configure_pll()
737 static int wm8960_configure_clocking(struct snd_soc_component *component) in wm8960_configure_clocking() argument
739 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_configure_clocking()
741 u16 iface1 = snd_soc_component_read(component, WM8960_IFACE1); in wm8960_configure_clocking()
753 dev_warn(component->dev, in wm8960_configure_clocking()
759 dev_err(component->dev, "No MCLK configured\n"); in wm8960_configure_clocking()
772 wm8960_set_pll(component, 0, 0); in wm8960_configure_clocking()
777 dev_err(component->dev, "No SYSCLK configured\n"); in wm8960_configure_clocking()
786 dev_err(component->dev, "failed to configure clock\n"); in wm8960_configure_clocking()
791 freq_out = wm8960_configure_pll(component, freq_in, &i, &j, &k); in wm8960_configure_clocking()
793 dev_err(component->dev, "failed to configure clock via PLL\n"); in wm8960_configure_clocking()
796 wm8960_set_pll(component, freq_in, freq_out); in wm8960_configure_clocking()
800 snd_soc_component_update_bits(component, WM8960_CLOCK1, 3 << 1, i << 1); in wm8960_configure_clocking()
803 snd_soc_component_update_bits(component, WM8960_CLOCK1, 0x7 << 3, j << 3); in wm8960_configure_clocking()
804 snd_soc_component_update_bits(component, WM8960_CLOCK1, 0x7 << 6, j << 6); in wm8960_configure_clocking()
807 snd_soc_component_update_bits(component, WM8960_CLOCK2, 0xf, k); in wm8960_configure_clocking()
816 struct snd_soc_component *component = dai->component; in wm8960_hw_params() local
817 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_hw_params()
818 u16 iface = snd_soc_component_read(component, WM8960_IFACE1) & 0xfff3; in wm8960_hw_params()
844 dev_err(component->dev, "unsupported width %d\n", in wm8960_hw_params()
852 wm8960_set_deemph(component); in wm8960_hw_params()
856 snd_soc_component_update_bits(component, in wm8960_hw_params()
862 snd_soc_component_write(component, WM8960_IFACE1, iface); in wm8960_hw_params()
867 return wm8960_configure_clocking(component); in wm8960_hw_params()
875 struct snd_soc_component *component = dai->component; in wm8960_hw_free() local
876 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_hw_free()
886 struct snd_soc_component *component = dai->component; in wm8960_mute() local
889 snd_soc_component_update_bits(component, WM8960_DACCTL1, 0x8, 0x8); in wm8960_mute()
891 snd_soc_component_update_bits(component, WM8960_DACCTL1, 0x8, 0); in wm8960_mute()
895 static int wm8960_set_bias_level_out3(struct snd_soc_component *component, in wm8960_set_bias_level_out3() argument
898 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_set_bias_level_out3()
899 u16 pm2 = snd_soc_component_read(component, WM8960_POWER2); in wm8960_set_bias_level_out3()
907 switch (snd_soc_component_get_bias_level(component)) { in wm8960_set_bias_level_out3()
912 dev_err(component->dev, in wm8960_set_bias_level_out3()
919 ret = wm8960_configure_clocking(component); in wm8960_set_bias_level_out3()
924 snd_soc_component_update_bits(component, WM8960_POWER1, 0x180, 0x80); in wm8960_set_bias_level_out3()
933 wm8960_set_pll(component, 0, 0); in wm8960_set_bias_level_out3()
946 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) { in wm8960_set_bias_level_out3()
950 snd_soc_component_write(component, WM8960_APOP1, in wm8960_set_bias_level_out3()
955 snd_soc_component_update_bits(component, WM8960_POWER1, 0x80, 0x80); in wm8960_set_bias_level_out3()
959 snd_soc_component_update_bits(component, WM8960_POWER1, WM8960_VREF, in wm8960_set_bias_level_out3()
963 snd_soc_component_write(component, WM8960_APOP1, WM8960_BUFIOEN); in wm8960_set_bias_level_out3()
967 snd_soc_component_update_bits(component, WM8960_POWER1, 0x180, 0x100); in wm8960_set_bias_level_out3()
972 snd_soc_component_write(component, WM8960_APOP1, in wm8960_set_bias_level_out3()
977 snd_soc_component_write(component, WM8960_POWER1, 0); in wm8960_set_bias_level_out3()
985 static int wm8960_set_bias_level_capless(struct snd_soc_component *component, in wm8960_set_bias_level_capless() argument
988 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_set_bias_level_capless()
989 u16 pm2 = snd_soc_component_read(component, WM8960_POWER2); in wm8960_set_bias_level_capless()
997 switch (snd_soc_component_get_bias_level(component)) { in wm8960_set_bias_level_capless()
1000 snd_soc_component_update_bits(component, WM8960_APOP1, in wm8960_set_bias_level_capless()
1014 snd_soc_component_update_bits(component, WM8960_POWER2, in wm8960_set_bias_level_capless()
1020 snd_soc_component_update_bits(component, WM8960_POWER1, in wm8960_set_bias_level_capless()
1027 snd_soc_component_update_bits(component, WM8960_POWER1, in wm8960_set_bias_level_capless()
1035 dev_err(component->dev, in wm8960_set_bias_level_capless()
1042 ret = wm8960_configure_clocking(component); in wm8960_set_bias_level_capless()
1054 wm8960_set_pll(component, 0, 0); in wm8960_set_bias_level_capless()
1060 snd_soc_component_update_bits(component, WM8960_APOP1, in wm8960_set_bias_level_capless()
1067 snd_soc_component_update_bits(component, WM8960_POWER1, in wm8960_set_bias_level_capless()
1080 switch (snd_soc_component_get_bias_level(component)) { in wm8960_set_bias_level_capless()
1083 snd_soc_component_update_bits(component, WM8960_APOP2, in wm8960_set_bias_level_capless()
1088 snd_soc_component_update_bits(component, WM8960_APOP1, in wm8960_set_bias_level_capless()
1187 static int wm8960_set_pll(struct snd_soc_component *component, in wm8960_set_pll() argument
1202 snd_soc_component_update_bits(component, WM8960_CLOCK1, 0x1, 0); in wm8960_set_pll()
1203 snd_soc_component_update_bits(component, WM8960_POWER2, 0x1, 0); in wm8960_set_pll()
1208 reg = snd_soc_component_read(component, WM8960_PLL1) & ~0x3f; in wm8960_set_pll()
1215 snd_soc_component_write(component, WM8960_PLL2, (pll_div.k >> 16) & 0xff); in wm8960_set_pll()
1216 snd_soc_component_write(component, WM8960_PLL3, (pll_div.k >> 8) & 0xff); in wm8960_set_pll()
1217 snd_soc_component_write(component, WM8960_PLL4, pll_div.k & 0xff); in wm8960_set_pll()
1219 snd_soc_component_write(component, WM8960_PLL1, reg); in wm8960_set_pll()
1222 snd_soc_component_update_bits(component, WM8960_POWER2, 0x1, 0x1); in wm8960_set_pll()
1224 snd_soc_component_update_bits(component, WM8960_CLOCK1, 0x1, 0x1); in wm8960_set_pll()
1232 struct snd_soc_component *component = codec_dai->component; in wm8960_set_dai_pll() local
1233 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_set_dai_pll()
1240 return wm8960_set_pll(component, freq_in, freq_out); in wm8960_set_dai_pll()
1246 struct snd_soc_component *component = codec_dai->component; in wm8960_set_dai_clkdiv() local
1251 reg = snd_soc_component_read(component, WM8960_CLOCK1) & 0x1f9; in wm8960_set_dai_clkdiv()
1252 snd_soc_component_write(component, WM8960_CLOCK1, reg | div); in wm8960_set_dai_clkdiv()
1255 reg = snd_soc_component_read(component, WM8960_CLOCK1) & 0x1c7; in wm8960_set_dai_clkdiv()
1256 snd_soc_component_write(component, WM8960_CLOCK1, reg | div); in wm8960_set_dai_clkdiv()
1259 reg = snd_soc_component_read(component, WM8960_PLL1) & 0x03f; in wm8960_set_dai_clkdiv()
1260 snd_soc_component_write(component, WM8960_PLL1, reg | div); in wm8960_set_dai_clkdiv()
1263 reg = snd_soc_component_read(component, WM8960_CLOCK2) & 0x03f; in wm8960_set_dai_clkdiv()
1264 snd_soc_component_write(component, WM8960_CLOCK2, reg | div); in wm8960_set_dai_clkdiv()
1267 reg = snd_soc_component_read(component, WM8960_ADDCTL1) & 0x1fd; in wm8960_set_dai_clkdiv()
1268 snd_soc_component_write(component, WM8960_ADDCTL1, reg | div); in wm8960_set_dai_clkdiv()
1277 static int wm8960_set_bias_level(struct snd_soc_component *component, in wm8960_set_bias_level() argument
1280 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_set_bias_level()
1282 return wm8960->set_bias_level(component, level); in wm8960_set_bias_level()
1288 struct snd_soc_component *component = dai->component; in wm8960_set_dai_sysclk() local
1289 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_set_dai_sysclk()
1293 snd_soc_component_update_bits(component, WM8960_CLOCK1, in wm8960_set_dai_sysclk()
1297 snd_soc_component_update_bits(component, WM8960_CLOCK1, in wm8960_set_dai_sysclk()
1347 static int wm8960_probe(struct snd_soc_component *component) in wm8960_probe() argument
1349 struct wm8960_priv *wm8960 = snd_soc_component_get_drvdata(component); in wm8960_probe()
1357 snd_soc_add_component_controls(component, wm8960_snd_controls, in wm8960_probe()
1359 wm8960_add_widgets(component); in wm8960_probe()