linux-omap 2.6.28, git: improve graphics, fix sounds support
authorKoen Kooi <koen@openembedded.org>
Thu, 8 Jan 2009 15:28:24 +0000 (16:28 +0100)
committerKoen Kooi <koen@openembedded.org>
Thu, 8 Jan 2009 15:28:24 +0000 (16:28 +0100)
packages/linux/linux-omap-2.6.28/0001-ASoC-Add-support-for-OMAP3-EVM.patch [new file with mode: 0644]
packages/linux/linux-omap-2.6.28/0012-DSS-Add-comments-to-FAKE_VSYNC-to-make-things-more.patch [new file with mode: 0644]
packages/linux/linux-omap-2.6.28/0013-DSS-OMAPFB-remove-extra-spaces.patch [new file with mode: 0644]
packages/linux/linux-omap-2.6.28/0014-DSS-fix-clk_get_usecount.patch [new file with mode: 0644]
packages/linux/linux-omap-2.6.28/omap3evm/defconfig
packages/linux/linux-omap/0001-ASoC-Add-support-for-OMAP3-EVM.patch [new file with mode: 0644]
packages/linux/linux-omap/0015-OMAPFB-remove-debug-print.patch [new file with mode: 0644]
packages/linux/linux-omap/omap3evm/defconfig
packages/linux/linux-omap_2.6.28.bb
packages/linux/linux-omap_git.bb

