linux-omap-psp 26.32: sync with beagleboard validation kernel again
authorKoen Kooi <koen@openembedded.org>
Mon, 3 May 2010 20:53:37 +0000 (22:53 +0200)
committerKoen Kooi <koen@openembedded.org>
Tue, 4 May 2010 05:35:50 +0000 (07:35 +0200)
This adds back support for the ds1307 RTC and adds support for the AT24 eeprom

50 files changed:
recipes/linux/linux-omap-psp-2.6.32/0001-Revert-omap3-beagle-Fix-compile-time-errors.patch
recipes/linux/linux-omap-psp-2.6.32/0002-board-omap3touchbook-make-it-build-against-TI-linux-.patch
recipes/linux/linux-omap-psp-2.6.32/0003-ARM-OMAP-add-support-for-TCT-Zippy-to-Beagle-board-f.patch
recipes/linux/linux-omap-psp-2.6.32/0004-ARM-OMAP-Make-beagle-u-boot-partition-writable.patch
recipes/linux/linux-omap-psp-2.6.32/0005-board-omap3-beagle-add-DSS2-support.patch
recipes/linux/linux-omap-psp-2.6.32/0006-beagleboard-omap3_-foo-_rate_table-omap35x_-foo-_rat.patch
recipes/linux/linux-omap-psp-2.6.32/0007-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch
recipes/linux/linux-omap-psp-2.6.32/0008-board-omap3beagle-turn-on-power-to-camera-on-boot-an.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0010-board-omap3beagle-turn-on-power-to-camera-on-boot-an.patch with 80% similarity]
recipes/linux/linux-omap-psp-2.6.32/0008-mt9t111-first-stab-at-merging-sensor-driver-based-on.patch [deleted file]
recipes/linux/linux-omap-psp-2.6.32/0009-ASoC-enable-audio-capture-by-default-for-twl4030.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0012-ASoC-enable-audio-capture-by-default-for-twl4030.patch with 85% similarity]
recipes/linux/linux-omap-psp-2.6.32/0009-board-omap3beagle-ugly-copy-paste-job-to-get-mt9p111.patch [deleted file]
recipes/linux/linux-omap-psp-2.6.32/0010-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0013-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch with 88% similarity]
recipes/linux/linux-omap-psp-2.6.32/0011-OMAP3630-DSS2-Enable-Pre-Multiplied-Alpha-Support.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0014-OMAP3630-DSS2-Enable-Pre-Multiplied-Alpha-Support.patch with 91% similarity]
recipes/linux/linux-omap-psp-2.6.32/0011-board-omap3beagle-update-omap34xxcam-to-more-recent-.patch [deleted file]
recipes/linux/linux-omap-psp-2.6.32/0012-DSS2-add-bootarg-for-selecting-svideo-or-composite-f.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0015-DSS2-add-bootarg-for-selecting-svideo-or-composite-f.patch with 94% similarity]
recipes/linux/linux-omap-psp-2.6.32/0013-ISP-add-some-more-from-Leopard-imaging-patch.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0016-ISP-add-some-more-from-Leopard-imaging-patch.patch with 96% similarity]
recipes/linux/linux-omap-psp-2.6.32/0014-ARM-OMAP-Overo-Add-support-for-second-ethernet-port.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0017-ARM-OMAP-Overo-Add-support-for-second-ethernet-port.patch with 96% similarity]
recipes/linux/linux-omap-psp-2.6.32/0015-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0018-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch with 85% similarity]
recipes/linux/linux-omap-psp-2.6.32/0016-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0019-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch with 93% similarity]
recipes/linux/linux-omap-psp-2.6.32/0017-drivers-mfd-add-twl4030-madc-driver.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0020-drivers-mfd-add-twl4030-madc-driver.patch with 99% similarity]
recipes/linux/linux-omap-psp-2.6.32/0018-ARM-OMAP-Add-missing-twl4030-madc-header-file.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0021-ARM-OMAP-Add-missing-twl4030-madc-header-file.patch with 97% similarity]
recipes/linux/linux-omap-psp-2.6.32/0019-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0022-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch with 87% similarity]
recipes/linux/linux-omap-psp-2.6.32/0020-ARM-OMAP-Add-twl4030-madc-support-to-Beagle.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0023-ARM-OMAP-Add-twl4030-madc-support-to-Beagle.patch with 75% similarity]
recipes/linux/linux-omap-psp-2.6.32/0021-netdev-rt73usb-add-vendor-device-ID-for-Ceiva-Wirele.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0024-netdev-rt73usb-add-vendor-device-ID-for-Ceiva-Wirele.patch with 88% similarity]
recipes/linux/linux-omap-psp-2.6.32/0022-mmc-don-t-display-single-block-read-console-messages.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0025-mmc-don-t-display-single-block-read-console-messages.patch with 87% similarity]
recipes/linux/linux-omap-psp-2.6.32/0023-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0026-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch with 92% similarity]
recipes/linux/linux-omap-psp-2.6.32/0024-board-overo-add-PM-code-and-sync-with-http-www.sakom.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0027-board-overo-add-PM-code-and-sync-with-http-www.sakom.patch with 98% similarity]
recipes/linux/linux-omap-psp-2.6.32/0025-twl4030-madc-adjust-for-twl4030-twl-api-changes.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0028-twl4030-madc-adjust-for-twl4030-twl-api-changes.patch with 95% similarity]
recipes/linux/linux-omap-psp-2.6.32/0026-OMAP-DSS2-Re-add-support-for-Samsung-lte430wq-f0c-pa.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0029-OMAP-DSS2-Re-add-support-for-Samsung-lte430wq-f0c-pa.patch with 97% similarity]
recipes/linux/linux-omap-psp-2.6.32/0027-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-panel.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0030-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-panel.patch with 98% similarity]
recipes/linux/linux-omap-psp-2.6.32/0028-Fix-for-bus-width-which-improves-SD-card-s-peformanc.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0031-Fix-for-bus-width-which-improves-SD-card-s-peformanc.patch with 89% similarity]
recipes/linux/linux-omap-psp-2.6.32/0029-ARM-VFP-add-support-to-sync-the-VFP-state-of-the-cur.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0032-ARM-VFP-add-support-to-sync-the-VFP-state-of-the-cur.patch with 96% similarity]
recipes/linux/linux-omap-psp-2.6.32/0030-ARM-VFP-preserve-the-HW-context-when-calling-signal-.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0033-ARM-VFP-preserve-the-HW-context-when-calling-signal-.patch with 97% similarity]
recipes/linux/linux-omap-psp-2.6.32/0031-Switch-SGX-clocks-to-200MHz-on-DM37xx-OMAP36xx.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0034-Switch-SGX-clocks-to-200MHz-on-DM37xx-OMAP36xx.patch with 88% similarity]
recipes/linux/linux-omap-psp-2.6.32/0032-modedb.c-add-proper-720p60-mode.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0035-modedb.c-add-proper-720p60-mode.patch with 86% similarity]
recipes/linux/linux-omap-psp-2.6.32/0033-RTC-add-support-for-backup-battery-recharge.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0036-RTC-add-support-for-backup-battery-recharge.patch with 92% similarity]
recipes/linux/linux-omap-psp-2.6.32/0034-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0037-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch with 83% similarity]
recipes/linux/linux-omap-psp-2.6.32/0035-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0038-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch with 86% similarity]
recipes/linux/linux-omap-psp-2.6.32/0036-ARM-Expose-some-CPU-control-registers-via-sysfs.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0039-ARM-Expose-some-CPU-control-registers-via-sysfs.patch with 97% similarity]
recipes/linux/linux-omap-psp-2.6.32/0037-ARM-Add-option-to-allow-userspace-PLE-access.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0040-ARM-Add-option-to-allow-userspace-PLE-access.patch with 91% similarity]
recipes/linux/linux-omap-psp-2.6.32/0038-ARM-Add-option-to-allow-userspace-access-to-performa.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0041-ARM-Add-option-to-allow-userspace-access-to-performa.patch with 91% similarity]
recipes/linux/linux-omap-psp-2.6.32/0039-ARM-Expose-some-PMON-registers-through-sysfs.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0042-ARM-Expose-some-PMON-registers-through-sysfs.patch with 90% similarity]
recipes/linux/linux-omap-psp-2.6.32/0040-musb-allow-host-io-without-gadget-module.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0043-musb-allow-host-io-without-gadget-module.patch with 95% similarity]
recipes/linux/linux-omap-psp-2.6.32/0041-MTD-silence-ecc-errors-on-mtdblock0.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0044-MTD-silence-ecc-errors-on-mtdblock0.patch with 94% similarity]
recipes/linux/linux-omap-psp-2.6.32/0042-ARM-OMAP-update-beagleboard-defconfig.patch [moved from recipes/linux/linux-omap-psp-2.6.32/0045-ARM-OMAP-update-beagleboard-defconfig.patch with 99% similarity]
recipes/linux/linux-omap-psp-2.6.32/0043-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch
recipes/linux/linux-omap-psp-2.6.32/0044-ARM-OMAP-beagleboard-pre-export-GPIOs-to-userspace-w.patch [new file with mode: 0644]
recipes/linux/linux-omap-psp-2.6.32/0045-ARM-OMAP-beagleboard-initialize-ds1307-and-eeprom-on.patch [new file with mode: 0644]
recipes/linux/linux-omap-psp-2.6.32/beagleboard/defconfig
recipes/linux/linux-omap-psp_2.6.32.bb

index 52d88a8..5e81a16 100644 (file)
@@ -1,4 +1,4 @@
-From 0d26a081f4f4c6a44dcee0253e82307cc5020108 Mon Sep 17 00:00:00 2001
+From 6942ec9d19faef80770ae0f2302790d8ec73a9a7 Mon Sep 17 00:00:00 2001
 From: Koen Kooi <koen@dominion.thruhere.net>
 Date: Fri, 30 Apr 2010 11:12:24 +0200
 Subject: [PATCH 01/45] Revert "omap3: beagle: Fix compile-time errors"
index 203f62c..da4fc18 100644 (file)
@@ -1,4 +1,4 @@
-From 1e5fa90b1ae86f063be692093d7816fb9e49ebf2 Mon Sep 17 00:00:00 2001
+From c5438f97d0ace3b414b13ef59a58427b9fd5b94b Mon Sep 17 00:00:00 2001
 From: Koen Kooi <k-kooi@ti.com>
 Date: Sat, 30 Jan 2010 15:49:15 +0100
 Subject: [PATCH 02/45] board-omap3touchbook: make it build against TI linux-omap 2.6.32-PSP
index 3e4cb27..ba280ff 100644 (file)
@@ -1,4 +1,4 @@
-From 6f9bf44ddbcc2a6b90f27f58b72882207947ecdc Mon Sep 17 00:00:00 2001
+From 48e1df47cf683e4640ec3ae403b2e6dea7432d0c Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <sakoman@gmail.com>
 Date: Tue, 15 Dec 2009 15:34:29 -0800
 Subject: [PATCH 03/45] ARM: OMAP: add support for TCT Zippy to Beagle board file
index 0692c19..ab88739 100644 (file)
@@ -1,4 +1,4 @@
-From d31ec0c1e37e00cf8d9076fdb7e20e3be43061fc Mon Sep 17 00:00:00 2001
+From 97113a211c7fa07bc4fd34ea8fbe87551eec635d Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Thu, 17 Dec 2009 12:40:24 -0800
 Subject: [PATCH 04/45] ARM: OMAP: Make beagle u-boot partition writable
index 8f76c36..01d9556 100644 (file)
@@ -1,4 +1,4 @@
-From 754d5858dc66c523490172796a9217a5ce171a56 Mon Sep 17 00:00:00 2001
+From 48e9baa773af0d99e5f9121da26bb92a391e2853 Mon Sep 17 00:00:00 2001
 From: Koen Kooi <koen@dominion.thruhere.net>
 Date: Wed, 10 Feb 2010 15:07:36 +0100
 Subject: [PATCH 05/45] board-omap3-beagle: add DSS2 support
index f777b31..4371aad 100644 (file)
@@ -1,4 +1,4 @@
-From 2186b66d5eeb3028d7c87a8dbdab626797d5bbbe Mon Sep 17 00:00:00 2001
+From 5be3bc924fbb66f7604763c617eecc4c5b009cb5 Mon Sep 17 00:00:00 2001
 From: Koen Kooi <k-kooi@ti.com>
 Date: Wed, 27 Jan 2010 21:57:13 +0100
 Subject: [PATCH 06/45] beagleboard: omap3_<foo>_rate_table -> omap35x_<foo>_rate_table
index d3925d3..83ada2b 100644 (file)
@@ -1,4 +1,4 @@
-From ee1d0dcae9e02b451e66c68977482b1f33f8e76f Mon Sep 17 00:00:00 2001
+From 81f13d0f20e50503eb6baef9bb28a3ed2210154a Mon Sep 17 00:00:00 2001
 From: Koen Kooi <k-kooi@ti.com>
 Date: Mon, 8 Feb 2010 16:30:59 +0100
 Subject: [PATCH 07/45] board-omap3beagle: prepare for DM3730 based BeagleboardXM
@@ -1,17 +1,17 @@
-From 431a2624ebd41da4157caa3f52d6d0d6365f2a2c Mon Sep 17 00:00:00 2001
+From e97c34409d2b503f695586f613a447799e98fea8 Mon Sep 17 00:00:00 2001
 From: Koen Kooi <k-kooi@ti.com>
 Date: Thu, 11 Feb 2010 20:23:01 +0100
-Subject: [PATCH 10/45] board-omap3beagle: turn on power to camera on boot and add some comments
+Subject: [PATCH 08/45] board-omap3beagle: turn on power to camera on boot and add some comments
 
 ---
  arch/arm/mach-omap2/board-omap3beagle.c |    5 +++++
  1 files changed, 5 insertions(+), 0 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index e63bec6..91d835a 100644
