1/* 2 * File: drivers/video/omap/lcd-htcherald.c 3 * 4 * LCD panel support for the HTC Herald 5 * 6 * Copyright (C) 2009 Cory Maccarrone <darkstar6262@gmail.com> 7 * Copyright (C) 2009 Wing Linux 8 * 9 * Based on the lcd_htcwizard.c file from the linwizard project: 10 * Copyright (C) linwizard.sourceforge.net 11 * Author: Angelo Arrifano <miknix@gmail.com> 12 * Based on lcd_h4 by Imre Deak <imre.deak@nokia.com> 13 * 14 * This program is free software; you can redistribute it and/or modify it 15 * under the terms of the GNU General Public License as published by the 16 * Free Software Foundation; either version 2 of the License, or (at your 17 * option) any later version. 18 * 19 * This program is distributed in the hope that it will be useful, but 20 * WITHOUT ANY WARRANTY; without even the implied warranty of 21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 * General Public License for more details. 23 * 24 * You should have received a copy of the GNU General Public License along 25 * with this program; if not, write to the Free Software Foundation, Inc., 26 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 27 */ 28 29#include <linux/module.h> 30#include <linux/platform_device.h> 31 32#include "omapfb.h" 33 34static int htcherald_panel_init(struct lcd_panel *panel, 35 struct omapfb_device *fbdev) 36{ 37 return 0; 38} 39 40static void htcherald_panel_cleanup(struct lcd_panel *panel) 41{ 42} 43 44static int htcherald_panel_enable(struct lcd_panel *panel) 45{ 46 return 0; 47} 48 49static void htcherald_panel_disable(struct lcd_panel *panel) 50{ 51} 52 53static unsigned long htcherald_panel_get_caps(struct lcd_panel *panel) 54{ 55 return 0; 56} 57 58/* Found on WIZ200 (miknix) and some HERA110 models (darkstar62) */ 59struct lcd_panel htcherald_panel_1 = { 60 .name = "lcd_herald", 61 .config = OMAP_LCDC_PANEL_TFT | 62 OMAP_LCDC_INV_HSYNC | 63 OMAP_LCDC_INV_VSYNC | 64 OMAP_LCDC_INV_PIX_CLOCK, 65 .bpp = 16, 66 .data_lines = 16, 67 .x_res = 240, 68 .y_res = 320, 69 .pixel_clock = 6093, 70 .pcd = 0, /* 15 */ 71 .hsw = 10, 72 .hfp = 10, 73 .hbp = 20, 74 .vsw = 3, 75 .vfp = 2, 76 .vbp = 2, 77 78 .init = htcherald_panel_init, 79 .cleanup = htcherald_panel_cleanup, 80 .enable = htcherald_panel_enable, 81 .disable = htcherald_panel_disable, 82 .get_caps = htcherald_panel_get_caps, 83}; 84 85static int htcherald_panel_probe(struct platform_device *pdev) 86{ 87 omapfb_register_panel(&htcherald_panel_1); 88 return 0; 89} 90 91static int htcherald_panel_remove(struct platform_device *pdev) 92{ 93 return 0; 94} 95 96static int htcherald_panel_suspend(struct platform_device *pdev, 97 pm_message_t mesg) 98{ 99 return 0; 100} 101 102static int htcherald_panel_resume(struct platform_device *pdev) 103{ 104 return 0; 105} 106 107static struct platform_driver htcherald_panel_driver = { 108 .probe = htcherald_panel_probe, 109 .remove = htcherald_panel_remove, 110 .suspend = htcherald_panel_suspend, 111 .resume = htcherald_panel_resume, 112 .driver = { 113 .name = "lcd_htcherald", 114 }, 115}; 116 117module_platform_driver(htcherald_panel_driver); 118