Lines Matching refs:component

53 static int wm8753_hifi_write_dai_fmt(struct snd_soc_component *component,
55 static int wm8753_voice_write_dai_fmt(struct snd_soc_component *component,
227 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in wm8753_get_dai() local
228 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_get_dai()
237 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in wm8753_set_dai() local
238 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_set_dai()
244 if (snd_soc_component_active(component)) in wm8753_set_dai()
247 ioctl = snd_soc_component_read(component, WM8753_IOCTL); in wm8753_set_dai()
255 snd_soc_component_write(component, WM8753_IOCTL, ioctl); in wm8753_set_dai()
258 wm8753_hifi_write_dai_fmt(component, wm8753->hifi_fmt); in wm8753_set_dai()
259 wm8753_voice_write_dai_fmt(component, wm8753->voice_fmt); in wm8753_set_dai()
743 struct snd_soc_component *component = codec_dai->component; in wm8753_set_dai_pll() local
751 reg = snd_soc_component_read(component, WM8753_CLOCK) & 0xffef; in wm8753_set_dai_pll()
755 reg = snd_soc_component_read(component, WM8753_CLOCK) & 0xfff7; in wm8753_set_dai_pll()
760 snd_soc_component_write(component, WM8753_PLL1CTL1 + offset, 0x0026); in wm8753_set_dai_pll()
761 snd_soc_component_write(component, WM8753_CLOCK, reg); in wm8753_set_dai_pll()
772 snd_soc_component_write(component, WM8753_PLL1CTL2 + offset, value); in wm8753_set_dai_pll()
776 snd_soc_component_write(component, WM8753_PLL1CTL3 + offset, value); in wm8753_set_dai_pll()
780 snd_soc_component_write(component, WM8753_PLL1CTL4 + offset, value); in wm8753_set_dai_pll()
783 snd_soc_component_write(component, WM8753_PLL1CTL1 + offset, 0x0027 | in wm8753_set_dai_pll()
785 snd_soc_component_write(component, WM8753_CLOCK, reg | enable); in wm8753_set_dai_pll()
864 struct snd_soc_component *component = codec_dai->component; in wm8753_set_dai_sysclk() local
865 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_set_dai_sysclk()
888 static int wm8753_vdac_adc_set_dai_fmt(struct snd_soc_component *component, in wm8753_vdac_adc_set_dai_fmt() argument
891 u16 voice = snd_soc_component_read(component, WM8753_PCM) & 0x01ec; in wm8753_vdac_adc_set_dai_fmt()
913 snd_soc_component_write(component, WM8753_PCM, voice); in wm8753_vdac_adc_set_dai_fmt()
924 struct snd_soc_component *component = dai->component; in wm8753_pcm_hw_params() local
925 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_pcm_hw_params()
926 u16 voice = snd_soc_component_read(component, WM8753_PCM) & 0x01f3; in wm8753_pcm_hw_params()
927 u16 srate = snd_soc_component_read(component, WM8753_SRATE1) & 0x017f; in wm8753_pcm_hw_params()
947 snd_soc_component_write(component, WM8753_SRATE1, srate); in wm8753_pcm_hw_params()
949 snd_soc_component_write(component, WM8753_PCM, voice); in wm8753_pcm_hw_params()
956 static int wm8753_pcm_set_dai_fmt(struct snd_soc_component *component, in wm8753_pcm_set_dai_fmt() argument
961 voice = snd_soc_component_read(component, WM8753_PCM) & 0x011f; in wm8753_pcm_set_dai_fmt()
962 ioctl = snd_soc_component_read(component, WM8753_IOCTL) & 0x015d; in wm8753_pcm_set_dai_fmt()
1017 snd_soc_component_write(component, WM8753_PCM, voice); in wm8753_pcm_set_dai_fmt()
1018 snd_soc_component_write(component, WM8753_IOCTL, ioctl); in wm8753_pcm_set_dai_fmt()
1025 struct snd_soc_component *component = codec_dai->component; in wm8753_set_dai_clkdiv() local
1030 reg = snd_soc_component_read(component, WM8753_CLOCK) & 0x003f; in wm8753_set_dai_clkdiv()
1031 snd_soc_component_write(component, WM8753_CLOCK, reg | div); in wm8753_set_dai_clkdiv()
1034 reg = snd_soc_component_read(component, WM8753_SRATE2) & 0x01c7; in wm8753_set_dai_clkdiv()
1035 snd_soc_component_write(component, WM8753_SRATE2, reg | div); in wm8753_set_dai_clkdiv()
1038 reg = snd_soc_component_read(component, WM8753_SRATE2) & 0x003f; in wm8753_set_dai_clkdiv()
1039 snd_soc_component_write(component, WM8753_SRATE2, reg | div); in wm8753_set_dai_clkdiv()
1050 static int wm8753_hdac_set_dai_fmt(struct snd_soc_component *component, in wm8753_hdac_set_dai_fmt() argument
1053 u16 hifi = snd_soc_component_read(component, WM8753_HIFI) & 0x01e0; in wm8753_hdac_set_dai_fmt()
1075 snd_soc_component_write(component, WM8753_HIFI, hifi); in wm8753_hdac_set_dai_fmt()
1082 static int wm8753_i2s_set_dai_fmt(struct snd_soc_component *component, in wm8753_i2s_set_dai_fmt() argument
1087 hifi = snd_soc_component_read(component, WM8753_HIFI) & 0x013f; in wm8753_i2s_set_dai_fmt()
1088 ioctl = snd_soc_component_read(component, WM8753_IOCTL) & 0x00ae; in wm8753_i2s_set_dai_fmt()
1143 snd_soc_component_write(component, WM8753_HIFI, hifi); in wm8753_i2s_set_dai_fmt()
1144 snd_soc_component_write(component, WM8753_IOCTL, ioctl); in wm8753_i2s_set_dai_fmt()
1155 struct snd_soc_component *component = dai->component; in wm8753_i2s_hw_params() local
1156 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_i2s_hw_params()
1157 u16 srate = snd_soc_component_read(component, WM8753_SRATE1) & 0x01c0; in wm8753_i2s_hw_params()
1158 u16 hifi = snd_soc_component_read(component, WM8753_HIFI) & 0x01f3; in wm8753_i2s_hw_params()
1167 snd_soc_component_write(component, WM8753_SRATE1, srate | (coeff_div[coeff].sr << 1) | in wm8753_i2s_hw_params()
1185 snd_soc_component_write(component, WM8753_HIFI, hifi); in wm8753_i2s_hw_params()
1189 static int wm8753_mode1v_set_dai_fmt(struct snd_soc_component *component, in wm8753_mode1v_set_dai_fmt() argument
1195 clock = snd_soc_component_read(component, WM8753_CLOCK) & 0xfffb; in wm8753_mode1v_set_dai_fmt()
1196 snd_soc_component_write(component, WM8753_CLOCK, clock); in wm8753_mode1v_set_dai_fmt()
1198 return wm8753_vdac_adc_set_dai_fmt(component, fmt); in wm8753_mode1v_set_dai_fmt()
1201 static int wm8753_mode1h_set_dai_fmt(struct snd_soc_component *component, in wm8753_mode1h_set_dai_fmt() argument
1204 return wm8753_hdac_set_dai_fmt(component, fmt); in wm8753_mode1h_set_dai_fmt()
1207 static int wm8753_mode2_set_dai_fmt(struct snd_soc_component *component, in wm8753_mode2_set_dai_fmt() argument
1213 clock = snd_soc_component_read(component, WM8753_CLOCK) & 0xfffb; in wm8753_mode2_set_dai_fmt()
1214 snd_soc_component_write(component, WM8753_CLOCK, clock); in wm8753_mode2_set_dai_fmt()
1216 return wm8753_vdac_adc_set_dai_fmt(component, fmt); in wm8753_mode2_set_dai_fmt()
1219 static int wm8753_mode3_4_set_dai_fmt(struct snd_soc_component *component, in wm8753_mode3_4_set_dai_fmt() argument
1225 clock = snd_soc_component_read(component, WM8753_CLOCK) & 0xfffb; in wm8753_mode3_4_set_dai_fmt()
1226 snd_soc_component_write(component, WM8753_CLOCK, clock | 0x4); in wm8753_mode3_4_set_dai_fmt()
1228 if (wm8753_hdac_set_dai_fmt(component, fmt) < 0) in wm8753_mode3_4_set_dai_fmt()
1230 return wm8753_vdac_adc_set_dai_fmt(component, fmt); in wm8753_mode3_4_set_dai_fmt()
1233 static int wm8753_hifi_write_dai_fmt(struct snd_soc_component *component, in wm8753_hifi_write_dai_fmt() argument
1236 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_hifi_write_dai_fmt()
1241 ret = wm8753_mode1h_set_dai_fmt(component, fmt); in wm8753_hifi_write_dai_fmt()
1244 ret = wm8753_mode2_set_dai_fmt(component, fmt); in wm8753_hifi_write_dai_fmt()
1248 ret = wm8753_mode3_4_set_dai_fmt(component, fmt); in wm8753_hifi_write_dai_fmt()
1256 return wm8753_i2s_set_dai_fmt(component, fmt); in wm8753_hifi_write_dai_fmt()
1262 struct snd_soc_component *component = codec_dai->component; in wm8753_hifi_set_dai_fmt() local
1263 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_hifi_set_dai_fmt()
1267 return wm8753_hifi_write_dai_fmt(component, fmt); in wm8753_hifi_set_dai_fmt()
1270 static int wm8753_voice_write_dai_fmt(struct snd_soc_component *component, in wm8753_voice_write_dai_fmt() argument
1273 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_voice_write_dai_fmt()
1279 ret = wm8753_mode1v_set_dai_fmt(component, fmt); in wm8753_voice_write_dai_fmt()
1282 ret = wm8753_pcm_set_dai_fmt(component, fmt); in wm8753_voice_write_dai_fmt()
1292 struct snd_soc_component *component = codec_dai->component; in wm8753_voice_set_dai_fmt() local
1293 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_voice_set_dai_fmt()
1297 return wm8753_voice_write_dai_fmt(component, fmt); in wm8753_voice_set_dai_fmt()
1302 struct snd_soc_component *component = dai->component; in wm8753_mute() local
1303 u16 mute_reg = snd_soc_component_read(component, WM8753_DAC) & 0xfff7; in wm8753_mute()
1304 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_mute()
1309 if (!snd_soc_component_active(component)) in wm8753_mute()
1310 snd_soc_component_write(component, WM8753_DAC, mute_reg | 0x8); in wm8753_mute()
1313 snd_soc_component_write(component, WM8753_DAC, mute_reg | 0x8); in wm8753_mute()
1315 snd_soc_component_write(component, WM8753_DAC, mute_reg); in wm8753_mute()
1330 static int wm8753_set_bias_level(struct snd_soc_component *component, in wm8753_set_bias_level() argument
1333 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_set_bias_level()
1334 u16 pwr_reg = snd_soc_component_read(component, WM8753_PWR1) & 0xfe3e; in wm8753_set_bias_level()
1339 snd_soc_component_write(component, WM8753_PWR1, pwr_reg | 0x00c0); in wm8753_set_bias_level()
1346 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) { in wm8753_set_bias_level()
1348 snd_soc_component_write(component, WM8753_PWR1, pwr_reg | 0x01c1); in wm8753_set_bias_level()
1353 snd_soc_component_write(component, WM8753_PWR1, pwr_reg | 0x0141); in wm8753_set_bias_level()
1358 snd_soc_component_write(component, WM8753_PWR1, 0x0001); in wm8753_set_bias_level()
1442 static int wm8753_resume(struct snd_soc_component *component) in wm8753_resume() argument
1444 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_resume()
1451 static int wm8753_probe(struct snd_soc_component *component) in wm8753_probe() argument
1453 struct wm8753_priv *wm8753 = snd_soc_component_get_drvdata(component); in wm8753_probe()
1458 ret = wm8753_reset(component); in wm8753_probe()
1460 dev_err(component->dev, "Failed to issue reset: %d\n", ret); in wm8753_probe()
1467 snd_soc_component_update_bits(component, WM8753_LDAC, 0x0100, 0x0100); in wm8753_probe()
1468 snd_soc_component_update_bits(component, WM8753_RDAC, 0x0100, 0x0100); in wm8753_probe()
1469 snd_soc_component_update_bits(component, WM8753_LADC, 0x0100, 0x0100); in wm8753_probe()
1470 snd_soc_component_update_bits(component, WM8753_RADC, 0x0100, 0x0100); in wm8753_probe()
1471 snd_soc_component_update_bits(component, WM8753_LOUT1V, 0x0100, 0x0100); in wm8753_probe()
1472 snd_soc_component_update_bits(component, WM8753_ROUT1V, 0x0100, 0x0100); in wm8753_probe()
1473 snd_soc_component_update_bits(component, WM8753_LOUT2V, 0x0100, 0x0100); in wm8753_probe()
1474 snd_soc_component_update_bits(component, WM8753_ROUT2V, 0x0100, 0x0100); in wm8753_probe()
1475 snd_soc_component_update_bits(component, WM8753_LINVOL, 0x0100, 0x0100); in wm8753_probe()
1476 snd_soc_component_update_bits(component, WM8753_RINVOL, 0x0100, 0x0100); in wm8753_probe()