SND_SOC_DAPM_OUTPUT("LINEOUT1L"), SND_SOC_DAPM_OUTPUT("LINEOUT1R"), SND_SOC_DAPM_OUTPUT("LINEOUT2L"), SND_SOC_DAPM_OUTPUT("LINEOUT2R"), SND_SOC_DAPM_OUTPUT("HP_L"), SND_SOC_DAPM_OUTPUT("HP_R"), SND_SOC_DAPM_INPUT("RINPUT1"), SND_SOC_DAPM_INPUT("LINPUT1"), SND_SOC_DAPM_INPUT("RINPUT2"), SND_SOC_DAPM_INPUT("LINPUT2"), SND_SOC_DAPM_INPUT("RINPUT3"), SND_SOC_DAPM_INPUT("LINPUT3"), SND_SOC_DAPM_INPUT("AUX"), SND_SOC_DAPM_VMID("VMID"), /* Input */ SND_SOC_DAPM_MIXER("Left Input PGA", WM8900_REG_POWER2, 3, 0, wm8900_linpga_controls, ARRAY_SIZE(wm8900_linpga_controls)), SND_SOC_DAPM_MIXER("Right Input PGA", WM8900_REG_POWER2, 2, 0, wm8900_rinpga_controls, ARRAY_SIZE(wm8900_rinpga_controls)), SND_SOC_DAPM_MIXER("Left Input Mixer", WM8900_REG_POWER2, 5, 0, wm8900_linmix_controls, ARRAY_SIZE(wm8900_linmix_controls)), SND_SOC_DAPM_MIXER("Right Input Mixer", WM8900_REG_POWER2, 4, 0, wm8900_rinmix_controls, ARRAY_SIZE(wm8900_rinmix_controls)),
&alc5632_amp_mux_controls), SND_SOC_DAPM_OUTPUT("AUXOUT"), SND_SOC_DAPM_OUTPUT("HPL"), SND_SOC_DAPM_OUTPUT("HPR"), SND_SOC_DAPM_OUTPUT("SPKOUT"), SND_SOC_DAPM_OUTPUT("SPKOUTN"), SND_SOC_DAPM_INPUT("LINEINL"), SND_SOC_DAPM_INPUT("LINEINR"), SND_SOC_DAPM_INPUT("PHONEP"), SND_SOC_DAPM_INPUT("PHONEN"), SND_SOC_DAPM_INPUT("DMICDAT"), SND_SOC_DAPM_INPUT("MIC1"), SND_SOC_DAPM_INPUT("MIC2"), SND_SOC_DAPM_VMID("Vmid"), }; static const struct snd_soc_dapm_route alc5632_dapm_routes[] = { /* Playback streams */ {"Left DAC", NULL, "AIFRXL"}, {"Right DAC", NULL, "AIFRXR"}, /* virtual mixer - mixes left & right channels */ {"I2S Mix", NULL, "Left DAC"}, {"I2S Mix", NULL, "Right DAC"}, {"Line Mix", NULL, "Right LineIn"}, {"Line Mix", NULL, "Left LineIn"}, {"Phone Mix", NULL, "Phone"}, {"Phone Mix", NULL, "Phone ADMix"},
#include <sound/initval.h> #define DRV_NAME "spdif-dit" #define STUB_RATES SNDRV_PCM_RATE_8000_96000 #define STUB_FORMATS SNDRV_PCM_FMTBIT_S16_LE static struct snd_soc_codec_driver soc_codec_spdif_dit; static int spdif_probe(struct snd_soc_codec *codec) { codec->dapm.idle_bias_off = 1; return 0; } static const struct snd_soc_dapm_widget spdif_dapm_widgets[] = { SND_SOC_DAPM_VMID("spdif dummy Vmid"), }; static int spdif_write(struct snd_soc_codec * codec, unsigned int reg, unsigned int val){ return 0; } static int spdif_read(struct snd_soc_codec * codec, unsigned int reg){ return 0; } static struct snd_soc_codec_driver soc_codec_spdif_dit1 = { .probe = spdif_probe, .dapm_widgets = spdif_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(spdif_dapm_widgets),