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, ben-linux@fluff.org,
june.bae@samsung.com, lrg@slimlogic.co.uk, sw.youn@samsung.com
Subject: [PATCH 22/24] ASoC: SMDK_WM8580: Enable for SMDKC100
Date: Fri, 22 Oct 2010 17:40:00 +0900 [thread overview]
Message-ID: <1287736800-12589-1-git-send-email-jassisinghbrar@gmail.com> (raw)
In-Reply-To: <1287736238-11846-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 020c3f9..8e35bfa 100644
--- a/arch/arm/mach-s5pc100/mach-smdkc100.c
+++ b/arch/arm/mach-s5pc100/mach-smdkc100.c
@@ -95,6 +95,7 @@ static struct s3c2410_uartcfg smdkc100_uartcfgs[] __initdata = {
/* I2C0 */
static struct i2c_board_info i2c_devs0[] __initdata = {
+ {I2C_BOARD_INFO("wm8580", 0x1b),},
};
/* I2C1 */
@@ -189,6 +190,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 95bdd0d..4fabd62 100644
--- a/sound/soc/s3c24xx/Kconfig
+++ b/sound/soc/s3c24xx/Kconfig
@@ -61,7 +61,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 bbd6c97..84b598c 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"
@@ -199,33 +201,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;
@@ -233,6 +251,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
next prev parent reply other threads:[~2010-10-22 8:48 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-22 8:30 [PATCHv2] ASoC: Overhaul Samsung drivers Jassi Brar
2010-10-22 8:31 ` [PATCH 01/24] ASoC: Samsung: Remove redundant AQUILA driver Jassi Brar
2010-10-22 8:32 ` [PATCH 02/24] ASoC: Samsung: Rename DMA device Jassi Brar
2010-10-22 8:34 ` [PATCH 03/24] ARM: Samsung: Define common audio-dma device Jassi Brar
2010-10-22 8:34 ` [PATCH 04/24] ASoC: Samsung: Rename ASoC DMA driver Jassi Brar
2010-10-22 8:34 ` [PATCH 05/24] ASoC: Samsung: Rename AC97 platform device Jassi Brar
2010-10-22 8:35 ` [PATCH 06/24] ASoC: Samsung: Rename AC97 driver Jassi Brar
2010-10-22 8:35 ` [PATCH 07/24] ASoC: Samsung: Rename PCM driver Jassi Brar
2010-10-22 8:35 ` [PATCH 08/24] ASoC: Samsung: Generalize DMA driver namespace Jassi Brar
2010-10-22 8:35 ` [PATCH 09/24] ASoC: Samsung: Rename s3c64xx I2S device Jassi Brar
2010-10-22 8:35 ` [PATCH 10/24] ASoC: Samsung: Add common I2S driver Jassi Brar
2010-10-22 8:36 ` [PATCH 11/24] ARM: S3C64XX: I2S: Upgrade platform device Jassi Brar
2010-10-22 8:36 ` [PATCH 12/24] ARM: S5P64X0: " Jassi Brar
2010-10-22 8:36 ` [PATCH 13/24] ARM: S5P6442: " Jassi Brar
2010-10-22 8:37 ` [PATCH 14/24] ARM: S5PC100: " Jassi Brar
2010-10-22 8:37 ` [PATCH 15/24] ARM: S5PV210: " Jassi Brar
2010-10-22 8:37 ` [PATCH 16/24] ARM: S5PV310: Add audio platform devices Jassi Brar
2010-10-22 8:38 ` [PATCH 17/24] ASoC: SMARTQ: Move to use new I2S driver Jassi Brar
2010-10-22 8:39 ` [PATCH 18/24] ASoC: GONI: " Jassi Brar
2010-10-22 8:39 ` [PATCH 19/24] ASoC: SMDK64XX: " Jassi Brar
2010-10-22 8:39 ` [PATCH 20/24] ASoC: S3C64XX: Remove obsoleted I2S drivers Jassi Brar
2010-10-22 8:39 ` [PATCH 21/24] ASoC: SMDK64XX: Rename for other platforms Jassi Brar
2010-10-22 8:40 ` Jassi Brar [this message]
2010-10-22 8:40 ` [PATCH 23/24] ASoC: Samsung: Generalize Kconfig symbols Jassi Brar
2010-10-23 1:43 ` Kyungmin Park
2010-10-22 8:40 ` [PATCH 24/24] ASoC: Samsung: Rename from s3c24xx to samsung Jassi Brar
2010-10-23 1:39 ` Kyungmin Park
2010-10-22 14:08 ` [PATCHv2] ASoC: Overhaul Samsung drivers Kukjin Kim
2010-10-25 2:17 ` Jassi Brar
2010-10-25 2:31 ` Kukjin Kim
2010-10-25 7:20 ` Jassi Brar
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=1287736800-12589-1-git-send-email-jassisinghbrar@gmail.com \
--to=jassisinghbrar@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=ben-linux@fluff.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