mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-04-01 03:54:02 +00:00
Merge remote-tracking branches 'asoc/fix/arizona', 'asoc/fix/atmel', 'asoc/fix/fsl', 'asoc/fix/kirkwood', 'asoc/fix/omap', 'asoc/fix/rcar', 'asoc/fix/wm8731' and 'asoc/fix/wm8990' into asoc-linus
This commit is contained in:
parent
d930f0082d
df9e356092
46bec25da6
6c7ef410c9
4f6f1478c1
fb28a75ad4
0fb50e5539
b4af6ef99a
2ab2b74277
commit
29e248829d
8 changed files with 24 additions and 39 deletions
|
@ -97,6 +97,8 @@ static int sam9x5_wm8731_driver_probe(struct platform_device *pdev)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
snd_soc_card_set_drvdata(card, priv);
|
||||||
|
|
||||||
card->dev = &pdev->dev;
|
card->dev = &pdev->dev;
|
||||||
card->owner = THIS_MODULE;
|
card->owner = THIS_MODULE;
|
||||||
card->dai_link = dai;
|
card->dai_link = dai;
|
||||||
|
|
|
@ -248,19 +248,6 @@ ARIZONA_MIXER_CONTROLS("SPKDAT1R", ARIZONA_OUT5RMIX_INPUT_1_SOURCE),
|
||||||
ARIZONA_MIXER_CONTROLS("SPKDAT2L", ARIZONA_OUT6LMIX_INPUT_1_SOURCE),
|
ARIZONA_MIXER_CONTROLS("SPKDAT2L", ARIZONA_OUT6LMIX_INPUT_1_SOURCE),
|
||||||
ARIZONA_MIXER_CONTROLS("SPKDAT2R", ARIZONA_OUT6RMIX_INPUT_1_SOURCE),
|
ARIZONA_MIXER_CONTROLS("SPKDAT2R", ARIZONA_OUT6RMIX_INPUT_1_SOURCE),
|
||||||
|
|
||||||
SOC_SINGLE("HPOUT1 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_1L,
|
|
||||||
ARIZONA_OUT1_OSR_SHIFT, 1, 0),
|
|
||||||
SOC_SINGLE("HPOUT2 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_2L,
|
|
||||||
ARIZONA_OUT2_OSR_SHIFT, 1, 0),
|
|
||||||
SOC_SINGLE("HPOUT3 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_3L,
|
|
||||||
ARIZONA_OUT3_OSR_SHIFT, 1, 0),
|
|
||||||
SOC_SINGLE("Speaker High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_4L,
|
|
||||||
ARIZONA_OUT4_OSR_SHIFT, 1, 0),
|
|
||||||
SOC_SINGLE("SPKDAT1 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_5L,
|
|
||||||
ARIZONA_OUT5_OSR_SHIFT, 1, 0),
|
|
||||||
SOC_SINGLE("SPKDAT2 High Performance Switch", ARIZONA_OUTPUT_PATH_CONFIG_6L,
|
|
||||||
ARIZONA_OUT6_OSR_SHIFT, 1, 0),
|
|
||||||
|
|
||||||
SOC_DOUBLE_R("HPOUT1 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_1L,
|
SOC_DOUBLE_R("HPOUT1 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_1L,
|
||||||
ARIZONA_DAC_DIGITAL_VOLUME_1R, ARIZONA_OUT1L_MUTE_SHIFT, 1, 1),
|
ARIZONA_DAC_DIGITAL_VOLUME_1R, ARIZONA_OUT1L_MUTE_SHIFT, 1, 1),
|
||||||
SOC_DOUBLE_R("HPOUT2 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_2L,
|
SOC_DOUBLE_R("HPOUT2 Digital Switch", ARIZONA_DAC_DIGITAL_VOLUME_2L,
|
||||||
|
@ -293,18 +280,6 @@ SOC_DOUBLE_R_TLV("SPKDAT2 Digital Volume", ARIZONA_DAC_DIGITAL_VOLUME_6L,
|
||||||
ARIZONA_DAC_DIGITAL_VOLUME_6R, ARIZONA_OUT6L_VOL_SHIFT,
|
ARIZONA_DAC_DIGITAL_VOLUME_6R, ARIZONA_OUT6L_VOL_SHIFT,
|
||||||
0xbf, 0, digital_tlv),
|
0xbf, 0, digital_tlv),
|
||||||
|
|
||||||
SOC_DOUBLE_R_RANGE_TLV("HPOUT1 Volume", ARIZONA_OUTPUT_PATH_CONFIG_1L,
|
|
||||||
ARIZONA_OUTPUT_PATH_CONFIG_1R,
|
|
||||||
ARIZONA_OUT1L_PGA_VOL_SHIFT,
|
|
||||||
0x34, 0x40, 0, ana_tlv),
|
|
||||||
SOC_DOUBLE_R_RANGE_TLV("HPOUT2 Volume", ARIZONA_OUTPUT_PATH_CONFIG_2L,
|
|
||||||
ARIZONA_OUTPUT_PATH_CONFIG_2R,
|
|
||||||
ARIZONA_OUT2L_PGA_VOL_SHIFT,
|
|
||||||
0x34, 0x40, 0, ana_tlv),
|
|
||||||
SOC_DOUBLE_R_RANGE_TLV("HPOUT3 Volume", ARIZONA_OUTPUT_PATH_CONFIG_3L,
|
|
||||||
ARIZONA_OUTPUT_PATH_CONFIG_3R,
|
|
||||||
ARIZONA_OUT3L_PGA_VOL_SHIFT, 0x34, 0x40, 0, ana_tlv),
|
|
||||||
|
|
||||||
SOC_DOUBLE("SPKDAT1 Switch", ARIZONA_PDM_SPK1_CTRL_1, ARIZONA_SPK1L_MUTE_SHIFT,
|
SOC_DOUBLE("SPKDAT1 Switch", ARIZONA_PDM_SPK1_CTRL_1, ARIZONA_SPK1L_MUTE_SHIFT,
|
||||||
ARIZONA_SPK1R_MUTE_SHIFT, 1, 1),
|
ARIZONA_SPK1R_MUTE_SHIFT, 1, 1),
|
||||||
SOC_DOUBLE("SPKDAT2 Switch", ARIZONA_PDM_SPK2_CTRL_1, ARIZONA_SPK2L_MUTE_SHIFT,
|
SOC_DOUBLE("SPKDAT2 Switch", ARIZONA_PDM_SPK2_CTRL_1, ARIZONA_SPK2L_MUTE_SHIFT,
|
||||||
|
|
|
@ -447,10 +447,10 @@ static int wm8731_set_dai_fmt(struct snd_soc_dai *codec_dai,
|
||||||
iface |= 0x0001;
|
iface |= 0x0001;
|
||||||
break;
|
break;
|
||||||
case SND_SOC_DAIFMT_DSP_A:
|
case SND_SOC_DAIFMT_DSP_A:
|
||||||
iface |= 0x0003;
|
iface |= 0x0013;
|
||||||
break;
|
break;
|
||||||
case SND_SOC_DAIFMT_DSP_B:
|
case SND_SOC_DAIFMT_DSP_B:
|
||||||
iface |= 0x0013;
|
iface |= 0x0003;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
|
@ -1259,6 +1259,8 @@ static int wm8990_set_bias_level(struct snd_soc_codec *codec,
|
||||||
|
|
||||||
/* disable POBCTRL, SOFT_ST and BUFDCOPEN */
|
/* disable POBCTRL, SOFT_ST and BUFDCOPEN */
|
||||||
snd_soc_write(codec, WM8990_ANTIPOP2, 0x0);
|
snd_soc_write(codec, WM8990_ANTIPOP2, 0x0);
|
||||||
|
|
||||||
|
codec->cache_sync = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,6 @@ static int pcm030_fabric_probe(struct platform_device *op)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
card->dev = &op->dev;
|
card->dev = &op->dev;
|
||||||
platform_set_drvdata(op, pdata);
|
|
||||||
|
|
||||||
pdata->card = card;
|
pdata->card = card;
|
||||||
|
|
||||||
|
@ -98,6 +97,8 @@ static int pcm030_fabric_probe(struct platform_device *op)
|
||||||
if (ret)
|
if (ret)
|
||||||
dev_err(&op->dev, "snd_soc_register_card() failed: %d\n", ret);
|
dev_err(&op->dev, "snd_soc_register_card() failed: %d\n", ret);
|
||||||
|
|
||||||
|
platform_set_drvdata(op, pdata);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,10 @@
|
||||||
SNDRV_PCM_FMTBIT_S24_LE | \
|
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||||
SNDRV_PCM_FMTBIT_S32_LE)
|
SNDRV_PCM_FMTBIT_S32_LE)
|
||||||
|
|
||||||
|
#define KIRKWOOD_SPDIF_FORMATS \
|
||||||
|
(SNDRV_PCM_FMTBIT_S16_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S24_LE)
|
||||||
|
|
||||||
static int kirkwood_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
static int kirkwood_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||||
unsigned int fmt)
|
unsigned int fmt)
|
||||||
{
|
{
|
||||||
|
@ -244,15 +248,15 @@ static int kirkwood_i2s_play_trigger(struct snd_pcm_substream *substream,
|
||||||
ctl);
|
ctl);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dai->id == 0)
|
|
||||||
ctl &= ~KIRKWOOD_PLAYCTL_SPDIF_EN; /* i2s */
|
|
||||||
else
|
|
||||||
ctl &= ~KIRKWOOD_PLAYCTL_I2S_EN; /* spdif */
|
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case SNDRV_PCM_TRIGGER_START:
|
case SNDRV_PCM_TRIGGER_START:
|
||||||
/* configure */
|
/* configure */
|
||||||
ctl = priv->ctl_play;
|
ctl = priv->ctl_play;
|
||||||
|
if (dai->id == 0)
|
||||||
|
ctl &= ~KIRKWOOD_PLAYCTL_SPDIF_EN; /* i2s */
|
||||||
|
else
|
||||||
|
ctl &= ~KIRKWOOD_PLAYCTL_I2S_EN; /* spdif */
|
||||||
|
|
||||||
value = ctl & ~KIRKWOOD_PLAYCTL_ENABLE_MASK;
|
value = ctl & ~KIRKWOOD_PLAYCTL_ENABLE_MASK;
|
||||||
writel(value, priv->io + KIRKWOOD_PLAYCTL);
|
writel(value, priv->io + KIRKWOOD_PLAYCTL);
|
||||||
|
|
||||||
|
@ -449,14 +453,14 @@ static struct snd_soc_dai_driver kirkwood_i2s_dai[2] = {
|
||||||
.channels_max = 2,
|
.channels_max = 2,
|
||||||
.rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |
|
.rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |
|
||||||
SNDRV_PCM_RATE_96000,
|
SNDRV_PCM_RATE_96000,
|
||||||
.formats = KIRKWOOD_I2S_FORMATS,
|
.formats = KIRKWOOD_SPDIF_FORMATS,
|
||||||
},
|
},
|
||||||
.capture = {
|
.capture = {
|
||||||
.channels_min = 1,
|
.channels_min = 1,
|
||||||
.channels_max = 2,
|
.channels_max = 2,
|
||||||
.rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |
|
.rates = SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |
|
||||||
SNDRV_PCM_RATE_96000,
|
SNDRV_PCM_RATE_96000,
|
||||||
.formats = KIRKWOOD_I2S_FORMATS,
|
.formats = KIRKWOOD_SPDIF_FORMATS,
|
||||||
},
|
},
|
||||||
.ops = &kirkwood_i2s_dai_ops,
|
.ops = &kirkwood_i2s_dai_ops,
|
||||||
},
|
},
|
||||||
|
@ -493,7 +497,7 @@ static struct snd_soc_dai_driver kirkwood_i2s_dai_extclk[2] = {
|
||||||
.rates = SNDRV_PCM_RATE_8000_192000 |
|
.rates = SNDRV_PCM_RATE_8000_192000 |
|
||||||
SNDRV_PCM_RATE_CONTINUOUS |
|
SNDRV_PCM_RATE_CONTINUOUS |
|
||||||
SNDRV_PCM_RATE_KNOT,
|
SNDRV_PCM_RATE_KNOT,
|
||||||
.formats = KIRKWOOD_I2S_FORMATS,
|
.formats = KIRKWOOD_SPDIF_FORMATS,
|
||||||
},
|
},
|
||||||
.capture = {
|
.capture = {
|
||||||
.channels_min = 1,
|
.channels_min = 1,
|
||||||
|
@ -501,7 +505,7 @@ static struct snd_soc_dai_driver kirkwood_i2s_dai_extclk[2] = {
|
||||||
.rates = SNDRV_PCM_RATE_8000_192000 |
|
.rates = SNDRV_PCM_RATE_8000_192000 |
|
||||||
SNDRV_PCM_RATE_CONTINUOUS |
|
SNDRV_PCM_RATE_CONTINUOUS |
|
||||||
SNDRV_PCM_RATE_KNOT,
|
SNDRV_PCM_RATE_KNOT,
|
||||||
.formats = KIRKWOOD_I2S_FORMATS,
|
.formats = KIRKWOOD_SPDIF_FORMATS,
|
||||||
},
|
},
|
||||||
.ops = &kirkwood_i2s_dai_ops,
|
.ops = &kirkwood_i2s_dai_ops,
|
||||||
},
|
},
|
||||||
|
|
|
@ -100,12 +100,12 @@ static int n810_startup(struct snd_pcm_substream *substream)
|
||||||
SNDRV_PCM_HW_PARAM_CHANNELS, 2, 2);
|
SNDRV_PCM_HW_PARAM_CHANNELS, 2, 2);
|
||||||
|
|
||||||
n810_ext_control(&codec->dapm);
|
n810_ext_control(&codec->dapm);
|
||||||
return clk_enable(sys_clkout2);
|
return clk_prepare_enable(sys_clkout2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void n810_shutdown(struct snd_pcm_substream *substream)
|
static void n810_shutdown(struct snd_pcm_substream *substream)
|
||||||
{
|
{
|
||||||
clk_disable(sys_clkout2);
|
clk_disable_unprepare(sys_clkout2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int n810_hw_params(struct snd_pcm_substream *substream,
|
static int n810_hw_params(struct snd_pcm_substream *substream,
|
||||||
|
|
|
@ -37,6 +37,7 @@ config SND_SOC_SH4_SIU
|
||||||
config SND_SOC_RCAR
|
config SND_SOC_RCAR
|
||||||
tristate "R-Car series SRU/SCU/SSIU/SSI support"
|
tristate "R-Car series SRU/SCU/SSIU/SSI support"
|
||||||
select SND_SIMPLE_CARD
|
select SND_SIMPLE_CARD
|
||||||
|
select REGMAP
|
||||||
help
|
help
|
||||||
This option enables R-Car SUR/SCU/SSIU/SSI sound support
|
This option enables R-Car SUR/SCU/SSIU/SSI sound support
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue