summaryrefslogtreecommitdiff
path: root/sound/soc/ux500
diff options
context:
space:
mode:
authorShyam Krishnan M <shyam.moni@stericsson.com>2011-08-31 18:48:18 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:04:54 +0200
commit58ff5b9b5bc1bb2f24da075b7165e207ba3c1552 (patch)
tree840d600a96939a85aafcc85acfe44acc2ac6d0f9 /sound/soc/ux500
parent1eaa725bd8e97178bdbd1b106b06e13d96da2a8e (diff)
Ux500 ASoC: Add codec-driver for AB5500
ST-Ericsson Linux next: Not tested ST-Ericsson ID: 332112 ST-Ericsson FOSS-OUT ID: STETL-FOSS-OUT-10006 Ref: Commit-id: Ic35d9290ab3d938f19b8581c8e82cbd878952f54 Signed-off-by: Avinash A <Avinash.a@stericsson.com> Change-Id: I0f48b74fd7f46f10b45834d74f8167a1a45f1ea7 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30116 Reviewed-by: Avinash A <avinash.a@stericsson.com> Tested-by: Avinash A <avinash.a@stericsson.com>
Diffstat (limited to 'sound/soc/ux500')
-rw-r--r--sound/soc/ux500/u5500.c18
-rw-r--r--sound/soc/ux500/ux500_msp_dai.c10
-rwxr-xr-x[-rw-r--r--]sound/soc/ux500/ux500_msp_dai.h10
3 files changed, 28 insertions, 10 deletions
diff --git a/sound/soc/ux500/u5500.c b/sound/soc/ux500/u5500.c
index 11851e0153e..bd5ee83fe99 100644
--- a/sound/soc/ux500/u5500.c
+++ b/sound/soc/ux500/u5500.c
@@ -39,7 +39,6 @@ static struct platform_device ux500_pcm = {
/* Define the whole U5500 soundcard, linking platform to the codec-drivers */
struct snd_soc_dai_link u5500_dai_links[] = {
-#ifdef CONFIG_SND_SOC_UX500_AB5500
{
.name = "ab5500_0",
.stream_name = "ab5500_0",
@@ -55,7 +54,22 @@ struct snd_soc_dai_link u5500_dai_links[] = {
.hw_params = ux500_ab5500_hw_params,
}
}
-#endif
+ },
+ {
+ .name = "ab5500_1",
+ .stream_name = "ab5500_1",
+ .cpu_dai_name = "i2s.1",
+ .codec_dai_name = "ab5500-codec-dai.1",
+ .platform_name = "ux500-pcm.0",
+ .codec_name = "ab5500-codec.0",
+ .init = NULL,
+ .ops = (struct snd_soc_ops[]) {
+ {
+ .startup = ux500_ab5500_startup,
+ .shutdown = ux500_ab5500_shutdown,
+ .hw_params = ux500_ab5500_hw_params,
+ }
+ }
}
};
diff --git a/sound/soc/ux500/ux500_msp_dai.c b/sound/soc/ux500/ux500_msp_dai.c
index 53f3982343b..5efc7adce85 100644
--- a/sound/soc/ux500/ux500_msp_dai.c
+++ b/sound/soc/ux500/ux500_msp_dai.c
@@ -37,7 +37,7 @@ static struct ux500_platform_drvdata platform_drvdata[UX500_NBR_OF_DAI] = {
.capture_active = false,
.configured = 0,
.data_delay = MSP_DELAY_0,
- .master_clk = UX500_MSP_U8500_INTERNAL_CLOCK_FREQ,
+ .master_clk = UX500_MSP_INTERNAL_CLOCK_FREQ,
},
{
.i2s = NULL,
@@ -50,7 +50,7 @@ static struct ux500_platform_drvdata platform_drvdata[UX500_NBR_OF_DAI] = {
.capture_active = false,
.configured = 0,
.data_delay = MSP_DELAY_0,
- .master_clk = UX500_MSP_U8500_INTERNAL_CLOCK_FREQ,
+ .master_clk = UX500_MSP1_INTERNAL_CLOCK_FREQ,
},
{
.i2s = NULL,
@@ -63,7 +63,7 @@ static struct ux500_platform_drvdata platform_drvdata[UX500_NBR_OF_DAI] = {
.capture_active = false,
.configured = 0,
.data_delay = MSP_DELAY_0,
- .master_clk = UX500_MSP_U8500_INTERNAL_CLOCK_FREQ,
+ .master_clk = UX500_MSP_INTERNAL_CLOCK_FREQ,
},
{
.i2s = NULL,
@@ -76,7 +76,7 @@ static struct ux500_platform_drvdata platform_drvdata[UX500_NBR_OF_DAI] = {
.capture_active = false,
.configured = 0,
.data_delay = MSP_DELAY_0,
- .master_clk = UX500_MSP_U8500_INTERNAL_CLOCK_FREQ,
+ .master_clk = UX500_MSP_INTERNAL_CLOCK_FREQ,
},
};
@@ -448,7 +448,7 @@ static void ux500_msp_dai_compile_msp_config(struct snd_pcm_substream *substream
memset(msp_config, 0, sizeof(*msp_config));
if (machine_is_u5500())
- msp_config->input_clock_freq = UX500_MSP_U5500_INTERNAL_CLOCK_FREQ;
+ msp_config->input_clock_freq = UX500_MSP_INTERNAL_CLOCK_FREQ;
else
msp_config->input_clock_freq = private->master_clk;
diff --git a/sound/soc/ux500/ux500_msp_dai.h b/sound/soc/ux500/ux500_msp_dai.h
index 2ab449a36ce..cff6749760d 100644..100755
--- a/sound/soc/ux500/ux500_msp_dai.h
+++ b/sound/soc/ux500/ux500_msp_dai.h
@@ -35,9 +35,13 @@
#define FRAME_PER_8_SLOTS 138
#define FRAME_PER_16_SLOTS 277
-#define UX500_MSP_U8500_INTERNAL_CLOCK_FREQ 13000000
-
-#define UX500_MSP_U5500_INTERNAL_CLOCK_FREQ 40000000
+#ifndef CONFIG_SND_SOC_UX500_AB5500
+#define UX500_MSP_INTERNAL_CLOCK_FREQ 40000000
+#define UX500_MSP1_INTERNAL_CLOCK_FREQ UX500_MSP_INTERNAL_CLOCK_FREQ
+#else
+#define UX500_MSP_INTERNAL_CLOCK_FREQ 13000000
+#define UX500_MSP1_INTERNAL_CLOCK_FREQ (UX500_MSP_INTERNAL_CLOCK_FREQ * 2)
+#endif
#define UX500_MSP_MIN_CHANNELS 1
#define UX500_MSP_MAX_CHANNELS 8