···11-/*22- * LCD panel support for the Samsung OMAP2 Apollon board33- *44- * Copyright (C) 2005,2006 Samsung Electronics55- * Author: Kyungmin Park <kyungmin.park@samsung.com>66- *77- * Derived from drivers/video/omap/lcd-h4.c88- *99- * This program is free software; you can redistribute it and/or modify it1010- * under the terms of the GNU General Public License as published by the1111- * Free Software Foundation; either version 2 of the License, or (at your1212- * option) any later version.1313- *1414- * This program is distributed in the hope that it will be useful, but1515- * WITHOUT ANY WARRANTY; without even the implied warranty of1616- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU1717- * General Public License for more details.1818- *1919- * You should have received a copy of the GNU General Public License along2020- * with this program; if not, write to the Free Software Foundation, Inc.,2121- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.2222- */2323-2424-#include <linux/module.h>2525-#include <linux/platform_device.h>2626-2727-#include <mach/gpio.h>2828-2929-#include "omapfb.h"3030-3131-/* #define USE_35INCH_LCD 1 */3232-3333-static int apollon_panel_init(struct lcd_panel *panel,3434- struct omapfb_device *fbdev)3535-{3636- return 0;3737-}3838-3939-static void apollon_panel_cleanup(struct lcd_panel *panel)4040-{4141-}4242-4343-static int apollon_panel_enable(struct lcd_panel *panel)4444-{4545- return 0;4646-}4747-4848-static void apollon_panel_disable(struct lcd_panel *panel)4949-{5050-}5151-5252-static unsigned long apollon_panel_get_caps(struct lcd_panel *panel)5353-{5454- return 0;5555-}5656-5757-struct lcd_panel apollon_panel = {5858- .name = "apollon",5959- .config = OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |6060- OMAP_LCDC_INV_HSYNC,6161-6262- .bpp = 16,6363- .data_lines = 18,6464-#ifdef USE_35INCH_LCD6565- .x_res = 240,6666- .y_res = 320,6767- .hsw = 2,6868- .hfp = 3,6969- .hbp = 9,7070- .vsw = 4,7171- .vfp = 3,7272- .vbp = 5,7373-#else7474- .x_res = 480,7575- .y_res = 272,7676- .hsw = 41,7777- .hfp = 2,7878- .hbp = 2,7979- .vsw = 10,8080- .vfp = 2,8181- .vbp = 2,8282-#endif8383- .pixel_clock = 6250,8484-8585- .init = apollon_panel_init,8686- .cleanup = apollon_panel_cleanup,8787- .enable = apollon_panel_enable,8888- .disable = apollon_panel_disable,8989- .get_caps = apollon_panel_get_caps,9090-};9191-9292-static int apollon_panel_probe(struct platform_device *pdev)9393-{9494- omapfb_register_panel(&apollon_panel);9595- return 0;9696-}9797-9898-static int apollon_panel_remove(struct platform_device *pdev)9999-{100100- return 0;101101-}102102-103103-static int apollon_panel_suspend(struct platform_device *pdev,104104- pm_message_t mesg)105105-{106106- return 0;107107-}108108-109109-static int apollon_panel_resume(struct platform_device *pdev)110110-{111111- return 0;112112-}113113-114114-struct platform_driver apollon_panel_driver = {115115- .probe = apollon_panel_probe,116116- .remove = apollon_panel_remove,117117- .suspend = apollon_panel_suspend,118118- .resume = apollon_panel_resume,119119- .driver = {120120- .name = "apollon_lcd",121121- .owner = THIS_MODULE,122122- },123123-};124124-125125-static int __init apollon_panel_drv_init(void)126126-{127127- return platform_driver_register(&apollon_panel_driver);128128-}129129-130130-static void __exit apollon_panel_drv_exit(void)131131-{132132- platform_driver_unregister(&apollon_panel_driver);133133-}134134-135135-module_init(apollon_panel_drv_init);136136-module_exit(apollon_panel_drv_exit);