* [PATCH 0/3] ASoC updates
@ 2008-09-16 12:48 Mark Brown
2008-09-16 12:49 ` [PATCH 1/3] ASoC: Fix dependency on AC97_BUS Mark Brown
2008-09-16 16:16 ` [PATCH 0/3] ASoC updates Takashi Iwai
0 siblings, 2 replies; 7+ messages in thread
From: Mark Brown @ 2008-09-16 12:48 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 78bd2cd2124d3a77f7f78af47849ea571a73f2a1:
Dmitry Baryshkov (1):
ALSA: Separate common pxa2xx-pcm code
are available in the git repository at:
git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Mark Brown (3):
ASoC: Fix dependency on AC97_BUS
ASoC: DAPM support for ADC on WM9713 PCM interface
ASoC: Add WM8750 SPI support
sound/soc/Kconfig | 1 +
sound/soc/codecs/wm8750.c | 70 ++++++++++++++++++++++++++++++++++++++++++++-
sound/soc/codecs/wm8750.h | 1 +
sound/soc/codecs/wm9713.c | 12 ++++++-
4 files changed, 81 insertions(+), 3 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] ASoC: Fix dependency on AC97_BUS
2008-09-16 12:48 [PATCH 0/3] ASoC updates Mark Brown
@ 2008-09-16 12:49 ` Mark Brown
2008-09-16 12:49 ` [PATCH 2/3] ASoC: DAPM support for ADC on WM9713 PCM interface Mark Brown
2008-09-16 16:16 ` [PATCH 0/3] ASoC updates Takashi Iwai
1 sibling, 1 reply; 7+ messages in thread
From: Mark Brown @ 2008-09-16 12:49 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
When built with AC97 support the ASoC core depends on AC97_BUS so force
it to be available Kconfig.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/Kconfig | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
index 32ac940..4dfda66 100644
--- a/sound/soc/Kconfig
+++ b/sound/soc/Kconfig
@@ -5,6 +5,7 @@
menuconfig SND_SOC
tristate "ALSA for SoC audio support"
select SND_PCM
+ select AC97_BUS if SND_SOC_AC97_BUS
---help---
If you want ASoC support, you should say Y here and also to the
--
1.5.6.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] ASoC: DAPM support for ADC on WM9713 PCM interface
2008-09-16 12:49 ` [PATCH 1/3] ASoC: Fix dependency on AC97_BUS Mark Brown
@ 2008-09-16 12:49 ` Mark Brown
2008-09-16 12:49 ` [PATCH 3/3] ASoC: Add WM8750 SPI support Mark Brown
0 siblings, 1 reply; 7+ messages in thread
From: Mark Brown @ 2008-09-16 12:49 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
The stereo ADC in the WM9713 can be used to produce data for both the
standard AC97 interface and the additional voice PCM interface. Support
use on both by defining virtual ADCs tied to each accepting the output
from the actual ADCs.
Reported-by: Rodolfo Giometti <giometti@enneenne.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/wm9713.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c
index c10f8a3..441d058 100644
--- a/sound/soc/codecs/wm9713.c
+++ b/sound/soc/codecs/wm9713.c
@@ -419,8 +419,12 @@ SND_SOC_DAPM_MIXER("Line Mixer", SND_SOC_NOPM, 0, 0, NULL, 0),
SND_SOC_DAPM_MIXER("Capture Mixer", SND_SOC_NOPM, 0, 0, NULL, 0),
SND_SOC_DAPM_DAC("Voice DAC", "Voice Playback", AC97_EXTENDED_MID, 12, 1),
SND_SOC_DAPM_DAC("Aux DAC", "Aux Playback", AC97_EXTENDED_MID, 11, 1),
-SND_SOC_DAPM_ADC("Left ADC", "Left HiFi Capture", AC97_EXTENDED_MID, 5, 1),
-SND_SOC_DAPM_ADC("Right ADC", "Right HiFi Capture", AC97_EXTENDED_MID, 4, 1),
+SND_SOC_DAPM_PGA("Left ADC", AC97_EXTENDED_MID, 5, 1, NULL, 0),
+SND_SOC_DAPM_PGA("Right ADC", AC97_EXTENDED_MID, 4, 1, NULL, 0),
+SND_SOC_DAPM_ADC("Left HiFi ADC", "Left HiFi Capture", SND_SOC_NOPM, 0, 0),
+SND_SOC_DAPM_ADC("Right HiFi ADC", "Right HiFi Capture", SND_SOC_NOPM, 0, 0),
+SND_SOC_DAPM_ADC("Left Voice ADC", "Left Voice Capture", SND_SOC_NOPM, 0, 0),
+SND_SOC_DAPM_ADC("Right Voice ADC", "Right Voice Capture", SND_SOC_NOPM, 0, 0),
SND_SOC_DAPM_PGA("Left Headphone", AC97_EXTENDED_MSTATUS, 10, 1, NULL, 0),
SND_SOC_DAPM_PGA("Right Headphone", AC97_EXTENDED_MSTATUS, 9, 1, NULL, 0),
SND_SOC_DAPM_PGA("Left Speaker", AC97_EXTENDED_MSTATUS, 8, 1, NULL, 0),
@@ -583,9 +587,13 @@ static const struct snd_soc_dapm_route audio_map[] = {
/* left ADC */
{"Left ADC", NULL, "Left Capture Source"},
+ {"Left Voice ADC", NULL, "Left ADC"},
+ {"Left HiFi ADC", NULL, "Left ADC"},
/* right ADC */
{"Right ADC", NULL, "Right Capture Source"},
+ {"Right Voice ADC", NULL, "Right ADC"},
+ {"Right HiFi ADC", NULL, "Right ADC"},
/* mic */
{"Mic A Pre Amp", NULL, "Mic A Source"},
--
1.5.6.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] ASoC: Add WM8750 SPI support
2008-09-16 12:49 ` [PATCH 2/3] ASoC: DAPM support for ADC on WM9713 PCM interface Mark Brown
@ 2008-09-16 12:49 ` Mark Brown
0 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2008-09-16 12:49 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
Implement SPI support for WM8750, cut'n'pasting from the support for
WM8731 contributed by Cliff Cai and Alan Horstmann since the wire format
is the same for both codecs.
Also fix a cut'n'pasted comment in the I2C side of the driver (which was
clearly written in the same way) while we're at it.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/wm8750.c | 70 ++++++++++++++++++++++++++++++++++++++++++++-
sound/soc/codecs/wm8750.h | 1 +
2 files changed, 70 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/wm8750.c b/sound/soc/codecs/wm8750.c
index 9847aa0..4892e39 100644
--- a/sound/soc/codecs/wm8750.c
+++ b/sound/soc/codecs/wm8750.c
@@ -19,6 +19,7 @@
#include <linux/pm.h>
#include <linux/i2c.h>
#include <linux/platform_device.h>
+#include <linux/spi/spi.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
@@ -841,7 +842,7 @@ static struct snd_soc_device *wm8750_socdev;
#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
/*
- * WM8731 2 wire address is determined by GPIO5
+ * WM8750 2 wire address is determined by GPIO5
* state during powerup.
* low = 0x1a
* high = 0x1b
@@ -928,6 +929,62 @@ err_driver:
}
#endif
+#if defined(CONFIG_SPI_MASTER)
+static int __devinit wm8750_spi_probe(struct spi_device *spi)
+{
+ struct snd_soc_device *socdev = wm8750_socdev;
+ struct snd_soc_codec *codec = socdev->codec;
+ int ret;
+
+ codec->control_data = spi;
+
+ ret = wm8750_init(socdev);
+ if (ret < 0)
+ dev_err(&spi->dev, "failed to initialise WM8750\n");
+
+ return ret;
+}
+
+static int __devexit wm8750_spi_remove(struct spi_device *spi)
+{
+ return 0;
+}
+
+static struct spi_driver wm8750_spi_driver = {
+ .driver = {
+ .name = "wm8750",
+ .bus = &spi_bus_type,
+ .owner = THIS_MODULE,
+ },
+ .probe = wm8750_spi_probe,
+ .remove = __devexit_p(wm8750_spi_remove),
+};
+
+static int wm8750_spi_write(struct spi_device *spi, const char *data, int len)
+{
+ struct spi_transfer t;
+ struct spi_message m;
+ u8 msg[2];
+
+ if (len <= 0)
+ return 0;
+
+ msg[0] = data[0];
+ msg[1] = data[1];
+
+ spi_message_init(&m);
+ memset(&t, 0, (sizeof t));
+
+ t.tx_buf = &msg[0];
+ t.len = len;
+
+ spi_message_add_tail(&t, &m);
+ spi_sync(spi, &m);
+
+ return len;
+}
+#endif
+
static int wm8750_probe(struct platform_device *pdev)
{
struct snd_soc_device *socdev = platform_get_drvdata(pdev);
@@ -963,6 +1020,14 @@ static int wm8750_probe(struct platform_device *pdev)
ret = wm8750_add_i2c_device(pdev, setup);
}
#endif
+#if defined(CONFIG_SPI_MASTER)
+ if (setup->spi) {
+ codec->hw_write = (hw_write_t)wm8750_spi_write;
+ ret = spi_register_driver(&wm8750_spi_driver);
+ if (ret != 0)
+ printk(KERN_ERR "can't add spi driver");
+ }
+#endif
if (ret != 0) {
kfree(codec->private_data);
@@ -1005,6 +1070,9 @@ static int wm8750_remove(struct platform_device *pdev)
i2c_unregister_device(codec->control_data);
i2c_del_driver(&wm8750_i2c_driver);
#endif
+#if defined(CONFIG_SPI_MASTER)
+ spi_unregister_driver(&wm8750_spi_driver);
+#endif
kfree(codec->private_data);
kfree(codec);
diff --git a/sound/soc/codecs/wm8750.h b/sound/soc/codecs/wm8750.h
index fe6c80f..1dc100e 100644
--- a/sound/soc/codecs/wm8750.h
+++ b/sound/soc/codecs/wm8750.h
@@ -58,6 +58,7 @@
#define WM8750_SYSCLK 0
struct wm8750_setup_data {
+ int spi;
int i2c_bus;
unsigned short i2c_address;
};
--
1.5.6.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] ASoC updates
2008-09-16 12:48 [PATCH 0/3] ASoC updates Mark Brown
2008-09-16 12:49 ` [PATCH 1/3] ASoC: Fix dependency on AC97_BUS Mark Brown
@ 2008-09-16 16:16 ` Takashi Iwai
1 sibling, 0 replies; 7+ messages in thread
From: Takashi Iwai @ 2008-09-16 16:16 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Tue, 16 Sep 2008 13:48:51 +0100,
Mark Brown wrote:
>
> The following changes since commit 78bd2cd2124d3a77f7f78af47849ea571a73f2a1:
> Dmitry Baryshkov (1):
> ALSA: Separate common pxa2xx-pcm code
>
> are available in the git repository at:
>
> git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Looks OK, so pull now. Thanks!
Takashi
> Mark Brown (3):
> ASoC: Fix dependency on AC97_BUS
> ASoC: DAPM support for ADC on WM9713 PCM interface
> ASoC: Add WM8750 SPI support
>
> sound/soc/Kconfig | 1 +
> sound/soc/codecs/wm8750.c | 70 ++++++++++++++++++++++++++++++++++++++++++++-
> sound/soc/codecs/wm8750.h | 1 +
> sound/soc/codecs/wm9713.c | 12 ++++++-
> 4 files changed, 81 insertions(+), 3 deletions(-)
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 0/3] ASoC updates
@ 2008-11-27 15:15 Mark Brown
2008-11-27 15:26 ` Takashi Iwai
0 siblings, 1 reply; 7+ messages in thread
From: Mark Brown @ 2008-11-27 15:15 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 5c0d7bb797a975691ca8bbc38e53da03c6e151bb:
Dmitry Baryshkov (1):
ASoC: tosa: move gpio probing to machine callbacks
are available in the git repository at:
git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Daniel Mack (1):
ASoC: Allow more routing features for tlv320aic3x
Mark Brown (1):
ASoC: Fix word wrapping in OMAP Kconfig
Qinghuang Feng (1):
ASoC: Clean up kernel-doc for snd_soc_dai_set_fmt
sound/soc/codecs/tlv320aic3x.c | 96 +++++++++++++++++++++++++++------------
sound/soc/codecs/tlv320aic3x.h | 12 +++++
sound/soc/omap/Kconfig | 5 +-
sound/soc/soc-core.c | 1 -
4 files changed, 80 insertions(+), 34 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] ASoC updates
2008-11-27 15:15 Mark Brown
@ 2008-11-27 15:26 ` Takashi Iwai
0 siblings, 0 replies; 7+ messages in thread
From: Takashi Iwai @ 2008-11-27 15:26 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Thu, 27 Nov 2008 15:15:53 +0000,
Mark Brown wrote:
>
> The following changes since commit 5c0d7bb797a975691ca8bbc38e53da03c6e151bb:
> Dmitry Baryshkov (1):
> ASoC: tosa: move gpio probing to machine callbacks
>
> are available in the git repository at:
>
> git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Applied. Thanks.
Takashi
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-11-27 15:26 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-16 12:48 [PATCH 0/3] ASoC updates Mark Brown
2008-09-16 12:49 ` [PATCH 1/3] ASoC: Fix dependency on AC97_BUS Mark Brown
2008-09-16 12:49 ` [PATCH 2/3] ASoC: DAPM support for ADC on WM9713 PCM interface Mark Brown
2008-09-16 12:49 ` [PATCH 3/3] ASoC: Add WM8750 SPI support Mark Brown
2008-09-16 16:16 ` [PATCH 0/3] ASoC updates Takashi Iwai
-- strict thread matches above, loose matches on Subject: below --
2008-11-27 15:15 Mark Brown
2008-11-27 15:26 ` Takashi Iwai
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.