Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 293233
b: refs/heads/master
c: 13f81d6
h: refs/heads/master
i:
  293231: a887b6c
v: v3
  • Loading branch information
Peter Ujfalusi committed Jan 26, 2012
1 parent ee8bb51 commit c2f4afa
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 36 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e15422edd463fbba7f38ffd8a2e2ca8564da1160
refs/heads/master: 13f81d65959eb3512b39e8c338e81e018d1c515b
7 changes: 4 additions & 3 deletions trunk/sound/soc/omap/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -98,15 +98,16 @@ config SND_OMAP_SOC_SDP3430
SDP3430.

config SND_OMAP_SOC_OMAP_ABE_TWL6040
tristate "SoC Audio support for Texas Instruments SDP4430"
tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec"
depends on TWL4030_CORE && SND_OMAP_SOC && MACH_OMAP_4430SDP
select SND_OMAP_SOC_DMIC
select SND_OMAP_SOC_MCPDM
select SND_SOC_TWL6040
select SND_SOC_DMIC
help
Say Y if you want to add support for SoC audio on Texas Instruments
SDP4430.
Say Y if you want to add support for SoC audio on OMAP boards using
ABE and twl6040 codec. This driver currently supports:
- SDP4430/Blaze boards

config SND_OMAP_SOC_OMAP4_HDMI
tristate "SoC Audio support for Texas Instruments OMAP4 HDMI"
Expand Down
65 changes: 33 additions & 32 deletions trunk/sound/soc/omap/omap-abe-twl6040.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
* sdp4430.c -- SoC audio for TI OMAP4430 SDP
* omap-abe-twl6040.c -- SoC audio for TI OMAP based boards with ABE and
* twl6040 codec
*
* Author: Misael Lopez Cruz <misael.lopez@ti.com>
*
Expand Down Expand Up @@ -38,7 +39,7 @@
#include "omap-pcm.h"
#include "../codecs/twl6040.h"

