SND_SOC_DAPM_AIF_OUT("VSPINOUT", NULL, 0, CS42L73_PWRCTL2, 4, 1), SND_SOC_DAPM_PGA("PGA Left", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_PGA("PGA Right", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MUX("PGA Left Mux", SND_SOC_NOPM, 0, 0, &pgaa_mux), SND_SOC_DAPM_MUX("PGA Right Mux", SND_SOC_NOPM, 0, 0, &pgab_mux), SND_SOC_DAPM_ADC("ADC Left", NULL, CS42L73_PWRCTL1, 7, 1), SND_SOC_DAPM_ADC("ADC Right", NULL, CS42L73_PWRCTL1, 5, 1), SND_SOC_DAPM_ADC("DMIC Left", NULL, CS42L73_PWRCTL1, 6, 1), SND_SOC_DAPM_ADC("DMIC Right", NULL, CS42L73_PWRCTL1, 4, 1), SND_SOC_DAPM_MIXER_NAMED_CTL("Input Left Capture", SND_SOC_NOPM, 0, 0, input_left_mixer, ARRAY_SIZE(input_left_mixer)), SND_SOC_DAPM_MIXER_NAMED_CTL("Input Right Capture", SND_SOC_NOPM, 0, 0, input_right_mixer, ARRAY_SIZE(input_right_mixer)), SND_SOC_DAPM_MIXER("ASPL Output Mixer", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER("ASPR Output Mixer", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER("XSPL Output Mixer", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER("XSPR Output Mixer", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_MIXER("VSP Output Mixer", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_AIF_IN("XSPINL", NULL, 0, CS42L73_PWRCTL2, 0, 1), SND_SOC_DAPM_AIF_IN("XSPINR", NULL, 0,
case SND_SOC_DAPM_POST_PMD: /* Disable the FLL if it's running */ wm9081_set_fll(codec, 0, 0, 0); break; } return 0; } static const struct snd_soc_dapm_widget wm9081_dapm_widgets[] = { SND_SOC_DAPM_INPUT("IN1"), SND_SOC_DAPM_INPUT("IN2"), SND_SOC_DAPM_DAC("DAC", "HiFi Playback", WM9081_POWER_MANAGEMENT, 0, 0), SND_SOC_DAPM_MIXER_NAMED_CTL("Mixer", SND_SOC_NOPM, 0, 0, mixer, ARRAY_SIZE(mixer)), SND_SOC_DAPM_PGA("LINEOUT PGA", WM9081_POWER_MANAGEMENT, 4, 0, NULL, 0), SND_SOC_DAPM_PGA_E("Speaker PGA", WM9081_POWER_MANAGEMENT, 2, 0, NULL, 0, speaker_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD), SND_SOC_DAPM_OUTPUT("LINEOUT"), SND_SOC_DAPM_OUTPUT("SPKN"), SND_SOC_DAPM_OUTPUT("SPKP"), SND_SOC_DAPM_SUPPLY("CLK_SYS", WM9081_CLOCK_CONTROL_3, 0, 0, clk_sys_event, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD), SND_SOC_DAPM_SUPPLY("CLK_DSP", WM9081_CLOCK_CONTROL_3, 1, 0, NULL, 0), SND_SOC_DAPM_SUPPLY("TOCLK", WM9081_CLOCK_CONTROL_3, 2, 0, NULL, 0),
JZ4740_CODEC_1_MIC_ENABLE_OFFSET, 1, 0), }; static const struct snd_soc_dapm_widget jz4740_codec_dapm_widgets[] = { SND_SOC_DAPM_ADC("ADC", "Capture", JZ4740_REG_CODEC_1, JZ4740_CODEC_1_ADC_ENABLE_OFFSET, 0), SND_SOC_DAPM_DAC("DAC", "Playback", JZ4740_REG_CODEC_1, JZ4740_CODEC_1_DAC_ENABLE_OFFSET, 0), SND_SOC_DAPM_MIXER("Output Mixer", JZ4740_REG_CODEC_1, JZ4740_CODEC_1_HEADPHONE_POWERDOWN_OFFSET, 1, jz4740_codec_output_controls, ARRAY_SIZE(jz4740_codec_output_controls)), SND_SOC_DAPM_MIXER_NAMED_CTL("Input Mixer", SND_SOC_NOPM, 0, 0, jz4740_codec_input_controls, ARRAY_SIZE(jz4740_codec_input_controls)), SND_SOC_DAPM_MIXER("Line Input", SND_SOC_NOPM, 0, 0, NULL, 0), SND_SOC_DAPM_OUTPUT("LOUT"), SND_SOC_DAPM_OUTPUT("ROUT"), SND_SOC_DAPM_INPUT("MIC"), SND_SOC_DAPM_INPUT("LIN"), SND_SOC_DAPM_INPUT("RIN"), }; static const struct snd_soc_dapm_route jz4740_codec_dapm_routes[] = { {"Line Input", NULL, "LIN"}, {"Line Input", NULL, "RIN"},
SND_SOC_DAPM_INPUT("SE1R"), SND_SOC_DAPM_INPUT("DIFFL"), SND_SOC_DAPM_INPUT("DIFFR"), SND_SOC_DAPM_INPUT("MIX"), SND_SOC_DAPM_MUX("Main Source Select", SND_SOC_NOPM, 0, 0, &soc_mux_main_src_sel), SND_SOC_DAPM_MUX("Second Source Select", SND_SOC_NOPM, 0, 0, &soc_mux_second_src_sel), SND_SOC_DAPM_MUX("Rear Speaker Source", SND_SOC_NOPM, 0, 0, &soc_mux_rear_spkr_src), SND_SOC_DAPM_SWITCH("Mix Enable", SND_SOC_NOPM, 0, 0, &soc_mix_enable_switch_controls[0]), SND_SOC_DAPM_MIXER_NAMED_CTL("LF Output Mixer", SND_SOC_NOPM, 0, 0, &soc_mixer_lf_output_controls[0], ARRAY_SIZE(soc_mixer_lf_output_controls)), SND_SOC_DAPM_MIXER_NAMED_CTL("RF Output Mixer", SND_SOC_NOPM, 0, 0, &soc_mixer_rf_output_controls[0], ARRAY_SIZE(soc_mixer_rf_output_controls)), SND_SOC_DAPM_SWITCH("Subwoofer Enable", SND_SOC_NOPM, 0, 0, &soc_sub_enable_switch_controls[0]), SND_SOC_DAPM_OUTPUT("OUTLF"), SND_SOC_DAPM_OUTPUT("OUTRF"), SND_SOC_DAPM_OUTPUT("OUTLR"), SND_SOC_DAPM_OUTPUT("OUTRR"), SND_SOC_DAPM_OUTPUT("OUTSW"), };