ASoC: cs42l56: Move ADC/PCM Swap to DAPM
The Swap controls for ADC/PCM paths should be in the DAPM domain. Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
@@ -318,24 +318,32 @@ static const struct soc_enum adca_swap_enum =
|
|||||||
ARRAY_SIZE(left_swap_text),
|
ARRAY_SIZE(left_swap_text),
|
||||||
left_swap_text,
|
left_swap_text,
|
||||||
swap_values);
|
swap_values);
|
||||||
|
static const struct snd_kcontrol_new adca_swap_mux =
|
||||||
|
SOC_DAPM_ENUM("Route", adca_swap_enum);
|
||||||
|
|
||||||
static const struct soc_enum pcma_swap_enum =
|
static const struct soc_enum pcma_swap_enum =
|
||||||
SOC_VALUE_ENUM_SINGLE(CS42L56_CHAN_MIX_SWAP, 4, 3,
|
SOC_VALUE_ENUM_SINGLE(CS42L56_CHAN_MIX_SWAP, 4, 3,
|
||||||
ARRAY_SIZE(left_swap_text),
|
ARRAY_SIZE(left_swap_text),
|
||||||
left_swap_text,
|
left_swap_text,
|
||||||
swap_values);
|
swap_values);
|
||||||
|
static const struct snd_kcontrol_new pcma_swap_mux =
|
||||||
|
SOC_DAPM_ENUM("Route", pcma_swap_enum);
|
||||||
|
|
||||||
static const struct soc_enum adcb_swap_enum =
|
static const struct soc_enum adcb_swap_enum =
|
||||||
SOC_VALUE_ENUM_SINGLE(CS42L56_CHAN_MIX_SWAP, 2, 3,
|
SOC_VALUE_ENUM_SINGLE(CS42L56_CHAN_MIX_SWAP, 2, 3,
|
||||||
ARRAY_SIZE(right_swap_text),
|
ARRAY_SIZE(right_swap_text),
|
||||||
right_swap_text,
|
right_swap_text,
|
||||||
swap_values);
|
swap_values);
|
||||||
|
static const struct snd_kcontrol_new adcb_swap_mux =
|
||||||
|
SOC_DAPM_ENUM("Route", adcb_swap_enum);
|
||||||
|
|
||||||
static const struct soc_enum pcmb_swap_enum =
|
static const struct soc_enum pcmb_swap_enum =
|
||||||
SOC_VALUE_ENUM_SINGLE(CS42L56_CHAN_MIX_SWAP, 6, 3,
|
SOC_VALUE_ENUM_SINGLE(CS42L56_CHAN_MIX_SWAP, 6, 3,
|
||||||
ARRAY_SIZE(right_swap_text),
|
ARRAY_SIZE(right_swap_text),
|
||||||
right_swap_text,
|
right_swap_text,
|
||||||
swap_values);
|
swap_values);
|
||||||
|
static const struct snd_kcontrol_new pcmb_swap_mux =
|
||||||
|
SOC_DAPM_ENUM("Route", pcmb_swap_enum);
|
||||||
|
|
||||||
static const struct snd_kcontrol_new hpa_switch =
|
static const struct snd_kcontrol_new hpa_switch =
|
||||||
SOC_DAPM_SINGLE("Switch", CS42L56_PWRCTL_2, 6, 1, 1);
|
SOC_DAPM_SINGLE("Switch", CS42L56_PWRCTL_2, 6, 1, 1);
|
||||||
@@ -467,11 +475,6 @@ static const struct snd_kcontrol_new cs42l56_snd_controls[] = {
|
|||||||
SOC_SINGLE("ADCA Invert", CS42L56_MISC_ADC_CTL, 2, 1, 1),
|
SOC_SINGLE("ADCA Invert", CS42L56_MISC_ADC_CTL, 2, 1, 1),
|
||||||
SOC_SINGLE("ADCB Invert", CS42L56_MISC_ADC_CTL, 3, 1, 1),
|
SOC_SINGLE("ADCB Invert", CS42L56_MISC_ADC_CTL, 3, 1, 1),
|
||||||
|
|
||||||
SOC_ENUM("PCMA Swap", pcma_swap_enum),
|
|
||||||
SOC_ENUM("PCMB Swap", pcmb_swap_enum),
|
|
||||||
SOC_ENUM("ADCA Swap", adca_swap_enum),
|
|
||||||
SOC_ENUM("ADCB Swap", adcb_swap_enum),
|
|
||||||
|
|
||||||
SOC_DOUBLE("HPF Switch", CS42L56_HPF_CTL, 5, 7, 1, 1),
|
SOC_DOUBLE("HPF Switch", CS42L56_HPF_CTL, 5, 7, 1, 1),
|
||||||
SOC_DOUBLE("HPF Freeze Switch", CS42L56_HPF_CTL, 4, 6, 1, 1),
|
SOC_DOUBLE("HPF Freeze Switch", CS42L56_HPF_CTL, 4, 6, 1, 1),
|
||||||
SOC_ENUM("HPFA Corner Freq", hpfa_freq_enum),
|
SOC_ENUM("HPFA Corner Freq", hpfa_freq_enum),
|
||||||
@@ -570,6 +573,16 @@ static const struct snd_soc_dapm_widget cs42l56_dapm_widgets[] = {
|
|||||||
SND_SOC_DAPM_ADC("ADCA", NULL, CS42L56_PWRCTL_1, 1, 1),
|
SND_SOC_DAPM_ADC("ADCA", NULL, CS42L56_PWRCTL_1, 1, 1),
|
||||||
SND_SOC_DAPM_ADC("ADCB", NULL, CS42L56_PWRCTL_1, 2, 1),
|
SND_SOC_DAPM_ADC("ADCB", NULL, CS42L56_PWRCTL_1, 2, 1),
|
||||||
|
|
||||||
|
SND_SOC_DAPM_MUX("ADCA Swap Mux", SND_SOC_NOPM, 0, 0,
|
||||||
|
&adca_swap_mux),
|
||||||
|
SND_SOC_DAPM_MUX("ADCB Swap Mux", SND_SOC_NOPM, 0, 0,
|
||||||
|
&adcb_swap_mux),
|
||||||
|
|
||||||
|
SND_SOC_DAPM_MUX("PCMA Swap Mux", SND_SOC_NOPM, 0, 0,
|
||||||
|
&pcma_swap_mux),
|
||||||
|
SND_SOC_DAPM_MUX("PCMB Swap Mux", SND_SOC_NOPM, 0, 0,
|
||||||
|
&pcmb_swap_mux),
|
||||||
|
|
||||||
SND_SOC_DAPM_DAC("DACA", NULL, SND_SOC_NOPM, 0, 0),
|
SND_SOC_DAPM_DAC("DACA", NULL, SND_SOC_NOPM, 0, 0),
|
||||||
SND_SOC_DAPM_DAC("DACB", NULL, SND_SOC_NOPM, 0, 0),
|
SND_SOC_DAPM_DAC("DACB", NULL, SND_SOC_NOPM, 0, 0),
|
||||||
|
|
||||||
@@ -607,8 +620,19 @@ static const struct snd_soc_dapm_route cs42l56_audio_map[] = {
|
|||||||
{"Digital Output Mux", NULL, "ADCA"},
|
{"Digital Output Mux", NULL, "ADCA"},
|
||||||
{"Digital Output Mux", NULL, "ADCB"},
|
{"Digital Output Mux", NULL, "ADCB"},
|
||||||
|
|
||||||
{"ADCB", NULL, "ADCB Mux"},
|
{"ADCB", NULL, "ADCB Swap Mux"},
|
||||||
{"ADCA", NULL, "ADCA Mux"},
|
{"ADCA", NULL, "ADCA Swap Mux"},
|
||||||
|
|
||||||
|
{"ADCA Swap Mux", NULL, "ADCA"},
|
||||||
|
{"ADCB Swap Mux", NULL, "ADCB"},
|
||||||
|
|
||||||
|
{"DACA", "Left", "ADCA Swap Mux"},
|
||||||
|
{"DACA", "LR 2", "ADCA Swap Mux"},
|
||||||
|
{"DACA", "Right", "ADCA Swap Mux"},
|
||||||
|
|
||||||
|
{"DACB", "Left", "ADCB Swap Mux"},
|
||||||
|
{"DACB", "LR 2", "ADCB Swap Mux"},
|
||||||
|
{"DACB", "Right", "ADCB Swap Mux"},
|
||||||
|
|
||||||
{"ADCA Mux", NULL, "AIN3A"},
|
{"ADCA Mux", NULL, "AIN3A"},
|
||||||
{"ADCA Mux", NULL, "AIN2A"},
|
{"ADCA Mux", NULL, "AIN2A"},
|
||||||
@@ -633,30 +657,32 @@ static const struct snd_soc_dapm_route cs42l56_audio_map[] = {
|
|||||||
{"PGAB Input Mux", NULL, "AIN2B"},
|
{"PGAB Input Mux", NULL, "AIN2B"},
|
||||||
{"PGAB Input Mux", NULL, "AIN3B"},
|
{"PGAB Input Mux", NULL, "AIN3B"},
|
||||||
|
|
||||||
{"LOB", NULL, "Lineout Right"},
|
{"LOB", "Switch", "LINEOUTB Input Mux"},
|
||||||
{"LOA", NULL, "Lineout Left"},
|
{"LOA", "Switch", "LINEOUTA Input Mux"},
|
||||||
|
|
||||||
{"Lineout Right", "Switch", "LINEOUTB Input Mux"},
|
|
||||||
{"Lineout Left", "Switch", "LINEOUTA Input Mux"},
|
|
||||||
|
|
||||||
{"LINEOUTA Input Mux", "PGAA", "PGAA"},
|
{"LINEOUTA Input Mux", "PGAA", "PGAA"},
|
||||||
{"LINEOUTB Input Mux", "PGAB", "PGAB"},
|
{"LINEOUTB Input Mux", "PGAB", "PGAB"},
|
||||||
{"LINEOUTA Input Mux", "DACA", "DACA"},
|
{"LINEOUTA Input Mux", "DACA", "DACA"},
|
||||||
{"LINEOUTB Input Mux", "DACB", "DACB"},
|
{"LINEOUTB Input Mux", "DACB", "DACB"},
|
||||||
|
|
||||||
{"HPA", NULL, "Headphone Left"},
|
{"HPA", "Switch", "HPB Input Mux"},
|
||||||
{"HPB", NULL, "Headphone Right"},
|
{"HPB", "Switch", "HPA Input Mux"},
|
||||||
|
|
||||||
{"Headphone Right", "Switch", "HPB Input Mux"},
|
|
||||||
{"Headphone Left", "Switch", "HPA Input Mux"},
|
|
||||||
|
|
||||||
{"HPA Input Mux", "PGAA", "PGAA"},
|
{"HPA Input Mux", "PGAA", "PGAA"},
|
||||||
{"HPB Input Mux", "PGAB", "PGAB"},
|
{"HPB Input Mux", "PGAB", "PGAB"},
|
||||||
{"HPA Input Mux", "DACA", "DACA"},
|
{"HPA Input Mux", "DACA", "DACA"},
|
||||||
{"HPB Input Mux", "DACB", "DACB"},
|
{"HPB Input Mux", "DACB", "DACB"},
|
||||||
|
|
||||||
{"DACB", NULL, "HiFi Playback"},
|
{"DACA", NULL, "PCMA Swap Mux"},
|
||||||
{"DACA", NULL, "HiFi Playback"},
|
{"DACB", NULL, "PCMB Swap Mux"},
|
||||||
|
|
||||||
|
{"PCMB Swap Mux", "Left", "HiFi Playback"},
|
||||||
|
{"PCMB Swap Mux", "LR 2", "HiFi Playback"},
|
||||||
|
{"PCMB Swap Mux", "Right", "HiFi Playback"},
|
||||||
|
|
||||||
|
{"PCMA Swap Mux", "Left", "HiFi Playback"},
|
||||||
|
{"PCMA Swap Mux", "LR 2", "HiFi Playback"},
|
||||||
|
{"PCMA Swap Mux", "Right", "HiFi Playback"},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user