2 * LCD panel driver for Samsung LTE430WQ-F0C
4 * Author: Steve Sakoman <steve@sakoman.com>
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 as published by
8 * the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15 * You should have received a copy of the GNU General Public License along with
16 * this program. If not, see <http://www.gnu.org/licenses/>.
19 #include <linux/module.h>
20 #include <linux/delay.h>
22 #include <mach/display.h>
24 static int samsung_lte_panel_init(struct omap_display *display)
29 static void samsung_lte_panel_cleanup(struct omap_display *display)
33 static int samsung_lte_panel_enable(struct omap_display *display)
37 /* wait couple of vsyncs until enabling the LCD */
40 if (display->hw_config.panel_enable)
41 r = display->hw_config.panel_enable(display);
46 static void samsung_lte_panel_disable(struct omap_display *display)
48 if (display->hw_config.panel_disable)
49 display->hw_config.panel_disable(display);
51 /* wait at least 5 vsyncs after disabling the LCD */
55 static int samsung_lte_panel_suspend(struct omap_display *display)
57 samsung_lte_panel_disable(display);
61 static int samsung_lte_panel_resume(struct omap_display *display)
63 return samsung_lte_panel_enable(display);
66 static struct omap_panel samsung_lte_panel = {
68 .name = "samsung-lte430wq-f0c",
69 .init = samsung_lte_panel_init,
70 .cleanup = samsung_lte_panel_cleanup,
71 .enable = samsung_lte_panel_enable,
72 .disable = samsung_lte_panel_disable,
73 .suspend = samsung_lte_panel_suspend,
74 .resume = samsung_lte_panel_resume,
91 .config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IVS,
95 static int __init samsung_lte_panel_drv_init(void)
97 omap_dss_register_panel(&samsung_lte_panel);
101 static void __exit samsung_lte_panel_drv_exit(void)
103 omap_dss_unregister_panel(&samsung_lte_panel);
106 module_init(samsung_lte_panel_drv_init);
107 module_exit(samsung_lte_panel_drv_exit);
108 MODULE_LICENSE("GPL");