+index accf80d..429dacb 100644
 --- a/arch/arm/mach-omap2/board-omap3beagle.c
 +++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -327,9 +327,14 @@ static int beagle_twl_gpio_setup(struct device *dev,
+@@ -321,9 +321,14 @@ static int beagle_twl_gpio_setup(struct device *dev,
         */
  
        if (cpu_is_omap3630()) {
diff --git a/recipes/linux/linux-omap-psp-2.6.32/0008-mt9t111-first-stab-at-merging-sensor-driver-based-on.patch b/recipes/linux/linux-omap-psp-2.6.32/0008-mt9t111-first-stab-at-merging-sensor-driver-based-on.patch
deleted file mode 100644 (file)
index e5a62ee..0000000
+++ /dev/null
@@ -1,2394 +0,0 @@
-From 915292ecac5fb947e51dc3eb192fdb3670dfc45f Mon Sep 17 00:00:00 2001
-From: Koen Kooi <k-kooi@ti.com>
-Date: Tue, 9 Feb 2010 17:16:13 +0100
-Subject: [PATCH 08/45] mt9t111: first stab at merging sensor driver based on a patch by Leopard Imaging
-
----
- drivers/media/video/Kconfig       |    8 +
- drivers/media/video/Makefile      |    1 +
- drivers/media/video/mt9t111.c     |  883 ++++++++++++++++++++++++
- drivers/media/video/mt9t111_reg.h | 1364 +++++++++++++++++++++++++++++++++++++
- include/media/mt9t111.h           |   79 +++
- 5 files changed, 2335 insertions(+), 0 deletions(-)
- create mode 100644 drivers/media/video/mt9t111.c
- create mode 100644 drivers/media/video/mt9t111_reg.h
- create mode 100644 include/media/mt9t111.h
-
-diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
-index 41e39a7..f67ed46 100644
---- a/drivers/media/video/Kconfig
-+++ b/drivers/media/video/Kconfig
-@@ -344,6 +344,14 @@ config VIDEO_MT9P012
-         MT9P012 camera.  It is currently working with the TI OMAP3
-         camera controller.
-+config VIDEO_MT9T111
-+      tristate "Micron MT9T111 raw sensor driver (3MP)"
-+      depends on I2C && VIDEO_V4L2
-+      ---help---
-+        This is a Video4Linux2 sensor-level driver for the Micron
-+        MT9T111 camera.  It is currently working with the TI OMAP3
-+        camera controller.
-+
- config VIDEO_DW9710
-       tristate "Lens driver for DW9710"
-       depends on I2C && VIDEO_V4L2
-diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
-index 88e8ec1..31688bf 100644
---- a/drivers/media/video/Makefile
-+++ b/drivers/media/video/Makefile
-@@ -127,6 +127,7 @@ obj-$(CONFIG_VIDEO_CAFE_CCIC) += cafe_ccic.o
- obj-y                         += isp/
- obj-$(CONFIG_VIDEO_OMAP3)     += omap34xxcam.o
- obj-$(CONFIG_VIDEO_MT9P012)     += mt9p012.o
-+obj-$(CONFIG_VIDEO_MT9T111)     += mt9t111.o
- obj-$(CONFIG_VIDEO_DW9710)    += dw9710.o
- obj-$(CONFIG_VIDEO_TPS61059)    += tps61059.o
- obj-$(CONFIG_VIDEO_OV3640)    += ov3640.o
-diff --git a/drivers/media/video/mt9t111.c b/drivers/media/video/mt9t111.c
-new file mode 100644
-index 0000000..ecc5115
---- /dev/null
-+++ b/drivers/media/video/mt9t111.c
-@@ -0,0 +1,883 @@
-+/*
-+ * drivers/media/video/mt9t111.c
-+ *
-+ * mt9t111 sensor driver
-+ *
-+ * Copyright (C) 2009 Leopard Imaging
-+ *
-+ * This file is licensed under the terms of the GNU General Public License
-+ * version 2. This program is licensed "as is" without any warranty of any
-+ * kind, whether express or implied.
-+ */
-+
-+#include <linux/i2c.h>
-+#include <linux/delay.h>
-+#include <media/v4l2-int-device.h>
-+
-+#include <media/mt9t111.h>
-+#include "mt9t111_reg.h"
-+
-+#define USE_RAW // YCbCr mode does not work yet
-+//#define COLOR_BAR // Create a Color bar test pattern, Blue, Green, Red, Grey
-+
-+#define SENSOR_DETECTED               1
-+#define SENSOR_NOT_DETECTED   0
-+
-+static void mt9t111_loaddefault(struct i2c_client *client);
-+
-+/* 
-+* as a place holder for further development
-+*/
-+static void debug_dummy(char *in_msg)
-+{
-+      
-+}
-+
-+/* list of image formats supported by mt9t111 sensor */
-+const static struct v4l2_fmtdesc mt9t111_formats[] = {
-+#ifdef USE_RAW
-+      {
-+              .description    = "RAW ",
-+              .pixelformat    = V4L2_PIX_FMT_SGRBG10,
-+      },
-+#else
-+      {
-+              .description    = "YUV 422 ",
-+              .pixelformat    = V4L2_PIX_FMT_YUYV,
-+      },
-+#endif
-+};
-+
-+#define NUM_CAPTURE_FORMATS ARRAY_SIZE(mt9t111_formats)
-+
-+/*
-+ * Array of image sizes supported by MT9T111.  These must be ordered from
-+ * smallest image size to largest.
-+ */
-+const static struct capture_size mt9t111_sizes[] = {
-+      {  640, 480 },  
-+//    { 2048, 1536}           
-+};
-+
-+#define NUM_CAPTURE_SIZE ARRAY_SIZE(mt9t111_sizes)
-+
-+
-+const struct v4l2_fract mt9t111_frameintervals[] = {
-+      {  .numerator = 1, .denominator = 10 }
-+};
-+
-+#define NUM_CAPTURE_FRAMEINTERVALS ARRAY_SIZE(mt9t111_frameintervals)
-+
-+/**
-+ * struct mt9t111_sensor - main structure for storage of sensor information
-+ * @pdata: access functions and data for platform level information
-+ * @v4l2_int_device: V4L2 device structure structure
-+ * @i2c_client: iic client device structure
-+ * @pix: V4L2 pixel format information structure
-+ * @timeperframe: time per frame expressed as V4L fraction
-+ * @scaler:
-+ * @ver: mt9t111 chip version
-+ * @fps: frames per second value
-+ */
-+struct mt9t111_sensor {
-+      const struct mt9t111_platform_data *pdata;
-+      struct v4l2_int_device *v4l2_int_device;
-+      struct i2c_client *i2c_client;
-+      struct v4l2_pix_format pix;
-+      struct v4l2_fract timeperframe;
-+      int scaler;
-+      int ver;
-+      int fps;
-+      int state;
-+};
-+
-+static struct mt9t111_sensor mt9t111 = {
-+      .timeperframe = {
-+              .numerator = 1,
-+              .denominator = 10,
-+      },
-+      .state = SENSOR_NOT_DETECTED,
-+};
-+
-+/**
-+ * mt9t111_read_reg - Read a value from a register in an mt9t111 sensor device
-+ * @client: i2c driver client structure
-+ * @data_length: length of data to be read
-+ * @reg: register address / offset
-+ * @val: stores the value that gets read
-+ *
-+ * Read a value from a register in an mt9t111 sensor device.
-+ * The value is returned in 'val'.
-+ * Returns zero if successful, or non-zero otherwise.
-+ */
-+static int
-+mt9t111_read_reg(struct i2c_client *client, u16 reg, u16 *val)
-+{
-+      struct i2c_msg msg[1];
-+      u8 data[4];
-+      int err;
-+
-+      msg->addr = client->addr;
-+      msg->flags = 0;
-+      msg->len = 2;
-+      msg->buf = data;        
-+      data[0] = (reg & 0xff00) >> 8;
-+      data[1] = (reg & 0x00ff);
-+      err = i2c_transfer(client->adapter, msg, 1);
-+      if (err >= 0) {                 
-+              msg->flags = I2C_M_RD;                  
-+              msg->len = 2;   /* 2 byte read */                       
-+              err = i2c_transfer(client->adapter, msg, 1);                    
-+              if (err >= 0) {                         
-+                      *val = ((data[0] & 0x00ff) << 8)    
-+                              | (data[1] & 0x00ff);   
-+                      return 0;
-+              }
-+      }
-+      return err;
-+}
-+
-+/**
-+ * mt9t111_write_reg - Write a value to a register in an mt9t111 sensor device
-+ * @client: i2c driver client structure
-+ * @data_length: length of data to be read
-+ * @reg: register address / offset
-+ * @val: value to be written to specified register
-+ *
-+ * Write a value to a register in an mt9t111 sensor device.
-+ * Returns zero if successful, or non-zero otherwise.
-+ */
-+static int
-+mt9t111_write_reg(struct i2c_client *client, u16 reg, u16 val)
-+{
-+      struct i2c_msg msg[1];
-+      u8 data[20];
-+      int err;
-+
-+      msg->addr = client->addr;
-+      msg->flags = 0;
-+      msg->len = 4;
-+      msg->buf = data;
-+      data[0] = (u8)((reg & 0xff00) >> 8);
-+      data[1] = (u8)(reg & 0x00ff);   
-+      data[2] = (u8)((val & 0xff00) >> 8);
-+      data[3] = (u8)(val & 0x00ff);
-+      err = i2c_transfer(client->adapter, msg, 1);
-+
-+      return err;
-+}
-+
-+/**
-+ * mt9t111_write_regs - Write registers to an mt9t111 sensor device
-+ * @client: i2c driver client structure
-+ * @reg_in: pointer to registers to write
-+ * @cnt: the number of registers 
-+ *
-+ * Write registers .
-+ * Returns zero if successful, or non-zero otherwise.
-+ */
-+static int
-+mt9t111_write_regs(struct i2c_client *client, mt9t111_regs *reg_in, int cnt)
-+{
-+      int err = 0;
-+      int i;
-+      mt9t111_regs *reg = reg_in;
-+      
-+      for (i=0;i<cnt;i++) {
-+              if (reg->delay_time == 0) {
-+                      err |= mt9t111_write_reg(client, reg->addr, reg->data);
-+              } else if (reg->addr != 0 || reg->data != 0) {
-+                      err |= mt9t111_write_reg(client, reg->addr, reg->data);
-+                      mdelay(reg->delay_time);
-+              } else 
-+                      mdelay(reg->delay_time);
-+                      
-+              if (err < 0) {
-+                      dev_warn(&client->dev, "write reg error, addr = 0x%x, data = 0x%x \n", \
-+                              reg->addr, reg->data);
-+                      return err;
-+              }
-+              reg++;
-+      }
-+      return err;
-+}
-+
-+/**
-+ * mt9t111_detect - Detect if an mt9t111 is present, and if so which revision
-+ * @client: pointer to the i2c client driver structure
-+ *
-+ * Detect if an mt9t111 is present
-+ * Returns a negative error number if no device is detected, or the
-+ * non-negative value of the version ID register if a device is detected.
-+ */
-+static int
-+mt9t111_detect(struct i2c_client *client)
-+{
-+      u16 val;
-+
-+      /* chip ID is at address 0 */
-+      if (mt9t111_read_reg(client, MT9T111_CHIP_ID, &val) < 0)
-+              return -ENODEV;
-+      dev_info(&client->dev, "model id detected 0x%x\n", val);
-+      
-+      if (val != MT9T111_CHIP_ID_VALUE) {
-+              dev_warn(&client->dev, "model id mismatch received 0x%x expecting 0x%x\n",
-+                      val, MT9T111_CHIP_ID_VALUE);
-+
-+              return -ENODEV;
-+      }
-+
-+      return 0;
-+
-+}
-+
-+/**
-+ * mt9t111_configure - Configure the mt9t111 for the specified image mode
-+ * @s: pointer to standard V4L2 device structure
-+ *
-+ * Configure the mt9t111 for a specified image size, pixel format, and frame
-+ * period.  xclk is the frequency (in Hz) of the xclk input to the mt9t111.
-+ * fper is the frame period (in seconds) expressed as a fraction.
-+ * Returns zero if successful, or non-zero otherwise.
-+ * The actual frame period is returned in fper.
-+ */
-+static int mt9t111_configure(struct v4l2_int_device *s)
-+{
-+      debug_dummy("debug_dummy -- to set imager mode");
-+
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_enum_framesizes - V4L2 sensor if handler for vidioc_int_enum_framesizes
-+ * @s: pointer to standard V4L2 device structure
-+ * @frms: pointer to standard V4L2 framesizes enumeration structure
-+ *
-+ * Returns possible framesizes depending on choosen pixel format
-+ **/
-+static int ioctl_enum_framesizes(struct v4l2_int_device *s,
-+                                      struct v4l2_frmsizeenum *frms)
-+{
-+      int ifmt;
-+
-+      for (ifmt = 0; ifmt < NUM_CAPTURE_FORMATS; ifmt++) {
-+              if (frms->pixel_format == mt9t111_formats[ifmt].pixelformat)
-+                      break;
-+      }
-+      /* Is requested pixelformat not found on sensor? */
-+      if (ifmt == NUM_CAPTURE_FORMATS)
-+              return -EINVAL;
-+
-+      /* Do we already reached all discrete framesizes? */
-+      if (frms->index >= NUM_CAPTURE_SIZE)
-+              return -EINVAL;
-+
-+      frms->type = V4L2_FRMSIZE_TYPE_DISCRETE;
-+      frms->discrete.width = mt9t111_sizes[frms->index].width;
-+      frms->discrete.height = mt9t111_sizes[frms->index].height;
-+
-+      return 0;
-+
-+}
-+
-+static int ioctl_enum_frameintervals(struct v4l2_int_device *s,
-+                                      struct v4l2_frmivalenum *frmi)
-+{
-+      int ifmt;
-+
-+printk(KERN_INFO "entering ioctl_enum_frameintervals\n");
-+printk(KERN_INFO "index = %d, pixel_format = 0x%x, width = %d, height = %d\n",
-+                      frmi->index, frmi->pixel_format, frmi->width, frmi->height);
-+printk(KERN_INFO "mt9t111 format = 0x%x\n",   mt9t111_formats[0].pixelformat);
-+
-+      if (frmi->index >= NUM_CAPTURE_FRAMEINTERVALS)
-+              return -EINVAL;
-+      
-+      for (ifmt = 0; ifmt < NUM_CAPTURE_FORMATS; ifmt++) {
-+              if (frmi->pixel_format == mt9t111_formats[ifmt].pixelformat)
-+                      break;
-+      }
-+      /* Is requested pixelformat not found on sensor? */
-+      if (ifmt == NUM_CAPTURE_FORMATS)
-+              return -EINVAL;
-+
-+      frmi->type = V4L2_FRMSIZE_TYPE_DISCRETE;
-+      frmi->discrete.numerator =
-+                              mt9t111_frameintervals[frmi->index].numerator;
-+      frmi->discrete.denominator =
-+                              mt9t111_frameintervals[frmi->index].denominator;
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_init - V4L2 sensor interface handler for VIDIOC_INT_INIT
-+ * @s: pointer to standard V4L2 device structure
-+ *
-+ * Initialize the sensor device (call mt9t111_configure())
-+ */
-+static int ioctl_init(struct v4l2_int_device *s)
-+{
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_dev_exit - V4L2 sensor interface handler for vidioc_int_dev_exit_num
-+ * @s: pointer to standard V4L2 device structure
-+ *
-+ * Delinitialise the dev. at slave detach.  The complement of ioctl_dev_init.
-+ */
-+static int ioctl_dev_exit(struct v4l2_int_device *s)
-+{
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_dev_init - V4L2 sensor interface handler for vidioc_int_dev_init_num
-+ * @s: pointer to standard V4L2 device structure
-+ *
-+ * Initialise the device when slave attaches to the master.  Returns 0 if
-+ * mt9t111 device could be found, otherwise returns appropriate error.
-+ */
-+static int ioctl_dev_init(struct v4l2_int_device *s)
-+{
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_s_power - V4L2 sensor interface handler for vidioc_int_s_power_num
-+ * @s: pointer to standard V4L2 device structure
-+ * @on: power state to which device is to be set
-+ *
-+ * Sets devices power state to requrested state, if possible.
-+ */
-+static int ioctl_s_power(struct v4l2_int_device *s, enum v4l2_power on)
-+{
-+      struct mt9t111_sensor *sensor = s->priv;
-+      struct i2c_client *c = sensor->i2c_client;
-+      int rval;
-+
-+      if ((on == V4L2_POWER_STANDBY) && (sensor->state == SENSOR_DETECTED))
-+              debug_dummy("debug_dummy -- put to standby\n");
-+
-+      if (on != V4L2_POWER_ON)
-+              debug_dummy("debug_dummy -- stop master clock\n");
-+      else
-+              debug_dummy("debug_dummy -- enable clock\n");;
-+
-+      rval = sensor->pdata->power_set(on);
-+      if (rval < 0) {
-+              dev_err(&c->dev, "Unable to set the power state: " "mt9t111"
-+                                                              " sensor\n");
-+              //sensor->pdata->set_xclk(0);
-+              return rval;
-+      }
-+
-+      if ((on == V4L2_POWER_ON) && (sensor->state == SENSOR_DETECTED))
-+              mt9t111_configure(s);
-+
-+      if ((on == V4L2_POWER_ON) && (sensor->state == SENSOR_NOT_DETECTED)) {
-+              rval = mt9t111_detect(c);
-+              if (rval < 0) {
-+                      dev_err(&c->dev, "Unable to detect " "mt9t111"
-+                                                              " sensor\n");
-+                      sensor->state = SENSOR_NOT_DETECTED;
-+                      return rval;
-+              }
-+              mt9t111_loaddefault(c);
-+              sensor->state = SENSOR_DETECTED;
-+              sensor->ver = rval;
-+              pr_info("mt9t111" " chip version 0x%02x detected\n",
-+                                                              sensor->ver);
-+      }
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_g_priv - V4L2 sensor interface handler for vidioc_int_g_priv_num
-+ * @s: pointer to standard V4L2 device structure
-+ * @p: void pointer to hold sensor's private data address
-+ *
-+ * Returns device's (sensor's) private data area address in p parameter
-+ */
-+static int ioctl_g_priv(struct v4l2_int_device *s, void *p)
-+{
-+      struct mt9t111_sensor *sensor = s->priv;
-+
-+      return sensor->pdata->priv_data_set(p);
-+}
-+
-+/**
-+ * ioctl_s_parm - V4L2 sensor interface handler for VIDIOC_S_PARM ioctl
-+ * @s: pointer to standard V4L2 device structure
-+ * @a: pointer to standard V4L2 VIDIOC_S_PARM ioctl structure
-+ *
-+ * Configures the sensor to use the input parameters, if possible.  If
-+ * not possible, reverts to the old parameters and returns the
-+ * appropriate error code.
-+ */
-+static int ioctl_s_parm(struct v4l2_int_device *s,
-+                           struct v4l2_streamparm *a)
-+{
-+      //TODO: set paramters
-+      debug_dummy("debug_dummy -- VIDIOC_S_PARM ");
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_g_parm - V4L2 sensor interface handler for VIDIOC_G_PARM ioctl
-+ * @s: pointer to standard V4L2 device structure
-+ * @a: pointer to standard V4L2 VIDIOC_G_PARM ioctl structure
-+ *
-+ * Returns the sensor's video CAPTURE parameters.
-+ */
-+static int ioctl_g_parm(struct v4l2_int_device *s,
-+                           struct v4l2_streamparm *a)
-+{
-+      struct mt9t111_sensor *sensor = s->priv;
-+      struct v4l2_captureparm *cparm = &a->parm.capture;
-+
-+      if (a->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
-+              return -EINVAL;
-+
-+      memset(a, 0, sizeof(*a));
-+      a->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-+
-+      cparm->capability = V4L2_CAP_TIMEPERFRAME;
-+      cparm->timeperframe = sensor->timeperframe;
-+
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_g_fmt_cap - V4L2 sensor interface handler for ioctl_g_fmt_cap
-+ * @s: pointer to standard V4L2 device structure
-+ * @f: pointer to standard V4L2 v4l2_format structure
-+ *
-+ * Returns the sensor's current pixel format in the v4l2_format
-+ * parameter.
-+ */
-+static int ioctl_g_fmt_cap(struct v4l2_int_device *s,
-+                              struct v4l2_format *f)
-+{
-+      struct mt9t111_sensor *sensor = s->priv;
-+      f->fmt.pix = sensor->pix;
-+
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_try_fmt_cap - Implement the CAPTURE buffer VIDIOC_TRY_FMT ioctl
-+ * @s: pointer to standard V4L2 device structure
-+ * @f: pointer to standard V4L2 VIDIOC_TRY_FMT ioctl structure
-+ *
-+ * Implement the VIDIOC_TRY_FMT ioctl for the CAPTURE buffer type.  This
-+ * ioctl is used to negotiate the image capture size and pixel format
-+ * without actually making it take effect.
-+ */
-+static int ioctl_try_fmt_cap(struct v4l2_int_device *s,
-+                           struct v4l2_format *f)
-+{
-+      struct v4l2_pix_format *pix = &f->fmt.pix;
-+      struct mt9t111_sensor *sensor = s->priv;
-+      struct v4l2_pix_format *pix2 = &sensor->pix;
-+
-+      pix->width = 640;
-+      pix->height = 480;
-+#ifdef USE_RAW        
-+      pix->pixelformat = V4L2_PIX_FMT_SGRBG10;
-+      pix->bytesperline = pix->width; 
-+      pix->colorspace =  V4L2_COLORSPACE_SRGB;
-+#else
-+      pix->pixelformat = V4L2_PIX_FMT_YUYV;
-+      pix->bytesperline = pix->width * 2;  
-+      pix->colorspace = V4L2_COLORSPACE_JPEG;
-+#endif
-+      pix->field = V4L2_FIELD_NONE;
-+
-+      pix->sizeimage = pix->bytesperline * pix->height;
-+      pix->priv = 0;
-+      *pix2 = *pix;
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_s_fmt_cap - V4L2 sensor interface handler for VIDIOC_S_FMT ioctl
-+ * @s: pointer to standard V4L2 device structure
-+ * @f: pointer to standard V4L2 VIDIOC_S_FMT ioctl structure
-+ *
-+ * If the requested format is supported, configures the HW to use that
-+ * format, returns error code if format not supported or HW can't be
-+ * correctly configured.
-+ */
-+static int ioctl_s_fmt_cap(struct v4l2_int_device *s,
-+                              struct v4l2_format *f)
-+{
-+      struct mt9t111_sensor *sensor = s->priv;
-+      struct v4l2_pix_format *pix = &f->fmt.pix;
-+      int rval;
-+
-+      rval = ioctl_try_fmt_cap(s, f);
-+      if (!rval)
-+              sensor->pix = *pix;
-+
-+      return rval;
-+}
-+
-+/**
-+ * ioctl_enum_fmt_cap - Implement the CAPTURE buffer VIDIOC_ENUM_FMT ioctl
-+ * @s: pointer to standard V4L2 device structure
-+ * @fmt: standard V4L2 VIDIOC_ENUM_FMT ioctl structure
-+ *
-+ * Implement the VIDIOC_ENUM_FMT ioctl for the CAPTURE buffer type.
-+ */
-+static int ioctl_enum_fmt_cap(struct v4l2_int_device *s,
-+                                 struct v4l2_fmtdesc *fmt)
-+{
-+      int index = fmt->index;
-+      enum v4l2_buf_type type = fmt->type;
-+
-+      memset(fmt, 0, sizeof(*fmt));
-+      fmt->index = index;
-+      fmt->type = type;
-+
-+      switch (fmt->type) {
-+      case V4L2_BUF_TYPE_VIDEO_CAPTURE:
-+              if (index >= NUM_CAPTURE_FORMATS)
-+                      return -EINVAL;
-+      break;
-+      default:
-+              return -EINVAL;
-+      }
-+
-+      fmt->flags = mt9t111_formats[index].flags;
-+      strlcpy(fmt->description, mt9t111_formats[index].description,
-+                                      sizeof(fmt->description));
-+      fmt->pixelformat = mt9t111_formats[index].pixelformat;
-+
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_s_ctrl - V4L2 sensor interface handler for VIDIOC_S_CTRL ioctl
-+ * @s: pointer to standard V4L2 device structure
-+ * @vc: standard V4L2 VIDIOC_S_CTRL ioctl structure
-+ *
-+ * If the requested control is supported, sets the control's current
-+ * value in HW (and updates the video_control[] array).  Otherwise,
-+ * returns -EINVAL if the control is not supported.
-+ */
-+static int ioctl_s_ctrl(struct v4l2_int_device *s,
-+                           struct v4l2_control *vc)
-+{
-+      debug_dummy("debug_dummy -- s ctrl\n");
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_g_ctrl - V4L2 sensor interface handler for VIDIOC_G_CTRL ioctl
-+ * @s: pointer to standard V4L2 device structure
-+ * @vc: standard V4L2 VIDIOC_G_CTRL ioctl structure
-+ *
-+ * If the requested control is supported, returns the control's current
-+ * value from the video_control[] array.  Otherwise, returns -EINVAL
-+ * if the control is not supported.
-+ */
-+static int ioctl_g_ctrl(struct v4l2_int_device *s,
-+                           struct v4l2_control *vc)
-+{
-+      debug_dummy("debug_dummy -- g ctrl\n"); 
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_queryctrl - V4L2 sensor interface handler for VIDIOC_QUERYCTRL ioctl
-+ * @s: pointer to standard V4L2 device structure
-+ * @qc: standard V4L2 VIDIOC_QUERYCTRL ioctl structure
-+ *
-+ * If the requested control is supported, returns the control information
-+ * from the video_control[] array.  Otherwise, returns -EINVAL if the
-+ * control is not supported.
-+ */
-+static int ioctl_queryctrl(struct v4l2_int_device *s,
-+                              struct v4l2_queryctrl *qc)
-+{
-+      debug_dummy("debug_dummy -- query ctrl\n");     
-+      return-EINVAL;
-+}
-+
-+/**
-+ * ioctl_s_routing - V4L2 decoder interface handler for VIDIOC_S_INPUT ioctl
-+ * @s: pointer to standard V4L2 device structure
-+ * @index: number of the input
-+ *
-+ * If index is valid, selects the requested input. Otherwise, returns -EINVAL if
-+ * the input is not supported or there is no active signal present in the
-+ * selected input.
-+ */
-+static int ioctl_s_routing(struct v4l2_int_device *s,
-+                              struct v4l2_routing *route)
-+{
-+      return 0;
-+}
-+
-+/**
-+ * ioctl_g_ifparm - V4L2 decoder interface handler for vidioc_int_g_ifparm_num
-+ * @s: pointer to standard V4L2 device structure
-+ * @p: pointer to standard V4L2 vidioc_int_g_ifparm_num ioctl structure
-+ *
-+ * Gets slave interface parameters.
-+ * Calculates the required xclk value to support the requested
-+ * clock parameters in p. This value is returned in the p
-+ * parameter.
-+ */
-+static int ioctl_g_ifparm(struct v4l2_int_device *s, struct v4l2_ifparm *p)
-+{
-+      struct mt9t111_sensor *sensor = s->priv;
-+      int rval;
-+
-+      if (p == NULL)
-+              return -EINVAL;
-+
-+      if (NULL == sensor->pdata->ifparm)
-+              return -EINVAL;
-+
-+      rval = sensor->pdata->ifparm(p);
-+      if (rval) {
-+              v4l_err(sensor->i2c_client, "g_ifparm.Err[%d]\n", rval);
-+              return rval;
-+      }
-+
-+      p->u.ycbcr.clock_curr = 40*1000000; // temporal value
-+
-+      return 0;
-+}
-+
-+
-+static struct v4l2_int_ioctl_desc mt9t111_ioctl_desc[] = {
-+      { .num = vidioc_int_enum_framesizes_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_enum_framesizes },
-+      { .num = vidioc_int_enum_frameintervals_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_enum_frameintervals },
-+      { .num = vidioc_int_dev_init_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_dev_init },
-+      { .num = vidioc_int_dev_exit_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_dev_exit },
-+      { .num = vidioc_int_s_power_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_s_power },
-+      { .num = vidioc_int_g_priv_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_g_priv },
-+      {vidioc_int_g_ifparm_num, 
-+        .func = (v4l2_int_ioctl_func*) ioctl_g_ifparm},
-+      { .num = vidioc_int_init_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_init },
-+      { .num = vidioc_int_enum_fmt_cap_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_enum_fmt_cap },
-+      { .num = vidioc_int_try_fmt_cap_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_try_fmt_cap },
-+      { .num = vidioc_int_g_fmt_cap_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_g_fmt_cap },
-+      { .num = vidioc_int_s_fmt_cap_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_s_fmt_cap },
-+      { .num = vidioc_int_g_parm_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_g_parm },
-+      { .num = vidioc_int_s_parm_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_s_parm },
-+      { .num = vidioc_int_queryctrl_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_queryctrl },
-+      { .num = vidioc_int_g_ctrl_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_g_ctrl },
-+      { .num = vidioc_int_s_ctrl_num,
-+        .func = (v4l2_int_ioctl_func *)ioctl_s_ctrl },
-+      {.num = vidioc_int_s_video_routing_num,
-+              .func = (v4l2_int_ioctl_func *) ioctl_s_routing},         
-+};
-+
-+static void mt9t111_refresh(struct i2c_client *client){       
-+      int i;  
-+      unsigned short value;           
-+      // MCU_ADDRESS [SEQ_CMD] -- refresh     
-+      mt9t111_write_reg(client, 0x098E,           0x8400);    
-+      mt9t111_write_reg(client, 0x0990,           0x0006);    
-+      for (i=0;i<100;i++){            
-+              mt9t111_write_reg(client, 0x098E, 0x8400);                      
-+              mt9t111_read_reg(client,0x0990,&value);                         
-+              if ( value == 0)                        
-+                      break;          
-+              mdelay(5);      
-+      }
-+}
-+
-+#ifdef COLOR_BAR
-+static void mt9t111_color_bar(struct i2c_client *client)
-+{
-+      mt9t111_write_reg(client, 0x3210, 0x01B0); // disable lens correction
-+
-+      mt9t111_write_reg(client, 0x098E, 0x6003);
-+      mt9t111_write_reg(client, 0x0990, 0x0100);
-+      mt9t111_write_reg(client, 0x098E, 0x6025);
-+      mt9t111_write_reg(client, 0x0990, 0x0003);
-+}
-+#endif
-+
-+static void mt9t111_bayer_format(struct i2c_client *client)
-+{
-+      mt9t111_write_regs(client, bayer_pattern_regs, sizeof(bayer_pattern_regs)/sizeof(mt9t111_regs));
-+}
-+
-+static void mt9t111_enable_pll(struct i2c_client *client)
-+{
-+      int i;
-+      unsigned short value; 
-+
-+      mt9t111_write_regs(client, pll_regs1, sizeof(pll_regs1)/sizeof(mt9t111_regs));
-+      for (i=0;i<100;i++){
-+              mt9t111_read_reg(client,0x0014,&value);
-+              if (( value & 0x8000) != 0)
-+                      break;
-+              mdelay(2);
-+      }
-+      mt9t111_write_regs(client, pll_regs2, sizeof(pll_regs2)/sizeof(mt9t111_regs));
-+}
-+
-+
-+static void mt9t111_loaddefault(struct i2c_client *client)
-+{
-+      mt9t111_write_reg(client, 0x001A, 0x0219);
-+      mt9t111_write_reg(client, 0x001A, 0x0218);
-+
-+      mt9t111_enable_pll(client);
-+      mt9t111_write_regs(client, def_regs1, sizeof(def_regs1)/sizeof(mt9t111_regs));
-+      mt9t111_write_regs(client, patch_rev6, sizeof(patch_rev6)/sizeof(mt9t111_regs));
-+      mt9t111_write_regs(client, def_regs2, sizeof(def_regs2)/sizeof(mt9t111_regs));
-+
-+#ifdef USE_RAW
-+      mt9t111_bayer_format(client);
-+#endif
-+
-+#ifdef COLOR_BAR
-+      mt9t111_color_bar(client);
-+#endif
-+
-+      mt9t111_refresh(client);
-+}
-+
-+static struct v4l2_int_slave mt9t111_slave = {
-+      .ioctls = mt9t111_ioctl_desc,
-+      .num_ioctls = ARRAY_SIZE(mt9t111_ioctl_desc),
-+};
-+
-+static struct v4l2_int_device mt9t111_int_device = {
-+      .module = THIS_MODULE,
-+      .name = "mt9t111",
-+      .priv = &mt9t111,
-+      .type = v4l2_int_type_slave,
-+      .u = {
-+              .slave = &mt9t111_slave,
-+      },
-+};
-+
-+/**
-+ * mt9t111_probe - sensor driver i2c probe handler
-+ * @client: i2c driver client device structure
-+ *
-+ * Register sensor as an i2c client device and V4L2
-+ * device.
-+ */
-+static int
-+mt9t111_probe(struct i2c_client *client, const struct i2c_device_id *id)
-+{
-+      struct mt9t111_sensor *sensor = &mt9t111;
-+      int err;
-+
-+      if (i2c_get_clientdata(client))
-+              return -EBUSY;
-+
-+      sensor->pdata = client->dev.platform_data;
-+
-+      if (!sensor->pdata) {
-+              dev_err(&client->dev, "no platform data?\n");
-+              return -ENODEV;
-+      }
-+
-+      sensor->v4l2_int_device = &mt9t111_int_device;
-+      sensor->i2c_client = client;
-+
-+      i2c_set_clientdata(client, sensor);
-+
-+      sensor->pix.width = 640;
-+      sensor->pix.height = 480;
-+#ifdef USE_RAW        
-+      sensor->pix.pixelformat = V4L2_PIX_FMT_SGRBG10;
-+#else
-+      sensor->pix.pixelformat = V4L2_PIX_FMT_YUYV;
-+#endif
-+      err = v4l2_int_device_register(sensor->v4l2_int_device);
-+      if (err)
-+              i2c_set_clientdata(client, NULL);
-+      return err;
-+}
-+
-+/**
-+ * mt9t111_remove - sensor driver i2c remove handler
-+ * @client: i2c driver client device structure
-+ *
-+ * Unregister sensor as an i2c client device and V4L2
-+ * device.  Complement of mt9t111_probe().
-+ */
-+static int __exit
-+mt9t111_remove(struct i2c_client *client)
-+{
-+      struct mt9t111_sensor *sensor = i2c_get_clientdata(client);
-+
-+      if (!client->adapter)
-+              return -ENODEV; /* our client isn't attached */
-+
-+      v4l2_int_device_unregister(sensor->v4l2_int_device);
-+      i2c_set_clientdata(client, NULL);
-+
-+      return 0;
-+}
-+
-+static const struct i2c_device_id mt9t111_id[] = {
-+      { "mt9t111", 0 },
-+      { },
-+};
-+MODULE_DEVICE_TABLE(i2c, mt9t111_id);
-+
-+static struct i2c_driver mt9t111sensor_i2c_driver = {
-+      .driver = {
-+              .name = "mt9t111",
-+              .owner = THIS_MODULE,
-+      },
-+      .probe = mt9t111_probe,
-+      .remove = __exit_p(mt9t111_remove),
-+      .id_table = mt9t111_id,
-+};
-+
-+/**
-+ * mt9t111sensor_init - sensor driver module_init handler
-+ *
-+ * Registers driver as an i2c client driver.  Returns 0 on success,
-+ * error code otherwise.
-+ */
-+static int __init mt9t111sensor_init(void)
-+{
-+printk(KERN_INFO "entering mt9t111sensor_init\n");
-+      return i2c_add_driver(&mt9t111sensor_i2c_driver);
-+}
-+module_init(mt9t111sensor_init);
-+
-+/**
-+ * mt9t111sensor_cleanup - sensor driver module_exit handler
-+ *
-+ * Unregisters/deletes driver as an i2c client driver.
-+ * Complement of mt9t111sensor_init.
-+ */
-+static void __exit mt9t111sensor_cleanup(void)
-+{
-+      i2c_del_driver(&mt9t111sensor_i2c_driver);
-+}
-+module_exit(mt9t111sensor_cleanup);
-+
-+MODULE_LICENSE("GPL");
-+MODULE_DESCRIPTION("mt9t111 camera sensor driver");
-diff --git a/drivers/media/video/mt9t111_reg.h b/drivers/media/video/mt9t111_reg.h
-new file mode 100644
-index 0000000..e012eeb
---- /dev/null
-+++ b/drivers/media/video/mt9t111_reg.h
-@@ -0,0 +1,1364 @@
-+/*
-+ * drivers/media/video/mt9t111_reg.h
-+ *
-+ * mt9t111 sensor driver header file
-+ *
-+ * Copyright (C) 2009 Leopard Imaging
-+ *
-+ * This file is licensed under the terms of the GNU General Public License
-+ * version 2. This program is licensed "as is" without any warranty of any
-+ * kind, whether express or implied.
-+ */
-+
-+#ifndef MT9T111_REG_H
-+#define MT9T111_REG_H
-+
-+/* register addr */
-+#define MT9T111_CHIP_ID               (0x0000)
-+
-+/* register value */
-+#define MT9T111_CHIP_ID_VALUE (0x2680)
-+
-+typedef struct {
-+      u16 delay_time;
-+      u16 addr;
-+      u16 data;
-+} mt9t111_regs;
-+
-+mt9t111_regs patch_rev6[] ={
-+      {0, 0x0982, 0x0},
-+      {0, 0x098A, 0xCE7},
-+      {0, 0x0990, 0x3C3C},
-+      {0, 0x0992, 0x3C3C},
-+      {0, 0x0994, 0x3C5F},
-+      {0, 0x0996, 0x4F30},
-+      {0, 0x0998, 0xED08},
-+      {0, 0x099a, 0xBD61},
-+      {0, 0x099c, 0xD5CE},
-+      {0, 0x099e, 0x4CD},
-+      {0, 0x098A, 0xCF7},
-+      {0, 0x0990, 0x1F17},
-+      {0, 0x0992, 0x211},
-+      {0, 0x0994, 0xCC33},
-+      {0, 0x0996, 0x2E30},
-+      {0, 0x0998, 0xED02},
-+      {0, 0x099a, 0xCCFF},
-+      {0, 0x099c, 0xFDED},
-+      {0, 0x099e, 0xCC},
-+      {0, 0x098A, 0xD07},
-+      {0, 0x0990, 0x2},
-+      {0, 0x0992, 0xBD70},
-+      {0, 0x0994, 0x6D18},
-+      {0, 0x0996, 0xDE1F},
-+      {0, 0x0998, 0x181F},
-+      {0, 0x099a, 0x8E01},
-+      {0, 0x099c, 0x10CC},
-+      {0, 0x099e, 0x3C52},
-+      {0, 0x098A, 0xD17},
-+      {0, 0x0990, 0x30ED},
-+      {0, 0x0992, 0x18},
-+      {0, 0x0994, 0xECA0},
-+      {0, 0x0996, 0xC4FD},
-+      {0, 0x0998, 0xBD70},
-+      {0, 0x099a, 0x2120},
-+      {0, 0x099c, 0x1ECC},
-+      {0, 0x099e, 0x3C52},
-+      {0, 0x098A, 0xD27},
-+      {0, 0x0990, 0x30ED},
-+      {0, 0x0992, 0xDE},
-+      {0, 0x0994, 0x1FEC},
-+      {0, 0x0996, 0xA0BD},
-+      {0, 0x0998, 0x7021},
-+      {0, 0x099a, 0xCC3C},
-+      {0, 0x099c, 0x5230},
-+      {0, 0x099e, 0xED02},
-+      {0, 0x098A, 0xD37},
-+      {0, 0x0990, 0xCCFF},
-+      {0, 0x0992, 0xFCED},
-+      {0, 0x0994, 0xCC},
-+      {0, 0x0996, 0x2},
-+      {0, 0x0998, 0xBD70},
-+      {0, 0x099a, 0x6DFC},
-+      {0, 0x099c, 0x4E1},
-+      {0, 0x099e, 0x1A83},
-+      {0, 0x098A, 0xD47},
-+      {0, 0x0990, 0x1},
-+      {0, 0x0992, 0x2720},
-+      {0, 0x0994, 0x1A83},
-+      {0, 0x0996, 0x4},
-+      {0, 0x0998, 0x271E},
-+      {0, 0x099a, 0x1A83},
-+      {0, 0x099c, 0x8},
-+      {0, 0x099e, 0x271C},
-+      {0, 0x098A, 0xD57},
-+      {0, 0x0990, 0x1A83},
-+      {0, 0x0992, 0x10},
-+      {0, 0x0994, 0x271A},
-+      {0, 0x0996, 0x1A83},
-+      {0, 0x0998, 0x20},
-+      {0, 0x099a, 0x2718},
-+      {0, 0x099c, 0x1A83},
-+      {0, 0x099e, 0x40},
-+      {0, 0x098A, 0xD67},
-+      {0, 0x0990, 0x2716},
-+      {0, 0x0992, 0x2019},
-+      {0, 0x0994, 0xC61E},
-+      {0, 0x0996, 0x2012},
-+      {0, 0x0998, 0xC622},
-+      {0, 0x099a, 0x200E},
-+      {0, 0x099c, 0xC621},
-+      {0, 0x099e, 0x200A},
-+      {0, 0x098A, 0xD77},
-+      {0, 0x0990, 0xC620},
-+      {0, 0x0992, 0x2006},
-+      {0, 0x0994, 0xC62A},
-+      {0, 0x0996, 0x2002},
-+      {0, 0x0998, 0xC62B},
-+      {0, 0x099a, 0x30ED},
-+      {0, 0x099c, 0x8CC},
-+      {0, 0x099e, 0x3400},
-+      {0, 0x098A, 0xD87},
-+      {0, 0x0990, 0x30ED},
-+      {0, 0x0992, 0x34},
-+      {0, 0x0994, 0xBD6F},
-+      {0, 0x0996, 0xD184},
-+      {0, 0x0998, 0x330},
-+      {0, 0x099a, 0xED07},
-+      {0, 0x099c, 0xA60A},
-+      {0, 0x099e, 0x4848},
-+      {0, 0x098A, 0xD97},
-+      {0, 0x0990, 0x5FED},
-+      {0, 0x0992, 0x5EA},
-+      {0, 0x0994, 0x8AA},
-+      {0, 0x0996, 0x731},
-+      {0, 0x0998, 0xBD70},
-+      {0, 0x099a, 0x2130},
-+      {0, 0x099c, 0xC60A},
-+      {0, 0x099e, 0x3A35},
-+      {0, 0x098A, 0xDA7},
-+      {0, 0x0990, 0x3937},
-+      {0, 0x0992, 0x3C3C},
-+      {0, 0x0994, 0x3C34},
-+      {0, 0x0996, 0xDE2F},
-+      {0, 0x0998, 0xEE0E},
-+      {0, 0x099a, 0xAD00},
-+      {0, 0x099c, 0x7D13},
-+      {0, 0x099e, 0xEF27},
-+      {0, 0x098A, 0xDB7},
-+      {0, 0x0990, 0x7CCE},
-+      {0, 0x0992, 0x13E0},
-+      {0, 0x0994, 0x1E05},
-+      {0, 0x0996, 0x1060},
-+      {0, 0x0998, 0xE60E},
-+      {0, 0x099a, 0x4FC3},
-+      {0, 0x099c, 0x13F0},
-+      {0, 0x099e, 0x8FE6},
-+      {0, 0x098A, 0xDC7},
-+      {0, 0x0990, 0x30},
-+      {0, 0x0992, 0xE107},
-+      {0, 0x0994, 0x2216},
-+      {0, 0x0996, 0xF613},
-+      {0, 0x0998, 0xEE4F},
-+      {0, 0x099a, 0xC313},
-+      {0, 0x099c, 0xF38F},
-+      {0, 0x099e, 0xE600},
-+      {0, 0x098A, 0xDD7},
-+      {0, 0x0990, 0x30E1},
-+      {0, 0x0992, 0x725},
-+      {0, 0x0994, 0x7F6},
-+      {0, 0x0996, 0x13EE},
-+      {0, 0x0998, 0xC103},
-+      {0, 0x099a, 0x253C},
-+      {0, 0x099c, 0x7F13},
-+      {0, 0x099e, 0xEEF6},
-+      {0, 0x098A, 0xDE7},
-+      {0, 0x0990, 0x13EF},
-+      {0, 0x0992, 0xE706},
-+      {0, 0x0994, 0xCC13},
-+      {0, 0x0996, 0xF0ED},
-+      {0, 0x0998, 0x4CC},
-+      {0, 0x099a, 0x13F3},
-+      {0, 0x099c, 0x200F},
-+      {0, 0x099e, 0x7C13},
-+      {0, 0x098A, 0xDF7},
-+      {0, 0x0990, 0xEEEC},
-+      {0, 0x0992, 0x4C3},
-+      {0, 0x0994, 0x1},
-+      {0, 0x0996, 0xED04},
-+      {0, 0x0998, 0xEC02},
-+      {0, 0x099a, 0xC300},
-+      {0, 0x099c, 0x1ED},
-+      {0, 0x099e, 0x2F6},
-+      {0, 0x098A, 0xE07},
-+      {0, 0x0990, 0x13EE},
-+      {0, 0x0992, 0xE106},
-+      {0, 0x0994, 0x2412},
-+      {0, 0x0996, 0xEE04},
-+      {0, 0x0998, 0xE600},
-+      {0, 0x099a, 0x30E1},
-+      {0, 0x099c, 0x722},
-+      {0, 0x099e, 0xDFEE},
-+      {0, 0x098A, 0xE17},
-+      {0, 0x0990, 0x2E6},
-+      {0, 0x0992, 0x30},
-+      {0, 0x0994, 0xE107},
-+      {0, 0x0996, 0x25D6},
-+      {0, 0x0998, 0xDE49},
-+      {0, 0x099a, 0xEE08},
-+      {0, 0x099c, 0xAD00},
-+      {0, 0x099e, 0xCC13},
-+      {0, 0x098A, 0xE27},
-+      {0, 0x0990, 0xF630},
-+      {0, 0x0992, 0xED00},
-+      {0, 0x0994, 0xDE2F},
-+      {0, 0x0996, 0xEE10},
-+      {0, 0x0998, 0xCC13},
-+      {0, 0x099a, 0xFAAD},
-+      {0, 0x099c, 0x38},
-+      {0, 0x099e, 0x3838},
-+      {0, 0x098A, 0xE37},
-+      {0, 0x0990, 0x3839},
-+      {0, 0x098A, 0x1000},
-+      {0, 0x0990, 0xCC10},
-+      {0, 0x0992, 0x9BD},
-+      {0, 0x0994, 0x4224},
-+      {0, 0x0996, 0x7E10},
-+      {0, 0x0998, 0x9C6},
-+      {0, 0x099a, 0x1F7},
-+      {0, 0x099c, 0x18A},
-+      {0, 0x099e, 0xC606},
-+      {0, 0x098A, 0x1010},
-+      {0, 0x0990, 0xF701},
-+      {0, 0x0992, 0x8BDE},
-+      {0, 0x0994, 0x3F18},
-+      {0, 0x0996, 0xCE0B},
-+      {0, 0x0998, 0xF1CC},
-+      {0, 0x099a, 0x11},
-+      {0, 0x099c, 0xBDD7},
-+      {0, 0x099e, 0xCC},
-+      {0, 0x098A, 0x1020},
-+      {0, 0x0990, 0xBF1},
-+      {0, 0x0992, 0xDD3F},
-+      {0, 0x0994, 0xDE35},
-+      {0, 0x0996, 0x18CE},
-+      {0, 0x0998, 0xC03},
-+      {0, 0x099a, 0xCC00},
-+      {0, 0x099c, 0x3FBD},
-+      {0, 0x099e, 0xD700},
-+      {0, 0x098A, 0x1030},
-+      {0, 0x0990, 0xCC0C},
-+      {0, 0x0992, 0x3DD},
-+      {0, 0x0994, 0x35DE},
-+      {0, 0x0996, 0x4718},
-+      {0, 0x0998, 0xCE0C},
-+      {0, 0x099a, 0x43CC},
-+      {0, 0x099c, 0x15},
-+      {0, 0x099e, 0xBDD7},
-+      {0, 0x098A, 0x1040},
-+      {0, 0x0990, 0xCC},
-+      {0, 0x0992, 0xC43},
-+      {0, 0x0994, 0xDD47},
-+      {0, 0x0996, 0xFE00},
-+      {0, 0x0998, 0x3318},
-+      {0, 0x099a, 0xCE0C},
-+      {0, 0x099c, 0x59CC},
-+      {0, 0x099e, 0x9},
-+      {0, 0x098A, 0x1050},
-+      {0, 0x0990, 0xBDD7},
-+      {0, 0x0992, 0xCC},
-+      {0, 0x0994, 0xC59},
-+      {0, 0x0996, 0xFD00},
-+      {0, 0x0998, 0x33DE},
-+      {0, 0x099a, 0x4118},
-+      {0, 0x099c, 0xCE0C},
-+      {0, 0x099e, 0x63CC},
-+      {0, 0x098A, 0x1060},
-+      {0, 0x0990, 0xD},
-+      {0, 0x0992, 0xBDD7},
-+      {0, 0x0994, 0xCC},
-+      {0, 0x0996, 0xC63},
-+      {0, 0x0998, 0xDD41},
-+      {0, 0x099a, 0xFE00},
-+      {0, 0x099c, 0x3118},
-+      {0, 0x099e, 0xCE0C},
-+      {0, 0x098A, 0x1070},
-+      {0, 0x0990, 0x71CC},
-+      {0, 0x0992, 0x29},
-+      {0, 0x0994, 0xBDD7},
-+      {0, 0x0996, 0xCC},
-+      {0, 0x0998, 0xC71},
-+      {0, 0x099a, 0xFD00},
-+      {0, 0x099c, 0x31DE},
-+      {0, 0x099e, 0x3918},
-+      {0, 0x098A, 0x1080},
-+      {0, 0x0990, 0xCE0C},
-+      {0, 0x0992, 0x9BCC},
-+      {0, 0x0994, 0x23},
-+      {0, 0x0996, 0xBDD7},
-+      {0, 0x0998, 0xCC},
-+      {0, 0x099a, 0xC9B},
-+      {0, 0x099c, 0xDD39},
-+      {0, 0x099e, 0xDE49},
-+      {0, 0x098A, 0x1090},
-+      {0, 0x0990, 0x18CE},
-+      {0, 0x0992, 0xCBF},
-+      {0, 0x0994, 0xCC00},
-+      {0, 0x0996, 0xDBD},
-+      {0, 0x0998, 0xD700},
-+      {0, 0x099a, 0xCC0C},
-+      {0, 0x099c, 0xBFDD},
-+      {0, 0x099e, 0x49CC},
-+      {0, 0x098A, 0x10A0},
-+      {0, 0x0990, 0x1162},
-+      {0, 0x0992, 0xFD0B},
-+      {0, 0x0994, 0xFDCC},
-+      {0, 0x0996, 0xCE7},
-+      {0, 0x0998, 0xFD0C},
-+      {0, 0x099a, 0x1FCC},
-+      {0, 0x099c, 0x1245},
-+      {0, 0x099e, 0xFD0C},
-+      {0, 0x098A, 0x10B0},
-+      {0, 0x0990, 0x51CC},
-+      {0, 0x0992, 0x110B},
-+      {0, 0x0994, 0xFD0C},
-+      {0, 0x0996, 0x5BCC},
-+      {0, 0x0998, 0x1108},
-+      {0, 0x099a, 0xFD0C},
-+      {0, 0x099c, 0x65CC},
-+      {0, 0x099e, 0x10D0},
-+      {0, 0x098A, 0x10C0},
-+      {0, 0x0990, 0xFD0C},
-+      {0, 0x0992, 0x7BCC},
-+      {0, 0x0994, 0x12DE},
-+      {0, 0x0996, 0xFD0C},
-+      {0, 0x0998, 0xA7CC},
-+      {0, 0x099a, 0xDA8},
-+      {0, 0x099c, 0xFD0C},
-+      {0, 0x099e, 0xCB39},
-+      {0, 0x098A, 0x10D0},
-+      {0, 0x0990, 0x37DE},
-+      {0, 0x0992, 0x1DEC},
-+      {0, 0x0994, 0xC5F},
-+      {0, 0x0996, 0x8402},
-+      {0, 0x0998, 0x4416},
-+      {0, 0x099a, 0x4FF7},
-+      {0, 0x099c, 0xCCD},
-+      {0, 0x099e, 0xE60B},
-+      {0, 0x098A, 0x10E0},
-+      {0, 0x0990, 0xC407},
-+      {0, 0x0992, 0xF70C},
-+      {0, 0x0994, 0xCE7F},
-+      {0, 0x0996, 0x30C4},
-+      {0, 0x0998, 0xEC25},
-+      {0, 0x099a, 0xFD30},
-+      {0, 0x099c, 0xC5FC},
-+      {0, 0x099e, 0x6D6},
-+      {0, 0x098A, 0x10F0},
-+      {0, 0x0990, 0xFD30},
-+      {0, 0x0992, 0xC701},
-+      {0, 0x0994, 0xFC30},
-+      {0, 0x0996, 0xC0FD},
-+      {0, 0x0998, 0xBED},
-+      {0, 0x099a, 0xFC30},
-+      {0, 0x099c, 0xC2FD},
-+      {0, 0x099e, 0xBEF},
-+      {0, 0x098A, 0x1100},
-+      {0, 0x0990, 0x30E6},
-+      {0, 0x0992, 0xBD},
-+      {0, 0x0994, 0x5203},
-+      {0, 0x0996, 0x3139},
-+      {0, 0x0998, 0x7E9E},
-+      {0, 0x099a, 0x143C},
-+      {0, 0x099c, 0x3C3C},
-+      {0, 0x099e, 0x2101},
-+      {0, 0x098A, 0x1110},
-+      {0, 0x0990, 0xCC00},
-+      {0, 0x0992, 0x18BD},
-+      {0, 0x0994, 0x6FD1},
-+      {0, 0x0996, 0xC504},
-+      {0, 0x0998, 0x26F5},
-+      {0, 0x099a, 0xDC25},
-+      {0, 0x099c, 0x30ED},
-+      {0, 0x099e, 0x420},
-+      {0, 0x098A, 0x1120},
-+      {0, 0x0990, 0x12EE},
-+      {0, 0x0992, 0x43C},
-+      {0, 0x0994, 0x1838},
-+      {0, 0x0996, 0xE621},
-+      {0, 0x0998, 0x18E7},
-+      {0, 0x099a, 0xBE30},
-+      {0, 0x099c, 0xEE04},
-+      {0, 0x099e, 0xEC1D},
-+      {0, 0x098A, 0x1130},
-+      {0, 0x0990, 0x30ED},
-+      {0, 0x0992, 0x4EC},
-+      {0, 0x0994, 0x426},
-+      {0, 0x0996, 0xEACC},
-+      {0, 0x0998, 0x1A},
-+      {0, 0x099a, 0xED02},
-+      {0, 0x099c, 0xCCFB},
-+      {0, 0x099e, 0xFFED},
-+      {0, 0x098A, 0x1140},
-+      {0, 0x0990, 0xCC},
-+      {0, 0x0992, 0x400},
-+      {0, 0x0994, 0xBD70},
-+      {0, 0x0996, 0x6DCC},
-+      {0, 0x0998, 0x1A},
-+      {0, 0x099a, 0x30ED},
-+      {0, 0x099c, 0x2CC},
-+      {0, 0x099e, 0xFBFF},
-+      {0, 0x098A, 0x1150},
-+      {0, 0x0990, 0xED00},
-+      {0, 0x0992, 0x5F4F},
-+      {0, 0x0994, 0xBD70},
-+      {0, 0x0996, 0x6D5F},
-+      {0, 0x0998, 0xBD5B},
-+      {0, 0x099a, 0x17BD},
-+      {0, 0x099c, 0x558B},
-+      {0, 0x099e, 0x3838},
-+      {0, 0x098A, 0x1160},
-+      {0, 0x0990, 0x3839},
-+      {0, 0x0992, 0x3C3C},
-+      {0, 0x0994, 0xC640},
-+      {0, 0x0996, 0xF730},
-+      {0, 0x0998, 0xC4FC},
-+      {0, 0x099a, 0xBED},
-+      {0, 0x099c, 0xFD30},
-+      {0, 0x099e, 0xC0FC},
-+      {0, 0x098A, 0x1170},
-+      {0, 0x0990, 0xBEF},
-+      {0, 0x0992, 0xFD30},
-+      {0, 0x0994, 0xC2DE},
-+      {0, 0x0996, 0x1DEC},
-+      {0, 0x0998, 0x25FD},
-+      {0, 0x099a, 0x30C5},
-+      {0, 0x099c, 0x101},
-+      {0, 0x099e, 0x1FC},
-+      {0, 0x098A, 0x1180},
-+      {0, 0x0990, 0x30C2},
-+      {0, 0x0992, 0xFD06},
-+      {0, 0x0994, 0xD6EC},
-+      {0, 0x0996, 0xC5F},
-+      {0, 0x0998, 0x8402},
-+      {0, 0x099a, 0x4416},
-+      {0, 0x099c, 0x4F30},
-+      {0, 0x099e, 0xE703},
-+      {0, 0x098A, 0x1190},
-+      {0, 0x0990, 0xF10C},
-+      {0, 0x0992, 0xCD27},
-+      {0, 0x0994, 0x15F1},
-+      {0, 0x0996, 0xCCD},
-+      {0, 0x0998, 0x2309},
-+      {0, 0x099a, 0xFC06},
-+      {0, 0x099c, 0xD604},
-+      {0, 0x099e, 0xFD06},
-+      {0, 0x098A, 0x11A0},
-+      {0, 0x0990, 0xD620},
-+      {0, 0x0992, 0x7FC},
-+      {0, 0x0994, 0x6D6},
-+      {0, 0x0996, 0x5FD},
-+      {0, 0x0998, 0x6D6},
-+      {0, 0x099a, 0xDE1D},
-+      {0, 0x099c, 0xE60B},
-+      {0, 0x099e, 0xC407},
-+      {0, 0x098A, 0x11B0},
-+      {0, 0x0990, 0x30E7},
-+      {0, 0x0992, 0x2F1},
-+      {0, 0x0994, 0xCCE},
-+      {0, 0x0996, 0x272C},
-+      {0, 0x0998, 0x7D0C},
-+      {0, 0x099a, 0xCE27},
-+      {0, 0x099c, 0x275D},
-+      {0, 0x099e, 0x2724},
-+      {0, 0x098A, 0x11C0},
-+      {0, 0x0990, 0x7F30},
-+      {0, 0x0992, 0xC4FC},
-+      {0, 0x0994, 0x6D6},
-+      {0, 0x0996, 0xFD30},
-+      {0, 0x0998, 0xC5F6},
-+      {0, 0x099a, 0xCCE},
-+      {0, 0x099c, 0x4FFD},
-+      {0, 0x099e, 0x30C7},
-+      {0, 0x098A, 0x11D0},
-+      {0, 0x0990, 0xC640},
-+      {0, 0x0992, 0xF730},
-+      {0, 0x0994, 0xC4E6},
-+      {0, 0x0996, 0x24F},
-+      {0, 0x0998, 0xFD30},
-+      {0, 0x099a, 0xC501},
-+      {0, 0x099c, 0x101},
-+      {0, 0x099e, 0xFC30},
-+      {0, 0x098A, 0x11E0},
-+      {0, 0x0990, 0xC2FD},
-+      {0, 0x0992, 0x6D6},
-+      {0, 0x0994, 0x7D06},
-+      {0, 0x0996, 0xCB27},
-+      {0, 0x0998, 0x2EC6},
-+      {0, 0x099a, 0x40F7},
-+      {0, 0x099c, 0x30C4},
-+      {0, 0x099e, 0xFC06},
-+      {0, 0x098A, 0x11F0},
-+      {0, 0x0990, 0xC104},
-+      {0, 0x0992, 0xF306},
-+      {0, 0x0994, 0xD6ED},
-+      {0, 0x0996, 0x5F},
-+      {0, 0x0998, 0x6D00},
-+      {0, 0x099a, 0x2A01},
-+      {0, 0x099c, 0x5317},
-+      {0, 0x099e, 0xFD30},
-+      {0, 0x098A, 0x1200},
-+      {0, 0x0990, 0xC0EC},
-+      {0, 0x0992, 0xFD},
-+      {0, 0x0994, 0x30C2},
-+      {0, 0x0996, 0xFC06},
-+      {0, 0x0998, 0xC1FD},
-+      {0, 0x099a, 0x30C5},
-+      {0, 0x099c, 0x101},
-+      {0, 0x099e, 0x1FC},
-+      {0, 0x098A, 0x1210},
-+      {0, 0x0990, 0x30C2},
-+      {0, 0x0992, 0xFD06},
-+      {0, 0x0994, 0xC720},
-+      {0, 0x0996, 0x227F},
-+      {0, 0x0998, 0x30C4},
-+      {0, 0x099a, 0xDE1D},
-+      {0, 0x099c, 0xEC25},
-+      {0, 0x099e, 0xFD30},
-+      {0, 0x098A, 0x1220},
-+      {0, 0x0990, 0xC5FC},
-+      {0, 0x0992, 0x6D6},
-+      {0, 0x0994, 0xFD30},
-+      {0, 0x0996, 0xC701},
-+      {0, 0x0998, 0xFC30},
-+      {0, 0x099a, 0xC0FD},
-+      {0, 0x099c, 0x6D0},
-+      {0, 0x099e, 0xFC30},
-+      {0, 0x098A, 0x1230},
-+      {0, 0x0990, 0xC2FD},
-+      {0, 0x0992, 0x6D2},
-+      {0, 0x0994, 0xEC25},
-+      {0, 0x0996, 0xFD06},
-+      {0, 0x0998, 0xC3BD},
-+      {0, 0x099a, 0x953C},
-+      {0, 0x099c, 0xDE3F},
-+      {0, 0x099e, 0xEE10},
-+      {0, 0x098A, 0x1240},
-+      {0, 0x0990, 0xAD00},
-+      {0, 0x0992, 0x3838},
-+      {0, 0x0994, 0x3930},
-+      {0, 0x0996, 0x8FC3},
-+      {0, 0x0998, 0xFFE9},
-+      {0, 0x099a, 0x8F35},
-+      {0, 0x099c, 0xBDAD},
-+      {0, 0x099e, 0x1530},
-+      {0, 0x098A, 0x1250},
-+      {0, 0x0990, 0x6F16},
-+      {0, 0x0992, 0x18DE},
-+      {0, 0x0994, 0x1918},
-+      {0, 0x0996, 0x8FC3},
-+      {0, 0x0998, 0x14B},
-+      {0, 0x099a, 0x188F},
-+      {0, 0x099c, 0x18EC},
-+      {0, 0x099e, 0xFD},
-+      {0, 0x098A, 0x1260},
-+      {0, 0x0990, 0x50E},
-+      {0, 0x0992, 0x18EC},
-+      {0, 0x0994, 0x2FD},
-+      {0, 0x0996, 0x510},
-+      {0, 0x0998, 0xE616},
-+      {0, 0x099a, 0x4FED},
-+      {0, 0x099c, 0x418},
-+      {0, 0x099e, 0x8FC3},
-+      {0, 0x098A, 0x1270},
-+      {0, 0x0990, 0xFFCB},
-+      {0, 0x0992, 0xE304},
-+      {0, 0x0994, 0x8FE6},
-+      {0, 0x0996, 0xF7},
-+      {0, 0x0998, 0x514},
-+      {0, 0x099a, 0x18DE},
-+      {0, 0x099c, 0x1930},
-+      {0, 0x099e, 0xE616},
-+      {0, 0x098A, 0x1280},
-+      {0, 0x0990, 0x4FED},
-+      {0, 0x0992, 0x418},
-+      {0, 0x0994, 0x8FC3},
-+      {0, 0x0996, 0x119},
-+      {0, 0x0998, 0xE304},
-+      {0, 0x099a, 0x8FE6},
-+      {0, 0x099c, 0xF7},
-+      {0, 0x099e, 0x515},
-+      {0, 0x098A, 0x1290},
-+      {0, 0x0990, 0xFC05},
-+      {0, 0x0992, 0x5BFD},
-+      {0, 0x0994, 0x512},
-+      {0, 0x0996, 0xDE37},
-+      {0, 0x0998, 0xEE08},
-+      {0, 0x099a, 0xAD00},
-+      {0, 0x099c, 0x30E6},
-+      {0, 0x099e, 0x164F},
-+      {0, 0x098A, 0x12A0},
-+      {0, 0x0990, 0x5ED},
-+      {0, 0x0992, 0x48F},
-+      {0, 0x0994, 0xC300},
-+      {0, 0x0996, 0x630},
-+      {0, 0x0998, 0xE304},
-+      {0, 0x099a, 0x8FF6},
-+      {0, 0x099c, 0x516},
-+      {0, 0x099e, 0x4FED},
-+      {0, 0x098A, 0x12B0},
-+      {0, 0x0990, 0x30},
-+      {0, 0x0992, 0x6C16},
-+      {0, 0x0994, 0xE616},
-+      {0, 0x0996, 0xC103},
-+      {0, 0x0998, 0x2598},
-+      {0, 0x099a, 0xCC32},
-+      {0, 0x099c, 0x8EED},
-+      {0, 0x099e, 0xEC},
-+      {0, 0x098A, 0x12C0},
-+      {0, 0x0990, 0x6BD},
-+      {0, 0x0992, 0x7021},
-+      {0, 0x0994, 0xCC32},
-+      {0, 0x0996, 0x6C30},
-+      {0, 0x0998, 0xED02},
-+      {0, 0x099a, 0xCCF8},
-+      {0, 0x099c, 0xED},
-+      {0, 0x099e, 0xA6},
-+      {0, 0x098A, 0x12D0},
-+      {0, 0x0990, 0x9E3},
-+      {0, 0x0992, 0xA84},
-+      {0, 0x0994, 0x7BD},
-+      {0, 0x0996, 0x706D},
-+      {0, 0x0998, 0x30C6},
-+      {0, 0x099a, 0x173A},
-+      {0, 0x099c, 0x3539},
-+      {0, 0x099e, 0x3CBD},
-+      {0, 0x098A, 0x12E0},
-+      {0, 0x0990, 0x776D},
-+      {0, 0x0992, 0xCC32},
-+      {0, 0x0994, 0x5C30},
-+      {0, 0x0996, 0xED00},
-+      {0, 0x0998, 0xFC13},
-+      {0, 0x099a, 0x8683},
-+      {0, 0x099c, 0x1},
-+      {0, 0x099e, 0xBD70},
-+      {0, 0x098A, 0x12F0},
-+      {0, 0x0990, 0x21CC},
-+      {0, 0x0992, 0x325E},
-+      {0, 0x0994, 0x30ED},
-+      {0, 0x0996, 0xFC},
-+      {0, 0x0998, 0x1388},
-+      {0, 0x099a, 0x8300},
-+      {0, 0x099c, 0x1BD},
-+      {0, 0x099e, 0x7021},
-+      {0, 0x098A, 0x1300},
-+      {0, 0x0990, 0x3839},
-+      {0, 0x098E, 0x0010},
-+      {0, 0x0990, 0x1000},
-+      {0, 0x098E, 0x0003},
-+      {100, 0x0990, 0x0004}
-+};
-+
-+mt9t111_regs def_regs1[] ={
-+      {0, 0x001A, 0x0218},
-+      {0, 0x001E, 0x0777},
-+      {0, 0x3084, 0x2409},
-+      {0, 0x3092, 0x0A49},
-+      {0, 0x3094, 0x4949},
-+      {0, 0x3096, 0x4950},
-+      {0, 0x0018, 0x402D},
-+      {100, 0x0018, 0x402C},
-+      {0, 0x098E, 0x6800},
-+      {0, 0x0990, 0x0280},
-+      {0, 0x098E, 0x6802},
-+      {0, 0x0990, 0x01E0},
-+      {0, 0x098E, 0xE88E},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0x68A0},
-+      {0, 0x0990, 0x082D},
-+      {0, 0x098E, 0x4802},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0x4804},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0x4806},
-+      {0, 0x0990, 0x060D},
-+      {0, 0x098E, 0x4808},
-+      {0, 0x0990, 0x080D},
-+      {0, 0x098E, 0x480A},
-+      {0, 0x0990, 0x0111},
-+      {0, 0x098E, 0x480C},
-+      {0, 0x0990, 0x046C},
-+      {0, 0x098E, 0x480F},
-+      {0, 0x0990, 0x00CC},
-+      {0, 0x098E, 0x4811},
-+      {0, 0x0990, 0x0381},
-+      {0, 0x098E, 0x4813},
-+      {0, 0x0990, 0x024F},
-+      {0, 0x098E, 0x481D},
-+      {0, 0x0990, 0x05AE},
-+      {0, 0x098E, 0x481F},
-+      {0, 0x0990, 0x05D0},
-+      {0, 0x098E, 0x4825},
-+      {0, 0x0990, 0x07AC},
-+      {0, 0x098E, 0x6C00},
-+      {0, 0x0990, 0x0800},
-+      {0, 0x098E, 0x6C02},
-+      {0, 0x0990, 0x0600},
-+      {0, 0x098E, 0xEC8E},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0x6CA0},
-+      {0, 0x0990, 0x082D},
-+      {0, 0x098E, 0x484A},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0x484C},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0x484E},
-+      {0, 0x0990, 0x060D},
-+      {0, 0x098E, 0x4850},
-+      {0, 0x0990, 0x080D},
-+      {0, 0x098E, 0x4852},
-+      {0, 0x0990, 0x0111},
-+      {0, 0x098E, 0x4854},
-+      {0, 0x0990, 0x146C},
-+      {0, 0x098E, 0x4857},
-+      {0, 0x0990, 0x00CC},
-+      {0, 0x098E, 0x4859},
-+      {0, 0x0990, 0x0381},
-+      {0, 0x098E, 0x485B},
-+      {0, 0x0990, 0x024F},
-+      {0, 0x098E, 0x4865},
-+      {0, 0x0990, 0x05AE},
-+      {0, 0x098E, 0x4867},
-+      {0, 0x0990, 0x05D0},
-+      {0, 0x098E, 0x486D},
-+      {0, 0x0990, 0x07AC},
-+      {0, 0x098E, 0xC8A5},
-+      {0, 0x0990, 0x001D},
-+      {0, 0x098E, 0xC8A6},
-+      {0, 0x0990, 0x0020},
-+      {0, 0x098E, 0xC8A7},
-+      {0, 0x0990, 0x0023},
-+      {0, 0x098E, 0xC8A8},
-+      {0, 0x0990, 0x0026},
-+      {0, 0x098E, 0xC844},
-+      {0, 0x0990, 0x0091},
-+      {0, 0x098E, 0xC92F},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0xC845},
-+      {0, 0x0990, 0x0079},
-+      {0, 0x098E, 0xC92D},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0xC88C},
-+      {0, 0x0990, 0x0091},
-+      {0, 0x098E, 0xC930},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0xC88D},
-+      {0, 0x0990, 0x0079},
-+      {0, 0x098E, 0xC92E},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0xA002},
-+      {0, 0x0990, 0x0010},
-+      {0, 0x098E, 0xA009},
-+      {0, 0x0990, 0x0002},
-+      {0, 0x098E, 0xA00A},
-+      {0, 0x0990, 0x0003},
-+      {0, 0x098E, 0xA00C},
-+      {0, 0x0990, 0x000A},
-+      {0, 0x098E, 0x4846},
-+      {0, 0x0990, 0x0014},
-+      {0, 0x098E, 0x68AA},
-+      {0, 0x0990, 0x0278},
-+      {0, 0x098E, 0x488E},
-+      {0, 0x0990, 0x0014},
-+      {0, 0x098E, 0x6CAA},
-+      {0, 0x0990, 0x0218},
-+      {0, 0x098E, 0x8400},
-+      {0, 0x0990, 0x0006},
-+      {0, 0x098E, 0x8400},
-+      {0, 0x0990, 0x0005},
-+      {0, 0x3C20, 0x0001},
-+      {0, 0x364A, 0x7D2F},
-+      {0, 0x364C, 0x79EB},
-+      {0, 0x364E, 0x18D2},
-+      {0, 0x3650, 0x9F8F},
-+      {0, 0x3652, 0xA7D2},
-+      {0, 0x368A, 0x460C},
-+      {0, 0x368C, 0x14F0},
-+      {0, 0x368E, 0x946F},
-+      {0, 0x3690, 0xC471},
-+      {0, 0x3692, 0x04B1},
-+      {0, 0x36CA, 0x0433},
-+      {0, 0x36CC, 0x680D},
-+      {0, 0x36CE, 0xEEF3},
-+      {0, 0x36D0, 0x4850},
-+      {0, 0x36D2, 0xF233},
-+      {0, 0x370A, 0xB2AF},
-+      {0, 0x370C, 0x2CF0},
-+      {0, 0x370E, 0x3F10},
-+      {0, 0x3710, 0xC673},
-+      {0, 0x3712, 0xA972},
-+      {0, 0x374A, 0x0590},
-+      {0, 0x374C, 0xAFB3},
-+      {0, 0x374E, 0x93D7},
-+      {0, 0x3750, 0x8D12},
-+      {0, 0x3752, 0x2539},
-+      {0, 0x3640, 0x0350},
-+      {0, 0x3642, 0x322C},
-+      {0, 0x3644, 0x77D1},
-+      {0, 0x3646, 0xA26F},
-+      {0, 0x3648, 0xC872},
-+      {0, 0x3680, 0x0C4C},
-+      {0, 0x3682, 0x9510},
-+      {0, 0x3684, 0x110E},
-+      {0, 0x3686, 0x4331},
-+      {0, 0x3688, 0xC1CF},
-+      {0, 0x36C0, 0x6152},
-+      {0, 0x36C2, 0x038E},
-+      {0, 0x36C4, 0x9AF4},
-+      {0, 0x36C6, 0xE12F},
-+      {0, 0x36C8, 0x09F3},
-+      {0, 0x3700, 0xC5AF},
-+      {0, 0x3702, 0xCA90},
-+      {0, 0x3704, 0x5D0F},
-+      {0, 0x3706, 0x3293},
-+      {0, 0x3708, 0x2B92},
-+      {0, 0x3740, 0xC590},
-+      {0, 0x3742, 0x8133},
-+      {0, 0x3744, 0xE0F6},
-+      {0, 0x3746, 0x0254},
-+      {0, 0x3748, 0x10B9},
-+      {0, 0x3654, 0x7F8F},
-+      {0, 0x3656, 0x6F6C},
-+      {0, 0x3658, 0x5971},
-+      {0, 0x365A, 0x9A0F},
-+      {0, 0x365C, 0xA1B2},
-+      {0, 0x3694, 0xB00C},
-+      {0, 0x3696, 0xEBCF},
-+      {0, 0x3698, 0x06AD},
-+      {0, 0x369A, 0x4D31},
-+      {0, 0x369C, 0x2A4E},
-+      {0, 0x36D4, 0x4752},
-+      {0, 0x36D6, 0x724D},
-+      {0, 0x36D8, 0xAD34},
-+      {0, 0x36DA, 0x1350},
-+      {0, 0x36DC, 0x4E94},
-+      {0, 0x3714, 0xA06E},
-+      {0, 0x3716, 0x9152},
-+      {0, 0x3718, 0x1F53},
-+      {0, 0x371A, 0x3933},
-+      {0, 0x371C, 0xBA94},
-+      {0, 0x3754, 0x1233},
-+      {0, 0x3756, 0xA032},
-+      {0, 0x3758, 0xE936},
-+      {0, 0x375A, 0xBE34},
-+      {0, 0x375C, 0x02D9},
-+      {0, 0x365E, 0x7DEF},
-+      {0, 0x3660, 0x434B},
-+      {0, 0x3662, 0x69F1},
-+      {0, 0x3664, 0x8A0F},
-+      {0, 0x3666, 0xBDB2},
-+      {0, 0x369E, 0x290D},
-+      {0, 0x36A0, 0x42CF},
-+      {0, 0x36A2, 0xDC6D},
-+      {0, 0x36A4, 0x91B1},
-+      {0, 0x36A6, 0x9DE9},
-+      {0, 0x36DE, 0x70B2},
-+      {0, 0x36E0, 0x02AC},
-+      {0, 0x36E2, 0x9714},
-+      {0, 0x36E4, 0xF3CF},
-+      {0, 0x36E6, 0x6BD1},
-+      {0, 0x371E, 0xE42E},
-+      {0, 0x3720, 0x1D32},
-+      {0, 0x3722, 0xCC31},
-+      {0, 0x3724, 0xAE94},
-+      {0, 0x3726, 0x6413},
-+      {0, 0x375E, 0xE290},
-+      {0, 0x3760, 0x8F53},
-+      {0, 0x3762, 0xF936},
-+      {0, 0x3764, 0x4614},
-+      {0, 0x3766, 0x1B59},
-+      {0, 0x3784, 0x0404},
-+      {0, 0x3782, 0x0304},
-+      {0, 0x3210, 0x01B8},
-+      {0, 0x098E, 0xC913},
-+      {0, 0x0990, 0x000A},
-+      {0, 0x098E, 0x686B},
-+      {0, 0x0990, 0x05DC},
-+      {0, 0x098E, 0x686D},
-+      {0, 0x0990, 0x0BB8},
-+      {0, 0x098E, 0x6C6B},
-+      {0, 0x0990, 0x05DC},
-+      {0, 0x098E, 0x6C6D},
-+      {0, 0x0990, 0x0BB8},
-+      {0, 0x098E, 0x3439},
-+      {0, 0x0990, 0x05DC},
-+      {0, 0x098E, 0x343B},
-+      {0, 0x0990, 0x0BB8},
-+      {0, 0x098E, 0x4926},
-+      {0, 0x0990, 0x0001},
-+      {0, 0x098E, 0x4928},
-+      {0, 0x0990, 0x0002},
-+      {0, 0x098E, 0x492A},
-+      {0, 0x0990, 0x0656},
-+      {0, 0x098E, 0x4D26},
-+      {0, 0x0990, 0x0001},
-+      {0, 0x098E, 0x4D28},
-+      {0, 0x0990, 0x0002},
-+      {0, 0x098E, 0x4D2A},
-+      {0, 0x0990, 0x0656},
-+      {0, 0x33F4, 0x040B},
-+      {0, 0x098E, 0xC916},
-+      {0, 0x0990, 0x0014},
-+      {0, 0x098E, 0xC919},
-+      {0, 0x0990, 0x0028},
-+      {0, 0x098E, 0xC917},
-+      {0, 0x0990, 0x0004},
-+      {0, 0x098E, 0xC918},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0xC91A},
-+      {0, 0x0990, 0x0001},
-+      {0, 0x098E, 0xC91B},
-+      {0, 0x0990, 0x0009},
-+      {0, 0x326C, 0x0C00},
-+      {0, 0x098E, 0x494B},
-+      {0, 0x0990, 0x0042},
-+      {0, 0x098E, 0x494D},
-+      {0, 0x0990, 0x012C},
-+      {0, 0x098E, 0xC91E},
-+      {0, 0x0990, 0x0012},
-+      {0, 0x098E, 0xC91F},
-+      {0, 0x0990, 0x000A},
-+      {0, 0x098E, 0xC920},
-+      {0, 0x0990, 0x0012},
-+      {0, 0x098E, 0xC921},
-+      {0, 0x0990, 0x000A},
-+      {0, 0x098E, 0xC922},
-+      {0, 0x0990, 0x0026},
-+      {0, 0x098E, 0xC923},
-+      {0, 0x0990, 0x001E},
-+      {0, 0x098E, 0xC924},
-+      {0, 0x0990, 0x0026},
-+      {0, 0x098E, 0xC925},
-+      {0, 0x0990, 0x0026},
-+      {0, 0x098E, 0xBC02},
-+      {0, 0x0990, 0x0003},
-+      {0, 0x098E, 0xBC05},
-+      {0, 0x0990, 0x000E},
-+      {0, 0x098E, 0xC950},
-+      {0, 0x0990, 0x0064},
-+      {0, 0x098E, 0xC94F},
-+      {0, 0x0990, 0x0038},
-+      {0, 0x098E, 0xC952},
-+      {0, 0x0990, 0x0064},
-+      {0, 0x098E, 0xC951},
-+      {0, 0x0990, 0x0051},
-+      {0, 0x098E, 0xC954},
-+      {0, 0x0990, 0x0010},
-+      {0, 0x098E, 0xC953},
-+      {0, 0x0990, 0x0020},
-+      {0, 0x098E, 0xC956},
-+      {0, 0x0990, 0x0010},
-+      {0, 0x098E, 0xC955},
-+      {0, 0x0990, 0x0020},
-+      {0, 0x098E, 0xC958},
-+      {0, 0x0990, 0x0020},
-+      {0, 0x098E, 0xC957},
-+      {0, 0x0990, 0x0014},
-+      {0, 0x098E, 0xC95A},
-+      {0, 0x0990, 0x001D},
-+      {0, 0x098E, 0xC959},
-+      {0, 0x0990, 0x0020},
-+      {0, 0x098E, 0xC95C},
-+      {0, 0x0990, 0x000C},
-+      {0, 0x098E, 0xC95B},
-+      {0, 0x0990, 0x0008},
-+      {0, 0x098E, 0xC95E},
-+      {0, 0x0990, 0x000C},
-+      {0, 0x098E, 0xC95D},
-+      {0, 0x0990, 0x0008},
-+      {0, 0x098E, 0xC95F},
-+      {0, 0x0990, 0x0064},
-+      {0, 0x098E, 0x48DC},
-+      {0, 0x0990, 0x004D},
-+      {0, 0x098E, 0x48DE},
-+      {0, 0x0990, 0x0096},
-+      {0, 0x098E, 0x48E0},
-+      {0, 0x0990, 0x001D},
-+      {0, 0x098E, 0x48E2},
-+      {0, 0x0990, 0x004D},
-+      {0, 0x098E, 0x48E4},
-+      {0, 0x0990, 0x0096},
-+      {0, 0x098E, 0x48E6},
-+      {0, 0x0990, 0x001D},
-+      {0, 0x098E, 0x48E8},
-+      {0, 0x0990, 0x004D},
-+      {0, 0x098E, 0x48EA},
-+      {0, 0x0990, 0x0096},
-+      {0, 0x098E, 0x48EC},
-+      {0, 0x0990, 0x001D},
-+      {0, 0x098E, 0xDC2A},
-+      {0, 0x0990, 0x000B},
-+      {0, 0x098E, 0xDC2B},
-+      {0, 0x0990, 0x0017},
-+      {0, 0x098E, 0xBC0B},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0xBC0C},
-+      {0, 0x0990, 0x001B},
-+      {0, 0x098E, 0xBC0D},
-+      {0, 0x0990, 0x002A},
-+      {0, 0x098E, 0xBC0E},
-+      {0, 0x0990, 0x003E},
-+      {0, 0x098E, 0xBC0F},
-+      {0, 0x0990, 0x005A},
-+      {0, 0x098E, 0xBC10},
-+      {0, 0x0990, 0x0070},
-+      {0, 0x098E, 0xBC11},
-+      {0, 0x0990, 0x0081},
-+      {0, 0x098E, 0xBC12},
-+      {0, 0x0990, 0x0090},
-+      {0, 0x098E, 0xBC13},
-+      {0, 0x0990, 0x009E},
-+      {0, 0x098E, 0xBC14},
-+      {0, 0x0990, 0x00AB},
-+      {0, 0x098E, 0xBC15},
-+      {0, 0x0990, 0x00B6},
-+      {0, 0x098E, 0xBC16},
-+      {0, 0x0990, 0x00C1},
-+      {0, 0x098E, 0xBC17},
-+      {0, 0x0990, 0x00CB},
-+      {0, 0x098E, 0xBC18},
-+      {0, 0x0990, 0x00D5},
-+      {0, 0x098E, 0xBC19},
-+      {0, 0x0990, 0x00DE},
-+      {0, 0x098E, 0xBC1A},
-+      {0, 0x0990, 0x00E7},
-+      {0, 0x098E, 0xBC1B},
-+      {0, 0x0990, 0x00EF},
-+      {0, 0x098E, 0xBC1C},
-+      {0, 0x0990, 0x00F7},
-+      {0, 0x098E, 0xBC1D},
-+      {0, 0x0990, 0x00FF},
-+      {0, 0x098E, 0xBC1E},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0xBC1F},
-+      {0, 0x0990, 0x001B},
-+      {0, 0x098E, 0xBC20},
-+      {0, 0x0990, 0x002A},
-+      {0, 0x098E, 0xBC21},
-+      {0, 0x0990, 0x003E},
-+      {0, 0x098E, 0xBC22},
-+      {0, 0x0990, 0x005A},
-+      {0, 0x098E, 0xBC23},
-+      {0, 0x0990, 0x0070},
-+      {0, 0x098E, 0xBC24},
-+      {0, 0x0990, 0x0081},
-+      {0, 0x098E, 0xBC25},
-+      {0, 0x0990, 0x0090},
-+      {0, 0x098E, 0xBC26},
-+      {0, 0x0990, 0x009E},
-+      {0, 0x098E, 0xBC27},
-+      {0, 0x0990, 0x00AB},
-+      {0, 0x098E, 0xBC28},
-+      {0, 0x0990, 0x00B6},
-+      {0, 0x098E, 0xBC29},
-+      {0, 0x0990, 0x00C1},
-+      {0, 0x098E, 0xBC2A},
-+      {0, 0x0990, 0x00CB},
-+      {0, 0x098E, 0xBC2B},
-+      {0, 0x0990, 0x00D5},
-+      {0, 0x098E, 0xBC2C},
-+      {0, 0x0990, 0x00DE},
-+      {0, 0x098E, 0xBC2D},
-+      {0, 0x0990, 0x00E7},
-+      {0, 0x098E, 0xBC2E},
-+      {0, 0x0990, 0x00EF},
-+      {0, 0x098E, 0xBC2F},
-+      {0, 0x0990, 0x00F7},
-+      {0, 0x098E, 0xBC30},
-+      {0, 0x0990, 0x00FF},
-+      {0, 0x098E, 0xBC31},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0xBC32},
-+      {0, 0x0990, 0x000D},
-+      {0, 0x098E, 0xBC33},
-+      {0, 0x0990, 0x0019},
-+      {0, 0x098E, 0xBC34},
-+      {0, 0x0990, 0x0030},
-+      {0, 0x098E, 0xBC35},
-+      {0, 0x0990, 0x0056},
-+      {0, 0x098E, 0xBC36},
-+      {0, 0x0990, 0x0070},
-+      {0, 0x098E, 0xBC37},
-+      {0, 0x0990, 0x0081},
-+      {0, 0x098E, 0xBC38},
-+      {0, 0x0990, 0x0090},
-+      {0, 0x098E, 0xBC39},
-+      {0, 0x0990, 0x009E},
-+      {0, 0x098E, 0xBC3A},
-+      {0, 0x0990, 0x00AB},
-+      {0, 0x098E, 0xBC3B},
-+      {0, 0x0990, 0x00B6},
-+      {0, 0x098E, 0xBC3C},
-+      {0, 0x0990, 0x00C1},
-+      {0, 0x098E, 0xBC3D},
-+      {0, 0x0990, 0x00CB},
-+      {0, 0x098E, 0xBC3E},
-+      {0, 0x0990, 0x00D5},
-+      {0, 0x098E, 0xBC3F},
-+      {0, 0x0990, 0x00DE},
-+      {0, 0x098E, 0xBC40},
-+      {0, 0x0990, 0x00E7},
-+      {0, 0x098E, 0xBC41},
-+      {0, 0x0990, 0x00EF},
-+      {0, 0x098E, 0xBC42},
-+      {0, 0x0990, 0x00F7},
-+      {0, 0x098E, 0xBC43},
-+      {0, 0x0990, 0x00FF},
-+      {0, 0x098E, 0x6865},
-+      {0, 0x0990, 0x00E0},
-+      {0, 0x098E, 0x6867},
-+      {0, 0x0990, 0x00F4},
-+      {0, 0x098E, 0x8400},
-+      {0, 0x0990, 0x0006},
-+      {0, 0x098E, 0xBC4A},
-+      {0, 0x0990, 0x007F},
-+      {0, 0x098E, 0xBC4B},
-+      {0, 0x0990, 0x007F},
-+      {0, 0x098E, 0xBC4C},
-+      {0, 0x0990, 0x007F},
-+      {0, 0x3542, 0x0010},
-+      {0, 0x3544, 0x0030},
-+      {0, 0x3546, 0x0040},
-+      {0, 0x3548, 0x0080},
-+      {0, 0x354A, 0x0100},
-+      {0, 0x354C, 0x0200},
-+      {0, 0x354E, 0x0300},
-+      {0, 0x3550, 0x0010},
-+      {0, 0x3552, 0x0030},
-+      {0, 0x3554, 0x0040},
-+      {0, 0x3556, 0x0080},
-+      {0, 0x3558, 0x012C},
-+      {0, 0x355A, 0x0320},
-+      {0, 0x355C, 0x03E8},
-+      {0, 0x3560, 0x0040},
-+      {0, 0x3562, 0x0020},
-+      {0, 0x3564, 0x0040},
-+      {0, 0x3566, 0x0010},
-+      {0, 0x3568, 0x0008},
-+      {0, 0x356A, 0x0004},
-+      {0, 0x356C, 0x0004},
-+      {0, 0x356E, 0x0004},
-+      {0, 0x098E, 0x3C4D},
-+      {0, 0x0990, 0x0DAC},
-+      {0, 0x098E, 0x3C4F},
-+      {0, 0x0990, 0x148A},
-+      {0, 0x098E, 0xC911},
-+      {0, 0x0990, 0x00C8},
-+      {0, 0x098E, 0xC8F4},
-+      {0, 0x0990, 0x0004},
-+      {0, 0x098E, 0xC8F5},
-+      {0, 0x0990, 0x0002},
-+      {0, 0x098E, 0x48F6},
-+      {0, 0x0990, 0x3B4D},
-+      {0, 0x098E, 0x48F8},
-+      {0, 0x0990, 0x6380},
-+      {0, 0x098E, 0x48FA},
-+      {0, 0x0990, 0x9B18},
-+      {0, 0x098E, 0x48FC},
-+      {0, 0x0990, 0x5D51},
-+      {0, 0x098E, 0x48FE},
-+      {0, 0x0990, 0xEDE8},
-+      {0, 0x098E, 0x4900},
-+      {0, 0x0990, 0xE515},
-+      {0, 0x098E, 0x4902},
-+      {0, 0x0990, 0xBFF4},
-+      {0, 0x098E, 0x4904},
-+      {0, 0x0990, 0x001E},
-+      {0, 0x098E, 0x4906},
-+      {0, 0x0990, 0x0026},
-+      {0, 0x098E, 0x4908},
-+      {0, 0x0990, 0x0033},
-+      {0, 0x098E, 0xE84A},
-+      {0, 0x0990, 0x0083},
-+      {0, 0x098E, 0xE84D},
-+      {0, 0x0990, 0x0083},
-+      {0, 0x098E, 0xE84C},
-+      {0, 0x0990, 0x0080},
-+      {0, 0x098E, 0xE84F},
-+      {0, 0x0990, 0x0080},
-+      {0, 0x098E, 0x8400},
-+      {0, 0x0990, 0x0006},
-+      {0, 0x098E, 0x48B0},
-+      {0, 0x0990, 0x0180},
-+      {0, 0x098E, 0x48B2},
-+      {0, 0x0990, 0xFF7A},
-+      {0, 0x098E, 0x48B4},
-+      {0, 0x0990, 0x0018},
-+      {0, 0x098E, 0x48B6},
-+      {0, 0x0990, 0xFFCA},
-+      {0, 0x098E, 0x48B8},
-+      {0, 0x0990, 0x017C},
-+      {0, 0x098E, 0x48BA},
-+      {0, 0x0990, 0xFFCC},
-+      {0, 0x098E, 0x48BC},
-+      {0, 0x0990, 0x000C},
-+      {0, 0x098E, 0x48BE},
-+      {0, 0x0990, 0xFF1F},
-+      {0, 0x098E, 0x48C0},
-+      {0, 0x0990, 0x01E8},
-+      {0, 0x098E, 0x48C2},
-+      {0, 0x0990, 0x0020},
-+      {0, 0x098E, 0x48C4},
-+      {0, 0x0990, 0x0044},
-+      {0, 0x098E, 0x48C6},
-+      {0, 0x0990, 0x0079},
-+      {0, 0x098E, 0x48C8},
-+      {0, 0x0990, 0xFFAD},
-+      {0, 0x098E, 0x48CA},
-+      {0, 0x0990, 0xFFE2},
-+      {0, 0x098E, 0x48CC},
-+      {0, 0x0990, 0x0033},
-+      {0, 0x098E, 0x48CE},
-+      {0, 0x0990, 0x002A},
-+      {0, 0x098E, 0x48D0},
-+      {0, 0x0990, 0xFFAA},
-+      {0, 0x098E, 0x48D2},
-+      {0, 0x0990, 0x0017},
-+      {0, 0x098E, 0x48D4},
-+      {0, 0x0990, 0x004B},
-+      {0, 0x098E, 0x48D6},
-+      {0, 0x0990, 0xFFA5},
-+      {0, 0x098E, 0x48D8},
-+      {0, 0x0990, 0x0015},
-+      {0, 0x098E, 0x48DA},
-+      {0, 0x0990, 0xFFE2},
-+      {0, 0x35A2, 0x0014},
-+      {0, 0x098E, 0xC949},
-+      {0, 0x0990, 0x0024},
-+      {0, 0x35A4, 0x0596},
-+      {0, 0x098E, 0xC94A},
-+      {0, 0x0990, 0x0062},
-+      {0, 0x098E, 0xC948},
-+      {0, 0x0990, 0x0006},
-+      {0, 0x098E, 0xC914},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0xC915},
-+      {0, 0x0990, 0x00FF},
-+      {0, 0x098E, 0xE86F},
-+      {0, 0x0990, 0x0060},
-+      {0, 0x098E, 0xE870},
-+      {0, 0x0990, 0x003C},
-+      {0, 0x098E, 0xEC6F},
-+      {0, 0x0990, 0x0060},
-+      {0, 0x098E, 0xEC70},
-+      {0, 0x0990, 0x003C},
-+      {0, 0x098E, 0xE883},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0xEC83},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0x8400},
-+      {0, 0x0990, 0x0006},
-+      {0, 0x098E, 0xE885},
-+      {0, 0x0990, 0x001E},
-+      {0, 0x098E, 0xE886},
-+      {0, 0x0990, 0x00D8},
-+      {0, 0x098E, 0xEC85},
-+      {0, 0x0990, 0x001E},
-+      {0, 0x098E, 0xEC86},
-+      {0, 0x0990, 0x00D8},
-+      {0, 0x098E, 0xE884},
-+      {0, 0x0990, 0x005C},
-+      {0, 0x098E, 0xEC84},
-+      {0, 0x0990, 0x005C},
-+      {0, 0x098E, 0x490A},
-+      {0, 0x0990, 0x0666},
-+      {0, 0x098E, 0x490C},
-+      {0, 0x0990, 0x0140},
-+      {0, 0x098E, 0x6857},
-+      {0, 0x0990, 0x0014},
-+      {0, 0x098E, 0x685C},
-+      {0, 0x0990, 0x0005},
-+      {0, 0x098E, 0x490E},
-+      {0, 0x0990, 0x00A4},
-+      {0, 0x098E, 0xB43D},
-+      {0, 0x0990, 0x0031},
-+      {0, 0x098E, 0xB43E},
-+      {0, 0x0990, 0x001B},
-+      {0, 0x098E, 0xB43F},
-+      {0, 0x0990, 0x0028},
-+      {0, 0x098E, 0xB440},
-+      {0, 0x0990, 0x0003},
-+      {0, 0x098E, 0xB441},
-+      {0, 0x0990, 0x00CD},
-+      {0, 0x098E, 0xB442},
-+      {0, 0x0990, 0x0064},
-+      {0, 0x098E, 0xB443},
-+      {0, 0x0990, 0x000F},
-+      {0, 0x098E, 0xB444},
-+      {0, 0x0990, 0x0007},
-+      {0, 0x098E, 0x300D},
-+      {0, 0x0990, 0x000F},
-+      {0, 0x098E, 0x3017},
-+      {0, 0x0990, 0x0F0F},
-+      {0, 0x098E, 0x8400},
-+      {0, 0x0990, 0x0006},
-+      {0, 0x098E, 0xE81F},
-+      {0, 0x0990, 0x0020},
-+      {0, 0x098E, 0x68A0},
-+      {0, 0x0990, 0x082E},
-+      {0, 0x098E, 0x6CA0},
-+      {0, 0x0990, 0x082E},
-+      {0, 0x098E, 0x70A0},
-+      {0, 0x0990, 0x082E},
-+      {0, 0x098E, 0x74A0},
-+      {0, 0x0990, 0x082E},
-+      {0, 0x3C52, 0x082E},
-+      {0, 0x098E, 0x488E},
-+      {0, 0x0990, 0x0020},
-+      {0, 0x098E, 0xECAC},
-+      {0, 0x0990, 0x0000}
-+};
-+
-+mt9t111_regs def_regs2[] = {
-+      {100, 0x0018, 0x0028},
-+      {0, 0x316C, 0x350F},
-+      {0, 0x098E, 0x6817},
-+      {0, 0x0990, 0x000C},
-+      {0, 0x0034, 0x0000}
-+};
-+
-+mt9t111_regs pll_regs1[] = {
-+      {0, 0x0014, 0x2425},
-+      {0, 0x0014, 0x2425},
-+      {0, 0x0014, 0x2145},
-+      {0, 0x0010, 0x0219},
-+      {0, 0x0012, 0x0090},
-+      {0, 0x002A, 0x79DD},
-+      {0, 0x0014, 0x2545},
-+      {0, 0x0014, 0x2547},
-+      {0, 0x0014, 0x3447},
-+      {0, 0x0014, 0x3047}
-+};
-+
-+mt9t111_regs pll_regs2[] = {
-+      {0, 0x0014, 0x3046},
-+      {0, 0x0022, 0x01E0},
-+      {0, 0x001E, 0x0707},
-+      {0, 0x3B84, 0x011D}     
-+};
-+
-+mt9t111_regs bayer_pattern_regs[] = {
-+      {0, 0x098E, 0x6807},
-+      {0, 0x0990, 0x0100},
-+      {0, 0x098E, 0x6809},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0xE88E},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0x6C07},
-+      {0, 0x0990, 0x0100},
-+      {0, 0x098E, 0x6C09},
-+      {0, 0x0990, 0x0000},
-+      {0, 0x098E, 0xEC8E},
-+      {0, 0x0990, 0x0000}
-+};
-+
-+#endif
-diff --git a/include/media/mt9t111.h b/include/media/mt9t111.h
-new file mode 100644
-index 0000000..7acbeed
---- /dev/null
-+++ b/include/media/mt9t111.h
-@@ -0,0 +1,79 @@
-+/*
-+ * include/media/mt9t111.h
-+ *
-+ * mt9t111 sensor driver
-+ *
-+ * Copyright (C) 2009 Leopard Imaging
-+ *
-+ * This file is licensed under the terms of the GNU General Public License
-+ * version 2. This program is licensed "as is" without any warranty of any
-+ * kind, whether express or implied.
-+ */
-+
-+#ifndef       MT9T111_H
-+#define       MT9T111_H
-+
-+/*********************************
-+ * Defines and Macros and globals
-+ ********************************/
-+
-+#ifdef        TRUE
-+#undef        TRUE
-+#endif
-+
-+#ifdef        FALSE
-+#undef        FALSE
-+#endif
-+
-+#define       TRUE    1
-+#define       FALSE   0
-+
-+#ifdef DEBUG
-+#undef DEBUG
-+#endif
-+
-+#ifndef TYPES
-+#define TYPES
-+#endif
-+
-+#define MT9T111_I2C_REGISTERED                        (1)
-+#define MT9T111_I2C_UNREGISTERED              (0)
-+
-+/*i2c adress for MT9T111*/
-+#define MT9T111_I2C_ADDR              (0x78 >>1)
-+
-+#define MT9T111_CLK_MAX       (75000000) /* 75MHz */
-+#define MT9T111_CLK_MIN       (6000000)  /* 6Mhz */
-+
-+#define MT9T111_I2C_CONFIG            (1)
-+#define I2C_ONE_BYTE_TRANSFER         (1)
-+#define I2C_TWO_BYTE_TRANSFER         (2)
-+#define I2C_THREE_BYTE_TRANSFER               (3)
-+#define I2C_FOUR_BYTE_TRANSFER                (4)
-+#define I2C_TXRX_DATA_MASK            (0x00FF)
-+#define I2C_TXRX_DATA_MASK_UPPER      (0xFF00)
-+#define I2C_TXRX_DATA_SHIFT           (8)
-+
-+struct mt9t111_platform_data {
-+      char *master;
-+      int (*power_set) (enum v4l2_power on);
-+      int (*ifparm) (struct v4l2_ifparm *p);
-+      int (*priv_data_set) (void *);
-+      /* Interface control params */
-+      bool clk_polarity;
-+      bool hs_polarity;
-+      bool vs_polarity;
-+};
-+
-+/**
-+ * struct capture_size - image capture size information
-+ * @width: image width in pixels
-+ * @height: image height in pixels
-+ */
-+struct capture_size {
-+      unsigned long width;
-+      unsigned long height;
-+};
-+
-+#endif                                /*for  ifndef MT9T111 */
-+
--- 
-1.6.6.1
-
@@ -1,7 +1,7 @@
-From f5c4ccdcc7631ac51dead2fba08f0f232aead7a2 Mon Sep 17 00:00:00 2001
+From e2bfc6c60fc749e939839a00abc0583bea9af857 Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Thu, 17 Dec 2009 12:45:20 -0800
-Subject: [PATCH 12/45] ASoC: enable audio capture by default for twl4030
+Subject: [PATCH 09/45] ASoC: enable audio capture by default for twl4030
 
 ---
  sound/soc/codecs/twl4030.c |    4 ++--
