diff options
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/omap/Kconfig | 29 | ||||
-rw-r--r-- | drivers/video/omap/Makefile | 4 | ||||
-rw-r--r-- | drivers/video/omap/lcd_ldp.c | 201 | ||||
-rw-r--r-- | drivers/video/omap/lcd_omap3beagle.c | 130 | ||||
-rw-r--r-- | drivers/video/omap/lcd_omap3evm.c | 193 | ||||
-rw-r--r-- | drivers/video/omap/lcd_overo.c | 180 |
6 files changed, 0 insertions, 737 deletions
diff --git a/drivers/video/omap/Kconfig b/drivers/video/omap/Kconfig index 196fa2e7f438..84ff23208c25 100644 --- a/drivers/video/omap/Kconfig +++ b/drivers/video/omap/Kconfig @@ -9,35 +9,6 @@ config FB_OMAP help Frame buffer driver for OMAP based boards. -config FB_OMAP_LCD_VGA - bool "Use LCD in VGA mode" - depends on MACH_OMAP_3430SDP || MACH_OMAP_LDP - help - Set LCD resolution as VGA (640 X 480). - Default resolution without this option is QVGA(320 X 240). - Please take a look at drivers/video/omap/lcd_ldp.c file - for lcd driver code. -choice - depends on FB_OMAP && MACH_OVERO - prompt "Screen resolution" - default FB_OMAP_079M3R - help - Selected desired screen resolution - -config FB_OMAP_031M3R - boolean "640 x 480 @ 60 Hz Reduced blanking" - -config FB_OMAP_048M3R - boolean "800 x 600 @ 60 Hz Reduced blanking" - -config FB_OMAP_079M3R - boolean "1024 x 768 @ 60 Hz Reduced blanking" - -config FB_OMAP_092M9R - boolean "1280 x 720 @ 60 Hz Reduced blanking" - -endchoice - config FB_OMAP_LCDC_EXTERNAL bool "External LCD controller support" depends on FB_OMAP diff --git a/drivers/video/omap/Makefile b/drivers/video/omap/Makefile index 25db55696e14..37c03c29811d 100644 --- a/drivers/video/omap/Makefile +++ b/drivers/video/omap/Makefile @@ -29,11 +29,7 @@ objs-y$(CONFIG_MACH_OMAP_OSK) += lcd_osk.o objs-y$(CONFIG_MACH_OMAP_APOLLON) += lcd_apollon.o objs-y$(CONFIG_MACH_OMAP_2430SDP) += lcd_2430sdp.o objs-y$(CONFIG_MACH_OMAP_3430SDP) += lcd_2430sdp.o -objs-y$(CONFIG_MACH_OMAP_LDP) += lcd_ldp.o -objs-y$(CONFIG_MACH_OMAP3EVM) += lcd_omap3evm.o -objs-y$(CONFIG_MACH_OMAP3_BEAGLE) += lcd_omap3beagle.o objs-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o -objs-y$(CONFIG_MACH_OVERO) += lcd_overo.o objs-y$(CONFIG_MACH_HERALD) += lcd_htcherald.o omapfb-objs := $(objs-yy) diff --git a/drivers/video/omap/lcd_ldp.c b/drivers/video/omap/lcd_ldp.c deleted file mode 100644 index 0f5952cae85e..000000000000 --- a/drivers/video/omap/lcd_ldp.c +++ /dev/null @@ -1,201 +0,0 @@ -/* - * LCD panel support for the TI LDP board - * - * Copyright (C) 2007 WindRiver - * Author: Stanley Miao <stanley.miao@windriver.com> - * - * Derived from drivers/video/omap/lcd-2430sdp.c - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * 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, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#include <linux/module.h> -#include <linux/platform_device.h> -#include <linux/delay.h> -#include <linux/i2c/twl.h> - -#include <mach/gpio.h> -#include <plat/mux.h> -#include <asm/mach-types.h> - -#include "omapfb.h" - -#define LCD_PANEL_BACKLIGHT_GPIO (15 + OMAP_MAX_GPIO_LINES) -#define LCD_PANEL_ENABLE_GPIO (7 + OMAP_MAX_GPIO_LINES) - -#define LCD_PANEL_RESET_GPIO 55 -#define LCD_PANEL_QVGA_GPIO 56 - -#ifdef CONFIG_FB_OMAP_LCD_VGA -#define LCD_XRES 480 -#define LCD_YRES 640 -#define LCD_PIXCLOCK_MAX 41700 -#else -#define LCD_XRES 240 -#define LCD_YRES 320 -#define LCD_PIXCLOCK_MAX 185186 -#endif - -#define PM_RECEIVER TWL4030_MODULE_PM_RECEIVER -#define ENABLE_VAUX2_DEDICATED 0x09 -#define ENABLE_VAUX2_DEV_GRP 0x20 -#define ENABLE_VAUX3_DEDICATED 0x03 -#define ENABLE_VAUX3_DEV_GRP 0x20 - -#define ENABLE_VPLL2_DEDICATED 0x05 -#define ENABLE_VPLL2_DEV_GRP 0xE0 -#define TWL4030_VPLL2_DEV_GRP 0x33 -#define TWL4030_VPLL2_DEDICATED 0x36 - -#define t2_out(c, r, v) twl_i2c_write_u8(c, r, v) - - -static int ldp_panel_init(struct lcd_panel *panel, - struct omapfb_device *fbdev) -{ - gpio_request(LCD_PANEL_RESET_GPIO, "lcd reset"); - gpio_request(LCD_PANEL_QVGA_GPIO, "lcd qvga"); - gpio_request(LCD_PANEL_ENABLE_GPIO, "lcd panel"); - gpio_request(LCD_PANEL_BACKLIGHT_GPIO, "lcd backlight"); - - gpio_direction_output(LCD_PANEL_QVGA_GPIO, 0); - gpio_direction_output(LCD_PANEL_RESET_GPIO, 0); - gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0); - gpio_direction_output(LCD_PANEL_BACKLIGHT_GPIO, 0); - -#ifdef CONFIG_FB_OMAP_LCD_VGA - gpio_set_value(LCD_PANEL_QVGA_GPIO, 0); -#else - gpio_set_value(LCD_PANEL_QVGA_GPIO, 1); -#endif - gpio_set_value(LCD_PANEL_RESET_GPIO, 1); - - return 0; -} - -static void ldp_panel_cleanup(struct lcd_panel *panel) -{ - gpio_free(LCD_PANEL_BACKLIGHT_GPIO); - gpio_free(LCD_PANEL_ENABLE_GPIO); - gpio_free(LCD_PANEL_QVGA_GPIO); - gpio_free(LCD_PANEL_RESET_GPIO); -} - -static int ldp_panel_enable(struct lcd_panel *panel) -{ - if (0 != t2_out(PM_RECEIVER, ENABLE_VPLL2_DEDICATED, - TWL4030_VPLL2_DEDICATED)) - return -EIO; - if (0 != t2_out(PM_RECEIVER, ENABLE_VPLL2_DEV_GRP, - TWL4030_VPLL2_DEV_GRP)) - return -EIO; - - gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 1); - gpio_direction_output(LCD_PANEL_BACKLIGHT_GPIO, 1); - - if (0 != t2_out(PM_RECEIVER, ENABLE_VAUX3_DEDICATED, - TWL4030_VAUX3_DEDICATED)) - return -EIO; - if (0 != t2_out(PM_RECEIVER, ENABLE_VAUX3_DEV_GRP, - TWL4030_VAUX3_DEV_GRP)) - return -EIO; - - return 0; -} - -static void ldp_panel_disable(struct lcd_panel *panel) -{ - gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0); - gpio_direction_output(LCD_PANEL_BACKLIGHT_GPIO, 0); - - t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEDICATED); - t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEV_GRP); - msleep(4); -} - -static unsigned long ldp_panel_get_caps(struct lcd_panel *panel) -{ - return 0; -} - -struct lcd_panel ldp_panel = { - .name = "ldp", - .config = OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC | - OMAP_LCDC_INV_HSYNC, - - .bpp = 16, - .data_lines = 18, - .x_res = LCD_XRES, - .y_res = LCD_YRES, - .hsw = 3, /* hsync_len (4) - 1 */ - .hfp = 3, /* right_margin (4) - 1 */ - .hbp = 39, /* left_margin (40) - 1 */ - .vsw = 1, /* vsync_len (2) - 1 */ - .vfp = 2, /* lower_margin */ - .vbp = 7, /* upper_margin (8) - 1 */ - - .pixel_clock = LCD_PIXCLOCK_MAX, - - .init = ldp_panel_init, - .cleanup = ldp_panel_cleanup, - .enable = ldp_panel_enable, - .disable = ldp_panel_disable, - .get_caps = ldp_panel_get_caps, -}; - -static int ldp_panel_probe(struct platform_device *pdev) -{ - omapfb_register_panel(&ldp_panel); - return 0; -} - -static int ldp_panel_remove(struct platform_device *pdev) -{ - return 0; -} - -static int ldp_panel_suspend(struct platform_device *pdev, pm_message_t mesg) -{ - return 0; -} - -static int ldp_panel_resume(struct platform_device *pdev) -{ - return 0; -} - -struct platform_driver ldp_panel_driver = { - .probe = ldp_panel_probe, - .remove = ldp_panel_remove, - .suspend = ldp_panel_suspend, - .resume = ldp_panel_resume, - .driver = { - .name = "ldp_lcd", - .owner = THIS_MODULE, - }, -}; - -static int __init ldp_panel_drv_init(void) -{ - return platform_driver_register(&ldp_panel_driver); -} - -static void __exit ldp_panel_drv_exit(void) -{ - platform_driver_unregister(&ldp_panel_driver); -} - -module_init(ldp_panel_drv_init); -module_exit(ldp_panel_drv_exit); diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c deleted file mode 100644 index d7c6c3e0afc6..000000000000 --- a/drivers/video/omap/lcd_omap3beagle.c +++ /dev/null @@ -1,130 +0,0 @@ -/* - * LCD panel support for the TI OMAP3 Beagle board - * - * Author: Koen Kooi <koen@openembedded.org> - * - * Derived from drivers/video/omap/lcd-omap3evm.c - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * 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, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#include <linux/module.h> -#include <linux/platform_device.h> -#include <linux/gpio.h> -#include <linux/i2c/twl.h> - -#include <asm/mach-types.h> - -#include "omapfb.h" - -#define LCD_PANEL_ENABLE_GPIO 170 - -static int omap3beagle_panel_init(struct lcd_panel *panel, - struct omapfb_device *fbdev) -{ - gpio_request(LCD_PANEL_ENABLE_GPIO, "LCD enable"); - return 0; -} - -static void omap3beagle_panel_cleanup(struct lcd_panel *panel) -{ - gpio_free(LCD_PANEL_ENABLE_GPIO); -} - -static int omap3beagle_panel_enable(struct lcd_panel *panel) -{ - gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1); - return 0; -} - -static void omap3beagle_panel_disable(struct lcd_panel *panel) -{ - gpio_set_value(LCD_PANEL_ENABLE_GPIO, 0); -} - -static unsigned long omap3beagle_panel_get_caps(struct lcd_panel *panel) -{ - return 0; -} - -struct lcd_panel omap3beagle_panel = { - .name = "omap3beagle", - .config = OMAP_LCDC_PANEL_TFT, - - .bpp = 16, - .data_lines = 24, - .x_res = 1024, - .y_res = 768, - .hsw = 3, /* hsync_len (4) - 1 */ - .hfp = 3, /* right_margin (4) - 1 */ - .hbp = 39, /* left_margin (40) - 1 */ - .vsw = 1, /* vsync_len (2) - 1 */ - .vfp = 2, /* lower_margin */ - .vbp = 7, /* upper_margin (8) - 1 */ - - .pixel_clock = 64000, - - .init = omap3beagle_panel_init, - .cleanup = omap3beagle_panel_cleanup, - .enable = omap3beagle_panel_enable, - .disable = omap3beagle_panel_disable, - .get_caps = omap3beagle_panel_get_caps, -}; - -static int omap3beagle_panel_probe(struct platform_device *pdev) -{ - omapfb_register_panel(&omap3beagle_panel); - return 0; -} - -static int omap3beagle_panel_remove(struct platform_device *pdev) -{ - return 0; -} - -static int omap3beagle_panel_suspend(struct platform_device *pdev, - pm_message_t mesg) -{ - return 0; -} - -static int omap3beagle_panel_resume(struct platform_device *pdev) -{ - return 0; -} - -struct platform_driver omap3beagle_panel_driver = { - .probe = omap3beagle_panel_probe, - .remove = omap3beagle_panel_remove, - .suspend = omap3beagle_panel_suspend, - .resume = omap3beagle_panel_resume, - .driver = { - .name = "omap3beagle_lcd", - .owner = THIS_MODULE, - }, -}; - -static int __init omap3beagle_panel_drv_init(void) -{ - return platform_driver_register(&omap3beagle_panel_driver); -} - -static void __exit omap3beagle_panel_drv_exit(void) -{ - platform_driver_unregister(&omap3beagle_panel_driver); -} - -module_init(omap3beagle_panel_drv_init); -module_exit(omap3beagle_panel_drv_exit); diff --git a/drivers/video/omap/lcd_omap3evm.c b/drivers/video/omap/lcd_omap3evm.c deleted file mode 100644 index 06840da0b094..000000000000 --- a/drivers/video/omap/lcd_omap3evm.c +++ /dev/null @@ -1,193 +0,0 @@ -/* - * LCD panel support for the TI OMAP3 EVM board - * - * Author: Steve Sakoman <steve@sakoman.com> - * - * Derived from drivers/video/omap/lcd-apollon.c - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * 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, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#include <linux/module.h> -#include <linux/platform_device.h> -#include <linux/gpio.h> -#include <linux/i2c/twl.h> - -#include <plat/mux.h> -#include <asm/mach-types.h> - -#include "omapfb.h" - -#define LCD_PANEL_ENABLE_GPIO 153 -#define LCD_PANEL_LR 2 -#define LCD_PANEL_UD 3 -#define LCD_PANEL_INI 152 -#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 TWL_LED_LEDEN 0x00 -#define TWL_PWMA_PWMAON 0x00 -#define TWL_PWMA_PWMAOFF 0x01 - -static unsigned int bklight_level; - -static int omap3evm_panel_init(struct lcd_panel *panel, - struct omapfb_device *fbdev) -{ - gpio_request(LCD_PANEL_LR, "LCD lr"); - gpio_request(LCD_PANEL_UD, "LCD ud"); - gpio_request(LCD_PANEL_INI, "LCD ini"); - gpio_request(LCD_PANEL_RESB, "LCD resb"); - gpio_request(LCD_PANEL_QVGA, "LCD qvga"); - - 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); - - twl_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL_LED_LEDEN); - twl_i2c_write_u8(TWL4030_MODULE_PWMA, 0x01, TWL_PWMA_PWMAON); - twl_i2c_write_u8(TWL4030_MODULE_PWMA, 0x02, TWL_PWMA_PWMAOFF); - bklight_level = 100; - - return 0; -} - -static void omap3evm_panel_cleanup(struct lcd_panel *panel) -{ - gpio_free(LCD_PANEL_QVGA); - gpio_free(LCD_PANEL_RESB); - gpio_free(LCD_PANEL_INI); - gpio_free(LCD_PANEL_UD); - gpio_free(LCD_PANEL_LR); -} - -static int omap3evm_panel_enable(struct lcd_panel *panel) -{ - gpio_set_value(LCD_PANEL_ENABLE_GPIO, 0); - return 0; -} - -static void omap3evm_panel_disable(struct lcd_panel *panel) -{ - gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1); -} - -static unsigned long omap3evm_panel_get_caps(struct lcd_panel *panel) -{ - return 0; -} - -static int omap3evm_bklight_setlevel(struct lcd_panel *panel, - unsigned int level) -{ - u8 c; - if ((level >= 0) && (level <= 100)) { - c = (125 * (100 - level)) / 100 + 2; - twl_i2c_write_u8(TWL4030_MODULE_PWMA, c, TWL_PWMA_PWMAOFF); - bklight_level = level; - } - return 0; -} - -static unsigned int omap3evm_bklight_getlevel(struct lcd_panel *panel) -{ - return bklight_level; -} - -static unsigned int omap3evm_bklight_getmaxlevel(struct lcd_panel *panel) -{ - return 100; -} - -struct lcd_panel omap3evm_panel = { - .name = "omap3evm", - .config = OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC | - OMAP_LCDC_INV_HSYNC, - - .bpp = 16, - .data_lines = 18, - .x_res = 480, - .y_res = 640, - .hsw = 3, /* hsync_len (4) - 1 */ - .hfp = 3, /* right_margin (4) - 1 */ - .hbp = 39, /* left_margin (40) - 1 */ - .vsw = 1, /* vsync_len (2) - 1 */ - .vfp = 2, /* lower_margin */ - .vbp = 7, /* upper_margin (8) - 1 */ - - .pixel_clock = 26000, - - .init = omap3evm_panel_init, - .cleanup = omap3evm_panel_cleanup, - .enable = omap3evm_panel_enable, - .disable = omap3evm_panel_disable, - .get_caps = omap3evm_panel_get_caps, - .set_bklight_level = omap3evm_bklight_setlevel, - .get_bklight_level = omap3evm_bklight_getlevel, - .get_bklight_max = omap3evm_bklight_getmaxlevel, -}; - -static int omap3evm_panel_probe(struct platform_device *pdev) -{ - omapfb_register_panel(&omap3evm_panel); - return 0; -} - -static int omap3evm_panel_remove(struct platform_device *pdev) -{ - return 0; -} - -static int omap3evm_panel_suspend(struct platform_device *pdev, - pm_message_t mesg) -{ - return 0; -} - -static int omap3evm_panel_resume(struct platform_device *pdev) -{ - return 0; -} - -struct platform_driver omap3evm_panel_driver = { - .probe = omap3evm_panel_probe, - .remove = omap3evm_panel_remove, - .suspend = omap3evm_panel_suspend, - .resume = omap3evm_panel_resume, - .driver = { - .name = "omap3evm_lcd", - .owner = THIS_MODULE, - }, -}; - -static int __init omap3evm_panel_drv_init(void) -{ - return platform_driver_register(&omap3evm_panel_driver); -} - -static void __exit omap3evm_panel_drv_exit(void) -{ - platform_driver_unregister(&omap3evm_panel_driver); -} - -module_init(omap3evm_panel_drv_init); -module_exit(omap3evm_panel_drv_exit); diff --git a/drivers/video/omap/lcd_overo.c b/drivers/video/omap/lcd_overo.c deleted file mode 100644 index 564933ffac6e..000000000000 --- a/drivers/video/omap/lcd_overo.c +++ /dev/null @@ -1,180 +0,0 @@ -/* - * LCD panel support for the Gumstix Overo - * - * 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 as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * 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, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - */ - -#include <linux/module.h> -#include <linux/platform_device.h> -#include <linux/i2c/twl.h> - -#include <mach/gpio.h> -#include <plat/mux.h> -#include <asm/mach-types.h> - -#include "omapfb.h" - -#define LCD_ENABLE 144 - -static int overo_panel_init(struct lcd_panel *panel, - struct omapfb_device *fbdev) -{ - if ((gpio_request(LCD_ENABLE, "LCD_ENABLE") == 0) && - (gpio_direction_output(LCD_ENABLE, 1) == 0)) - gpio_export(LCD_ENABLE, 0); - else - printk(KERN_ERR "could not obtain gpio for LCD_ENABLE\n"); - - return 0; -} - -static void overo_panel_cleanup(struct lcd_panel *panel) -{ - gpio_free(LCD_ENABLE); -} - -static int overo_panel_enable(struct lcd_panel *panel) -{ - gpio_set_value(LCD_ENABLE, 1); - return 0; -} - -static void overo_panel_disable(struct lcd_panel *panel) -{ - gpio_set_value(LCD_ENABLE, 0); -} - -static unsigned long overo_panel_get_caps(struct lcd_panel *panel) -{ - return 0; -} - -struct lcd_panel overo_panel = { - .name = "overo", - .config = OMAP_LCDC_PANEL_TFT, - .bpp = 16, - .data_lines = 24, - -#if defined CONFIG_FB_OMAP_031M3R - - /* 640 x 480 @ 60 Hz Reduced blanking VESA CVT 0.31M3-R */ - .x_res = 640, - .y_res = 480, - .hfp = 48, - .hsw = 32, - .hbp = 80, - .vfp = 3, - .vsw = 4, - .vbp = 7, - .pixel_clock = 23500, - -#elif defined CONFIG_FB_OMAP_048M3R - - /* 800 x 600 @ 60 Hz Reduced blanking VESA CVT 0.48M3-R */ - .x_res = 800, - .y_res = 600, - .hfp = 48, - .hsw = 32, - .hbp = 80, - .vfp = 3, - .vsw = 4, - .vbp = 11, - .pixel_clock = 35500, - -#elif defined CONFIG_FB_OMAP_079M3R - - /* 1024 x 768 @ 60 Hz Reduced blanking VESA CVT 0.79M3-R */ - .x_res = 1024, - .y_res = 768, - .hfp = 48, - .hsw = 32, - .hbp = 80, - .vfp = 3, - .vsw = 4, - .vbp = 15, - .pixel_clock = 56000, - -#elif defined CONFIG_FB_OMAP_092M9R - - /* 1280 x 720 @ 60 Hz Reduced blanking VESA CVT 0.92M9-R */ - .x_res = 1280, - .y_res = 720, - .hfp = 48, - .hsw = 32, - .hbp = 80, - .vfp = 3, - .vsw = 5, - .vbp = 13, - .pixel_clock = 64000, - -#else - - /* use 640 x 480 if no config option */ - /* 640 x 480 @ 60 Hz Reduced blanking VESA CVT 0.31M3-R */ - .x_res = 640, - .y_res = 480, - .hfp = 48, - .hsw = 32, - .hbp = 80, - .vfp = 3, - .vsw = 4, - .vbp = 7, - .pixel_clock = 23500, - -#endif - - .init = overo_panel_init, - .cleanup = overo_panel_cleanup, - .enable = overo_panel_enable, - .disable = overo_panel_disable, - .get_caps = overo_panel_get_caps, -}; - -static int overo_panel_probe(struct platform_device *pdev) -{ - omapfb_register_panel(&overo_panel); - return 0; -} - -static int overo_panel_remove(struct platform_device *pdev) -{ - /* omapfb does not have unregister_panel */ - return 0; -} - -static struct platform_driver overo_panel_driver = { - .probe = overo_panel_probe, - .remove = overo_panel_remove, - .driver = { - .name = "overo_lcd", - .owner = THIS_MODULE, - }, -}; - -static int __init overo_panel_drv_init(void) -{ - return platform_driver_register(&overo_panel_driver); -} - -static void __exit overo_panel_drv_exit(void) -{ - platform_driver_unregister(&overo_panel_driver); -} - -module_init(overo_panel_drv_init); -module_exit(overo_panel_drv_exit); |