Lines Matching +full:0 +full:xfff7
34 { 0, 0x0097 },
35 { 1, 0x0097 },
36 { 2, 0x0079 },
37 { 3, 0x0079 },
38 { 5, 0x0008 },
39 { 7, 0x000a },
40 { 8, 0x0000 },
41 { 10, 0x00ff },
42 { 11, 0x00ff },
43 { 12, 0x000f },
44 { 13, 0x000f },
45 { 16, 0x0000 },
46 { 17, 0x007b },
47 { 18, 0x0000 },
48 { 19, 0x0032 },
49 { 20, 0x0000 },
50 { 21, 0x00c3 },
51 { 22, 0x00c3 },
52 { 23, 0x00c0 },
53 { 24, 0x0000 },
54 { 25, 0x0000 },
55 { 26, 0x0000 },
56 { 27, 0x0000 },
57 { 31, 0x0000 },
58 { 32, 0x0000 },
59 { 33, 0x0000 },
60 { 34, 0x0050 },
61 { 35, 0x0050 },
62 { 36, 0x0050 },
63 { 37, 0x0050 },
64 { 40, 0x0079 },
65 { 41, 0x0079 },
66 { 42, 0x0079 },
119 #define wm8988_reset(c) snd_soc_component_write(c, WM8988_RESET, 0)
167 static const DECLARE_TLV_DB_SCALE(pga_tlv, -1725, 75, 0);
171 static const DECLARE_TLV_DB_SCALE(bypass_tlv, -1500, 300, 0);
177 SOC_SINGLE("Bass Volume", WM8988_BASS, 0, 15, 1),
179 SOC_SINGLE("Treble Volume", WM8988_TREBLE, 0, 15, 0),
182 SOC_SINGLE("3D Switch", WM8988_3D, 0, 1, 0),
183 SOC_SINGLE("3D Volume", WM8988_3D, 1, 15, 0),
188 SOC_SINGLE("ALC Capture Target Volume", WM8988_ALC1, 0, 7, 0),
189 SOC_SINGLE("ALC Capture Max Volume", WM8988_ALC1, 4, 7, 0),
191 SOC_SINGLE("ALC Capture ZC Switch", WM8988_ALC2, 7, 1, 0),
192 SOC_SINGLE("ALC Capture Hold Time", WM8988_ALC2, 0, 15, 0),
193 SOC_SINGLE("ALC Capture Decay Time", WM8988_ALC3, 4, 15, 0),
194 SOC_SINGLE("ALC Capture Attack Time", WM8988_ALC3, 0, 15, 0),
195 SOC_SINGLE("ALC Capture NG Threshold", WM8988_NGATE, 3, 31, 0),
197 SOC_SINGLE("ALC Capture NG Switch", WM8988_NGATE, 0, 1, 0),
199 SOC_SINGLE("ZC Timeout Switch", WM8988_ADCTL1, 0, 1, 0),
202 0, 255, 0, adc_tlv),
204 0, 63, 0, pga_tlv),
205 SOC_DOUBLE_R("Capture ZC Switch", WM8988_LINVOL, WM8988_RINVOL, 6, 1, 0),
211 SOC_SINGLE("Playback 6dB Attenuate", WM8988_ADCDAC, 7, 1, 0),
212 SOC_SINGLE("Capture 6dB Attenuate", WM8988_ADCDAC, 8, 1, 0),
214 SOC_DOUBLE_R_TLV("PCM Volume", WM8988_LDAC, WM8988_RDAC, 0, 255, 0, dac_tlv),
226 WM8988_ROUT1V, 7, 1, 0),
228 0, 127, 0, out_tlv),
231 WM8988_ROUT2V, 7, 1, 0),
233 0, 127, 0, out_tlv),
248 if (snd_soc_component_read(component, WM8988_PWR2) & 0x180) in wm8988_lrc_control()
249 adctl2 &= ~0x4; in wm8988_lrc_control()
251 adctl2 |= 0x4; in wm8988_lrc_control()
260 0, 1, 3, 4};
263 SOC_VALUE_ENUM_SINGLE(WM8988_LOUTM1, 0, 7,
271 SOC_VALUE_ENUM_SINGLE(WM8988_ROUTM1, 0, 7,
280 SOC_DAPM_SINGLE("Playback Switch", WM8988_LOUTM1, 8, 1, 0),
281 SOC_DAPM_SINGLE("Left Bypass Switch", WM8988_LOUTM1, 7, 1, 0),
282 SOC_DAPM_SINGLE("Right Playback Switch", WM8988_LOUTM2, 8, 1, 0),
283 SOC_DAPM_SINGLE("Right Bypass Switch", WM8988_LOUTM2, 7, 1, 0),
288 SOC_DAPM_SINGLE("Left Playback Switch", WM8988_ROUTM1, 8, 1, 0),
289 SOC_DAPM_SINGLE("Left Bypass Switch", WM8988_ROUTM1, 7, 1, 0),
290 SOC_DAPM_SINGLE("Playback Switch", WM8988_ROUTM2, 8, 1, 0),
291 SOC_DAPM_SINGLE("Right Bypass Switch", WM8988_ROUTM2, 7, 1, 0),
295 static const unsigned int wm8988_pga_val[] = { 0, 1, 3 };
331 SND_SOC_DAPM_SUPPLY("Mic Bias", WM8988_PWR1, 1, 0, NULL, 0),
333 SND_SOC_DAPM_MUX("Differential Mux", SND_SOC_NOPM, 0, 0,
335 SND_SOC_DAPM_MUX("Left ADC Mux", SND_SOC_NOPM, 0, 0,
337 SND_SOC_DAPM_MUX("Right ADC Mux", SND_SOC_NOPM, 0, 0,
340 SND_SOC_DAPM_MUX("Left PGA Mux", WM8988_PWR1, 5, 0,
342 SND_SOC_DAPM_MUX("Right PGA Mux", WM8988_PWR1, 4, 0,
345 SND_SOC_DAPM_MUX("Left Line Mux", SND_SOC_NOPM, 0, 0,
347 SND_SOC_DAPM_MUX("Right Line Mux", SND_SOC_NOPM, 0, 0,
350 SND_SOC_DAPM_ADC("Right ADC", "Right Capture", WM8988_PWR1, 2, 0),
351 SND_SOC_DAPM_ADC("Left ADC", "Left Capture", WM8988_PWR1, 3, 0),
353 SND_SOC_DAPM_DAC("Right DAC", "Right Playback", WM8988_PWR2, 7, 0),
354 SND_SOC_DAPM_DAC("Left DAC", "Left Playback", WM8988_PWR2, 8, 0),
356 SND_SOC_DAPM_MIXER("Left Mixer", SND_SOC_NOPM, 0, 0,
357 &wm8988_left_mixer_controls[0],
359 SND_SOC_DAPM_MIXER("Right Mixer", SND_SOC_NOPM, 0, 0,
360 &wm8988_right_mixer_controls[0],
363 SND_SOC_DAPM_PGA("Right Out 2", WM8988_PWR2, 3, 0, NULL, 0),
364 SND_SOC_DAPM_PGA("Left Out 2", WM8988_PWR2, 4, 0, NULL, 0),
365 SND_SOC_DAPM_PGA("Right Out 1", WM8988_PWR2, 5, 0, NULL, 0),
366 SND_SOC_DAPM_PGA("Left Out 1", WM8988_PWR2, 6, 0, NULL, 0),
460 {12288000, 8000, 1536, 0x6, 0x0},
461 {11289600, 8000, 1408, 0x16, 0x0},
462 {18432000, 8000, 2304, 0x7, 0x0},
463 {16934400, 8000, 2112, 0x17, 0x0},
464 {12000000, 8000, 1500, 0x6, 0x1},
467 {11289600, 11025, 1024, 0x18, 0x0},
468 {16934400, 11025, 1536, 0x19, 0x0},
469 {12000000, 11025, 1088, 0x19, 0x1},
472 {12288000, 16000, 768, 0xa, 0x0},
473 {18432000, 16000, 1152, 0xb, 0x0},
474 {12000000, 16000, 750, 0xa, 0x1},
477 {11289600, 22050, 512, 0x1a, 0x0},
478 {16934400, 22050, 768, 0x1b, 0x0},
479 {12000000, 22050, 544, 0x1b, 0x1},
482 {12288000, 32000, 384, 0xc, 0x0},
483 {18432000, 32000, 576, 0xd, 0x0},
484 {12000000, 32000, 375, 0xa, 0x1},
487 {11289600, 44100, 256, 0x10, 0x0},
488 {16934400, 44100, 384, 0x11, 0x0},
489 {12000000, 44100, 272, 0x11, 0x1},
492 {12288000, 48000, 256, 0x0, 0x0},
493 {18432000, 48000, 384, 0x1, 0x0},
494 {12000000, 48000, 250, 0x0, 0x1},
497 {11289600, 88200, 128, 0x1e, 0x0},
498 {16934400, 88200, 192, 0x1f, 0x0},
499 {12000000, 88200, 136, 0x1f, 0x1},
502 {12288000, 96000, 128, 0xe, 0x0},
503 {18432000, 96000, 192, 0xf, 0x0},
504 {12000000, 96000, 125, 0xe, 0x1},
511 for (i = 0; i < ARRAY_SIZE(coeff_div); i++) { in get_coeff()
565 return 0; in wm8988_set_dai_sysclk()
573 return 0; in wm8988_set_dai_sysclk()
579 return 0; in wm8988_set_dai_sysclk()
588 u16 iface = 0; in wm8988_set_dai_fmt()
593 iface = 0x0040; in wm8988_set_dai_fmt()
604 iface |= 0x0002; in wm8988_set_dai_fmt()
609 iface |= 0x0001; in wm8988_set_dai_fmt()
612 iface |= 0x0003; in wm8988_set_dai_fmt()
615 iface |= 0x0013; in wm8988_set_dai_fmt()
626 iface |= 0x0090; in wm8988_set_dai_fmt()
629 iface |= 0x0080; in wm8988_set_dai_fmt()
632 iface |= 0x0010; in wm8988_set_dai_fmt()
639 return 0; in wm8988_set_dai_fmt()
657 snd_pcm_hw_constraint_list(substream->runtime, 0, in wm8988_pcm_startup()
661 return 0; in wm8988_pcm_startup()
670 u16 iface = snd_soc_component_read(component, WM8988_IFACE) & 0x1f3; in wm8988_pcm_hw_params()
671 u16 srate = snd_soc_component_read(component, WM8988_SRATE) & 0x180; in wm8988_pcm_hw_params()
675 if (coeff < 0) { in wm8988_pcm_hw_params()
677 srate |= 0x40; in wm8988_pcm_hw_params()
679 if (coeff < 0) { in wm8988_pcm_hw_params()
691 iface |= 0x0004; in wm8988_pcm_hw_params()
694 iface |= 0x0008; in wm8988_pcm_hw_params()
697 iface |= 0x000c; in wm8988_pcm_hw_params()
703 if (coeff >= 0) in wm8988_pcm_hw_params()
707 return 0; in wm8988_pcm_hw_params()
713 u16 mute_reg = snd_soc_component_read(component, WM8988_ADCDAC) & 0xfff7; in wm8988_mute()
716 snd_soc_component_write(component, WM8988_ADCDAC, mute_reg | 0x8); in wm8988_mute()
719 return 0; in wm8988_mute()
726 u16 pwr_reg = snd_soc_component_read(component, WM8988_PWR1) & ~0x1c1; in wm8988_set_bias_level()
734 snd_soc_component_write(component, WM8988_PWR1, pwr_reg | 0x00c0); in wm8988_set_bias_level()
742 snd_soc_component_write(component, WM8988_PWR1, pwr_reg | 0x1c1); in wm8988_set_bias_level()
749 snd_soc_component_write(component, WM8988_PWR1, pwr_reg | 0x0141); in wm8988_set_bias_level()
753 snd_soc_component_write(component, WM8988_PWR1, 0x0000); in wm8988_set_bias_level()
756 return 0; in wm8988_set_bias_level()
795 int ret = 0; in wm8988_probe()
798 if (ret < 0) { in wm8988_probe()
804 snd_soc_component_update_bits(component, WM8988_RADC, 0x0100, 0x0100); in wm8988_probe()
805 snd_soc_component_update_bits(component, WM8988_RDAC, 0x0100, 0x0100); in wm8988_probe()
806 snd_soc_component_update_bits(component, WM8988_ROUT1V, 0x0100, 0x0100); in wm8988_probe()
807 snd_soc_component_update_bits(component, WM8988_ROUT2V, 0x0100, 0x0100); in wm8988_probe()
808 snd_soc_component_update_bits(component, WM8988_RINVOL, 0x0100, 0x0100); in wm8988_probe()
810 return 0; in wm8988_probe()
915 int ret = 0; in wm8988_modinit()
918 if (ret != 0) { in wm8988_modinit()
925 if (ret != 0) { in wm8988_modinit()