diff --git a/recipes/linux/linux-omap-psp-2.6.32/0009-board-omap3beagle-ugly-copy-paste-job-to-get-mt9p111.patch b/recipes/linux/linux-omap-psp-2.6.32/0009-board-omap3beagle-ugly-copy-paste-job-to-get-mt9p111.patch
deleted file mode 100644 (file)
index f053777..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-From 5ac7a8bce910c55a7600b8f0ccbc97717d49c207 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <k-kooi@ti.com>
-Date: Tue, 9 Feb 2010 20:53:56 +0100
-Subject: [PATCH 09/45] board-omap3beagle: ugly copy/paste job to get mt9p111 sensor data in (only compile tested)
-
----
- arch/arm/mach-omap2/board-omap3beagle.c |  169 +++++++++++++++++++++++++++++++
- 1 files changed, 169 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index accf80d..e63bec6 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -25,6 +25,12 @@
- #include <linux/input.h>
- #include <linux/gpio_keys.h>
-+#include <media/v4l2-int-device.h>
-+#include <media/mt9t111.h>
-+
-+/* Include V4L2 ISP-Camera driver related header file */
-+#include <../drivers/media/video/omap34xxcam.h>
-+
- #include <linux/mtd/mtd.h>
- #include <linux/mtd/partitions.h>
- #include <linux/mtd/nand.h>
-@@ -441,6 +447,157 @@ static struct twl4030_platform_data beagle_twldata = {
-       .vpll2          = &beagle_vpll2,
- };
-+
-+#if defined(CONFIG_VIDEO_MT9T111) || defined(CONFIG_VIDEO_MT9T111_MODULE)
-+static struct isp_interface_config mt9t111_if_config = {
-+      .ccdc_par_ser           = ISP_PARLL, 
-+      .dataline_shift         = 0x0,
-+      .hsvs_syncdetect        = ISPCTRL_SYNC_DETECT_VSRISE,
-+      .strobe                 = 0x0,
-+      .prestrobe              = 0x0,
-+      .shutter                = 0x0,
-+      .u.par.par_bridge       = 0x1,
-+      .u.par.par_clk_pol      = 0x0,
-+};
-+
-+static struct v4l2_ifparm mt9t111_ifparm_s = {
-+#if 1
-+      .if_type = V4L2_IF_TYPE_RAW, 
-+      .u       = {
-+              .raw = {  
-+                      .frame_start_on_rising_vs = 1,
-+                      .bt_sync_correct        = 0,
-+                      .swap                   = 0,
-+                      .latch_clk_inv          = 0,
-+                      .nobt_hs_inv            = 0,    /* active high */
-+                      .nobt_vs_inv            = 0,    /* active high */
-+                      .clock_min              = MT9T111_CLK_MIN,
-+                      .clock_max              = MT9T111_CLK_MAX,
-+              },
-+      },
-+#else         
-+      .if_type = V4L2_IF_TYPE_YCbCr, 
-+      .u       = {
-+              .ycbcr = {  
-+                      .frame_start_on_rising_vs = 1,
-+                      .bt_sync_correct        = 0,
-+                      .swap                   = 0,
-+                      .latch_clk_inv          = 0,
-+                      .nobt_hs_inv            = 0,    /* active high */
-+                      .nobt_vs_inv            = 0,    /* active high */
-+                      .clock_min              = MT9T111_CLK_MIN,
-+                      .clock_max              = MT9T111_CLK_MAX,
-+              },
-+      },
-+#endif
-+};
-+
-+/**
-+ * @brief mt9t111_ifparm - Returns the mt9t111 interface parameters
-+ *
-+ * @param p - pointer to v4l2_ifparm structure
-+ *
-+ * @return result of operation - 0 is success
-+ */
-+static int mt9t111_ifparm(struct v4l2_ifparm *p)
-+{
-+      if (p == NULL)
-+              return -EINVAL;
-+
-+      *p = mt9t111_ifparm_s;
-+      return 0;
-+}
-+
-+#if defined(CONFIG_VIDEO_OMAP3_CAM) || defined(CONFIG_VIDEO_OMAP3_CAM_MODULE)
-+static struct omap34xxcam_hw_config mt9t111_decoder_hwc = {
-+      .dev_index              = 0,
-+      .dev_minor              = 0,
-+      .dev_type               = OMAP34XXCAM_SLAVE_SENSOR,
-+      .u.sensor.xclk          = OMAP34XXCAM_XCLK_NONE,
-+      .u.sensor.sensor_isp    = 1,
-+};
-+#endif
-+
-+/**
-+ * @brief mt9t111_set_prv_data - Returns mt9t111 omap34xx driver private data
-+ *
-+ * @param priv - pointer to omap34xxcam_hw_config structure
-+ *
-+ * @return result of operation - 0 is success
-+ */
-+static int mt9t111_set_prv_data(void *priv)
-+{
-+#if defined(CONFIG_VIDEO_OMAP3_CAM) || defined(CONFIG_VIDEO_OMAP3_CAM_MODULE)
-+      struct omap34xxcam_hw_config *hwc = priv;
-+
-+      if (priv == NULL)
-+              return -EINVAL;
-+
-+      hwc->u.sensor.sensor_isp = mt9t111_decoder_hwc.u.sensor.sensor_isp;
-+      hwc->u.sensor.xclk = mt9t111_decoder_hwc.u.sensor.xclk;
-+      hwc->dev_index = mt9t111_decoder_hwc.dev_index;
-+      hwc->dev_minor = mt9t111_decoder_hwc.dev_minor;
-+      hwc->dev_type = mt9t111_decoder_hwc.dev_type;
-+      return 0;
-+#else
-+      return -EINVAL;
-+#endif
-+}
-+
-+/**
-+ * @brief mt9t111_power_set - Power-on or power-off TVP5146 device
-+ *
-+ * @param power - enum, Power on/off, resume/standby
-+ *
-+ * @return result of operation - 0 is success
-+ */
-+static int mt9t111_power_set(enum v4l2_power power)
-+{
-+      switch (power) {
-+      case V4L2_POWER_OFF:
-+              /* Disable mux for TVP5146 decoder data path */
-+//            if (omap3evmdc_set_mux(MUX_CAMERA_SENSOR, DISABLE_MUX))
-+//                    return -ENODEV;
-+              break;
-+
-+      case V4L2_POWER_STANDBY:
-+              break;
-+
-+      case V4L2_POWER_ON:
-+              /* Enable mux for expension camera data path */
-+//            if (omap3evmdc_set_mux(MUX_CAMERA_SENSOR, ENABLE_MUX))
-+//                    return -ENODEV;
-+
-+#if defined(CONFIG_VIDEO_OMAP3_CAM) || defined(CONFIG_VIDEO_OMAP3_CAM_MODULE)
-+              isp_configure_interface(&mt9t111_if_config);
-+#endif
-+              break;
-+
-+      default:
-+              return -ENODEV;
-+              break;
-+      }
-+      return 0;
-+}
-+
-+static struct mt9t111_platform_data mt9t111_pdata = {
-+      .master         = "omap34xxcam",
-+      .power_set      = mt9t111_power_set,
-+      .priv_data_set  = mt9t111_set_prv_data,
-+      .ifparm         = mt9t111_ifparm,
-+      /* Some interface dependent params */
-+      .clk_polarity   = 0, /* data clocked out on falling edge */
-+      .hs_polarity    = 1, /* 0 - Active low, 1- Active high */
-+      .vs_polarity    = 1, /* 0 - Active low, 1- Active high */
-+};
-+
-+static struct i2c_board_info __initdata mt9t111_i2c_board_info = {
-+      I2C_BOARD_INFO("mt9t111", MT9T111_I2C_ADDR),
-+      .platform_data  = &mt9t111_pdata,
-+};
-+
-+#endif                                /* #ifdef CONFIG_VIDEO_MT9T111 */
-+
- static struct i2c_board_info __initdata beagle_i2c1_boardinfo[] = {
-       {
-               I2C_BOARD_INFO("twl4030", 0x48),
-@@ -618,6 +775,8 @@ static struct omap_board_mux board_mux[] __initdata = {
- static void __init omap3_beagle_init(void)
- {
-+      int err;
-+
-       omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
-       omap3_beagle_i2c_init();
-       platform_add_devices(omap3_beagle_devices,
-@@ -640,7 +799,17 @@ static void __init omap3_beagle_init(void)
-       omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);
-       beagle_display_init();
-+
-+      // Revisit: hardcodes i2c bus 2
-+#if defined(CONFIG_VIDEO_MT9T111) || defined(CONFIG_VIDEO_MT9T111_MODULE)
-+       err = i2c_register_board_info(2, &mt9t111_i2c_board_info, 1);
-+       if (err) {
-+               printk("beagle: MT9T111 I2C Board Registration failed \n");
-+               return err;
-+       }
-+#endif
- }
-+
- static void __init omap3_beagle_map_io(void)
- {
-       omap2_set_globals_343x();
--- 
-1.6.6.1
-
@@ -1,7 +1,7 @@
-From 7accba7e0d13a0639dca4fcc61652e02b73d8e30 Mon Sep 17 00:00:00 2001
+From 5a6b395ade97b7b4315615ad48b8a467e1214c96 Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Thu, 31 Dec 2009 07:05:02 -0800
-Subject: [PATCH 13/45] MTD: NAND: omap2: proper fix for subpage read ECC errors
+Subject: [PATCH 10/45] MTD: NAND: omap2: proper fix for subpage read ECC errors
 
 ---
  drivers/mtd/nand/omap2.c |   11 +++++++----
@@ -1,7 +1,7 @@
-From 77cac0d8494a451a3629fa9a4e0b8abd9196c2c3 Mon Sep 17 00:00:00 2001
+From 42ca6429f4c2b385064c239dc9a3244efef625b0 Mon Sep 17 00:00:00 2001
 From: Sudeep Basavaraj <sudeep.basavaraj@ti.com>
 Date: Tue, 5 Jan 2010 18:58:18 +0530
-Subject: [PATCH 14/45] OMAP3630:DSS2:Enable Pre-Multiplied Alpha Support
+Subject: [PATCH 11/45] OMAP3630:DSS2:Enable Pre-Multiplied Alpha Support
 
 Enables dss to process color formats with pre-mulitplied alpha values.
 With this we can have alpha values defined for each pixel
diff --git a/recipes/linux/linux-omap-psp-2.6.32/0011-board-omap3beagle-update-omap34xxcam-to-more-recent-.patch b/recipes/linux/linux-omap-psp-2.6.32/0011-board-omap3beagle-update-omap34xxcam-to-more-recent-.patch
deleted file mode 100644 (file)
index d9a217e..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-From 726b0f76bf60f71af9a53842c028ebad62c5c2db Mon Sep 17 00:00:00 2001
-From: Koen Kooi <k-kooi@ti.com>
-Date: Thu, 11 Feb 2010 22:59:19 +0100
-Subject: [PATCH 11/45] board-omap3beagle: update omap34xxcam to more recent v4l-int-device-api
-
----
- arch/arm/mach-omap2/board-omap3beagle.c |   20 +++++++++++---------
- 1 files changed, 11 insertions(+), 9 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 91d835a..d09a676 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -461,6 +461,7 @@ static struct isp_interface_config mt9t111_if_config = {
-       .strobe                 = 0x0,
-       .prestrobe              = 0x0,
-       .shutter                = 0x0,
-+      .wait_hs_vs             = 2,
-       .u.par.par_bridge       = 0x1,
-       .u.par.par_clk_pol      = 0x0,
- };
-@@ -513,14 +514,13 @@ static int mt9t111_ifparm(struct v4l2_ifparm *p)
-       return 0;
- }
--#if defined(CONFIG_VIDEO_OMAP3_CAM) || defined(CONFIG_VIDEO_OMAP3_CAM_MODULE)
-+#if defined(CONFIG_VIDEO_OMAP3)
- static struct omap34xxcam_hw_config mt9t111_decoder_hwc = {
-       .dev_index              = 0,
-       .dev_minor              = 0,
-       .dev_type               = OMAP34XXCAM_SLAVE_SENSOR,
--      .u.sensor.xclk          = OMAP34XXCAM_XCLK_NONE,
-       .u.sensor.sensor_isp    = 1,
--};
-+        .u.sensor.capture_mem   = PAGE_ALIGN(2048*1536*2*4),};
- #endif
- /**
-@@ -530,16 +530,16 @@ static struct omap34xxcam_hw_config mt9t111_decoder_hwc = {
-  *
-  * @return result of operation - 0 is success
-  */
--static int mt9t111_set_prv_data(void *priv)
-+static int mt9t111_set_prv_data(struct v4l2_int_device *s, void *priv)
- {
--#if defined(CONFIG_VIDEO_OMAP3_CAM) || defined(CONFIG_VIDEO_OMAP3_CAM_MODULE)
-+#if defined(CONFIG_VIDEO_OMAP3)
-       struct omap34xxcam_hw_config *hwc = priv;
-       if (priv == NULL)
-               return -EINVAL;
-       hwc->u.sensor.sensor_isp = mt9t111_decoder_hwc.u.sensor.sensor_isp;
--      hwc->u.sensor.xclk = mt9t111_decoder_hwc.u.sensor.xclk;
-+      hwc->u.sensor.capture_mem = mt9t111_decoder_hwc.u.sensor.capture_mem;
-       hwc->dev_index = mt9t111_decoder_hwc.dev_index;
-       hwc->dev_minor = mt9t111_decoder_hwc.dev_minor;
-       hwc->dev_type = mt9t111_decoder_hwc.dev_type;
-@@ -556,8 +556,10 @@ static int mt9t111_set_prv_data(void *priv)
-  *
-  * @return result of operation - 0 is success
-  */
--static int mt9t111_power_set(enum v4l2_power power)
-+static int mt9t111_power_set(struct v4l2_int_device *s, enum v4l2_power power)
- {
-+      struct omap34xxcam_videodev *vdev = s->u.slave->master->priv;
-+
-       switch (power) {
-       case V4L2_POWER_OFF:
-               /* Disable mux for TVP5146 decoder data path */
-@@ -573,8 +575,8 @@ static int mt9t111_power_set(enum v4l2_power power)
- //            if (omap3evmdc_set_mux(MUX_CAMERA_SENSOR, ENABLE_MUX))
- //                    return -ENODEV;
--#if defined(CONFIG_VIDEO_OMAP3_CAM) || defined(CONFIG_VIDEO_OMAP3_CAM_MODULE)
--              isp_configure_interface(&mt9t111_if_config);
-+#if defined(CONFIG_VIDEO_OMAP3)
-+              isp_configure_interface(vdev->cam->isp, &mt9t111_if_config);
- #endif
-               break;
--- 
-1.6.6.1
-
@@ -1,7 +1,7 @@
-From 66ad2fe91766e975dc5e6bbebb75bc4b6daa4ec7 Mon Sep 17 00:00:00 2001
+From d712e54a547b0800e6b482c43b5e6f8ca3f032de Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Tue, 19 Jan 2010 21:19:15 -0800
-Subject: [PATCH 15/45] DSS2: add bootarg for selecting svideo or composite for tv output
+Subject: [PATCH 12/45] DSS2: add bootarg for selecting svideo or composite for tv output
 
 also add pal-16 and ntsc-16 omapfb.mode settings for 16bpp
 ---
@@ -1,7 +1,7 @@
-From 4c37a243bfe5e056cf5db2acc3b35d86cefb3f63 Mon Sep 17 00:00:00 2001
+From 4f99b5658cbee7a09fd4cb2887d0e42dc4c70371 Mon Sep 17 00:00:00 2001
 From: Koen Kooi <k-kooi@ti.com>
 Date: Thu, 11 Feb 2010 21:34:00 +0100
-Subject: [PATCH 16/45] ISP: add some more from Leopard imaging patch
+Subject: [PATCH 13/45] ISP: add some more from Leopard imaging patch
 
 ---
  drivers/media/video/isp/isppreview.c |   16 ++++++++-
@@ -1,7 +1,7 @@
-From 575fd05b60f5132beff21163604c2bf4781b902e Mon Sep 17 00:00:00 2001
+From df2fe69fb08d6784975744c2723b33892526c60c Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <sakoman@gmail.com>
 Date: Tue, 15 Dec 2009 14:59:42 -0800
-Subject: [PATCH 17/45] ARM: OMAP: Overo: Add support for second ethernet port
+Subject: [PATCH 14/45] ARM: OMAP: Overo: Add support for second ethernet port
 
 Signed-off-by: Steve Sakoman <sakoman@gmail.com>
 ---
@@ -1,7 +1,7 @@
-From 5923967724d78d81a92700b700b5b9bc1102130d Mon Sep 17 00:00:00 2001
+From 25665d81b2b42e6ad9cb3a976af4ff792018b321 Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <sakoman@gmail.com>
 Date: Tue, 15 Dec 2009 15:17:44 -0800
-Subject: [PATCH 18/45] drivers: net: smsc911x: return ENODEV if device is not found
+Subject: [PATCH 15/45] drivers: net: smsc911x: return ENODEV if device is not found
 
 Signed-off-by: Steve Sakoman <sakoman@gmail.com>
 ---
@@ -1,7 +1,7 @@
-From 923e35d456436da3c79b5befd07854a2f6d89817 Mon Sep 17 00:00:00 2001
+From 0a74491985cab287962c0243565e78600b86c894 Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <sakoman@gmail.com>
 Date: Tue, 15 Dec 2009 15:24:10 -0800
-Subject: [PATCH 19/45] drivers: input: touchscreen: ads7846: return ENODEV if device is not found
+Subject: [PATCH 16/45] drivers: input: touchscreen: ads7846: return ENODEV if device is not found
 
 Signed-off-by: Steve Sakoman <sakoman@gmail.com>
 ---
@@ -1,7 +1,7 @@
-From 94e6d7807bf86f18070b0743aca68d541faa67cd Mon Sep 17 00:00:00 2001
+From 294e88638b891322998deb9154f4babd024732d3 Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Thu, 17 Dec 2009 14:19:34 -0800
-Subject: [PATCH 20/45] drivers: mfd: add twl4030 madc driver
+Subject: [PATCH 17/45] drivers: mfd: add twl4030 madc driver
 
 ---
  drivers/mfd/Kconfig        |   21 ++
@@ -1,7 +1,7 @@
-From 8e01f9fb6605c0e1405981fb5d80d03b7462a7a2 Mon Sep 17 00:00:00 2001
+From 3d9fb5ea6d899ad50dadd8ec0a4004077425916b Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Thu, 17 Dec 2009 15:54:58 -0800
-Subject: [PATCH 21/45] ARM: OMAP: Add missing twl4030 madc header file
+Subject: [PATCH 18/45] ARM: OMAP: Add missing twl4030 madc header file
 
 ---
  include/linux/i2c/twl4030-madc.h |  130 ++++++++++++++++++++++++++++++++++++++
@@ -1,7 +1,7 @@
-From 6cedc3f04cd3fb3d4c74ae66c98f81a7a50f1892 Mon Sep 17 00:00:00 2001
+From c4ff1cf23fc3bf33b3f9b91591af7146f5391b3f Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Thu, 17 Dec 2009 14:27:15 -0800
-Subject: [PATCH 22/45] ARM: OMAP: Add twl4030 madc support to Overo
+Subject: [PATCH 19/45] ARM: OMAP: Add twl4030 madc support to Overo
 
 ---
  arch/arm/mach-omap2/board-overo.c |    5 +++++
@@ -1,17 +1,17 @@
-From 09f99391550d97688551776b134f11a64d66d08e Mon Sep 17 00:00:00 2001
+From 4721d7878b3bb28e83d245cd3014b11f6e289126 Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Thu, 17 Dec 2009 14:32:36 -0800
-Subject: [PATCH 23/45] ARM: OMAP: Add twl4030 madc support to Beagle
+Subject: [PATCH 20/45] ARM: OMAP: Add twl4030 madc support to Beagle
 
 ---
  arch/arm/mach-omap2/board-omap3beagle.c |    5 +++++
  1 files changed, 5 insertions(+), 0 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index d09a676..4b7ed8a 100644
+index 429dacb..8dfb864 100644
 --- a/arch/arm/mach-omap2/board-omap3beagle.c
 +++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -438,6 +438,10 @@ static struct twl4030_codec_data beagle_codec_data = {
+@@ -432,6 +432,10 @@ static struct twl4030_codec_data beagle_codec_data = {
        .audio = &beagle_audio_data,
  };
  
@@ -22,7 +22,7 @@ index d09a676..4b7ed8a 100644
  static struct twl4030_platform_data beagle_twldata = {
        .irq_base       = TWL4030_IRQ_BASE,
        .irq_end        = TWL4030_IRQ_END,
-@@ -446,6 +450,7 @@ static struct twl4030_platform_data beagle_twldata = {
+@@ -440,6 +444,7 @@ static struct twl4030_platform_data beagle_twldata = {
        .usb            = &beagle_usb_data,
        .gpio           = &beagle_gpio_data,
        .codec          = &beagle_codec_data,
@@ -1,7 +1,7 @@
-From 9ad2c26e769b35b73eab0cc601403833f44dff60 Mon Sep 17 00:00:00 2001
+From 73457855345b6e0da83e1d452c4cb0cb28fbef34 Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Tue, 19 Jan 2010 20:00:46 -0800
-Subject: [PATCH 24/45] netdev: rt73usb - add vendor/device ID for Ceiva Wireless PartNo 81726-00702
+Subject: [PATCH 21/45] netdev: rt73usb - add vendor/device ID for Ceiva Wireless PartNo 81726-00702
 
 ---
  drivers/net/wireless/rt2x00/rt73usb.c |    2 ++
@@ -1,7 +1,7 @@
-From 9580ee60ac7dfe75d6f9a0d87002c89cd87a7580 Mon Sep 17 00:00:00 2001
+From aa0048368802d454253b847df33a3ef191ed5f1b Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Mon, 4 Jan 2010 19:20:25 -0800
-Subject: [PATCH 25/45] mmc: don't display single block read console messages
+Subject: [PATCH 22/45] mmc: don't display single block read console messages
 
 mmc: don't display single block read console messages
 ---
@@ -1,7 +1,7 @@
-From f2f3fbdacf942889b77f2a86de53c839ee4f6ce3 Mon Sep 17 00:00:00 2001
+From 4740a7121cbdffcc3e0a7ff26cdf08bde85d7fc7 Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Sun, 24 Jan 2010 09:33:56 -0800
-Subject: [PATCH 26/45] ARM: OMAP2: mmc-twl4030: move clock input selection prior to vcc test
+Subject: [PATCH 23/45] ARM: OMAP2: mmc-twl4030: move clock input selection prior to vcc test
 
 otherwise it is not executed on systems that use non-twl regulators
 ---
@@ -1,7 +1,7 @@
-From 986181226597c170e35567d1f6f2a158bb102377 Mon Sep 17 00:00:00 2001
+From 84a0b05b8149345c87181c74a63a27b0321f5e7f Mon Sep 17 00:00:00 2001
 From: Koen Kooi <koen@dominion.thruhere.net>
 Date: Sun, 14 Feb 2010 12:52:02 +0100
-Subject: [PATCH 27/45] board-overo: add PM code and sync with http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/omap3-2.6.32
+Subject: [PATCH 24/45] board-overo: add PM code and sync with http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/omap3-2.6.32
 
 ---
  arch/arm/mach-omap2/board-overo.c |  274 ++++++++++++++++++++++++++++++++-----
@@ -1,7 +1,7 @@
-From 3a59c6d649b521ae7601a8e8aa560c709db676a1 Mon Sep 17 00:00:00 2001
+From da8a517444cdf8b89e9beb9407dd2c7903393d61 Mon Sep 17 00:00:00 2001
 From: Koen Kooi <koen@dominion.thruhere.net>
 Date: Mon, 15 Feb 2010 14:20:51 +0100
-Subject: [PATCH 28/45] twl4030-madc: adjust for twl4030 -> twl api changes
+Subject: [PATCH 25/45] twl4030-madc: adjust for twl4030 -> twl api changes
 
 ---
  drivers/mfd/twl4030-madc.c |   18 +++++++++---------
@@ -1,7 +1,7 @@
-From 2919800f32cb43d5c6fbbce6fc021c37d1714fe6 Mon Sep 17 00:00:00 2001
+From 6543717ed765f9f5cd981a88507f18b73e9d9c13 Mon Sep 17 00:00:00 2001
 From: Koen Kooi <koen@dominion.thruhere.net>
 Date: Mon, 15 Feb 2010 14:38:00 +0100
-Subject: [PATCH 29/45] OMAP: DSS2: (Re)add support for Samsung lte430wq-f0c panel
+Subject: [PATCH 26/45] OMAP: DSS2: (Re)add support for Samsung lte430wq-f0c panel
 
 ---
  drivers/video/omap2/displays/Kconfig               |    6 +
@@ -1,7 +1,7 @@
-From f5baf3ce472f80bbae9c8a1f8c3a71fcdff6b0a8 Mon Sep 17 00:00:00 2001
+From c5a8cc3beb2784fd3851d758ddc8e74b8e0c09ac Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Thu, 17 Dec 2009 15:05:30 -0800
-Subject: [PATCH 30/45] OMAP: DSS2: Add support for LG Philips LB035Q02 panel
+Subject: [PATCH 27/45] OMAP: DSS2: Add support for LG Philips LB035Q02 panel
 
 ---
  drivers/video/omap2/displays/Kconfig               |    6 +
@@ -1,7 +1,7 @@
-From 9781725fb1b6568133f50ec0ffc73b6c378256ad Mon Sep 17 00:00:00 2001
+From 103d5a963c4f05d0fa454551469ddef334cb9d23 Mon Sep 17 00:00:00 2001
 From: Kishore Kadiyala <kishore.kadiyala@ti.com>
 Date: Wed, 17 Feb 2010 19:34:47 +0530
-Subject: [PATCH 31/45] Fix for bus width which improves SD card's peformance.
+Subject: [PATCH 28/45] Fix for bus width which improves SD card's peformance.
 
 This patch fixes bus width which improves peformance for SD cards.
 OMAP-MMC controller's can support maximum bus width of '8'.
@@ -1,7 +1,7 @@
-From 61648d5763902e95b19a9787255c6de9bcd398ea Mon Sep 17 00:00:00 2001
+From 3381ab702c3798c039f294ed06e3da2e8f62009a Mon Sep 17 00:00:00 2001
 From: Imre Deak <imre.deak@nokia.com>
 Date: Thu, 4 Feb 2010 21:38:02 +0200
-Subject: [PATCH 32/45] ARM: VFP: add support to sync the VFP state of the current thread
+Subject: [PATCH 29/45] ARM: VFP: add support to sync the VFP state of the current thread
 
 ARM: VFP: add support to sync the VFP state of the current thread
 
@@ -1,7 +1,7 @@
-From 8e0f703e8e9a615adbf8f7198dcf5a519ae47556 Mon Sep 17 00:00:00 2001
+From bdd0431478907155b3180a3c8e1cbee720bfe7ec Mon Sep 17 00:00:00 2001
 From: Imre Deak <imre.deak@nokia.com>
 Date: Thu, 4 Feb 2010 21:38:30 +0200
-Subject: [PATCH 33/45] ARM: VFP: preserve the HW context when calling signal handlers
+Subject: [PATCH 30/45] ARM: VFP: preserve the HW context when calling signal handlers
 
 ARM: VFP: preserve the HW context when calling signal handlers
 
@@ -1,7 +1,7 @@
-From ba85815ed7f62e24dc4640f61346318f2fe2deb2 Mon Sep 17 00:00:00 2001
+From e46009db99b4f65a3173521d19e94aaa48e75a33 Mon Sep 17 00:00:00 2001
 From: Prabindh Sundareson <prabu@ti.com>
 Date: Wed, 3 Mar 2010 15:45:35 +0100
-Subject: [PATCH 34/45] Switch SGX clocks to 200MHz on DM37xx/OMAP36xx
+Subject: [PATCH 31/45] Switch SGX clocks to 200MHz on DM37xx/OMAP36xx
 
 ---
  arch/arm/mach-omap2/clock34xx_data.c |    4 ++--
@@ -1,7 +1,7 @@
-From e1cd9003bdbfbbfcd6233a3f612c83a4a3a1f2c7 Mon Sep 17 00:00:00 2001
+From 434d6d660b3988cdb096292c8c0ec51de2eea723 Mon Sep 17 00:00:00 2001
 From: Koen Kooi <koen@dominion.thruhere.net>
 Date: Mon, 8 Mar 2010 14:38:31 +0100
-Subject: [PATCH 35/45] modedb.c: add proper 720p60 mode
+Subject: [PATCH 32/45] modedb.c: add proper 720p60 mode
 
 ---
  drivers/video/modedb.c |    4 ++++
@@ -1,7 +1,7 @@
-From 0ac5a2799a0f317bf91db8e2e55e2c13315dc724 Mon Sep 17 00:00:00 2001
+From 25052ae67a0c5be9dea6f3e225b23dd3e7566d77 Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Thu, 4 Feb 2010 12:26:22 -0800
-Subject: [PATCH 36/45] RTC: add support for backup battery recharge
+Subject: [PATCH 33/45] RTC: add support for backup battery recharge
 
 ---
  drivers/rtc/rtc-twl.c |   25 +++++++++++++++++++++++++
@@ -1,7 +1,7 @@
-From 0d742d1d8df4d5d76802ba101944a5f89dba32a3 Mon Sep 17 00:00:00 2001
+From ca92b0b90ed5ebd14a6ad29d9a0c858274f7f566 Mon Sep 17 00:00:00 2001
 From: Mans Rullgard <mans@mansr.com>
 Date: Mon, 13 Oct 2008 20:32:16 +0100
-Subject: [PATCH 37/45] ARM: Add prompt for CONFIG_ALIGNMENT_TRAP
+Subject: [PATCH 34/45] ARM: Add prompt for CONFIG_ALIGNMENT_TRAP
 
 This adds a prompt text for CONFIG_ALIGNMENT_TRAP, thus making it
 visible in make *config.
@@ -1,7 +1,7 @@
-From 1ffd2a7a2efbe8c7a9016e40ffe02e2cd4be5012 Mon Sep 17 00:00:00 2001
+From 7100b98fc3ad8bff74f3469ac5257c7c500c525c Mon Sep 17 00:00:00 2001
 From: Mans Rullgard <mans@mansr.com>
 Date: Sat, 28 Mar 2009 13:21:55 +0000
-Subject: [PATCH 38/45] ARM: Print warning on alignment trap in kernel mode
+Subject: [PATCH 35/45] ARM: Print warning on alignment trap in kernel mode
 
 Signed-off-by: Mans Rullgard <mans@mansr.com>
 ---
@@ -1,7 +1,7 @@
-From bbb1be89b0f30e08ecdcf3700d2b7bb2304f5856 Mon Sep 17 00:00:00 2001
+From eb05553047988e84a6be8d1548efbcb43ccbb13b Mon Sep 17 00:00:00 2001
 From: Mans Rullgard <mans@mansr.com>
 Date: Tue, 10 Nov 2009 00:39:21 +0000
-Subject: [PATCH 39/45] ARM: Expose some CPU control registers via sysfs
+Subject: [PATCH 36/45] ARM: Expose some CPU control registers via sysfs
 
 This creates sysfs files under /sys/devices/system/cpu/cpuN
 exposing the values of the control register, auxiliary control
@@ -1,7 +1,7 @@
-From 087c763865b4ed7d76e6bdb711e1b3276442777f Mon Sep 17 00:00:00 2001
+From 84296cfee5a95613be6dd32467b7c0766174d9f6 Mon Sep 17 00:00:00 2001
 From: Mans Rullgard <mans@mansr.com>
 Date: Tue, 10 Nov 2009 00:41:54 +0000
-Subject: [PATCH 40/45] ARM: Add option to allow userspace PLE access
+Subject: [PATCH 37/45] ARM: Add option to allow userspace PLE access
 
 This adds a Kconfig option to allow userspace to access the L2 preload
 engine (PLE) found in Cortex-A8.
@@ -1,7 +1,7 @@
-From b84cde72cd4f324e911b9ab0e654cf22240affaf Mon Sep 17 00:00:00 2001
+From fd47acba386ae20539816664f6be3fdc5602b93d Mon Sep 17 00:00:00 2001
 From: Mans Rullgard <mans@mansr.com>
 Date: Tue, 10 Nov 2009 00:52:56 +0000
-Subject: [PATCH 41/45] ARM: Add option to allow userspace access to performance counters
+Subject: [PATCH 38/45] ARM: Add option to allow userspace access to performance counters
 
 This adds an option to allow userspace access to the performance monitor
 registers of the Cortex-A8.
@@ -1,7 +1,7 @@
-From 29ebc75708afacd7e448d83b9d19cdf0ec070d4b Mon Sep 17 00:00:00 2001
+From 887cd41fff0c399086a06e38a734bc0f14006b82 Mon Sep 17 00:00:00 2001
 From: Mans Rullgard <mans@mansr.com>
 Date: Sat, 28 Mar 2009 13:05:02 +0000
-Subject: [PATCH 42/45] ARM: Expose some PMON registers through sysfs
+Subject: [PATCH 39/45] ARM: Expose some PMON registers through sysfs
 
 ---
  arch/arm/kernel/sysfs_v7.c |   11 +++++++++++
@@ -1,7 +1,7 @@
-From 62cacbfa324ece5853eb1db865c96aa0acf75f5a Mon Sep 17 00:00:00 2001
+From e33724530848154c9302a720427bd46bf8a6700c Mon Sep 17 00:00:00 2001
 From: Ajay Kumar Gupta <ajay.gupta@ti.com>
 Date: Wed, 14 Apr 2010 16:08:37 +0530
-Subject: [PATCH 43/45] musb: allow host io without gadget module
+Subject: [PATCH 40/45] musb: allow host io without gadget module
 
 Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
 ---
@@ -1,7 +1,7 @@
-From 0978565a04a33581d5d3bd023e51dbcdfa2e3174 Mon Sep 17 00:00:00 2001
+From 538a454d07c8524ebb5db6d47be9eac0e0292575 Mon Sep 17 00:00:00 2001
 From: Steve Sakoman <steve@sakoman.com>
 Date: Mon, 26 Apr 2010 11:17:26 -0700
-Subject: [PATCH 44/45] MTD: silence ecc errors on mtdblock0
+Subject: [PATCH 41/45] MTD: silence ecc errors on mtdblock0
 
 mtdblock0 is the x-load partition, which uses hw ecc
 this confuses linux, which uses sw ecc
@@ -1,7 +1,7 @@
-From e0a450180e8a92ad43d62314bed43809386703a7 Mon Sep 17 00:00:00 2001
+From 6373a5aa34efdf0a938a585ded13ad111a1c2466 Mon Sep 17 00:00:00 2001
 From: Koen Kooi <koen@dominion.thruhere.net>
 Date: Tue, 27 Apr 2010 10:51:15 +0200
-Subject: [PATCH 45/45] ARM: OMAP: update beagleboard defconfig
+Subject: [PATCH 42/45] ARM: OMAP: update beagleboard defconfig
 
 ---
  arch/arm/configs/omap3_beagle_defconfig | 2514 +++++++++++++++++++++++++------
index 76af18c..3788a16 100644 (file)
@@ -1,7 +1,7 @@
 From b6238a79746a5022969a5f780a6e51d794ab9c0c Mon Sep 17 00:00:00 2001
 From: Koen Kooi <koen@dominion.thruhere.net>
 Date: Mon, 3 May 2010 14:41:29 +0200
-Subject: [PATCH 43/43] ARM: OMAP: beagleboard: Add infrastructure to do fixups based on expansionboard name passed by u-boot
+Subject: [PATCH 43/45] ARM: OMAP: beagleboard: Add infrastructure to do fixups based on expansionboard name passed by u-boot
 
 And add support for zippy2
 ---
diff --git a/recipes/linux/linux-omap-psp-2.6.32/0044-ARM-OMAP-beagleboard-pre-export-GPIOs-to-userspace-w.patch b/recipes/linux/linux-omap-psp-2.6.32/0044-ARM-OMAP-beagleboard-pre-export-GPIOs-to-userspace-w.patch
new file mode 100644 (file)
index 0000000..a8e3514
--- /dev/null
@@ -0,0 +1,57 @@
+From 1608895c3901aa1a857fb931d56054dec120d232 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Mon, 3 May 2010 21:38:34 +0200
+Subject: [PATCH 44/45] ARM: OMAP: beagleboard: pre-export GPIOs to userspace when using a Tincantools trainerboard
+
+This really needs a for loop, patches welcome
+---
+ arch/arm/mach-omap2/board-omap3beagle.c |   33 ++++++++++++++++++++++++++++++-
+ 1 files changed, 32 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index cb2c9c8..4dbb109 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -706,7 +706,38 @@ static void __init omap3_beagle_init(void)
+               mmc[1].gpio_wp = 141;
+               mmc[1].gpio_cd = 162;
+       }
+-      
++
++      if(!strcmp(expansionboard_name, "trainer"))
++      {
++              printk(KERN_INFO "Beagle expansionboard: exporting GPIOs 130-141,162 to userspace\n");
++              gpio_request(130, "sysfs");
++              gpio_export(130, 1);
++              gpio_request(131, "sysfs");
++              gpio_export(131, 1);
++              gpio_request(132, "sysfs");
++              gpio_export(132, 1);
++              gpio_request(133, "sysfs");
++              gpio_export(133, 1);
++              gpio_request(134, "sysfs");
++              gpio_export(134, 1);
++              gpio_request(135, "sysfs");
++              gpio_export(135, 1);
++              gpio_request(136, "sysfs");
++              gpio_export(136, 1);
++              gpio_request(137, "sysfs");
++              gpio_export(137, 1);
++              gpio_request(138, "sysfs");
++              gpio_export(138, 1);
++              gpio_request(139, "sysfs");
++              gpio_export(139, 1);
++              gpio_request(140, "sysfs");
++              gpio_export(140, 1);
++              gpio_request(141, "sysfs");
++              gpio_export(141, 1);
++              gpio_request(162, "sysfs");
++              gpio_export(162, 1);
++      }
++
+       usb_musb_init();
+       usb_ehci_init(&ehci_pdata);
+       omap3beagle_flash_init();
+-- 
+1.6.6.1
+
diff --git a/recipes/linux/linux-omap-psp-2.6.32/0045-ARM-OMAP-beagleboard-initialize-ds1307-and-eeprom-on.patch b/recipes/linux/linux-omap-psp-2.6.32/0045-ARM-OMAP-beagleboard-initialize-ds1307-and-eeprom-on.patch
new file mode 100644 (file)
index 0000000..205cb7e
--- /dev/null
@@ -0,0 +1,76 @@
+From 5544b0a8c422e75c5d372232b494a4652008f048 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Mon, 3 May 2010 22:31:34 +0200
+Subject: [PATCH 45/45] ARM: OMAP: beagleboard: initialize ds1307 and eeprom only for zippy and zippy2
+
+---
+ arch/arm/mach-omap2/board-omap3beagle.c |   39 +++++++++++++++++++++++++++---
+ 1 files changed, 35 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 4dbb109..dd830b1 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -501,24 +501,55 @@ static struct i2c_board_info __initdata beagle_i2c1_boardinfo[] = {
+       },
+ };
++      
++#if defined(CONFIG_EEPROM_AT24) || defined(CONFIG_EEPROM_AT24_MODULE)
++#include <linux/i2c/at24.h>
++
++static struct at24_platform_data m24c01 = {
++              .byte_len       = SZ_1K / 8,
++              .page_size      = 16,
++};
++
+ #if defined(CONFIG_RTC_DRV_DS1307) || \
+       defined(CONFIG_RTC_DRV_DS1307_MODULE)
+-static struct i2c_board_info __initdata beagle_i2c2_boardinfo[] = {
++static struct i2c_board_info __initdata beagle_zippy_i2c2_boardinfo[] = {
+       {
+               I2C_BOARD_INFO("ds1307", 0x68),
+       },
++      {
++              I2C_BOARD_INFO("24c01", 0x50),
++              .platform_data  = &m24c01,
++      },
+ };
+ #else
+-static struct i2c_board_info __initdata beagle_i2c2_boardinfo[] = {};
++static struct i2c_board_info __initdata beagle_zippy_i2c2_boardinfo[] = {
++      {
++              I2C_BOARD_INFO("24c01", 0x50),
++              .platform_data  = &m24c01,
++      },
++};
++#endif
++#else
++static struct i2c_board_info __initdata beagle_zippy_i2c2_boardinfo[] = {};
+ #endif
++static struct i2c_board_info __initdata beagle_i2c2_boardinfo[] = {};
++
+ static int __init omap3_beagle_i2c_init(void)
+ {
+       omap_register_i2c_bus(1, 2600, beagle_i2c1_boardinfo,
+                       ARRAY_SIZE(beagle_i2c1_boardinfo));
+-      omap_register_i2c_bus(2, 400,  beagle_i2c2_boardinfo,
+-                      ARRAY_SIZE(beagle_i2c2_boardinfo));
++      if(!strcmp(expansionboard_name, "zippy") || !strcmp(expansionboard_name, "zippy2")) 
++      {
++              printk(KERN_INFO "Beagle expansionboard: registering i2c2 bus for zippy/zippy2\n");
++              omap_register_i2c_bus(2, 400,  beagle_zippy_i2c2_boardinfo,
++                              ARRAY_SIZE(beagle_zippy_i2c2_boardinfo));
++      } else
++      {
++              omap_register_i2c_bus(2, 400,  beagle_i2c2_boardinfo,
++                              ARRAY_SIZE(beagle_i2c2_boardinfo));
++      }
+       /* Bus 3 is attached to the DVI port where devices like the pico DLP
+        * projector don't work reliably with 400kHz */
+       omap_register_i2c_bus(3, 100, NULL, 0);
+-- 
+1.6.6.1
+
index 5a33afa..a2aeee4 100644 (file)
@@ -1055,7 +1055,7 @@ CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
 #
 # EEPROM support
 #
-# CONFIG_EEPROM_AT24 is not set
+CONFIG_EEPROM_AT24=m
 # CONFIG_EEPROM_AT25 is not set
 # CONFIG_EEPROM_LEGACY is not set
 # CONFIG_EEPROM_MAX6875 is not set
@@ -2442,7 +2442,7 @@ CONFIG_RTC_INTF_DEV=y
 #
 # I2C RTC drivers
 #
-# CONFIG_RTC_DRV_DS1307 is not set
+CONFIG_RTC_DRV_DS1307=m
 # CONFIG_RTC_DRV_DS1374 is not set
 # CONFIG_RTC_DRV_DS1672 is not set
 # CONFIG_RTC_DRV_MAX6900 is not set
index bce446d..1e63107 100644 (file)
@@ -19,42 +19,44 @@ SRC_URI = "git://arago-project.org/git/people/sriram/ti-psp-omap.git;protocol=gi
            file://0005-board-omap3-beagle-add-DSS2-support.patch;patch=1 \
            file://0006-beagleboard-omap3_-foo-_rate_table-omap35x_-foo-_rat.patch;patch=1 \
            file://0007-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch;patch=1 \
-           file://0010-board-omap3beagle-turn-on-power-to-camera-on-boot-an.patch;patch=1 \
-           file://0012-ASoC-enable-audio-capture-by-default-for-twl4030.patch;patch=1 \
-           file://0013-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch;patch=1 \
-           file://0014-OMAP3630-DSS2-Enable-Pre-Multiplied-Alpha-Support.patch;patch=1 \
-           file://0015-DSS2-add-bootarg-for-selecting-svideo-or-composite-f.patch;patch=1 \
-           file://0016-ISP-add-some-more-from-Leopard-imaging-patch.patch;patch=1 \
-           file://0017-ARM-OMAP-Overo-Add-support-for-second-ethernet-port.patch;patch=1 \
-           file://0018-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch;patch=1 \
-           file://0019-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch;patch=1 \
-           file://0020-drivers-mfd-add-twl4030-madc-driver.patch;patch=1 \
-           file://0021-ARM-OMAP-Add-missing-twl4030-madc-header-file.patch;patch=1 \
-           file://0022-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch;patch=1 \
-           file://0023-ARM-OMAP-Add-twl4030-madc-support-to-Beagle.patch;patch=1 \
-           file://0024-netdev-rt73usb-add-vendor-device-ID-for-Ceiva-Wirele.patch;patch=1 \
-           file://0025-mmc-don-t-display-single-block-read-console-messages.patch;patch=1 \
-           file://0026-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch;patch=1 \
-           file://0027-board-overo-add-PM-code-and-sync-with-http-www.sakom.patch;patch=1 \
-           file://0028-twl4030-madc-adjust-for-twl4030-twl-api-changes.patch;patch=1 \
-           file://0029-OMAP-DSS2-Re-add-support-for-Samsung-lte430wq-f0c-pa.patch;patch=1 \
-           file://0030-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-panel.patch;patch=1 \
-           file://0031-Fix-for-bus-width-which-improves-SD-card-s-peformanc.patch;patch=1 \
-           file://0032-ARM-VFP-add-support-to-sync-the-VFP-state-of-the-cur.patch;patch=1 \
-           file://0033-ARM-VFP-preserve-the-HW-context-when-calling-signal-.patch;patch=1 \
-           file://0034-Switch-SGX-clocks-to-200MHz-on-DM37xx-OMAP36xx.patch;patch=1 \
-           file://0035-modedb.c-add-proper-720p60-mode.patch;patch=1 \
-           file://0036-RTC-add-support-for-backup-battery-recharge.patch;patch=1 \
-           file://0037-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch;patch=1 \
-           file://0038-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch;patch=1 \
-           file://0039-ARM-Expose-some-CPU-control-registers-via-sysfs.patch;patch=1 \
-           file://0040-ARM-Add-option-to-allow-userspace-PLE-access.patch;patch=1 \
-           file://0041-ARM-Add-option-to-allow-userspace-access-to-performa.patch;patch=1 \
-           file://0042-ARM-Expose-some-PMON-registers-through-sysfs.patch;patch=1 \
-           file://0043-musb-allow-host-io-without-gadget-module.patch;patch=1 \
-           file://0044-MTD-silence-ecc-errors-on-mtdblock0.patch;patch=1 \
-           file://0045-ARM-OMAP-update-beagleboard-defconfig.patch;patch=1 \
+           file://0008-board-omap3beagle-turn-on-power-to-camera-on-boot-an.patch;patch=1 \
+           file://0009-ASoC-enable-audio-capture-by-default-for-twl4030.patch;patch=1 \
+           file://0010-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch;patch=1 \
+           file://0011-OMAP3630-DSS2-Enable-Pre-Multiplied-Alpha-Support.patch;patch=1 \
+           file://0012-DSS2-add-bootarg-for-selecting-svideo-or-composite-f.patch;patch=1 \
+           file://0013-ISP-add-some-more-from-Leopard-imaging-patch.patch;patch=1 \
+           file://0014-ARM-OMAP-Overo-Add-support-for-second-ethernet-port.patch;patch=1 \
+           file://0015-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch;patch=1 \
+           file://0016-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch;patch=1 \
+           file://0017-drivers-mfd-add-twl4030-madc-driver.patch;patch=1 \
+           file://0018-ARM-OMAP-Add-missing-twl4030-madc-header-file.patch;patch=1 \
+           file://0019-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch;patch=1 \
+           file://0020-ARM-OMAP-Add-twl4030-madc-support-to-Beagle.patch;patch=1 \
+           file://0021-netdev-rt73usb-add-vendor-device-ID-for-Ceiva-Wirele.patch;patch=1 \
+           file://0022-mmc-don-t-display-single-block-read-console-messages.patch;patch=1 \
+           file://0023-ARM-OMAP2-mmc-twl4030-move-clock-input-selection-pri.patch;patch=1 \
+           file://0024-board-overo-add-PM-code-and-sync-with-http-www.sakom.patch;patch=1 \
+           file://0025-twl4030-madc-adjust-for-twl4030-twl-api-changes.patch;patch=1 \
+           file://0026-OMAP-DSS2-Re-add-support-for-Samsung-lte430wq-f0c-pa.patch;patch=1 \
+           file://0027-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-panel.patch;patch=1 \
+           file://0028-Fix-for-bus-width-which-improves-SD-card-s-peformanc.patch;patch=1 \
+           file://0029-ARM-VFP-add-support-to-sync-the-VFP-state-of-the-cur.patch;patch=1 \
+           file://0030-ARM-VFP-preserve-the-HW-context-when-calling-signal-.patch;patch=1 \
+           file://0031-Switch-SGX-clocks-to-200MHz-on-DM37xx-OMAP36xx.patch;patch=1 \
+           file://0032-modedb.c-add-proper-720p60-mode.patch;patch=1 \
+           file://0033-RTC-add-support-for-backup-battery-recharge.patch;patch=1 \
+           file://0034-ARM-Add-prompt-for-CONFIG_ALIGNMENT_TRAP.patch;patch=1 \
+           file://0035-ARM-Print-warning-on-alignment-trap-in-kernel-mode.patch;patch=1 \
+           file://0036-ARM-Expose-some-CPU-control-registers-via-sysfs.patch;patch=1 \
+           file://0037-ARM-Add-option-to-allow-userspace-PLE-access.patch;patch=1 \
+           file://0038-ARM-Add-option-to-allow-userspace-access-to-performa.patch;patch=1 \
+           file://0039-ARM-Expose-some-PMON-registers-through-sysfs.patch;patch=1 \
+           file://0040-musb-allow-host-io-without-gadget-module.patch;patch=1 \
+           file://0041-MTD-silence-ecc-errors-on-mtdblock0.patch;patch=1 \
+           file://0042-ARM-OMAP-update-beagleboard-defconfig.patch;patch=1 \
            file://0043-ARM-OMAP-beagleboard-Add-infrastructure-to-do-fixups.patch;patch=1 \
+           file://0044-ARM-OMAP-beagleboard-pre-export-GPIOs-to-userspace-w.patch;patch=1 \
+           file://0045-ARM-OMAP-beagleboard-initialize-ds1307-and-eeprom-on.patch;patch=1 \
            file://defconfig"
 
 SRC_URI_append_beagleboard = " file://logo_linux_clut224.ppm \