lcd_palmte.c 2.8 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
/*
 * LCD panel support for the Palm Tungsten E
 *
 * Original version : Romain Goyet <r.goyet@gmail.com>
 * Current version : Laurent Gonzalez <palmte.linux@free.fr>
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation; either version 2 of the License, or (at your
 * option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */

#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/io.h>

26
#include <plat/fpga.h>
T
Tomi Valkeinen 已提交
27
#include "omapfb.h"
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

static int palmte_panel_init(struct lcd_panel *panel,
				struct omapfb_device *fbdev)
{
	return 0;
}

static void palmte_panel_cleanup(struct lcd_panel *panel)
{
}

static int palmte_panel_enable(struct lcd_panel *panel)
{
	return 0;
}

static void palmte_panel_disable(struct lcd_panel *panel)
{
}

static unsigned long palmte_panel_get_caps(struct lcd_panel *panel)
{
	return 0;
}

struct lcd_panel palmte_panel = {
	.name		= "palmte",
	.config		= OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |
			  OMAP_LCDC_INV_HSYNC | OMAP_LCDC_HSVS_RISING_EDGE |
			  OMAP_LCDC_HSVS_OPPOSITE,

	.data_lines	= 16,
	.bpp		= 8,
	.pixel_clock	= 12000,
	.x_res		= 320,
	.y_res		= 320,
	.hsw		= 4,
	.hfp		= 8,
	.hbp		= 28,
	.vsw		= 1,
	.vfp		= 8,
	.vbp		= 7,
	.pcd		= 0,

	.init		= palmte_panel_init,
	.cleanup	= palmte_panel_cleanup,
	.enable		= palmte_panel_enable,
	.disable	= palmte_panel_disable,
	.get_caps	= palmte_panel_get_caps,
};

static int palmte_panel_probe(struct platform_device *pdev)
{
	omapfb_register_panel(&palmte_panel);
	return 0;
}

static int palmte_panel_remove(struct platform_device *pdev)
{
	return 0;
}

static int palmte_panel_suspend(struct platform_device *pdev, pm_message_t mesg)
{
	return 0;
}

static int palmte_panel_resume(struct platform_device *pdev)
{
	return 0;
}

100
static struct platform_driver palmte_panel_driver = {
101 102 103 104 105 106 107 108 109 110
	.probe		= palmte_panel_probe,
	.remove		= palmte_panel_remove,
	.suspend	= palmte_panel_suspend,
	.resume		= palmte_panel_resume,
	.driver		= {
		.name	= "lcd_palmte",
		.owner	= THIS_MODULE,
	},
};

111
static int __init palmte_panel_drv_init(void)
112 113 114 115
{
	return platform_driver_register(&palmte_panel_driver);
}

116
static void __exit palmte_panel_drv_cleanup(void)
117 118 119 120 121 122 123
{
	platform_driver_unregister(&palmte_panel_driver);
}

module_init(palmte_panel_drv_init);
module_exit(palmte_panel_drv_cleanup);