aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/kexecboot/linux-kexecboot-2.6.32/dss2
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/kexecboot/linux-kexecboot-2.6.32/dss2')
-rw-r--r--recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0012-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-pane.patch254
-rw-r--r--recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0014-OMAP-DSS-Add-DSS2-support-for-Overo.patch343
-rw-r--r--recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0015-OMAP-DSS-Add-DSS2-support-for-Beagle.patch186
-rw-r--r--recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0016-video-add-timings-for-hd720.patch27
-rwxr-xr-xrecipes/kexecboot/linux-kexecboot-2.6.32/dss2/beagle-dss2-support.diff308
5 files changed, 0 insertions, 1118 deletions
diff --git a/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0012-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-pane.patch b/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0012-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-pane.patch
deleted file mode 100644
index a22f3e712f..0000000000
--- a/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0012-OMAP-DSS2-Add-support-for-LG-Philips-LB035Q02-pane.patch
+++ /dev/null
@@ -1,254 +0,0 @@
-From e09abf20005e9abf41e44e712bc600d2cb346cb5 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Thu, 17 Dec 2009 15:05:30 -0800
-Subject: [PATCH 12/16] OMAP: DSS2: Add support for LG Philips LB035Q02 panel
-
----
- drivers/video/omap2/displays/Kconfig | 6 +
- drivers/video/omap2/displays/Makefile | 1 +
- .../omap2/displays/panel-lgphilips-lb035q02.c | 206 ++++++++++++++++++++
- 3 files changed, 213 insertions(+), 0 deletions(-)
- create mode 100644 drivers/video/omap2/displays/panel-lgphilips-lb035q02.c
-
-diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
-index 79d2861..050f29c 100644
---- a/drivers/video/omap2/displays/Kconfig
-+++ b/drivers/video/omap2/displays/Kconfig
-@@ -7,6 +7,12 @@ config PANEL_GENERIC
- Generic panel driver.
- Used for DVI output for Beagle and OMAP3 SDP.
-
-+config PANEL_LGPHILIPS_LB035Q02
-+ tristate "LG.Philips LB035Q02 LCD Panel"
-+ depends on OMAP2_DSS
-+ help
-+ LCD Panel used on Overo Palo35
-+
- config PANEL_SAMSUNG_LTE430WQ_F0C
- tristate "Samsung LTE430WQ-F0C LCD Panel"
- depends on OMAP2_DSS
-diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile
-index d44e765..28f6f9b 100644
---- a/drivers/video/omap2/displays/Makefile
-+++ b/drivers/video/omap2/displays/Makefile
-@@ -1,4 +1,5 @@
- obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
-+obj-$(CONFIG_PANEL_LGPHILIPS_LB035Q02) += panel-lgphilips-lb035q02.o
- obj-$(CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C) += panel-samsung-lte430wq-f0c.o
- obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
-
-diff --git a/drivers/video/omap2/displays/panel-lgphilips-lb035q02.c b/drivers/video/omap2/displays/panel-lgphilips-lb035q02.c
-new file mode 100644
-index 0000000..22dc865
---- /dev/null
-+++ b/drivers/video/omap2/displays/panel-lgphilips-lb035q02.c
-@@ -0,0 +1,206 @@
-+/*
-+ * LCD panel driver for LG.Philips LB035Q02
-+ *
-+ * Author: Steve Sakoman <steve@sakoman.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/spi/spi.h>
-+
-+#include <plat/display.h>
-+
-+static struct spi_device *spidev;
-+
-+static struct omap_video_timings lb035q02_timings = {
-+ .x_res = 320,
-+ .y_res = 240,
-+
-+ .pixel_clock = 6500,
-+
-+ .hsw = 2,
-+ .hfp = 20,
-+ .hbp = 68,
-+
-+ .vsw = 2,
-+ .vfp = 4,
-+ .vbp = 18,
-+};
-+
-+static int lb035q02_panel_probe(struct omap_dss_device *dssdev)
-+{
-+ dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
-+ OMAP_DSS_LCD_IHS;
-+ dssdev->panel.timings = lb035q02_timings;
-+
-+ return 0;
-+}
-+
-+static void lb035q02_panel_remove(struct omap_dss_device *dssdev)
-+{
-+}
-+
-+static int lb035q02_write_reg(u8 reg, u16 val)
-+{
-+ struct spi_message msg;
-+ struct spi_transfer index_xfer = {
-+ .len = 3,
-+ .cs_change = 1,
-+ };
-+ struct spi_transfer value_xfer = {
-+ .len = 3,
-+ };
-+ u8 buffer[16];
-+
-+ spi_message_init(&msg);
-+
-+ /* register index */
-+ buffer[0] = 0x70;
-+ buffer[1] = 0x00;
-+ buffer[2] = reg & 0x7f;
-+ index_xfer.tx_buf = buffer;
-+ spi_message_add_tail(&index_xfer, &msg);
-+
-+ /* register value */
-+ buffer[4] = 0x72;
-+ buffer[5] = val >> 8;
-+ buffer[6] = val;
-+ value_xfer.tx_buf = buffer + 4;
-+ spi_message_add_tail(&value_xfer, &msg);
-+
-+ return spi_sync(spidev, &msg);
-+}
-+
-+static int lb035q02_panel_enable(struct omap_dss_device *dssdev)
-+{
-+ int r = 0;
-+
-+ pr_info("lgphilips_lb035q02: panel_enable: 0x%08x\n", spidev);
-+ /* wait couple of vsyncs until enabling the LCD */
-+ msleep(50);
-+
-+ if (dssdev->platform_enable)
-+ r = dssdev->platform_enable(dssdev);
-+
-+ /* Panel init sequence from page 28 of the spec */
-+ lb035q02_write_reg(0x01, 0x6300);
-+ lb035q02_write_reg(0x02, 0x0200);
-+ lb035q02_write_reg(0x03, 0x0177);
-+ lb035q02_write_reg(0x04, 0x04c7);
-+ lb035q02_write_reg(0x05, 0xffc0);
-+ lb035q02_write_reg(0x06, 0xe806);
-+ lb035q02_write_reg(0x0a, 0x4008);
-+ lb035q02_write_reg(0x0b, 0x0000);
-+ lb035q02_write_reg(0x0d, 0x0030);
-+ lb035q02_write_reg(0x0e, 0x2800);
-+ lb035q02_write_reg(0x0f, 0x0000);
-+ lb035q02_write_reg(0x16, 0x9f80);
-+ lb035q02_write_reg(0x17, 0x0a0f);
-+ lb035q02_write_reg(0x1e, 0x00c1);
-+ lb035q02_write_reg(0x30, 0x0300);
-+ lb035q02_write_reg(0x31, 0x0007);
-+ lb035q02_write_reg(0x32, 0x0000);
-+ lb035q02_write_reg(0x33, 0x0000);
-+ lb035q02_write_reg(0x34, 0x0707);
-+ lb035q02_write_reg(0x35, 0x0004);
-+ lb035q02_write_reg(0x36, 0x0302);
-+ lb035q02_write_reg(0x37, 0x0202);
-+ lb035q02_write_reg(0x3a, 0x0a0d);
-+ lb035q02_write_reg(0x3b, 0x0806);
-+
-+ return r;
-+}
-+
-+static void lb035q02_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 lb035q02_panel_suspend(struct omap_dss_device *dssdev)
-+{
-+ pr_info("lgphilips_lb035q02: panel_suspend\n");
-+ lb035q02_panel_disable(dssdev);
-+ return 0;
-+}
-+
-+static int lb035q02_panel_resume(struct omap_dss_device *dssdev)
-+{
-+ pr_info("lgphilips_lb035q02: panel_resume\n");
-+ return lb035q02_panel_enable(dssdev);
-+}
-+
-+static struct omap_dss_driver lb035q02_driver = {
-+ .probe = lb035q02_panel_probe,
-+ .remove = lb035q02_panel_remove,
-+
-+ .enable = lb035q02_panel_enable,
-+ .disable = lb035q02_panel_disable,
-+ .suspend = lb035q02_panel_suspend,
-+ .resume = lb035q02_panel_resume,
-+
-+ .driver = {
-+ .name = "lgphilips_lb035q02_panel",
-+ .owner = THIS_MODULE,
-+ },
-+};
-+
-+static int __devinit lb035q02_panel_spi_probe(struct spi_device *spi)
-+{
-+ spidev = spi;
-+ return 0;
-+}
-+
-+static int __devexit lb035q02_panel_spi_remove(struct spi_device *spi)
-+{
-+ return 0;
-+}
-+
-+static struct spi_driver lb035q02_spi_driver = {
-+ .driver = {
-+ .name = "lgphilips_lb035q02_panel-spi",
-+ .owner = THIS_MODULE,
-+ },
-+ .probe = lb035q02_panel_spi_probe,
-+ .remove = __devexit_p (lb035q02_panel_spi_remove),
-+};
-+
-+static int __init lb035q02_panel_drv_init(void)
-+{
-+ int ret;
-+ ret = spi_register_driver(&lb035q02_spi_driver);
-+ if (ret != 0)
-+ pr_err("lgphilips_lb035q02: Unable to register SPI driver: %d\n", ret);
-+
-+ ret = omap_dss_register_driver(&lb035q02_driver);
-+ if (ret != 0)
-+ pr_err("lgphilips_lb035q02: Unable to register panel driver: %d\n", ret);
-+
-+ return ret;
-+}
-+
-+static void __exit lb035q02_panel_drv_exit(void)
-+{
-+ spi_unregister_driver(&lb035q02_spi_driver);
-+ omap_dss_unregister_driver(&lb035q02_driver);
-+}
-+
-+module_init(lb035q02_panel_drv_init);
-+module_exit(lb035q02_panel_drv_exit);
-+MODULE_LICENSE("GPL");
---
-1.6.2.4
-
diff --git a/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0014-OMAP-DSS-Add-DSS2-support-for-Overo.patch b/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0014-OMAP-DSS-Add-DSS2-support-for-Overo.patch
deleted file mode 100644
index c673a09a76..0000000000
--- a/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0014-OMAP-DSS-Add-DSS2-support-for-Overo.patch
+++ /dev/null
@@ -1,343 +0,0 @@
-From 6b135653505a2a5da42c92cfa31c3ab22e2b130f Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Fri, 18 Dec 2009 06:39:24 -0800
-Subject: [PATCH 14/16] OMAP: DSS: Add DSS2 support for Overo
-
----
- arch/arm/mach-omap2/board-overo.c | 233 +++++++++++++++++++++++++++++++-----
- 1 files changed, 200 insertions(+), 33 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
-index d0394d9..b90b140 100644
---- a/arch/arm/mach-omap2/board-overo.c
-+++ b/arch/arm/mach-omap2/board-overo.c
-@@ -28,6 +28,7 @@
- #include <linux/platform_device.h>
- #include <linux/i2c/twl4030.h>
- #include <linux/regulator/machine.h>
-+#include <linux/spi/spi.h>
-
- #include <linux/mtd/mtd.h>
- #include <linux/mtd/nand.h>
-@@ -40,10 +41,12 @@
-
- #include <plat/board.h>
- #include <plat/common.h>
-+#include <plat/display.h>
- #include <mach/gpio.h>
- #include <plat/gpmc.h>
- #include <mach/hardware.h>
- #include <plat/nand.h>
-+#include <plat/mcspi.h>
- #include <plat/mux.h>
- #include <plat/usb.h>
-
-@@ -69,8 +72,6 @@
- #if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
- defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
-
--#include <plat/mcspi.h>
--#include <linux/spi/spi.h>
- #include <linux/spi/ads7846.h>
-
- static struct omap2_mcspi_device_config ads7846_mcspi_config = {
-@@ -95,18 +96,6 @@ static struct ads7846_platform_data ads7846_config = {
- .keep_vref_on = 1,
- };
-
--static struct spi_board_info overo_spi_board_info[] __initdata = {
-- {
-- .modalias = "ads7846",
-- .bus_num = 1,
-- .chip_select = 0,
-- .max_speed_hz = 1500000,
-- .controller_data = &ads7846_mcspi_config,
-- .irq = OMAP_GPIO_IRQ(OVERO_GPIO_PENDOWN),
-- .platform_data = &ads7846_config,
-- }
--};
--
- static void __init overo_ads7846_init(void)
- {
- if ((gpio_request(OVERO_GPIO_PENDOWN, "ADS7846_PENDOWN") == 0) &&
-@@ -116,9 +105,6 @@ static void __init overo_ads7846_init(void)
- printk(KERN_ERR "could not obtain gpio for ADS7846_PENDOWN\n");
- return;
- }
--
-- spi_register_board_info(overo_spi_board_info,
-- ARRAY_SIZE(overo_spi_board_info));
- }
-
- #else
-@@ -234,6 +220,137 @@ static inline void __init overo_init_smsc911x(void)
- static inline void __init overo_init_smsc911x(void) { return; }
- #endif
-
-+/* DSS */
-+static int lcd_enabled;
-+static int dvi_enabled;
-+
-+#define OVERO_GPIO_LCD_EN 144
-+#define OVERO_GPIO_LCD_BL 145
-+
-+static void __init overo_display_init(void)
-+{
-+ if ((gpio_request(OVERO_GPIO_LCD_EN, "OVERO_GPIO_LCD_EN") == 0) &&
-+ (gpio_direction_output(OVERO_GPIO_LCD_EN, 1) == 0))
-+ gpio_export(OVERO_GPIO_LCD_EN, 0);
-+ else
-+ printk(KERN_ERR "could not obtain gpio for "
-+ "OVERO_GPIO_LCD_EN\n");
-+
-+ if ((gpio_request(OVERO_GPIO_LCD_BL, "OVERO_GPIO_LCD_BL") == 0) &&
-+ (gpio_direction_output(OVERO_GPIO_LCD_BL, 1) == 0))
-+ gpio_export(OVERO_GPIO_LCD_BL, 0);
-+ else
-+ printk(KERN_ERR "could not obtain gpio for "
-+ "OVERO_GPIO_LCD_BL\n");
-+}
-+
-+static int overo_panel_enable_dvi(struct omap_dss_device *dssdev)
-+{
-+ if (lcd_enabled) {
-+ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
-+ return -EINVAL;
-+ }
-+ dvi_enabled = 1;
-+
-+ return 0;
-+}
-+
-+static void overo_panel_disable_dvi(struct omap_dss_device *dssdev)
-+{
-+ dvi_enabled = 0;
-+}
-+
-+static struct omap_dss_device overo_dvi_device = {
-+ .type = OMAP_DISPLAY_TYPE_DPI,
-+ .name = "dvi",
-+ .driver_name = "generic_panel",
-+ .phy.dpi.data_lines = 24,
-+ .platform_enable = overo_panel_enable_dvi,
-+ .platform_disable = overo_panel_disable_dvi,
-+};
-+
-+static int overo_panel_enable_lcd(struct omap_dss_device *dssdev)
-+{
-+ if (dvi_enabled) {
-+ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
-+ return -EINVAL;
-+ }
-+
-+ gpio_set_value(OVERO_GPIO_LCD_EN, 1);
-+ gpio_set_value(OVERO_GPIO_LCD_BL, 1);
-+ lcd_enabled = 1;
-+ return 0;
-+}
-+
-+static void overo_panel_disable_lcd(struct omap_dss_device *dssdev)
-+{
-+ gpio_set_value(OVERO_GPIO_LCD_EN, 0);
-+ gpio_set_value(OVERO_GPIO_LCD_BL, 0);
-+ lcd_enabled = 0;
-+}
-+
-+#if defined(CONFIG_PANEL_LGPHILIPS_LB035Q02) || \
-+ defined(CONFIG_PANEL_LGPHILIPS_LB035Q02_MODULE)
-+static struct omap_dss_device overo_lcd35_device = {
-+ .type = OMAP_DISPLAY_TYPE_DPI,
-+ .name = "lcd35",
-+ .driver_name = "lgphilips_lb035q02_panel",
-+ .phy.dpi.data_lines = 24,
-+ .panel.recommended_bpp = 16,
-+ .platform_enable = overo_panel_enable_lcd,
-+ .platform_disable = overo_panel_disable_lcd,
-+};
-+#endif
-+
-+#if defined(CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C) || \
-+ defined(CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C_MODULE)
-+static struct omap_dss_device overo_lcd43_device = {
-+ .type = OMAP_DISPLAY_TYPE_DPI,
-+ .name = "lcd43",
-+ .driver_name = "samsung_lte_panel",
-+ .phy.dpi.data_lines = 24,
-+ .panel.recommended_bpp = 16,
-+ .platform_enable = overo_panel_enable_lcd,
-+ .platform_disable = overo_panel_disable_lcd,
-+};
-+#endif
-+
-+static struct omap_dss_device *overo_dss_devices[] = {
-+ &overo_dvi_device,
-+#if defined(CONFIG_PANEL_LGPHILIPS_LB035Q02) || \
-+ defined(CONFIG_PANEL_LGPHILIPS_LB035Q02_MODULE)
-+ &overo_lcd35_device,
-+#endif
-+#if defined(CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C) || \
-+ defined(CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C_MODULE)
-+ &overo_lcd43_device,
-+#endif
-+};
-+
-+static struct omap_dss_board_info overo_dss_data = {
-+ .num_devices = ARRAY_SIZE(overo_dss_devices),
-+ .devices = overo_dss_devices,
-+ .default_device = &overo_dvi_device,
-+};
-+
-+static struct platform_device overo_dss_device = {
-+ .name = "omapdss",
-+ .id = -1,
-+ .dev = {
-+ .platform_data = &overo_dss_data,
-+ },
-+};
-+
-+static struct regulator_consumer_supply overo_vdda_dac_supply = {
-+ .supply = "vdda_dac",
-+ .dev = &overo_dss_device.dev,
-+};
-+
-+static struct regulator_consumer_supply overo_vdds_dsi_supply = {
-+ .supply = "vdds_dsi",
-+ .dev = &overo_dss_device.dev,
-+};
-+
- static struct mtd_partition overo_nand_partitions[] = {
- {
- .name = "xloader",
-@@ -379,6 +496,37 @@ static struct regulator_init_data overo_vmmc1 = {
- .consumer_supplies = &overo_vmmc1_supply,
- };
-
-+/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
-+static struct regulator_init_data overo_vdac = {
-+ .constraints = {
-+ .min_uV = 1800000,
-+ .max_uV = 1800000,
-+ .valid_modes_mask = REGULATOR_MODE_NORMAL
-+ | REGULATOR_MODE_STANDBY,
-+ .valid_ops_mask = REGULATOR_CHANGE_MODE
-+ | REGULATOR_CHANGE_STATUS,
-+ },
-+ .num_consumer_supplies = 1,
-+ .consumer_supplies = &overo_vdda_dac_supply,
-+};
-+
-+/* VPLL2 for digital video outputs */
-+static struct regulator_init_data overo_vpll2 = {
-+ .constraints = {
-+ .name = "VDVI",
-+ .min_uV = 1800000,
-+ .max_uV = 1800000,
-+ .valid_modes_mask = REGULATOR_MODE_NORMAL
-+ | REGULATOR_MODE_STANDBY,
-+ .valid_ops_mask = REGULATOR_CHANGE_MODE
-+ | REGULATOR_CHANGE_STATUS,
-+ },
-+ .num_consumer_supplies = 1,
-+ .consumer_supplies = &overo_vdds_dsi_supply,
-+};
-+
-+/* mmc2 (WLAN) and Bluetooth don't use twl4030 regulators */
-+
- static struct twl4030_codec_audio_data overo_audio_data = {
- .audio_mclk = 26000000,
- };
-@@ -388,8 +536,6 @@ static struct twl4030_codec_data overo_codec_data = {
- .audio = &overo_audio_data,
- };
-
--/* mmc2 (WLAN) and Bluetooth don't use twl4030 regulators */
--
- static struct twl4030_madc_platform_data overo_madc_data = {
- .irq_line = 1,
- };
-@@ -402,6 +548,8 @@ static struct twl4030_platform_data overo_twldata = {
- .usb = &overo_usb_data,
- .codec = &overo_codec_data,
- .vmmc1 = &overo_vmmc1,
-+ .vdac = &overo_vdac,
-+ .vpll2 = &overo_vpll2,
- };
-
- static struct i2c_board_info __initdata overo_i2c_boardinfo[] = {
-@@ -422,23 +570,41 @@ static int __init overo_i2c_init(void)
- return 0;
- }
-
--static struct platform_device overo_lcd_device = {
-- .name = "overo_lcd",
-- .id = -1,
--};
--
--static struct omap_lcd_config overo_lcd_config __initdata = {
-- .ctrl_name = "internal",
-+static struct spi_board_info overo_spi_board_info[] __initdata = {
-+#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
-+ defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
-+ {
-+ .modalias = "ads7846",
-+ .bus_num = 1,
-+ .chip_select = 0,
-+ .max_speed_hz = 1500000,
-+ .controller_data = &ads7846_mcspi_config,
-+ .irq = OMAP_GPIO_IRQ(OVERO_GPIO_PENDOWN),
-+ .platform_data = &ads7846_config,
-+ },
-+#endif
-+#if defined(CONFIG_PANEL_LGPHILIPS_LB035Q02) || \
-+ defined(CONFIG_PANEL_LGPHILIPS_LB035Q02_MODULE)
-+ {
-+ .modalias = "lgphilips_lb035q02_panel-spi",
-+ .bus_num = 1,
-+ .chip_select = 1,
-+ .max_speed_hz = 500000,
-+ .mode = SPI_MODE_3,
-+ },
-+#endif
- };
-
--static struct omap_board_config_kernel overo_config[] __initdata = {
-- { OMAP_TAG_LCD, &overo_lcd_config },
--};
-+static int __init overo_spi_init(void)
-+{
-+ overo_ads7846_init();
-+ spi_register_board_info(overo_spi_board_info,
-+ ARRAY_SIZE(overo_spi_board_info));
-+ return 0;
-+}
-
- static void __init overo_init_irq(void)
- {
-- omap_board_config = overo_config;
-- omap_board_config_size = ARRAY_SIZE(overo_config);
- omap2_init_common_hw(mt46h32m32lf6_sdrc_params,
- mt46h32m32lf6_sdrc_params);
- omap_init_irq();
-@@ -446,7 +612,7 @@ static void __init overo_init_irq(void)
- }
-
- static struct platform_device *overo_devices[] __initdata = {
-- &overo_lcd_device,
-+ &overo_dss_device,
- };
-
- static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
-@@ -469,8 +635,9 @@ static void __init overo_init(void)
- overo_flash_init();
- usb_musb_init();
- usb_ehci_init(&ehci_pdata);
-- overo_ads7846_init();
-+ overo_spi_init();
- overo_init_smsc911x();
-+ overo_display_init();
-
- /* Ensure SDRC pins are mux'd for self-refresh */
- omap_cfg_reg(H16_34XX_SDRC_CKE0);
---
-1.6.2.4
-
diff --git a/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0015-OMAP-DSS-Add-DSS2-support-for-Beagle.patch b/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0015-OMAP-DSS-Add-DSS2-support-for-Beagle.patch
deleted file mode 100644
index 656ba85318..0000000000
--- a/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0015-OMAP-DSS-Add-DSS2-support-for-Beagle.patch
+++ /dev/null
@@ -1,186 +0,0 @@
---- /tmp/board-omap3beagle.c 2009-12-22 10:47:35.000000000 +0100
-+++ git/arch/arm/mach-omap2/board-omap3beagle.c 2009-12-22 10:59:53.000000000 +0100
-@@ -40,6 +40,7 @@
-
- #include <plat/board.h>
- #include <plat/common.h>
-+#include <plat/display.h>
- #include <plat/gpmc.h>
- #include <plat/nand.h>
- #include <plat/usb.h>
-@@ -149,6 +150,105 @@
- .resource = &omap3beagle_nand_resource,
- };
-
-+/* DSS */
-+
-+static int beagle_enable_dvi(struct omap_dss_device *dssdev)
-+{
-+ if (dssdev->reset_gpio != -1)
-+ gpio_set_value(dssdev->reset_gpio, 1);
-+
-+ return 0;
-+}
-+
-+static void beagle_disable_dvi(struct omap_dss_device *dssdev)
-+{
-+ if (dssdev->reset_gpio != -1)
-+ gpio_set_value(dssdev->reset_gpio, 0);
-+}
-+
-+static struct omap_dss_device beagle_dvi_device = {
-+ .type = OMAP_DISPLAY_TYPE_DPI,
-+ .name = "dvi",
-+ .driver_name = "generic_panel",
-+ .phy.dpi.data_lines = 24,
-+ .reset_gpio = 170,
-+ .platform_enable = beagle_enable_dvi,
-+ .platform_disable = beagle_disable_dvi,
-+};
-+
-+static int beagle_panel_enable_tv(struct omap_dss_device *dssdev)
-+{
-+#define ENABLE_VDAC_DEDICATED 0x03
-+#define ENABLE_VDAC_DEV_GRP 0x20
-+
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+ ENABLE_VDAC_DEDICATED,
-+ TWL4030_VDAC_DEDICATED);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
-+
-+ return 0;
-+}
-+
-+static void beagle_panel_disable_tv(struct omap_dss_device *dssdev)
-+{
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
-+ TWL4030_VDAC_DEDICATED);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
-+ TWL4030_VDAC_DEV_GRP);
-+}
-+
-+static struct omap_dss_device beagle_tv_device = {
-+ .name = "tv",
-+ .driver_name = "venc",
-+ .type = OMAP_DISPLAY_TYPE_VENC,
-+ .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
-+ .platform_enable = beagle_panel_enable_tv,
-+ .platform_disable = beagle_panel_disable_tv,
-+};
-+
-+static struct omap_dss_device *beagle_dss_devices[] = {
-+ &beagle_dvi_device,
-+ &beagle_tv_device,
-+};
-+
-+static struct omap_dss_board_info beagle_dss_data = {
-+ .num_devices = ARRAY_SIZE(beagle_dss_devices),
-+ .devices = beagle_dss_devices,
-+ .default_device = &beagle_dvi_device,
-+};
-+
-+static struct platform_device beagle_dss_device = {
-+ .name = "omapdss",
-+ .id = -1,
-+ .dev = {
-+ .platform_data = &beagle_dss_data,
-+ },
-+};
-+
-+static struct regulator_consumer_supply beagle_vdac_supply = {
-+ .supply = "vdda_dac",
-+ .dev = &beagle_dss_device.dev,
-+};
-+
-+static struct regulator_consumer_supply beagle_vdvi_supply = {
-+ .supply = "vdds_dsi",
-+ .dev = &beagle_dss_device.dev,
-+};
-+
-+static void __init beagle_display_init(void)
-+{
-+ int r;
-+
-+ r = gpio_request(beagle_dvi_device.reset_gpio, "DVI reset");
-+ if (r < 0) {
-+ printk(KERN_ERR "Unable to get DVI reset GPIO\n");
-+ return;
-+ }
-+
-+ gpio_direction_output(beagle_dvi_device.reset_gpio, 0);
-+}
-+
- #include "sdram-micron-mt46h32m32lf-6.h"
-
- static struct twl4030_hsmmc_info mmc[] = {
-@@ -168,15 +268,6 @@
- {} /* Terminator */
- };
-
--static struct platform_device omap3_beagle_lcd_device = {
-- .name = "omap3beagle_lcd",
-- .id = -1,
--};
--
--static struct omap_lcd_config omap3_beagle_lcd_config __initdata = {
-- .ctrl_name = "internal",
--};
--
- static struct regulator_consumer_supply beagle_vmmc1_supply = {
- .supply = "vmmc",
- };
-@@ -232,16 +323,6 @@
- .setup = beagle_twl_gpio_setup,
- };
-
--static struct regulator_consumer_supply beagle_vdac_supply = {
-- .supply = "vdac",
-- .dev = &omap3_beagle_lcd_device.dev,
--};
--
--static struct regulator_consumer_supply beagle_vdvi_supply = {
-- .supply = "vdvi",
-- .dev = &omap3_beagle_lcd_device.dev,
--};
--
- /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
- static struct regulator_init_data beagle_vmmc1 = {
- .constraints = {
-@@ -419,14 +500,8 @@
- },
- };
-
--static struct omap_board_config_kernel omap3_beagle_config[] __initdata = {
-- { OMAP_TAG_LCD, &omap3_beagle_lcd_config },
--};
--
- static void __init omap3_beagle_init_irq(void)
- {
-- omap_board_config = omap3_beagle_config;
-- omap_board_config_size = ARRAY_SIZE(omap3_beagle_config);
- omap2_init_common_hw(mt46h32m32lf6_sdrc_params,
- mt46h32m32lf6_sdrc_params);
- omap_init_irq();
-@@ -437,9 +512,9 @@
- }
-
- static struct platform_device *omap3_beagle_devices[] __initdata = {
-- &omap3_beagle_lcd_device,
- &leds_gpio,
- &keys_gpio,
-+ &beagle_dss_device,
- };
-
- static void __init omap3beagle_flash_init(void)
-@@ -522,8 +597,9 @@
- /* Ensure SDRC pins are mux'd for self-refresh */
- omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT);
- omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);
--}
-
-+ beagle_display_init();
-+}
- static void __init omap3_beagle_map_io(void)
- {
- omap2_set_globals_343x();
diff --git a/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0016-video-add-timings-for-hd720.patch b/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0016-video-add-timings-for-hd720.patch
deleted file mode 100644
index e5f7a4e072..0000000000
--- a/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/0016-video-add-timings-for-hd720.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 77c7ed5e802e9bb244cd00fa60c95de1e28c29be Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve@sakoman.com>
-Date: Sat, 19 Dec 2009 06:52:43 -0800
-Subject: [PATCH 16/16] video: add timings for hd720
-
----
- drivers/video/modedb.c | 4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c
-index 34e4e79..9d9114d 100644
---- a/drivers/video/modedb.c
-+++ b/drivers/video/modedb.c
-@@ -100,6 +100,10 @@ static const struct fb_videomode modedb[] = {
- NULL, 70, 1024, 768, 13333, 144, 24, 29, 3, 136, 6,
- 0, FB_VMODE_NONINTERLACED
- }, {
-+ /* 1280x720 @ 60 Hz, 45 kHz hsync, CEA 681-E Format 4 */
-+ "hd720", 60, 1280, 720, 13468, 220, 110, 20, 5, 40, 5,
-+ 0, FB_VMODE_NONINTERLACED
-+ }, {
- /* 1280x1024 @ 87 Hz interlaced, 51 kHz hsync */
- NULL, 87, 1280, 1024, 12500, 56, 16, 128, 1, 216, 12,
- 0, FB_VMODE_INTERLACED
---
-1.6.2.4
-
diff --git a/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/beagle-dss2-support.diff b/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/beagle-dss2-support.diff
deleted file mode 100755
index 15d7971fa8..0000000000
--- a/recipes/kexecboot/linux-kexecboot-2.6.32/dss2/beagle-dss2-support.diff
+++ /dev/null
@@ -1,308 +0,0 @@
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -30,6 +30,7 @@
-
- #include <linux/regulator/machine.h>
- #include <linux/i2c/twl4030.h>
-+#include <linux/omapfb.h>
-
- #include <mach/hardware.h>
- #include <asm/mach-types.h>
-@@ -44,6 +45,7 @@
- #include <plat/mux.h>
- #include <plat/usb.h>
- #include <plat/timer-gp.h>
-+#include <plat/display.h>
-
- #include "mmc-twl4030.h"
-
-@@ -115,15 +117,6 @@
- .gpio_wp = 29,
- },
- {} /* Terminator */
--};
--
--static struct platform_device omap3_beagle_lcd_device = {
-- .name = "omap3beagle_lcd",
-- .id = -1,
--};
--
--static struct omap_lcd_config omap3_beagle_lcd_config __initdata = {
-- .ctrl_name = "internal",
- };
-
- static struct regulator_consumer_supply beagle_vmmc1_supply = {
-@@ -179,16 +172,6 @@
- .pulldowns = BIT(2) | BIT(6) | BIT(7) | BIT(8) | BIT(13)
- | BIT(15) | BIT(16) | BIT(17),
- .setup = beagle_twl_gpio_setup,
--};
--
--static struct regulator_consumer_supply beagle_vdac_supply = {
-- .supply = "vdac",
-- .dev = &omap3_beagle_lcd_device.dev,
--};
--
--static struct regulator_consumer_supply beagle_vdvi_supply = {
-- .supply = "vdvi",
-- .dev = &omap3_beagle_lcd_device.dev,
- };
-
- /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
-@@ -221,35 +204,6 @@
- .consumer_supplies = &beagle_vsim_supply,
- };
-
--/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
--static struct regulator_init_data beagle_vdac = {
-- .constraints = {
-- .min_uV = 1800000,
-- .max_uV = 1800000,
-- .valid_modes_mask = REGULATOR_MODE_NORMAL
-- | REGULATOR_MODE_STANDBY,
-- .valid_ops_mask = REGULATOR_CHANGE_MODE
-- | REGULATOR_CHANGE_STATUS,
-- },
-- .num_consumer_supplies = 1,
-- .consumer_supplies = &beagle_vdac_supply,
--};
--
--/* VPLL2 for digital video outputs */
--static struct regulator_init_data beagle_vpll2 = {
-- .constraints = {
-- .name = "VDVI",
-- .min_uV = 1800000,
-- .max_uV = 1800000,
-- .valid_modes_mask = REGULATOR_MODE_NORMAL
-- | REGULATOR_MODE_STANDBY,
-- .valid_ops_mask = REGULATOR_CHANGE_MODE
-- | REGULATOR_CHANGE_STATUS,
-- },
-- .num_consumer_supplies = 1,
-- .consumer_supplies = &beagle_vdvi_supply,
--};
--
- static struct twl4030_usb_data beagle_usb_data = {
- .usb_mode = T2_USB_MODE_ULPI,
- };
-@@ -262,39 +216,6 @@
- .audio_mclk = 26000000,
- .audio = &beagle_audio_data,
- };
--
--static struct twl4030_platform_data beagle_twldata = {
-- .irq_base = TWL4030_IRQ_BASE,
-- .irq_end = TWL4030_IRQ_END,
--
-- /* platform_data for children goes here */
-- .usb = &beagle_usb_data,
-- .gpio = &beagle_gpio_data,
-- .codec = &beagle_codec_data,
-- .vmmc1 = &beagle_vmmc1,
-- .vsim = &beagle_vsim,
-- .vdac = &beagle_vdac,
-- .vpll2 = &beagle_vpll2,
--};
--
--static struct i2c_board_info __initdata beagle_i2c_boardinfo[] = {
-- {
-- I2C_BOARD_INFO("twl4030", 0x48),
-- .flags = I2C_CLIENT_WAKE,
-- .irq = INT_34XX_SYS_NIRQ,
-- .platform_data = &beagle_twldata,
-- },
--};
--
--static int __init omap3_beagle_i2c_init(void)
--{
-- omap_register_i2c_bus(1, 2600, beagle_i2c_boardinfo,
-- ARRAY_SIZE(beagle_i2c_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);
-- return 0;
--}
-
- static struct gpio_led gpio_leds[] = {
- {
-@@ -349,14 +270,156 @@
- },
- };
-
--static struct omap_board_config_kernel omap3_beagle_config[] __initdata = {
-- { OMAP_TAG_LCD, &omap3_beagle_lcd_config },
--};
-+/* DSS */
-+
-+static int beagle_enable_dvi(struct omap_dss_device *dssdev)
-+{
-+ if (dssdev->reset_gpio != -1)
-+ gpio_set_value(dssdev->reset_gpio, 1);
-+
-+ return 0;
-+}
-+
-+static void beagle_disable_dvi(struct omap_dss_device *dssdev)
-+{
-+ if (dssdev->reset_gpio != -1)
-+ gpio_set_value(dssdev->reset_gpio, 0);
-+}
-+
-+static struct omap_dss_device beagle_dvi_device = {
-+ .type = OMAP_DISPLAY_TYPE_DPI,
-+ .name = "dvi",
-+ .driver_name = "generic_panel",
-+ .phy.dpi.data_lines = 24,
-+ .reset_gpio = 170,
-+ .platform_enable = beagle_enable_dvi,
-+ .platform_disable = beagle_disable_dvi,
-+};
-+
-+static int beagle_panel_enable_tv(struct omap_dss_device *dssdev)
-+{
-+ return 0;
-+}
-+
-+static void beagle_panel_disable_tv(struct omap_dss_device *dssdev)
-+{
-+}
-+
-+static struct omap_dss_device beagle_tv_device = {
-+ .name = "tv",
-+ .driver_name = "venc",
-+ .type = OMAP_DISPLAY_TYPE_VENC,
-+ .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
-+ .platform_enable = beagle_panel_enable_tv,
-+ .platform_disable = beagle_panel_disable_tv,
-+};
-+
-+static struct omap_dss_device *beagle_dss_devices[] = {
-+ &beagle_dvi_device,
-+ &beagle_tv_device,
-+};
-+
-+static struct omap_dss_board_info beagle_dss_data = {
-+ .num_devices = ARRAY_SIZE(beagle_dss_devices),
-+ .devices = beagle_dss_devices,
-+ .default_device = &beagle_dvi_device,
-+};
-+
-+static struct platform_device beagle_dss_device = {
-+ .name = "omapdss",
-+ .id = -1,
-+ .dev = {
-+ .platform_data = &beagle_dss_data,
-+ },
-+};
-+
-+static struct regulator_consumer_supply beagle_vdda_dac_supply = {
-+ .supply = "vdda_dac",
-+ .dev = &beagle_dss_device.dev,
-+};
-+
-+static struct regulator_consumer_supply beagle_vdds_dsi_supply = {
-+ .supply = "vdds_dsi",
-+ .dev = &beagle_dss_device.dev,
-+};
-+
-+static void __init beagle_display_init(void)
-+{
-+ int r;
-+
-+ r = gpio_request(beagle_dvi_device.reset_gpio, "DVI reset");
-+ if (r < 0) {
-+ printk(KERN_ERR "Unable to get DVI reset GPIO\n");
-+ return;
-+ }
-+
-+ gpio_direction_output(beagle_dvi_device.reset_gpio, 0);
-+}
-+
-+/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
-+static struct regulator_init_data beagle_vdac = {
-+ .constraints = {
-+ .min_uV = 1800000,
-+ .max_uV = 1800000,
-+ .apply_uV = true,
-+ .valid_modes_mask = REGULATOR_MODE_NORMAL
-+ | REGULATOR_MODE_STANDBY,
-+ .valid_ops_mask = REGULATOR_CHANGE_MODE
-+ | REGULATOR_CHANGE_STATUS,
-+ },
-+ .num_consumer_supplies = 1,
-+ .consumer_supplies = &beagle_vdda_dac_supply,
-+};
-+
-+/* VPLL2 for digital video outputs */
-+static struct regulator_init_data beagle_vpll2 = {
-+ .constraints = {
-+ .name = "VDVI",
-+ .min_uV = 1800000,
-+ .max_uV = 1800000, .valid_modes_mask = REGULATOR_MODE_NORMAL
-+ | REGULATOR_MODE_STANDBY,
-+ .valid_ops_mask = REGULATOR_CHANGE_MODE
-+ | REGULATOR_CHANGE_STATUS,
-+ },
-+ .num_consumer_supplies = 1,
-+ .consumer_supplies = &beagle_vdds_dsi_supply,
-+};
-+
-+static struct twl4030_platform_data beagle_twldata = {
-+ .irq_base = TWL4030_IRQ_BASE,
-+ .irq_end = TWL4030_IRQ_END,
-+
-+ /* platform_data for children goes here */
-+ .usb = &beagle_usb_data,
-+ .gpio = &beagle_gpio_data,
-+ .vmmc1 = &beagle_vmmc1,
-+ .vsim = &beagle_vsim,
-+ .vdac = &beagle_vdac,
-+ .vpll2 = &beagle_vpll2,
-+};
-+
-+static struct i2c_board_info __initdata beagle_i2c1_boardinfo[] = {
-+ {
-+ I2C_BOARD_INFO("twl4030", 0x48),
-+ .flags = I2C_CLIENT_WAKE,
-+ .irq = INT_34XX_SYS_NIRQ,
-+ .platform_data = &beagle_twldata,
-+ },
-+};
-+
-+static int __init omap3_beagle_i2c_init(void)
-+{
-+ omap_register_i2c_bus(1, 2600, beagle_i2c1_boardinfo,
-+ ARRAY_SIZE(beagle_i2c1_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);
-+ return 0;
-+}
-+
-
- static void __init omap3_beagle_init_irq(void)
- {
-- omap_board_config = omap3_beagle_config;
-- omap_board_config_size = ARRAY_SIZE(omap3_beagle_config);
- omap2_init_common_hw(mt46h32m32lf6_sdrc_params,
- mt46h32m32lf6_sdrc_params);
- omap_init_irq();
-@@ -367,7 +430,7 @@
- }
-
- static struct platform_device *omap3_beagle_devices[] __initdata = {
-- &omap3_beagle_lcd_device,
-+ &beagle_dss_device,
- &leds_gpio,
- &keys_gpio,
- };
-@@ -437,6 +500,8 @@
- usb_musb_init();
- usb_ehci_init(&ehci_pdata);
- omap3beagle_flash_init();
-+
-+ beagle_display_init();
-
- /* Ensure SDRC pins are mux'd for self-refresh */
- omap_cfg_reg(H16_34XX_SDRC_CKE0);
-