static int sdp4430_hw_params(struct snd_pcm_substream *substream,
static int omap_abe_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
struct snd_soc_pcm_runtime *rtd = substream->private_data;
Expand All @@ -64,11 +65,11 @@ static int sdp4430_hw_params(struct snd_pcm_substream *substream,
return ret;
}

static struct snd_soc_ops sdp4430_ops = {
.hw_params = sdp4430_hw_params,
static struct snd_soc_ops omap_abe_ops = {
.hw_params = omap_abe_hw_params,
};

static int sdp4430_dmic_hw_params(struct snd_pcm_substream *substream,
static int omap_abe_dmic_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
struct snd_soc_pcm_runtime *rtd = substream->private_data;
Expand All @@ -90,8 +91,8 @@ static int sdp4430_dmic_hw_params(struct snd_pcm_substream *substream,
return 0;
}

static struct snd_soc_ops sdp4430_dmic_ops = {
.hw_params = sdp4430_dmic_hw_params,
static struct snd_soc_ops omap_abe_dmic_ops = {
.hw_params = omap_abe_dmic_hw_params,
};

/* Headset jack */
Expand All @@ -110,7 +111,7 @@ static struct snd_soc_jack_pin hs_jack_pins[] = {
};

/* SDP4430 machine DAPM */
static const struct snd_soc_dapm_widget sdp4430_twl6040_dapm_widgets[] = {
static const struct snd_soc_dapm_widget twl6040_dapm_widgets[] = {
SND_SOC_DAPM_MIC("Ext Mic", NULL),
SND_SOC_DAPM_SPK("Ext Spk", NULL),
SND_SOC_DAPM_MIC("Headset Mic", NULL),
Expand Down Expand Up @@ -145,7 +146,7 @@ static const struct snd_soc_dapm_route audio_map[] = {
{"AFMR", NULL, "FM Stereo In"},
};

static int sdp4430_twl6040_init(struct snd_soc_pcm_runtime *rtd)
static int omap_abe_twl6040_init(struct snd_soc_pcm_runtime *rtd)
{
struct snd_soc_codec *codec = rtd->codec;
int ret, hs_trim;
Expand Down Expand Up @@ -175,7 +176,7 @@ static int sdp4430_twl6040_init(struct snd_soc_pcm_runtime *rtd)
return ret;
}

static const struct snd_soc_dapm_widget sdp4430_dmic_dapm_widgets[] = {
static const struct snd_soc_dapm_widget dmic_dapm_widgets[] = {
SND_SOC_DAPM_MIC("Digital Mic", NULL),
};

Expand All @@ -184,14 +185,14 @@ static const struct snd_soc_dapm_route dmic_audio_map[] = {
{"Digital Mic1 Bias", NULL, "Digital Mic"},
};

static int sdp4430_dmic_init(struct snd_soc_pcm_runtime *rtd)
static int omap_abe_dmic_init(struct snd_soc_pcm_runtime *rtd)
{
struct snd_soc_codec *codec = rtd->codec;
struct snd_soc_dapm_context *dapm = &codec->dapm;
int ret;

ret = snd_soc_dapm_new_controls(dapm, sdp4430_dmic_dapm_widgets,
ARRAY_SIZE(sdp4430_dmic_dapm_widgets));
ret = snd_soc_dapm_new_controls(dapm, dmic_dapm_widgets,
ARRAY_SIZE(dmic_dapm_widgets));
if (ret)
return ret;

Expand All @@ -208,8 +209,8 @@ static struct snd_soc_dai_link sdp4430_dai[] = {
.codec_dai_name = "twl6040-legacy",
.platform_name = "omap-pcm-audio",
.codec_name = "twl6040-codec",
.init = sdp4430_twl6040_init,
.ops = &sdp4430_ops,
.init = omap_abe_twl6040_init,
.ops = &omap_abe_ops,
},
{
.name = "DMIC",
Expand All @@ -218,62 +219,62 @@ static struct snd_soc_dai_link sdp4430_dai[] = {
.codec_dai_name = "dmic-hifi",
.platform_name = "omap-pcm-audio",
.codec_name = "dmic-codec",
.init = sdp4430_dmic_init,
.ops = &sdp4430_dmic_ops,
.init = omap_abe_dmic_init,
.ops = &omap_abe_dmic_ops,
},
};

/* Audio machine driver */
static struct snd_soc_card snd_soc_sdp4430 = {
static struct snd_soc_card omap_abe_card = {
.name = "SDP4430",
.owner = THIS_MODULE,
.dai_link = sdp4430_dai,
.num_links = ARRAY_SIZE(sdp4430_dai),

.dapm_widgets = sdp4430_twl6040_dapm_widgets,
.num_dapm_widgets = ARRAY_SIZE(sdp4430_twl6040_dapm_widgets),
.dapm_widgets = twl6040_dapm_widgets,
.num_dapm_widgets = ARRAY_SIZE(twl6040_dapm_widgets),
.dapm_routes = audio_map,
.num_dapm_routes = ARRAY_SIZE(audio_map),
};

static struct platform_device *sdp4430_snd_device;
static struct platform_device *omap_abe_snd_device;

static int __init sdp4430_soc_init(void)
static int __init omap_abe_soc_init(void)
{
int ret;

if (!machine_is_omap_4430sdp())
return -ENODEV;
printk(KERN_INFO "SDP4430 SoC init\n");

sdp4430_snd_device = platform_device_alloc("soc-audio", -1);
if (!sdp4430_snd_device) {
omap_abe_snd_device = platform_device_alloc("soc-audio", -1);
if (!omap_abe_snd_device) {
printk(KERN_ERR "Platform device allocation failed\n");
return -ENOMEM;
}

platform_set_drvdata(sdp4430_snd_device, &snd_soc_sdp4430);
platform_set_drvdata(omap_abe_snd_device, &omap_abe_card);

ret = platform_device_add(sdp4430_snd_device);
ret = platform_device_add(omap_abe_snd_device);
if (ret)
goto err;

return 0;

err:
printk(KERN_ERR "Unable to add platform device\n");
platform_device_put(sdp4430_snd_device);
platform_device_put(omap_abe_snd_device);
return ret;
}
module_init(sdp4430_soc_init);
module_init(omap_abe_soc_init);

static void __exit sdp4430_soc_exit(void)
static void __exit omap_abe_soc_exit(void)
{
platform_device_unregister(sdp4430_snd_device);
platform_device_unregister(omap_abe_snd_device);
}
module_exit(sdp4430_soc_exit);
module_exit(omap_abe_soc_exit);

MODULE_AUTHOR("Misael Lopez Cruz <misael.lopez@ti.com>");
MODULE_DESCRIPTION("ALSA SoC SDP4430");
MODULE_DESCRIPTION("ALSA SoC for OMAP boards with ABE and twl6040 codec");
MODULE_LICENSE("GPL");

0 comments on commit c2f4afa

Please sign in to comment.