linux/drivers/video/fbdev/omap/lcd_htcherald.c
<<
>>
Prefs
   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