diff --git a/packages/linux/linux-omap-2.6.28/0001-ASoC-Add-support-for-OMAP3-EVM.patch b/packages/linux/linux-omap-2.6.28/0001-ASoC-Add-support-for-OMAP3-EVM.patch
new file mode 100644 (file)
index 0000000..a76e96e
--- /dev/null
@@ -0,0 +1,206 @@
+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
+
diff --git a/packages/linux/linux-omap-2.6.28/0012-DSS-Add-comments-to-FAKE_VSYNC-to-make-things-more.patch b/packages/linux/linux-omap-2.6.28/0012-DSS-Add-comments-to-FAKE_VSYNC-to-make-things-more.patch
new file mode 100644 (file)
index 0000000..85e7952
--- /dev/null
@@ -0,0 +1,27 @@
+From 942267b679b7f60b33e034ee29e313925cfbcae0 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 7 Jan 2009 17:20:24 +0200
+Subject: [PATCH] DSS: Add comments to FAKE_VSYNC to make things more clear
+
+---
+ arch/arm/plat-omap/dss/Kconfig |    4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/plat-omap/dss/Kconfig b/arch/arm/plat-omap/dss/Kconfig
+index 6b342df..f0b1f1c 100644
+--- a/arch/arm/plat-omap/dss/Kconfig
++++ b/arch/arm/plat-omap/dss/Kconfig
+@@ -46,7 +46,9 @@ config OMAP2_DSS_FAKE_VSYNC
+       default n
+       help
+         If this is selected, DSI will fake a DISPC VSYNC interrupt
+-        when DSI has sent a frame.
++        when DSI has sent a frame. This is only needed with DSI or
++        RFBI displays using manual mode, and you want VSYNC to time,
++        for example, animation.
+ config OMAP2_DSS_MIN_FCK_PER_PCK
+       int "Minimum FCK/PCK ratio (for scaling)"
+-- 
+1.5.6.3
+
diff --git a/packages/linux/linux-omap-2.6.28/0013-DSS-OMAPFB-remove-extra-spaces.patch b/packages/linux/linux-omap-2.6.28/0013-DSS-OMAPFB-remove-extra-spaces.patch
new file mode 100644 (file)
index 0000000..fac269a
--- /dev/null
@@ -0,0 +1,25 @@
+From 17f3d30a218efba9bf947a667c9c1fa2f4286794 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 7 Jan 2009 17:40:59 +0200
+Subject: [PATCH] OMAPFB: remove extra spaces
+
+---
+ drivers/video/omap2/omapfb-sysfs.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb-sysfs.c b/drivers/video/omap2/omapfb-sysfs.c
+index 4383e44..0e153b9 100644
+--- a/drivers/video/omap2/omapfb-sysfs.c
++++ b/drivers/video/omap2/omapfb-sysfs.c
+@@ -337,7 +337,7 @@ static ssize_t show_overlays(struct device *dev, struct device_attribute *attr,
+                               break;
+               l += snprintf(buf + l, size - l,
+-                      "%s t:%s x:%d y:%d iw:%d ih:%d w: %d h: %d e:%d\n",
++                      "%s t:%s x:%d y:%d iw:%d ih:%d w:%d h:%d e:%d\n",
+                       ovl->name,
+                       mgr ? mgr->name : "none",
+                       ovl->info.pos_x,
+-- 
+1.5.6.3
+
diff --git a/packages/linux/linux-omap-2.6.28/0014-DSS-fix-clk_get_usecount.patch b/packages/linux/linux-omap-2.6.28/0014-DSS-fix-clk_get_usecount.patch
new file mode 100644 (file)
index 0000000..a935709
--- /dev/null
@@ -0,0 +1,67 @@
+From ba234fff55f8a1ef96b57ce2e18ab90df76f2c82 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 8 Jan 2009 12:01:39 +0200
+Subject: [PATCH] DSS: fix clk_get_usecount
+
+---
+ arch/arm/plat-omap/dss/dss.c |   12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/arch/arm/plat-omap/dss/dss.c b/arch/arm/plat-omap/dss/dss.c
+index 4a403c1..b9f35d8 100644
+--- a/arch/arm/plat-omap/dss/dss.c
++++ b/arch/arm/plat-omap/dss/dss.c
+@@ -236,7 +236,7 @@ ssize_t dss_print_clocks(char *buf, ssize_t size)
+               l += snprintf(buf + l, size - l, "%-15s\t%lu\t%d\n",
+                               clocks[i]->name,
+                               clk_get_rate(clocks[i]),
+-                              clk_get_usecount(clocks[i]));
++                              clocks[i]->usecount);
+       }
+       return l;
+@@ -590,28 +590,28 @@ void dss_exit(void)
+       free_irq(INT_24XX_DSS_IRQ, NULL);
+       /* these should be removed at some point */
+-      c = clk_get_usecount(dss.dss_ick);
++      c = dss.dss_ick->usecount;
+       if (c > 0) {
+               DSSERR("warning: dss_ick usecount %d, disabling\n", c);
+               while (c-- > 0)
+                       clk_disable(dss.dss_ick);
+       }
+-      c = clk_get_usecount(dss.dss1_fck);
++      c = dss.dss1_fck->usecount;
+       if (c > 0) {
+               DSSERR("warning: dss1_fck usecount %d, disabling\n", c);
+               while (c-- > 0)
+                       clk_disable(dss.dss1_fck);
+       }
+-      c = clk_get_usecount(dss.dss2_fck);
++      c = dss.dss2_fck->usecount;
+       if (c > 0) {
+               DSSERR("warning: dss2_fck usecount %d, disabling\n", c);
+               while (c-- > 0)
+                       clk_disable(dss.dss2_fck);
+       }
+-      c = clk_get_usecount(dss.dss_54m_fck);
++      c = dss.dss_54m_fck->usecount;
+       if (c > 0) {
+               DSSERR("warning: dss_54m_fck usecount %d, disabling\n", c);
+               while (c-- > 0)
+@@ -619,7 +619,7 @@ void dss_exit(void)
+       }
+       if (dss.dss_96m_fck) {
+-              c = clk_get_usecount(dss.dss_96m_fck);
++              c = dss.dss_96m_fck->usecount;
+               if (c > 0) {
+                       DSSERR("warning: dss_96m_fck usecount %d, disabling\n",
+                                       c);
+-- 
+1.5.6.3
+
index be0b2cf..e5399f3 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.28-omap1
-# Wed Jan  7 14:36:25 2009
+# Thu Jan  8 16:06:45 2009
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -207,7 +207,7 @@ CONFIG_OMAP2_DSS_VENC=y
 # CONFIG_OMAP2_DSS_SDI is not set
 CONFIG_OMAP2_DSS_DSI=y
 CONFIG_OMAP2_DSS_USE_DSI_PLL=y
-CONFIG_OMAP2_DSS_FAKE_VSYNC=n
+# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
 CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=1
 CONFIG_ARCH_OMAP34XX=y
 CONFIG_ARCH_OMAP3430=y
@@ -1443,7 +1443,10 @@ CONFIG_SND_USB_CAIAQ=m
 CONFIG_SND_USB_CAIAQ_INPUT=y
 CONFIG_SND_SOC=y
 CONFIG_SND_OMAP_SOC=y
+CONFIG_SND_OMAP_SOC_MCBSP=y
+CONFIG_SND_OMAP_SOC_OMAP3EVM=y
 # CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_TWL4030=y
 # CONFIG_SOUND_PRIME is not set
 CONFIG_HID_SUPPORT=y
 CONFIG_HID=y
diff --git a/packages/linux/linux-omap/0001-ASoC-Add-support-for-OMAP3-EVM.patch b/packages/linux/linux-omap/0001-ASoC-Add-support-for-OMAP3-EVM.patch
new file mode 100644 (file)
index 0000000..a76e96e
--- /dev/null
@@ -0,0 +1,206 @@
+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
+
diff --git a/packages/linux/linux-omap/0015-OMAPFB-remove-debug-print.patch b/packages/linux/linux-omap/0015-OMAPFB-remove-debug-print.patch
new file mode 100644 (file)
index 0000000..ecb7aec
--- /dev/null
@@ -0,0 +1,25 @@
+From 73f2a252fc273b6d3ee7daab9681728a915f7236 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 8 Jan 2009 12:02:07 +0200
+Subject: [PATCH] OMAPFB: remove debug print
+
+---
+ drivers/video/omap2/omapfb-main.c |    2 --
+ 1 files changed, 0 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb-main.c b/drivers/video/omap2/omapfb-main.c
+index 9dbff42..d043c43 100644
+--- a/drivers/video/omap2/omapfb-main.c
++++ b/drivers/video/omap2/omapfb-main.c
+@@ -973,8 +973,6 @@ static int omapfb_allocate_all_fbs(struct omapfb2_device *fbdev)
+               while ((tok = strsep(&s, ","))) {
+                       unsigned long size;
+-                      printk("param '%s'\n", tok);
+-
+                       size = memparse(tok, NULL);
+                       if (size == 0) {
+-- 
+1.5.6.3
+
index be0b2cf..e5399f3 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.28-omap1
-# Wed Jan  7 14:36:25 2009
+# Thu Jan  8 16:06:45 2009
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -207,7 +207,7 @@ CONFIG_OMAP2_DSS_VENC=y
 # CONFIG_OMAP2_DSS_SDI is not set
 CONFIG_OMAP2_DSS_DSI=y
 CONFIG_OMAP2_DSS_USE_DSI_PLL=y
-CONFIG_OMAP2_DSS_FAKE_VSYNC=n
+# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
 CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=1
 CONFIG_ARCH_OMAP34XX=y
 CONFIG_ARCH_OMAP3430=y
@@ -1443,7 +1443,10 @@ CONFIG_SND_USB_CAIAQ=m
 CONFIG_SND_USB_CAIAQ_INPUT=y
 CONFIG_SND_SOC=y
 CONFIG_SND_OMAP_SOC=y
+CONFIG_SND_OMAP_SOC_MCBSP=y
+CONFIG_SND_OMAP_SOC_OMAP3EVM=y
 # CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_TWL4030=y
 # CONFIG_SOUND_PRIME is not set
 CONFIG_HID_SUPPORT=y
 CONFIG_HID=y
index eddb665..78baf31 100644 (file)
@@ -10,7 +10,7 @@ DEFAULT_PREFERENCE = "-1"
 SRCREV = "401b285465488f515290e0f9111872b94e1cf922"
 
 PV = "2.6.28"
-PR = "r3"
+PR = "r4"
 
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;protocol=git \
           file://defconfig"
@@ -42,6 +42,7 @@ SRC_URI_append = " \
            file://0009-DSS-OMAPFB-allocate-fbmem-only-for-fb0-or-if-spes.patch;patch=1 \
            file://0010-DSS-OMAPFB-remove-extra-omapfb_setup_overlay-call.patch;patch=1 \
            file://0011-DSS-OMAPFB-fix-GFX_SYNC-to-be-compatible-with-DSS1.patch;patch=1 \
+           file://0001-ASoC-Add-support-for-OMAP3-EVM.patch;patch=1 \
 "
 
 
index 2b78a68..37e6379 100644 (file)
@@ -13,8 +13,8 @@ DEFAULT_PREFERENCE_omap3-pandora = "1"
 SRCREV = "e8b22165f8af8cf9827d6c3e1279c17a457efb08"
 
 #PV = "2.6.27+2.6.28-rc8+${PR}+gitr${SRCREV}"
-PV = "2.6.28+gitr${SRCREV}"
-PR = "r4"
+PV = "2.6.28+${PR}+gitr${SRCREV}"
+PR = "r5"
 
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;protocol=git \
           file://defconfig"
@@ -49,6 +49,7 @@ SRC_URI_append = " \
            file://0012-DSS-Add-comments-to-FAKE_VSYNC-to-make-things-more.patch;patch=1 \
            file://0013-DSS-OMAPFB-remove-extra-spaces.patch;patch=1 \
            file://0014-DSS-fix-clk_get_usecount.patch;patch=1 \
+           file://0001-ASoC-Add-support-for-OMAP3-EVM.patch;patch=1 \
 "