linux-3.0: added bbtoys ulcd support
authorJason Kridner <jdk@ti.com>
Fri, 16 Sep 2011 21:41:44 +0000 (17:41 -0400)
committerJason Kridner <jdk@ti.com>
Fri, 16 Sep 2011 22:05:46 +0000 (18:05 -0400)
Signed-off-by: Jason Kridner <jdk@ti.com>
Cc: John Weber <rjohnweber@gmail.com>
Cc: Roger Monk <r-monk@ti.com>
Cc: Joel A Fernandes <agnel.joel@gmail.com>
Cc: Koen Kooi <koen@dominion.thruhere.net>
recipes-kernel/linux/linux-3.0/ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch [new file with mode: 0644]
recipes-kernel/linux/linux-3.0/ulcd/0001-omap2-displays-Add-support-for-ThreeFiveCorp-S9700-D.patch [deleted file]
recipes-kernel/linux/linux-3.0/ulcd/0002-WIP-omap-beagleboard-add-bbtoys-ulcd-lite-support.patch [new file with mode: 0644]
recipes-kernel/linux/linux-3.0/ulcd/0002-omap3-beagle-added-lcd-driver.patch [deleted file]
recipes-kernel/linux/linux-3.0/ulcd/0003-lcd-Set-LCD-power-enable-GPIO-in-board-file.patch [deleted file]
recipes-kernel/linux/linux-3.0/ulcd/0004-Make-fbset-show-correct-timing-values.patch [deleted file]
recipes-kernel/linux/linux_3.0.bb

diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch b/recipes-kernel/linux/linux-3.0/ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch
new file mode 100644 (file)
index 0000000..71b9d31
--- /dev/null
@@ -0,0 +1,44 @@
+From 47282736d78c31ba07a83748b3d8f7a1510e082e Mon Sep 17 00:00:00 2001
+From: archit taneja <archit@ti.com>
+Date: Fri, 5 Aug 2011 07:19:21 +0000
+Subject: [PATCH 1/2] OMAP_VOUT: Fix build break caused by update_mode removal in DSS2
+
+The DSS2 driver does not support the configuration of the update_mode of a
+panel anymore. Remove the setting of update_mode done in omap_vout_probe().
+Ignore configuration of TE since omap_vout driver doesn't support manual update
+displays anyway.
+
+Signed-off-by: Archit Taneja <archit@ti.com>
+Tested-by: Koen Kooi <koen@dominion.thruhere.net>
+Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
+---
+ drivers/media/video/omap/omap_vout.c |   13 -------------
+ 1 files changed, 0 insertions(+), 13 deletions(-)
+
+diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c
+index 4d07c58..d17d6b6 100644
+--- a/drivers/media/video/omap/omap_vout.c
++++ b/drivers/media/video/omap/omap_vout.c
+@@ -2557,19 +2557,6 @@ static int __init omap_vout_probe(struct platform_device *pdev)
+                                       "'%s' Display already enabled\n",
+                                       def_display->name);
+                       }
+-                      /* set the update mode */
+-                      if (def_display->caps &
+-                                      OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) {
+-                              if (dssdrv->enable_te)
+-                                      dssdrv->enable_te(def_display, 0);
+-                              if (dssdrv->set_update_mode)
+-                                      dssdrv->set_update_mode(def_display,
+-                                                      OMAP_DSS_UPDATE_MANUAL);
+-                      } else {
+-                              if (dssdrv->set_update_mode)
+-                                      dssdrv->set_update_mode(def_display,
+-                                                      OMAP_DSS_UPDATE_AUTO);
+-                      }
+               }
+       }
+-- 
+1.7.4.1
+
diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0001-omap2-displays-Add-support-for-ThreeFiveCorp-S9700-D.patch b/recipes-kernel/linux/linux-3.0/ulcd/0001-omap2-displays-Add-support-for-ThreeFiveCorp-S9700-D.patch
deleted file mode 100644 (file)
index 926398d..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-From 364e5e30ff9257f1bac68d7f30f3e7f51e8b1bfc Mon Sep 17 00:00:00 2001
-From: Roger Monk <r-monk@ti.com>
-Date: Wed, 10 Aug 2011 16:54:34 +0200
-Subject: [PATCH 1/4] omap2-displays: Add support for ThreeFiveCorp S9700 Display
-
-* Add support for s9700rtwv35tr01b display panel
-   * This is used on BeagleBoardToys ULCD/-lite daugtercards
-
-Signed-off-by: Roger Monk <r-monk@ti.com>
----
- drivers/video/omap2/displays/Kconfig               |    6 +
- drivers/video/omap2/displays/Makefile              |    1 +
- .../omap2/displays/panel-tfc-s9700rtwv35tr01b.c    |  118 ++++++++++++++++++++
- 3 files changed, 125 insertions(+), 0 deletions(-)
- create mode 100644 drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c
-
-diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
-index 609a280..f8be2a8 100644
---- a/drivers/video/omap2/displays/Kconfig
-+++ b/drivers/video/omap2/displays/Kconfig
-@@ -30,6 +30,12 @@ config PANEL_NEC_NL8048HL11_01B
-               This NEC NL8048HL11-01B panel is TFT LCD
-               used in the Zoom2/3/3630 sdp boards.
-+config PANEL_TFCS9700RTWV35TR01B
-+        tristate "TFC S9700RTWV35TR01B"
-+        depends on OMAP2_DSS
-+        help
-+          LCD Panel used on BeagleboardToys 800x480 LCD Expansion Module
-+
- config PANEL_TAAL
-         tristate "Taal DSI Panel"
-         depends on OMAP2_DSS_DSI
-diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile
-index 0f601ab..8abdf50 100644
---- a/drivers/video/omap2/displays/Makefile
-+++ b/drivers/video/omap2/displays/Makefile
-@@ -5,4 +5,5 @@ obj-$(CONFIG_PANEL_NEC_NL8048HL11_01B) += panel-nec-nl8048hl11-01b.o
- obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
- obj-$(CONFIG_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o
-+obj-$(CONFIG_PANEL_TFCS9700RTWV35TR01B) += panel-tfc-s9700rtwv35tr01b.o
- obj-$(CONFIG_PANEL_ACX565AKM) += panel-acx565akm.o
-diff --git a/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c b/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c
-new file mode 100644
-index 0000000..c2a1a19
---- /dev/null
-+++ b/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c
-@@ -0,0 +1,118 @@
-+/*
-+ * LCD panel driver for TFC S9700RTWV35TR-01B
-+ *
-+ * Copyright (C) 2011 Texas Instruments Inc
-+ * Author: Roger Monk <r-monk@ti.com>
-+ * From Original by : Vaibhav Hiremath <hvaibhav@ti.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-+ * more details.
-+ *
-+ * You should have received a copy of the GNU General Public License along with
-+ * this program.  If not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/delay.h>
-+#include <linux/device.h>
-+#include <linux/err.h>
-+
-+#include <video/omapdss.h>
-+
-+static struct omap_video_timings tfc_timings = {
-+      .x_res          = 800,
-+      .y_res          = 480,
-+
-+      .pixel_clock    = 30000,
-+
-+      .hsw            = 49,
-+      .hfp            = 41,
-+      .hbp            = 40,
-+
-+      .vsw            = 4,
-+      .vfp            = 14,
-+      .vbp            = 29,
-+};
-+
-+static int tfc_panel_probe(struct omap_dss_device *dssdev)
-+{
-+      dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
-+              OMAP_DSS_LCD_IHS; // | OMAP_DSS_LCD_IEO; - TODO check this - doesn't work with this enabled
-+      dssdev->panel.acb = 0x0;
-+      dssdev->panel.timings = tfc_timings;
-+
-+      return 0;
-+}
-+
-+static void tfc_panel_remove(struct omap_dss_device *dssdev)
-+{
-+}
-+
-+static int tfc_panel_enable(struct omap_dss_device *dssdev)
-+{
-+      int r = 0;
-+
-+      /* wait couple of vsyncs until enabling the LCD */
-+      msleep(50);
-+
-+      if (dssdev->platform_enable)
-+              r = dssdev->platform_enable(dssdev);
-+
-+      return r;
-+}
-+
-+static void tfc_panel_disable(struct omap_dss_device *dssdev)
-+{
-+      if (dssdev->platform_disable)
-+              dssdev->platform_disable(dssdev);
-+
-+      /* wait at least 5 vsyncs after disabling the LCD */
-+
-+      msleep(100);
-+}
-+
-+static int tfc_panel_suspend(struct omap_dss_device *dssdev)
-+{
-+      tfc_panel_disable(dssdev);
-+      return 0;
-+}
-+
-+static int tfc_panel_resume(struct omap_dss_device *dssdev)
-+{
-+      return tfc_panel_enable(dssdev);
-+}
-+
-+static struct omap_dss_driver tfc_s9700_driver = {
-+      .probe          = tfc_panel_probe,
-+      .remove         = tfc_panel_remove,
-+
-+      .enable         = tfc_panel_enable,
-+      .disable        = tfc_panel_disable,
-+      .suspend        = tfc_panel_suspend,
-+      .resume         = tfc_panel_resume,
-+
-+      .driver         = {
-+              .name   = "tfc_s9700_panel",
-+              .owner  = THIS_MODULE,
-+      },
-+};
-+
-+static int __init tfc_panel_drv_init(void)
-+{
-+      return omap_dss_register_driver(&tfc_s9700_driver);
-+}
-+
-+static void __exit tfc_panel_drv_exit(void)
-+{
-+      omap_dss_unregister_driver(&tfc_s9700_driver);
-+}
-+
-+module_init(tfc_panel_drv_init);
-+module_exit(tfc_panel_drv_exit);
-+MODULE_LICENSE("GPL");
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0002-WIP-omap-beagleboard-add-bbtoys-ulcd-lite-support.patch b/recipes-kernel/linux/linux-3.0/ulcd/0002-WIP-omap-beagleboard-add-bbtoys-ulcd-lite-support.patch
new file mode 100644 (file)
index 0000000..d6aace3
--- /dev/null
@@ -0,0 +1,235 @@
+From 2ced51c12594c56d15b5376a5ff72aedddf41b6a Mon Sep 17 00:00:00 2001
+From: Jason Kridner <jdk@ti.com>
+Date: Mon, 12 Sep 2011 10:28:14 -0400
+Subject: [PATCH 2/2] WIP: omap: beagleboard: add bbtoys ulcd-lite support
+
+Added support for the BeagleBoardToys ULCD-Lite.
+* Added ThreeFiveCorp s9700rtwv35tr-01b panel to
+  panel-generic-dpi driver.
+* Added TSC2007 and LCD panel to board file.
+
+Relied heavily on the TSC2007 integration work done by
+John Weber and panel timings from Roger Monk.
+
+Signed-off-by: Jason Kridner <jdk@ti.com>
+Cc: John Weber <rjohnweber@gmail.com>
+Cc: Roger Monk <r-monk@ti.com>
+Cc: Joel A Fernandes <agnel.joel@gmail.com>
+Cc: Koen Kooi <koen@dominion.thruhere.net>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c          |  112 ++++++++++++++++++++++
+ drivers/video/omap2/displays/panel-generic-dpi.c |   25 +++++
+ 2 files changed, 137 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 9712099..8c0d1a3 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -35,6 +35,7 @@
+ #include <linux/i2c/twl.h>
+ #include <linux/netdevice.h>
+ #include <linux/if_ether.h>
++#include <linux/i2c/tsc2007.h>
+ #include <mach/hardware.h>
+ #include <asm/mach-types.h>
+@@ -87,11 +88,15 @@ static struct {
+       int usb_pwr_level;
+       int reset_gpio;
+       int usr_button_gpio;
++      char *lcd_driver_name;
++      int lcd_pwren;
+ } beagle_config = {
+       .mmc1_gpio_wp = -EINVAL,
+       .usb_pwr_level = GPIOF_OUT_INIT_LOW,
+       .reset_gpio = 129,
+       .usr_button_gpio = 4,
++      .lcd_driver_name = "",
++      .lcd_pwren = 156
+ };
+ /*
+@@ -477,9 +482,53 @@ static struct omap_dss_device beagle_tv_device = {
+       .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
+ };
++static int beagle_enable_lcd(struct omap_dss_device *dssdev)
++{
++       if (gpio_is_valid(beagle_config.lcd_pwren)) {
++               printk(KERN_INFO "%s: Enabling LCD\n", __FUNCTION__);
++               gpio_set_value(beagle_config.lcd_pwren, 0);
++       } else {
++               printk(KERN_INFO "%s: Invalid LCD enable GPIO: %d\n",
++                       __FUNCTION__, beagle_config.lcd_pwren);
++       }
++
++       return 0;
++}
++
++static void beagle_disable_lcd(struct omap_dss_device *dssdev)
++{
++       if (gpio_is_valid(beagle_config.lcd_pwren)) {
++               printk(KERN_INFO "%s: Disabling LCD\n", __FUNCTION__);
++               gpio_set_value(beagle_config.lcd_pwren, 1);
++       } else {
++               printk(KERN_INFO "%s: Invalid LCD enable GPIO: %d\n",
++                       __FUNCTION__, beagle_config.lcd_pwren);
++       }
++
++       return;
++}
++
++static struct panel_generic_dpi_data lcd_panel = {
++      .name = "tfc_s9700rtwv35tr-01b",
++      .platform_enable = beagle_enable_lcd,
++      .platform_disable = beagle_disable_lcd,
++};
++
++static struct omap_dss_device beagle_lcd_device = {
++      .type                   = OMAP_DISPLAY_TYPE_DPI,
++      .name                   = "lcd",
++      .driver_name            = "generic_dpi_panel",
++      .phy.dpi.data_lines     = 24,
++      .platform_enable        = beagle_enable_lcd,
++      .platform_disable       = beagle_disable_lcd,
++      .reset_gpio             = -EINVAL,
++      .data                   = &lcd_panel,
++};
++
+ static struct omap_dss_device *beagle_dss_devices[] = {
+       &beagle_dvi_device,
+       &beagle_tv_device,
++      &beagle_lcd_device,
+ };
+ static struct omap_dss_board_info beagle_dss_data = {
+@@ -496,6 +545,11 @@ static void __init beagle_display_init(void)
+                            "DVI reset");
+       if (r < 0)
+               printk(KERN_ERR "Unable to get DVI reset GPIO\n");
++
++       r = gpio_request_one(beagle_config.lcd_pwren, GPIOF_OUT_INIT_LOW,
++                            "LCD power");
++       if (r < 0)
++               printk(KERN_ERR "Unable to get LCD power enable GPIO\n");
+ }
+ #include "sdram-micron-mt46h32m32lf-6.h"
+@@ -654,6 +708,53 @@ static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {
+ static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {};
+ #endif
++#if defined(CONFIG_INPUT_TOUCHSCREEN) && \
++      defined(CONFIG_TOUCHSCREEN_TSC2007)
++/* Touchscreen */
++#define OMAP3BEAGLE_TSC2007_GPIO 157
++static int omap3beagle_tsc2007_get_pendown_state(void)
++{
++      return !gpio_get_value(OMAP3BEAGLE_TSC2007_GPIO);
++}
++
++static int omap3beagle_tsc2007_init(void)
++{
++      int gpio = OMAP3BEAGLE_TSC2007_GPIO;
++      int ret = 0;
++      printk(KERN_WARNING "TSC2007_init started");
++      ret = gpio_request(gpio, "tsc2007_pen_down");
++      if (ret < 0) {
++              printk(KERN_ERR "Failed to request GPIO %d for "
++              "tsc2007 pen down IRQ\n", gpio);
++              return ret;
++      }
++
++      omap_mux_init_gpio(OMAP3BEAGLE_TSC2007_GPIO, OMAP_PIN_INPUT_PULLUP);
++      gpio_direction_input(gpio);
++
++      irq_set_irq_type(OMAP_GPIO_IRQ(OMAP3BEAGLE_TSC2007_GPIO), IRQ_TYPE_EDGE_FALLING);
++
++      return ret;
++}
++
++static struct tsc2007_platform_data tsc2007_info = {
++      .model = 2007,
++      .x_plate_ohms = 180,
++      .get_pendown_state = omap3beagle_tsc2007_get_pendown_state,
++      .init_platform_hw = omap3beagle_tsc2007_init,
++};
++
++static struct i2c_board_info __initdata beagle_i2c2_bbtoys_ulcd[] = {
++      {
++              I2C_BOARD_INFO("tsc2007", 0x48),
++              .irq = OMAP_GPIO_IRQ(OMAP3BEAGLE_TSC2007_GPIO),
++              .platform_data = &tsc2007_info,
++      },
++};
++#else
++static struct i2c_board_info __initdata beagle_i2c2_bbtoys_ulcd[] = {};
++#endif
++
+ static int __init omap3_beagle_i2c_init(void)
+ {
+       omap3_pmic_get_config(&beagle_twldata,
+@@ -823,6 +924,10 @@ static void __init omap3_beagle_init(void)
+       gpio_buttons[0].gpio = beagle_config.usr_button_gpio;
++      /* TODO: set lcd_driver_name by command line or device tree */
++      beagle_config.lcd_driver_name = "tfc_s9700rtwv35tr-01b",
++      lcd_panel.name = beagle_config.lcd_driver_name;
++
+       platform_add_devices(omap3_beagle_devices,
+                       ARRAY_SIZE(omap3_beagle_devices));
+       omap_display_init(&beagle_dss_data);
+@@ -898,6 +1003,13 @@ static void __init omap3_beagle_init(void)
+               platform_device_register(&omap_vwlan_device);
+       }
++      if(!strcmp(expansionboard_name, "bbtoys-ulcd"))
++      {
++              printk(KERN_INFO "Beagle expansionboard: registering bbtoys-ulcd\n");
++              omap_register_i2c_bus(2, 400,  beagle_i2c2_bbtoys_ulcd,
++                                                      ARRAY_SIZE(beagle_i2c2_bbtoys_ulcd));
++      }
++
+       usb_musb_init(NULL);
+       usbhs_init(&usbhs_bdata);
+       omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions,
+diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c
+index 9c90f75..82c1ac3 100644
+--- a/drivers/video/omap2/displays/panel-generic-dpi.c
++++ b/drivers/video/omap2/displays/panel-generic-dpi.c
+@@ -232,6 +232,31 @@ static struct panel_config generic_dpi_panels[] = {
+               .power_off_delay        = 0,
+               .name                   = "powertip_ph480272t",
+       },
++
++      /* ThreeFiveCorp S9700RTWV35TR-01B */
++      {
++              {
++                      .x_res          = 800,
++                      .y_res          = 480,
++
++                      .pixel_clock    = 30000,
++
++                      .hsw            = 49,
++                      .hfp            = 41,
++                      .hbp            = 40,
++
++                      .vsw            = 4,
++                      .vfp            = 14,
++                      .vbp            = 29,
++              },
++              .acbi                   = 0x0,
++              .acb                    = 0x0,
++              .config                 = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
++                                        OMAP_DSS_LCD_IHS, // | OMAP_DSS_LCD_IEO; - TODO check this - doesn't work with this enabled
++              .power_on_delay         = 50,
++              .power_off_delay        = 100,
++              .name                   = "tfc_s9700rtwv35tr-01b",
++      },
+ };
+ struct panel_drv_data {
+-- 
+1.7.4.1
+
diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0002-omap3-beagle-added-lcd-driver.patch b/recipes-kernel/linux/linux-3.0/ulcd/0002-omap3-beagle-added-lcd-driver.patch
deleted file mode 100644 (file)
index a0d3b3c..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-From 6b0587615fd0099261d049be17f12eae9f92ae85 Mon Sep 17 00:00:00 2001
-From: Jason Kridner <jkridner@beagleboard.org>
-Date: Fri, 5 Aug 2011 18:07:09 +0000
-Subject: [PATCH 2/4] omap3: beagle: added lcd driver
-
-This enables the tfc_s9700_panel by default.  Needs to be extended to
-redefine the driver name at boot time.
----
- arch/arm/mach-omap2/board-omap3beagle.c |   25 +++++++++++++++++++++++++
- 1 files changed, 25 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 5e1d9f9..b525a5e 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -84,11 +84,13 @@ static struct {
-       int usb_pwr_level;
-       int reset_gpio;
-       int usr_button_gpio;
-+      char *lcd_driver_name;
- } beagle_config = {
-       .mmc1_gpio_wp = -EINVAL,
-       .usb_pwr_level = GPIOF_OUT_INIT_LOW,
-       .reset_gpio = 129,
-       .usr_button_gpio = 4,
-+      .lcd_driver_name = "",
- };
- static struct gpio omap3_beagle_rev_gpios[] __initdata = {
-@@ -387,9 +389,28 @@ static struct omap_dss_device beagle_tv_device = {
-       .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
- };
-+static int beagle_enable_lcd(struct omap_dss_device *dssdev)
-+{
-+      return 0;
-+}
-+
-+static int beagle_disable_lcd(struct omap_dss_device *dssdev)
-+{
-+}
-+
-+static struct omap_dss_device beagle_lcd_device = {
-+      .name                   = "lcd",
-+      .driver_name            = "",
-+      .type                   = OMAP_DISPLAY_TYPE_DPI,
-+      .phy.dpi.data_lines     = 24,
-+      .platform_enable        = beagle_enable_lcd,
-+      .platform_disable       = beagle_disable_lcd,
-+};
-+
- static struct omap_dss_device *beagle_dss_devices[] = {
-       &beagle_dvi_device,
-       &beagle_tv_device,
-+      &beagle_lcd_device,
- };
- static struct omap_dss_board_info beagle_dss_data = {
-@@ -733,6 +754,10 @@ static void __init omap3_beagle_init(void)
-       gpio_buttons[0].gpio = beagle_config.usr_button_gpio;
-+      /* TODO: set lcd_driver_name by command line or device tree */
-+      beagle_config.lcd_driver_name = "tfc_s9700_panel";
-+      beagle_lcd_device.driver_name = beagle_config.lcd_driver_name;
-+
-       platform_add_devices(omap3_beagle_devices,
-                       ARRAY_SIZE(omap3_beagle_devices));
-       omap_display_init(&beagle_dss_data);
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0003-lcd-Set-LCD-power-enable-GPIO-in-board-file.patch b/recipes-kernel/linux/linux-3.0/ulcd/0003-lcd-Set-LCD-power-enable-GPIO-in-board-file.patch
deleted file mode 100644 (file)
index ccc510f..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-From 4b175ec2e08d1fa4a0bbaeb79ee2381164572fba Mon Sep 17 00:00:00 2001
-From: Joel A Fernandes <agnel.joel@gmail.com>
-Date: Thu, 18 Aug 2011 16:19:40 -0500
-Subject: [PATCH 3/4] lcd: Set LCD power-enable GPIO in board file
-
-With this, the ULCD-lite display works with the 3.0 kernel
-
-v2 changes:
-Fixed the beagle_config structure
-
-Signed-off-by: Joel A Fernandes <agnel.joel@gmail.com>
----
- arch/arm/mach-omap2/board-omap3beagle.c |    7 +++++++
- 1 files changed, 7 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index b525a5e..6b0afda 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -85,12 +85,14 @@ static struct {
-       int reset_gpio;
-       int usr_button_gpio;
-       char *lcd_driver_name;
-+      int lcd_pwren;
- } beagle_config = {
-       .mmc1_gpio_wp = -EINVAL,
-       .usb_pwr_level = GPIOF_OUT_INIT_LOW,
-       .reset_gpio = 129,
-       .usr_button_gpio = 4,
-       .lcd_driver_name = "",
-+      .lcd_pwren = 156
- };
- static struct gpio omap3_beagle_rev_gpios[] __initdata = {
-@@ -423,6 +425,11 @@ static void __init beagle_display_init(void)
- {
-       int r;
-+      r = gpio_request_one(beagle_config.lcd_pwren, GPIOF_OUT_INIT_LOW,
-+                           "LCD power");
-+      if (r < 0)
-+              printk(KERN_ERR "Unable to get LCD power enable GPIO\n");
-+
-       r = gpio_request_one(beagle_dvi_device.reset_gpio, GPIOF_OUT_INIT_LOW,
-                            "DVI reset");
-       if (r < 0)
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0004-Make-fbset-show-correct-timing-values.patch b/recipes-kernel/linux/linux-3.0/ulcd/0004-Make-fbset-show-correct-timing-values.patch
deleted file mode 100644 (file)
index fb37e96..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From 1d70480dca0c7648f5f51fad5ffb0e191212615a Mon Sep 17 00:00:00 2001
-From: Joel A Fernandes <agnel.joel@gmail.com>
-Date: Wed, 17 Aug 2011 00:28:49 -0500
-Subject: [PATCH 4/4] Make fbset show correct timing values
-
-Signed-off-by: Joel A Fernandes <agnel.joel@gmail.com>
-Cc: "Monk, Roger" <r-monk@ti.com>
----
- .../omap2/displays/panel-tfc-s9700rtwv35tr01b.c    |    8 +++++++-
- 1 files changed, 7 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c b/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c
-index c2a1a19..6afd4e3 100644
---- a/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c
-+++ b/drivers/video/omap2/displays/panel-tfc-s9700rtwv35tr01b.c
-@@ -88,6 +88,12 @@ static int tfc_panel_resume(struct omap_dss_device *dssdev)
-       return tfc_panel_enable(dssdev);
- }
-+static void tfc_panel_get_timings(struct omap_dss_device *dssdev,
-+                          struct omap_video_timings *timings)
-+{
-+          *timings = dssdev->panel.timings;
-+}
-+
- static struct omap_dss_driver tfc_s9700_driver = {
-       .probe          = tfc_panel_probe,
-       .remove         = tfc_panel_remove,
-@@ -96,7 +102,7 @@ static struct omap_dss_driver tfc_s9700_driver = {
-       .disable        = tfc_panel_disable,
-       .suspend        = tfc_panel_suspend,
-       .resume         = tfc_panel_resume,
--
-+      .get_timings = tfc_panel_get_timings,
-       .driver         = {
-               .name   = "tfc_s9700_panel",
-               .owner  = THIS_MODULE,
--- 
-1.6.6.1
-
index dd531abd8a63fac582c8436538e13c23ea220844..40e7ea5e92a91f79b702227068f424f27c604b02 100644 (file)
@@ -10,7 +10,7 @@ PV = "3.0.4"
 SRCREV_pn-${PN} = "04aa37b5f943920017ad094e776cd5514b1a9246"
 
 # The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
-MACHINE_KERNEL_PR_append = "b"
+MACHINE_KERNEL_PR_append = "c"
 
 FILESPATH =. "${FILE_DIRNAME}/linux-3.0:${FILE_DIRNAME}/linux-3.0/${MACHINE}:"
 
@@ -210,10 +210,8 @@ SRC_URI += "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-3.0.y.git
             \
             file://sgx/0001-ARM-L2-Add-and-export-outer_clean_all.patch \
             \
-            file://ulcd/0001-omap2-displays-Add-support-for-ThreeFiveCorp-S9700-D.patch \
-            file://ulcd/0002-omap3-beagle-added-lcd-driver.patch \
-            file://ulcd/0003-lcd-Set-LCD-power-enable-GPIO-in-board-file.patch \
-            file://ulcd/0004-Make-fbset-show-correct-timing-values.patch \
+            file://ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch \
+            file://ulcd/0002-WIP-omap-beagleboard-add-bbtoys-ulcd-lite-support.patch \
             \
             file://omap4/0001-OMAP-Fix-linking-error-in-twl-common.c-for-OMAP2-3-4.patch \
             \