linux/drivers/video/fbdev/omap/lcd_palmte.c
<<
>>
Prefs
   1/*
   2 * LCD panel support for the Palm Tungsten E
   3 *
   4 * Original version : Romain Goyet <r.goyet@gmail.com>
   5 * Current version : Laurent Gonzalez <palmte.linux@free.fr>
   6 *
   7 * This program is free software; you can redistribute it and/or modify it
   8 * under the terms of the GNU General Public License as published by the
   9 * Free Software Foundation; either version 2 of the License, or (at your
  10 * option) any later version.
  11 *
  12 * This program is distributed in the hope that it will be useful, but
  13 * WITHOUT ANY WARRANTY; without even the implied warranty of
  14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15 * General Public License for more details.
  16 *
  17 * You should have received a copy of the GNU General Public License along
  18 * with this program; if not, write to the Free Software Foundation, Inc.,
  19 * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  20 */
  21
  22#include <linux/module.h>
  23#include <linux/platform_device.h>
  24#include <linux/io.h>
  25
  26#include "omapfb.h"
  27
  28static int palmte_panel_init(struct lcd_panel *panel,
  29                                struct omapfb_device *fbdev)
  30{
  31        return 0;
  32}
  33
  34static void palmte_panel_cleanup(struct lcd_panel *panel)
  35{
  36}
  37
  38static int palmte_panel_enable(struct lcd_panel *panel)
  39{
  40        return 0;
  41}
  42
  43static void palmte_panel_disable(struct lcd_panel *panel)
  44{
  45}
  46
  47static unsigned long palmte_panel_get_caps(struct lcd_panel *panel)
  48{
  49        return 0;
  50}
  51
  52struct lcd_panel palmte_panel = {
  53        .name           = "palmte",
  54        .config         = OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |
  55                          OMAP_LCDC_INV_HSYNC | OMAP_LCDC_HSVS_RISING_EDGE |
  56                          OMAP_LCDC_HSVS_OPPOSITE,
  57
  58        .data_lines     = 16,
  59        .bpp            = 8,
  60        .pixel_clock    = 12000,
  61        .x_res          = 320,
  62        .y_res          = 320,
  63        .hsw            = 4,
  64        .hfp            = 8,
  65        .hbp            = 28,
  66        .vsw            = 1,
  67        .vfp            = 8,
  68        .vbp            = 7,
  69        .pcd            = 0,
  70
  71        .init           = palmte_panel_init,
  72        .cleanup        = palmte_panel_cleanup,
  73        .enable         = palmte_panel_enable,
  74        .disable        = palmte_panel_disable,
  75        .get_caps       = palmte_panel_get_caps,
  76};
  77
  78static int palmte_panel_probe(struct platform_device *pdev)
  79{
  80        omapfb_register_panel(&palmte_panel);
  81        return 0;
  82}
  83
  84static int palmte_panel_remove(struct platform_device *pdev)
  85{
  86        return 0;
  87}
  88
  89static int palmte_panel_suspend(struct platform_device *pdev, pm_message_t mesg)
  90{
  91        return 0;
  92}
  93
  94static int palmte_panel_resume(struct platform_device *pdev)
  95{
  96        return 0;
  97}
  98
  99static struct platform_driver palmte_panel_driver = {
 100        .probe          = palmte_panel_probe,
 101        .remove         = palmte_panel_remove,
 102        .suspend        = palmte_panel_suspend,
 103        .resume         = palmte_panel_resume,
 104        .driver         = {
 105                .name   = "lcd_palmte",
 106        },
 107};
 108
 109module_platform_driver(palmte_panel_driver);
 110