alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Jassi Brar <jassisinghbrar@gmail.com>
To: alsa-devel@alsa-project.org
Cc: kgene.kim@samsung.com, Jassi Brar <jassi.brar@samsung.com>,
	broonie@opensource.wolfsonmicro.com, june.bae@samsung.com,
	lrg@slimlogic.co.uk, sw.youn@samsung.com
Subject: [PATCHv4 16/18] ASoC: SMDK_WM8580: Enable for SMDKC100
Date: Mon, 22 Nov 2010 15:37:19 +0900	[thread overview]
Message-ID: <1290407839-29559-1-git-send-email-jassisinghbrar@gmail.com> (raw)
In-Reply-To: <1290407690-28917-1-git-send-email-jassisinghbrar@gmail.com>

From: Jassi Brar <jassi.brar@samsung.com>

Enable the ASoC Machine driver to run on SMDKC100 as well.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
---
 arch/arm/mach-s5pc100/mach-smdkc100.c |    2 +
 sound/soc/s3c24xx/Kconfig             |    2 +-
 sound/soc/s3c24xx/smdk_wm8580.c       |   73 +++++++++++++++++++++++---------
 3 files changed, 55 insertions(+), 22 deletions(-)

diff --git a/arch/arm/mach-s5pc100/mach-smdkc100.c b/arch/arm/mach-s5pc100/mach-smdkc100.c
index 18b405d..dd192a2 100644
--- a/arch/arm/mach-s5pc100/mach-smdkc100.c
+++ b/arch/arm/mach-s5pc100/mach-smdkc100.c
@@ -96,6 +96,7 @@ static struct s3c2410_uartcfg smdkc100_uartcfgs[] __initdata = {
 
 /* I2C0 */
 static struct i2c_board_info i2c_devs0[] __initdata = {
+	{I2C_BOARD_INFO("wm8580", 0x1b),},
 };
 
 /* I2C1 */
@@ -190,6 +191,7 @@ static struct platform_device *smdkc100_devices[] __initdata = {
 	&s3c_device_ts,
 	&s3c_device_wdt,
 	&smdkc100_lcd_powerdev,
+	&samsung_asoc_dma,
 	&s5pc100_device_iis0,
 	&samsung_device_keypad,
 	&s5pc100_device_ac97,
diff --git a/sound/soc/s3c24xx/Kconfig b/sound/soc/s3c24xx/Kconfig
index 396f678..4989fad 100644
--- a/sound/soc/s3c24xx/Kconfig
+++ b/sound/soc/s3c24xx/Kconfig
@@ -62,7 +62,7 @@ config SND_S3C24XX_SOC_JIVE_WM8750
 
 config SND_SOC_SMDK_WM8580
 	tristate "SoC I2S Audio support for WM8580 on SMDK"
-	depends on SND_S3C24XX_SOC && MACH_SMDK6410
+	depends on SND_S3C24XX_SOC && (MACH_SMDK6410 || MACH_SMDKC100)
 	select SND_SOC_WM8580
 	select SND_SAMSUNG_I2S
 	help
diff --git a/sound/soc/s3c24xx/smdk_wm8580.c b/sound/soc/s3c24xx/smdk_wm8580.c
index 4176252..9061268 100644
--- a/sound/soc/s3c24xx/smdk_wm8580.c
+++ b/sound/soc/s3c24xx/smdk_wm8580.c
@@ -18,6 +18,8 @@
 #include <sound/soc.h>
 #include <sound/soc-dapm.h>
 
+#include <asm/mach-types.h>
+
 #include "../codecs/wm8580.h"
 #include "dma.h"
 #include "i2s.h"
@@ -201,33 +203,49 @@ static int smdk_wm8580_init_paifrx(struct snd_soc_pcm_runtime *rtd)
 	return 0;
 }
 
+enum {
+	PRI_PLAYBACK = 0,
+	PRI_CAPTURE,
+	SEC_PLAYBACK,
+};
+
 static struct snd_soc_dai_link smdk_dai[] = {
-{ /* Primary Playback i/f */
-	.name = "WM8580 PAIF RX",
-	.stream_name = "Playback",
-	.cpu_dai_name = "samsung-i2s.2",
-	.codec_dai_name = "wm8580-hifi-playback",
-	.platform_name = "samsung-audio",
-	.codec_name = "wm8580-codec.0-001b",
-	.init = smdk_wm8580_init_paifrx,
-	.ops = &smdk_ops,
-},
-{ /* Primary Capture i/f */
-	.name = "WM8580 PAIF TX",
-	.stream_name = "Capture",
-	.cpu_dai_name = "samsung-i2s.2",
-	.codec_dai_name = "wm8580-hifi-capture",
-	.platform_name = "samsung-audio",
-	.codec_name = "wm8580-codec.0-001b",
-	.init = smdk_wm8580_init_paiftx,
-	.ops = &smdk_ops,
-},
+	[PRI_PLAYBACK] = { /* Primary Playback i/f */
+		.name = "WM8580 PAIF RX",
+		.stream_name = "Playback",
+		.cpu_dai_name = "samsung-i2s.2",
+		.codec_dai_name = "wm8580-hifi-playback",
+		.platform_name = "samsung-audio",
+		.codec_name = "wm8580-codec.0-001b",
+		.init = smdk_wm8580_init_paifrx,
+		.ops = &smdk_ops,
+	},
+	[PRI_CAPTURE] = { /* Primary Capture i/f */
+		.name = "WM8580 PAIF TX",
+		.stream_name = "Capture",
+		.cpu_dai_name = "samsung-i2s.2",
+		.codec_dai_name = "wm8580-hifi-capture",
+		.platform_name = "samsung-audio",
+		.codec_name = "wm8580-codec.0-001b",
+		.init = smdk_wm8580_init_paiftx,
+		.ops = &smdk_ops,
+	},
+	[SEC_PLAYBACK] = { /* Sec_Fifo Playback i/f */
+		.name = "Sec_FIFO TX",
+		.stream_name = "Playback",
+		.cpu_dai_name = "samsung-i2s.x",
+		.codec_dai_name = "wm8580-hifi-playback",
+		.platform_name = "samsung-audio",
+		.codec_name = "wm8580-codec.0-001b",
+		.init = smdk_wm8580_init_paifrx,
+		.ops = &smdk_ops,
+	},
 };
 
 static struct snd_soc_card smdk = {
 	.name = "SMDK-I2S",
 	.dai_link = smdk_dai,
-	.num_links = ARRAY_SIZE(smdk_dai),
+	.num_links = 2,
 };
 
 static struct platform_device *smdk_snd_device;
@@ -235,6 +253,19 @@ static struct platform_device *smdk_snd_device;
 static int __init smdk_audio_init(void)
 {
 	int ret;
+	char *str;
+
+	if (machine_is_smdkc100()) {
+		smdk.num_links = 3;
+		/* S5PC100 has I2S0 as v5 */
+		str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
+		str[strlen(str) - 1] = '0';
+		str = (char *)smdk_dai[PRI_CAPTURE].cpu_dai_name;
+		str[strlen(str) - 1] = '0';
+		/* Secondary is at offset SAMSUNG_I2S_SECOFF from Primary */
+		str = (char *)smdk_dai[SEC_PLAYBACK].cpu_dai_name;
+		str[strlen(str) - 1] = '0' + SAMSUNG_I2S_SECOFF;
+	}
 
 	smdk_snd_device = platform_device_alloc("soc-audio", -1);
 	if (!smdk_snd_device)
-- 
1.6.2.5

  parent reply	other threads:[~2010-11-22  6:51 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-26  1:30 [PATCHv3] ASoC: Overhaul Samsung drivers Jassi Brar
2010-10-26  1:31 ` [PATCH 01/18] ASoC: Samsung: Remove redundant AQUILA driver Jassi Brar
2010-10-26  1:32 ` [PATCH 02/18] ASoC: Samsung: Rename DMA device Jassi Brar
2010-10-26  1:33 ` [PATCH 05/18] ASoC: Samsung: Rename AC97 platform device Jassi Brar
2010-10-26  1:33 ` [PATCH 06/18] ASoC: Samsung: Rename AC97 driver Jassi Brar
2010-10-26  1:33 ` [PATCH 04/18] ASoC: Samsung: Rename ASoC DMA driver Jassi Brar
2010-10-26  1:33 ` [PATCH 03/18] ARM: Samsung: Define common audio-dma device Jassi Brar
2010-10-26  1:33 ` [PATCH 09/18] ASoC: Samsung: Rename s3c64xx I2S device Jassi Brar
2010-10-26  1:33 ` [PATCH 07/18] ASoC: Samsung: Rename PCM driver Jassi Brar
2010-10-26  1:33 ` [PATCH 08/18] ASoC: Samsung: Generalize DMA driver namespace Jassi Brar
2010-10-26  1:33 ` [PATCH 11/18] ASoC: SMARTQ: Move to use new I2S driver Jassi Brar
2010-10-26  1:33 ` [PATCH 13/18] ASoC: SMDK64XX: " Jassi Brar
2010-10-26  1:33 ` [PATCH 12/18] ASoC: GONI: " Jassi Brar
2010-10-26  1:33 ` [PATCH 10/18] ASoC: Samsung: Add common " Jassi Brar
2010-10-26  1:33 ` [PATCH 15/18] ASoC: SMDK64XX: Rename for other platforms Jassi Brar
2010-10-26  1:33 ` [PATCH 14/18] ASoC: S3C64XX: Remove obsoleted I2S drivers Jassi Brar
2010-10-26  1:33 ` [PATCH 16/18] ASoC: SMDK_WM8580: Enable for SMDKC100 Jassi Brar
2010-10-26  1:33 ` [PATCH 18/18] ASoC: Samsung: Rename from s3c24xx to samsung Jassi Brar
2010-10-26  1:33 ` [PATCH 17/18] ASoC: Samsung: Generalize Kconfig symbols Jassi Brar
2010-11-22  6:34 ` [PATCHv4] ASoC: Overhaul Samsung drivers Jassi Brar
2010-11-22  6:35   ` [PATCHv4 01/18] ASoC: Samsung: Remove redundant AQUILA driver Jassi Brar
2010-11-22  6:35   ` [PATCHv4 02/18] ASoC: Samsung: Rename DMA device Jassi Brar
2010-11-22  7:05     ` Kukjin Kim
2010-11-22  6:35   ` [PATCHv4 03/18] ARM: Samsung: Define common audio-dma device Jassi Brar
2010-11-22  7:07     ` Kukjin Kim
2010-11-22  6:35   ` [PATCHv4 04/18] ASoC: Samsung: Rename ASoC DMA driver Jassi Brar
2010-11-22  6:36   ` [PATCHv4 05/18] ASoC: Samsung: Rename AC97 platform device Jassi Brar
2010-11-22  7:09     ` Kukjin Kim
2010-11-22  6:36   ` [PATCHv4 06/18] ASoC: Samsung: Rename AC97 driver Jassi Brar
2010-11-22  6:36   ` [PATCHv4 07/18] ASoC: Samsung: Rename PCM driver Jassi Brar
2010-11-22  6:36   ` [PATCHv4 08/18] ASoC: Samsung: Generalize DMA driver namespace Jassi Brar
2010-11-22  6:36   ` [PATCHv4 09/18] ASoC: Samsung: Rename s3c64xx I2S device Jassi Brar
2010-11-22  6:36   ` [PATCHv4 10/18] ASoC: Samsung: Add common I2S driver Jassi Brar
2010-11-22  6:37   ` [PATCHv4 11/18] ASoC: SMARTQ: Move to use new " Jassi Brar
2010-11-22  6:37   ` [PATCHv4 12/18] ASoC: GONI: " Jassi Brar
2010-11-22  6:37   ` [PATCHv4 13/18] ASoC: SMDK64XX: " Jassi Brar
2010-11-22  6:37   ` [PATCHv4 14/18] ASoC: S3C64XX: Remove obsoleted I2S drivers Jassi Brar
2010-11-22  6:37   ` [PATCHv4 15/18] ASoC: SMDK64XX: Rename for other platforms Jassi Brar
2010-11-22  6:37   ` Jassi Brar [this message]
2010-11-22  7:13     ` [PATCHv4 16/18] ASoC: SMDK_WM8580: Enable for SMDKC100 Kukjin Kim
2010-11-22  6:37   ` [PATCHv4 17/18] ASoC: Samsung: Generalize Kconfig symbols Jassi Brar
2010-11-23 14:12     ` Mark Brown
2010-11-23 14:16       ` Jassi Brar
2010-11-23 14:25         ` Mark Brown
2010-11-22  6:37   ` [PATCHv4 18/18] ASoC: Samsung: Rename from s3c24xx to samsung Jassi Brar
2010-11-23 14:23   ` [PATCHv4] ASoC: Overhaul Samsung drivers Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1290407839-29559-1-git-send-email-jassisinghbrar@gmail.com \
    --to=jassisinghbrar@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=jassi.brar@samsung.com \
    --cc=june.bae@samsung.com \
    --cc=kgene.kim@samsung.com \
    --cc=lrg@slimlogic.co.uk \
    --cc=sw.youn@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).