diff options
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.29/0001-ASoC-Add-support-for-OMAP3-EVM.patch')
-rw-r--r-- | meta/recipes-kernel/linux/linux-omap-2.6.29/0001-ASoC-Add-support-for-OMAP3-EVM.patch | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/0001-ASoC-Add-support-for-OMAP3-EVM.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/0001-ASoC-Add-support-for-OMAP3-EVM.patch deleted file mode 100644 index a76e96e44..000000000 --- a/meta/recipes-kernel/linux/linux-omap-2.6.29/0001-ASoC-Add-support-for-OMAP3-EVM.patch +++ /dev/null @@ -1,206 +0,0 @@ -From c1dad0b6b434300ae64c902d11611c54c513ea10 Mon Sep 17 00:00:00 2001 -From: Anuj Aggarwal <anuj.aggarwal@ti.com> -Date: Fri, 21 Nov 2008 17:41:03 +0530 -Subject: [PATCH] ASoC: Add support for OMAP3 EVM - -This patch adds ALSA SoC support for OMAP3 EVM using TWL4030 audio codec. - -Signed-off-by: Anuj Aggarwal <anuj.aggarwal@ti.com> ---- - sound/soc/omap/Kconfig | 8 +++ - sound/soc/omap/Makefile | 3 +- - sound/soc/omap/omap3evm.c | 147 +++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 157 insertions(+), 1 deletions(-) - create mode 100644 sound/soc/omap/omap3evm.c - -diff --git a/sound/soc/omap/Kconfig b/sound/soc/omap/Kconfig -index 0daeee4..deb6ba9 100644 ---- a/sound/soc/omap/Kconfig -+++ b/sound/soc/omap/Kconfig -@@ -22,6 +22,14 @@ config SND_OMAP_SOC_OMAP3_BEAGLE - help - Say Y if you want to add support for SoC audio on the Beagleboard. - -+config SND_OMAP_SOC_OMAP3EVM -+ tristate "SoC Audio support for OMAP3EVM board" -+ depends on SND_OMAP_SOC && MACH_OMAP3EVM -+ select SND_OMAP_SOC_MCBSP -+ select SND_SOC_TWL4030 -+ help -+ Say Y if you want to add support for SoC audio on the omap3evm board. -+ - config SND_OMAP_SOC_OSK5912 - tristate "SoC Audio support for omap osk5912" - depends on SND_OMAP_SOC && MACH_OMAP_OSK -diff --git a/sound/soc/omap/Makefile b/sound/soc/omap/Makefile -index 4bae404..ef31c25 100644 ---- a/sound/soc/omap/Makefile -+++ b/sound/soc/omap/Makefile -@@ -10,9 +10,10 @@ snd-soc-n810-objs := n810.o - snd-soc-omap3beagle-objs := omap3beagle.o - snd-soc-osk5912-objs := osk5912.o - snd-soc-overo-objs := overo.o -+snd-soc-omap3evm-objs := omap3evm.o - - obj-$(CONFIG_SND_OMAP_SOC_N810) += snd-soc-n810.o - obj-$(CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE) += snd-soc-omap3beagle.o - obj-$(CONFIG_SND_OMAP_SOC_OSK5912) += snd-soc-osk5912.o - obj-$(CONFIG_SND_OMAP_SOC_OVERO) += snd-soc-overo.o -- -+obj-$(CONFIG_MACH_OMAP3EVM) += snd-soc-omap3evm.o -diff --git a/sound/soc/omap/omap3evm.c b/sound/soc/omap/omap3evm.c -new file mode 100644 -index 0000000..570af55 ---- /dev/null -+++ b/sound/soc/omap/omap3evm.c -@@ -0,0 +1,147 @@ -+/* -+ * omap3evm.c -- ALSA SoC support for OMAP3 EVM -+ * -+ * Author: Anuj Aggarwal <anuj.aggarwal@ti.com> -+ * -+ * Based on sound/soc/omap/beagle.c by Steve Sakoman -+ * -+ * Copyright (C) 2008 Texas Instruments, Incorporated -+ * -+ * This program is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU General Public License as published by the -+ * Free Software Foundation version 2. -+ * -+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any kind, -+ * whether express or implied; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * General Public License for more details. -+ */ -+ -+#include <linux/clk.h> -+#include <linux/platform_device.h> -+#include <sound/core.h> -+#include <sound/pcm.h> -+#include <sound/soc.h> -+#include <sound/soc-dapm.h> -+ -+#include <asm/mach-types.h> -+#include <mach/hardware.h> -+#include <mach/gpio.h> -+#include <mach/mcbsp.h> -+ -+#include "omap-mcbsp.h" -+#include "omap-pcm.h" -+#include "../codecs/twl4030.h" -+ -+static int omap3evm_hw_params(struct snd_pcm_substream *substream, -+ struct snd_pcm_hw_params *params) -+{ -+ struct snd_soc_pcm_runtime *rtd = substream->private_data; -+ struct snd_soc_dai *codec_dai = rtd->dai->codec_dai; -+ struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai; -+ int ret; -+ -+ /* Set codec DAI configuration */ -+ ret = snd_soc_dai_set_fmt(codec_dai, -+ SND_SOC_DAIFMT_I2S | -+ SND_SOC_DAIFMT_NB_NF | -+ SND_SOC_DAIFMT_CBM_CFM); -+ if (ret < 0) { -+ printk(KERN_ERR "can't set codec DAI configuration\n"); -+ return ret; -+ } -+ -+ /* Set cpu DAI configuration */ -+ ret = snd_soc_dai_set_fmt(cpu_dai, -+ SND_SOC_DAIFMT_I2S | -+ SND_SOC_DAIFMT_NB_NF | -+ SND_SOC_DAIFMT_CBM_CFM); -+ if (ret < 0) { -+ printk(KERN_ERR "can't set cpu DAI configuration\n"); -+ return ret; -+ } -+ -+ /* Set the codec system clock for DAC and ADC */ -+ ret = snd_soc_dai_set_sysclk(codec_dai, 0, 26000000, -+ SND_SOC_CLOCK_IN); -+ if (ret < 0) { -+ printk(KERN_ERR "can't set codec system clock\n"); -+ return ret; -+ } -+ -+ return 0; -+} -+ -+static struct snd_soc_ops omap3evm_ops = { -+ .hw_params = omap3evm_hw_params, -+}; -+ -+/* Digital audio interface glue - connects codec <--> CPU */ -+static struct snd_soc_dai_link omap3evm_dai = { -+ .name = "TWL4030", -+ .stream_name = "TWL4030", -+ .cpu_dai = &omap_mcbsp_dai[0], -+ .codec_dai = &twl4030_dai, -+ .ops = &omap3evm_ops, -+}; -+ -+/* Audio machine driver */ -+static struct snd_soc_machine snd_soc_machine_omap3evm = { -+ .name = "omap3evm", -+ .dai_link = &omap3evm_dai, -+ .num_links = 1, -+}; -+ -+/* Audio subsystem */ -+static struct snd_soc_device omap3evm_snd_devdata = { -+ .machine = &snd_soc_machine_omap3evm, -+ .platform = &omap_soc_platform, -+ .codec_dev = &soc_codec_dev_twl4030, -+}; -+ -+static struct platform_device *omap3evm_snd_device; -+ -+static int __init omap3evm_soc_init(void) -+{ -+ int ret; -+ -+ if (!machine_is_omap3evm()) { -+ pr_debug("Not OMAP3 EVM!\n"); -+ return -ENODEV; -+ } -+ pr_info("OMAP3 EVM SoC init\n"); -+ -+ omap3evm_snd_device = platform_device_alloc("soc-audio", -1); -+ if (!omap3evm_snd_device) { -+ printk(KERN_ERR "Platform device allocation failed\n"); -+ return -ENOMEM; -+ } -+ -+ platform_set_drvdata(omap3evm_snd_device, &omap3evm_snd_devdata); -+ omap3evm_snd_devdata.dev = &omap3evm_snd_device->dev; -+ *(unsigned int *)omap3evm_dai.cpu_dai->private_data = 1; /* McBSP2 */ -+ -+ ret = platform_device_add(omap3evm_snd_device); -+ if (ret) -+ goto err1; -+ -+ return 0; -+ -+err1: -+ printk(KERN_ERR "Unable to add platform device\n"); -+ platform_device_put(omap3evm_snd_device); -+ -+ return ret; -+} -+ -+static void __exit omap3evm_soc_exit(void) -+{ -+ platform_device_unregister(omap3evm_snd_device); -+} -+ -+module_init(omap3evm_soc_init); -+module_exit(omap3evm_soc_exit); -+ -+MODULE_AUTHOR("Anuj Aggarwal <anuj.aggarwal@ti.com>"); -+MODULE_DESCRIPTION("ALSA SoC OMAP3 EVM"); -+MODULE_LICENSE("GPL"); --- -1.5.6.5 - |