1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3 * LCD panel support for Palm Tungsten|T
4 * Current version : Marek Vasut <marek.vasut@gmail.com>
5 *
6 * Modified from lcd_inn1510.c
7 */
8
9 /*
10 GPIO11 - backlight
11 GPIO12 - screen blanking
12 GPIO13 - screen blanking
13 */
14
15 #include <linux/platform_device.h>
16 #include <linux/module.h>
17 #include <linux/io.h>
18 #include <linux/gpio.h>
19
20 #include "omapfb.h"
21
palmtt_panel_get_caps(struct lcd_panel * panel)22 static unsigned long palmtt_panel_get_caps(struct lcd_panel *panel)
23 {
24 return OMAPFB_CAPS_SET_BACKLIGHT;
25 }
26
27 static struct lcd_panel palmtt_panel = {
28 .name = "palmtt",
29 .config = OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |
30 OMAP_LCDC_INV_HSYNC | OMAP_LCDC_HSVS_RISING_EDGE |
31 OMAP_LCDC_HSVS_OPPOSITE,
32 .bpp = 16,
33 .data_lines = 16,
34 .x_res = 320,
35 .y_res = 320,
36 .pixel_clock = 10000,
37 .hsw = 4,
38 .hfp = 8,
39 .hbp = 28,
40 .vsw = 1,
41 .vfp = 8,
42 .vbp = 7,
43 .pcd = 0,
44
45 .get_caps = palmtt_panel_get_caps,
46 };
47
palmtt_panel_probe(struct platform_device * pdev)48 static int palmtt_panel_probe(struct platform_device *pdev)
49 {
50 omapfb_register_panel(&palmtt_panel);
51 return 0;
52 }
53
54 static struct platform_driver palmtt_panel_driver = {
55 .probe = palmtt_panel_probe,
56 .driver = {
57 .name = "lcd_palmtt",
58 },
59 };
60
61 module_platform_driver(palmtt_panel_driver);
62
63 MODULE_AUTHOR("Marek Vasut <marek.vasut@gmail.com>");
64 MODULE_DESCRIPTION("LCD panel support for Palm Tungsten|T");
65 MODULE_LICENSE("GPL");
66