summaryrefslogtreecommitdiff
path: root/meta/recipes-kernel/linux/linux-omap-2.6.29/omap3evm/omap3evm-dss2.diff
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-02-18 15:32:57 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-02-18 15:36:06 +0000
commit673abd92f999829bdd67d0273c43570a62123a63 (patch)
tree63132d1ffc1cb5bf50d244b184ca8d58a9cbc85c /meta/recipes-kernel/linux/linux-omap-2.6.29/omap3evm/omap3evm-dss2.diff
parentfed61beb31c47e2d96af905a7047fe78d64c9bd0 (diff)
downloadopenembedded-core-673abd92f999829bdd67d0273c43570a62123a63.tar.gz
openembedded-core-673abd92f999829bdd67d0273c43570a62123a63.tar.bz2
openembedded-core-673abd92f999829bdd67d0273c43570a62123a63.tar.xz
openembedded-core-673abd92f999829bdd67d0273c43570a62123a63.zip
conf/machine: Drop older machines with no recent updates
These are all moving to meta-extras. Ideally in the future machines such as these will be maintained to topic specific layers as we move to a more layer oriented model. If this causes a problem for anyone please discuss it on the mailing list. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.29/omap3evm/omap3evm-dss2.diff')
-rw-r--r--meta/recipes-kernel/linux/linux-omap-2.6.29/omap3evm/omap3evm-dss2.diff443
1 files changed, 0 insertions, 443 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/omap3evm/omap3evm-dss2.diff b/meta/recipes-kernel/linux/linux-omap-2.6.29/omap3evm/omap3evm-dss2.diff
deleted file mode 100644
index 60832e72c..000000000
--- a/meta/recipes-kernel/linux/linux-omap-2.6.29/omap3evm/omap3evm-dss2.diff
+++ /dev/null
@@ -1,443 +0,0 @@
-From: hvaibhav@ti.com
-To: linux-fbdev-devel@lists.sourceforge.net, linux-omap@vger.kernel.org
-Cc: Vaibhav Hiremath <hvaibhav@ti.com>
-Subject: [REVIEW PATCH] Added OMAP3EVM support on Tomis FBDEV/DSS Patches
-Date: Fri, 14 Nov 2008 12:02:32 +0530
-
-From: Vaibhav Hiremath <hvaibhav@ti.com>
-
-Tested LCD, TV, DVI (480P) out on OMAP3EVM board.
-
-Please make sure that you change the option
-CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=7 and apply the
-Mans Rullgard clock patches to support set_rate and round_rate API.
-
-Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
----
- arch/arm/mach-omap2/board-omap3evm.c | 224 ++++++++++++++++++++++++++++++++--
- drivers/video/omap2/Kconfig | 5 +
- drivers/video/omap2/Makefile | 1 +
- drivers/video/omap2/panel-omap3evm.c | 110 +++++++++++++++++
- 5 files changed, 341 insertions(+), 53 deletions(-)
- create mode 100644 drivers/video/omap2/panel-omap3evm.c
-
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index 42ab826..e244fa7 100644
---- a/arch/arm/mach-omap2/board-omap3evm.c
-+++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -37,6 +37,8 @@
- #include <mach/usb-ehci.h>
- #include <mach/common.h>
- #include <mach/mcspi.h>
-+#include <mach/omapfb.h>
-+#include <mach/display.h>
-
- #include "sdram-micron-mt46h32m32lf-6.h"
- #include "twl4030-generic-scripts.h"
-@@ -161,14 +163,215 @@ static int __init omap3_evm_i2c_init(void)
- omap_register_i2c_bus(3, 400, NULL, 0);
- return 0;
- }
-+static struct omap_fbmem_config evm_fbmem0_config = {
-+ .size = 480*720*4,
-+ .start = OMAPFB_MEMTYPE_SDRAM,
-+};
-
--static struct platform_device omap3_evm_lcd_device = {
-- .name = "omap3evm_lcd",
-- .id = -1,
-+static struct omap_fbmem_config evm_fbmem1_config = {
-+ .size = 480*720*4,
-+ .start = OMAPFB_MEMTYPE_SDRAM,
- };
-
--static struct omap_lcd_config omap3_evm_lcd_config __initdata = {
-- .ctrl_name = "internal",
-+static struct omap_fbmem_config evm_fbmem2_config = {
-+ .size = 480*720*4,
-+ .start = OMAPFB_MEMTYPE_SDRAM,
-+};
-+#define LCD_PANEL_LR 2
-+#define LCD_PANEL_UD 3
-+#define LCD_PANEL_INI 152
-+#define LCD_PANEL_ENABLE_GPIO 153
-+#define LCD_PANEL_QVGA 154
-+#define LCD_PANEL_RESB 155
-+
-+#define ENABLE_VDAC_DEDICATED 0x03
-+#define ENABLE_VDAC_DEV_GRP 0x20
-+#define ENABLE_VPLL2_DEDICATED 0x05
-+#define ENABLE_VPLL2_DEV_GRP 0xE0
-+
-+#define TWL4030_GPIODATA_IN3 0x03
-+#define TWL4030_GPIODATA_DIR3 0x06
-+#define TWL4030_VPLL2_DEV_GRP 0x33
-+#define TWL4030_VPLL2_DEDICATED 0x36
-+
-+static int lcd_enabled;
-+static int dvi_enabled;
-+
-+static void __init evm_display_init(void)
-+{
-+ int r;
-+ r = gpio_request(LCD_PANEL_LR, "lcd_panel_lr");
-+ if (r) {
-+ printk(KERN_ERR "failed to get LCD_PANEL_LR\n");
-+ return;
-+ }
-+ r = gpio_request(LCD_PANEL_UD, "lcd_panel_ud");
-+ if (r) {
-+ printk(KERN_ERR "failed to get LCD_PANEL_UD\n");
-+ goto err_1;
-+ }
-+
-+ r = gpio_request(LCD_PANEL_INI, "lcd_panel_ini");
-+ if (r) {
-+ printk(KERN_ERR "failed to get LCD_PANEL_INI\n");
-+ goto err_2;
-+ }
-+ r = gpio_request(LCD_PANEL_RESB, "lcd_panel_resb");
-+ if (r) {
-+ printk(KERN_ERR "failed to get LCD_PANEL_RESB\n");
-+ goto err_3;
-+ }
-+ r = gpio_request(LCD_PANEL_QVGA, "lcd_panel_qvga");
-+ if (r) {
-+ printk(KERN_ERR "failed to get LCD_PANEL_QVGA\n");
-+ goto err_4;
-+ }
-+
-+ gpio_direction_output(LCD_PANEL_LR, 0);
-+ gpio_direction_output(LCD_PANEL_UD, 0);
-+ gpio_direction_output(LCD_PANEL_INI, 0);
-+ gpio_direction_output(LCD_PANEL_RESB, 0);
-+ gpio_direction_output(LCD_PANEL_QVGA, 0);
-+
-+#define TWL_LED_LEDEN 0x00
-+#define TWL_PWMA_PWMAON 0x00
-+#define TWL_PWMA_PWMAOFF 0x01
-+
-+ twl4030_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL_LED_LEDEN);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x01, TWL_PWMA_PWMAON);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x02, TWL_PWMA_PWMAOFF);
-+
-+ gpio_direction_output(LCD_PANEL_RESB, 1);
-+ gpio_direction_output(LCD_PANEL_INI, 1);
-+ gpio_direction_output(LCD_PANEL_QVGA, 0);
-+ gpio_direction_output(LCD_PANEL_LR, 1);
-+ gpio_direction_output(LCD_PANEL_UD, 1);
-+
-+ return;
-+
-+err_4:
-+ gpio_free(LCD_PANEL_RESB);
-+err_3:
-+ gpio_free(LCD_PANEL_INI);
-+err_2:
-+ gpio_free(LCD_PANEL_UD);
-+err_1:
-+ gpio_free(LCD_PANEL_LR);
-+
-+}
-+
-+static int panel_enable_lcd(struct omap_display *display)
-+{
-+ if (dvi_enabled) {
-+ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
-+ return -EINVAL;
-+ }
-+ if (omap_rev() > OMAP3430_REV_ES1_0) {
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+ ENABLE_VPLL2_DEDICATED, TWL4030_VPLL2_DEDICATED);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+ ENABLE_VPLL2_DEV_GRP, TWL4030_VPLL2_DEV_GRP);
-+ }
-+ gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0);
-+ lcd_enabled = 1;
-+ return 0;
-+}
-+
-+static void panel_disable_lcd(struct omap_display *display)
-+{
-+ if (omap_rev() > OMAP3430_REV_ES1_0) {
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
-+ TWL4030_VPLL2_DEDICATED);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
-+ TWL4030_VPLL2_DEV_GRP);
-+ }
-+ gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
-+ lcd_enabled = 0;
-+}
-+
-+static struct omap_display_data evm_display_data = {
-+ .type = OMAP_DISPLAY_TYPE_DPI,
-+ .name = "lcd",
-+ .panel_name = "panel-sdp3430",
-+ .u.dpi.data_lines = 16,
-+ .panel_enable = panel_enable_lcd,
-+ .panel_disable = panel_disable_lcd,
-+};
-+
-+static int panel_enable_tv(struct omap_display *display)
-+{
-+ 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 panel_disable_tv(struct omap_display *display)
-+{
-+ 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_display_data evm_display_data_tv = {
-+ .type = OMAP_DISPLAY_TYPE_VENC,
-+ .name = "tv",
-+ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
-+ .panel_enable = panel_enable_tv,
-+ .panel_disable = panel_disable_tv,
-+};
-+
-+
-+static int panel_enable_dvi(struct omap_display *display)
-+{
-+ if (lcd_enabled) {
-+ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
-+ return -EINVAL;
-+ }
-+ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
-+ TWL4030_GPIODATA_IN3);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
-+ TWL4030_GPIODATA_DIR3);
-+ dvi_enabled = 1;
-+
-+ return 0;
-+}
-+
-+static void panel_disable_dvi(struct omap_display *display)
-+{
-+ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
-+ TWL4030_GPIODATA_IN3);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
-+ TWL4030_GPIODATA_DIR3);
-+ dvi_enabled = 0;
-+}
-+
-+
-+static struct omap_display_data evm_display_data_dvi = {
-+ .type = OMAP_DISPLAY_TYPE_DPI,
-+ .name = "dvi",
-+ .panel_name = "panel-dvi",
-+ .u.dpi.data_lines = 24,
-+ .panel_enable = panel_enable_dvi,
-+ .panel_disable = panel_disable_dvi,
-+};
-+
-+static struct omap_dss_platform_data evm_dss_data = {
-+ .num_displays = 3,
-+ .displays = {
-+ &evm_display_data,
-+ &evm_display_data_dvi,
-+ &evm_display_data_tv,
-+ }
-+};
-+static struct platform_device evm_dss_device = {
-+ .name = "omap-dss",
-+ .id = -1,
-+ .dev = {
-+ .platform_data = &evm_dss_data,
-+ },
- };
-
- static void ads7846_dev_init(void)
-@@ -227,11 +430,13 @@ static void __init omap3_evm_init_irq(void)
-
- static struct omap_board_config_kernel omap3_evm_config[] __initdata = {
- { OMAP_TAG_UART, &omap3_evm_uart_config },
-- { OMAP_TAG_LCD, &omap3_evm_lcd_config },
-+ { OMAP_TAG_FBMEM, &evm_fbmem0_config },
-+ { OMAP_TAG_FBMEM, &evm_fbmem1_config },
-+ { OMAP_TAG_FBMEM, &evm_fbmem2_config },
- };
-
- static struct platform_device *omap3_evm_devices[] __initdata = {
-- &omap3_evm_lcd_device,
-+ &evm_dss_device,
- &omap3evm_smc911x_device,
- };
-
-@@ -250,8 +455,6 @@ static void __init omap3_evm_init(void)
- omap3_evm_i2c_init();
-
- platform_add_devices(omap3_evm_devices, ARRAY_SIZE(omap3_evm_devices));
-- omap_board_config = omap3_evm_config;
-- omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
-
- spi_register_board_info(omap3evm_spi_board_info,
- ARRAY_SIZE(omap3evm_spi_board_info));
-@@ -262,10 +465,13 @@ static void __init omap3_evm_init(void)
- usb_ehci_init();
- omap3evm_flash_init();
- ads7846_dev_init();
-+ evm_display_init();
- }
-
- static void __init omap3_evm_map_io(void)
- {
-+ omap_board_config = omap3_evm_config;
-+ omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
- omap2_set_globals_343x();
- omap2_map_common_io();
- }
-diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
-index 95691ad..8211ffd 100644
---- a/drivers/video/omap2/Kconfig
-+++ b/drivers/video/omap2/Kconfig
-@@ -51,4 +51,9 @@ config PANEL_SDP3430
- help
- SDP3430 LCD
-
-+config PANEL_OMAP3EVM
-+ tristate "OMAP3EVM Panel"
-+ depends on OMAP2_DSS
-+ help
-+ OMAP3EVM LCD Panel
- endmenu
-diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
-index 73ab1c0..668e8c6 100644
---- a/drivers/video/omap2/Makefile
-+++ b/drivers/video/omap2/Makefile
-@@ -3,3 +3,4 @@ omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
-
- obj-$(CONFIG_PANEL_DVI) += panel-dvi.o
- obj-$(CONFIG_PANEL_SDP3430) += panel-sdp3430.o
-+obj-$(CONFIG_PANEL_OMAP3EVM) += panel-omap3evm.o
-diff --git a/drivers/video/omap2/panel-omap3evm.c b/drivers/video/omap2/panel-omap3evm.c
-new file mode 100644
-index 0000000..4a00b02
---- /dev/null
-+++ b/drivers/video/omap2/panel-omap3evm.c
-@@ -0,0 +1,110 @@
-+/*
-+ * LCD panel support for the TI OMAP3EVM board
-+ *
-+ * Copyright (C) 2008 Texas Instruments, Inc.
-+ * Author: Vaibhav Hiremath <hvaibhav@ti.com>
-+ *
-+ * Derived from drivers/video/omap2/panel-sdp3430.c
-+ *
-+ * 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 <mach/display.h>
-+
-+static int omap3evm_panel_init(struct omap_display *display)
-+{
-+ return 0;
-+}
-+
-+static void omap3evm_panel_cleanup(struct omap_display *display)
-+{
-+}
-+
-+static int omap3evm_panel_enable(struct omap_display *display)
-+{
-+ int r = 0;
-+
-+ if (display->hw_config.panel_enable)
-+ r = display->hw_config.panel_enable(display);
-+
-+ return r;
-+}
-+
-+static void omap3evm_panel_disable(struct omap_display *display)
-+{
-+ if (display->hw_config.panel_disable)
-+ display->hw_config.panel_disable(display);
-+}
-+
-+static int omap3evm_panel_suspend(struct omap_display *display)
-+{
-+ omap3evm_panel_disable(display);
-+ return 0;
-+}
-+
-+static int omap3evm_panel_resume(struct omap_display *display)
-+{
-+ return omap3evm_panel_enable(display);
-+}
-+
-+static struct omap_panel omap3evm_panel = {
-+ .owner = THIS_MODULE,
-+ .name = "panel-evm",
-+ .init = omap3evm_panel_init,
-+ .cleanup = omap3evm_panel_cleanup,
-+ .enable = omap3evm_panel_enable,
-+ .disable = omap3evm_panel_disable,
-+ .suspend = omap3evm_panel_suspend,
-+ .resume = omap3evm_panel_resume,
-+ /*.set_mode = omap3evm_set_mode, */
-+
-+ .timings = {
-+ .pixel_clock = 26000,
-+
-+ .hsw = 4,
-+ .hfp = 4,
-+ .hbp = 40,
-+
-+ .vsw = 2,
-+ .vfp = 2,
-+ .vbp = 7,
-+ },
-+
-+ .acb = 0x28,
-+
-+ .config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
-+ OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IPC,
-+
-+ .x_res = 480,
-+ .y_res = 640,
-+ .bpp = 18,
-+};
-+
-+
-+static int __init omap3evm_panel_drv_init(void)
-+{
-+ omap_dss_register_panel(&omap3evm_panel);
-+ return 0;
-+}
-+
-+static void __exit omap3evm_panel_drv_exit(void)
-+{
-+ omap_dss_unregister_panel(&omap3evm_panel);
-+}
-+
-+module_init(omap3evm_panel_drv_init);
-+module_exit(omap3evm_panel_drv_exit);
-+MODULE_LICENSE("GPL");
---
-1.5.6
-
---
-To unsubscribe from this list: send the line "unsubscribe linux-omap" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at http://vger.kernel.org/majordomo-info.html
-