aboutsummaryrefslogtreecommitdiffstats
path: root/include/video/omap-panel-data.h
diff options
context:
space:
mode:
authorArchit Taneja <archit@ti.com>2013-02-12 06:16:46 -0500
committerTomi Valkeinen <tomi.valkeinen@ti.com>2013-04-03 08:17:45 -0400
commita0d8dde9cbde712fad65822152d2721eec1ca656 (patch)
treee12462a19878429057245e9afc6daa46375caa0c /include/video/omap-panel-data.h
parent07961ac7c0ee8b546658717034fe692fd12eefa9 (diff)
OMAPDSS: panels: keep platform data of all panels in a single header
Structs for platform data of omapdss panels are found in headers in the 'include/video/' path. Board files populate these structs with platform specific values, and the panel driver uses these to configure the panel. Currently, each panel has it's own header in the above path. Move all the omapdss panel platform data structs to a single header omap-panel-data.h. This is useful because: - All other omapdss panel drivers will be modified to use platform data. This would lead to a lot of panel headers usable only by omapdss. A lot of these platform data structs are trivial, and don't really need a separate header. - Platform data would be eventually removed, and platform information would be passed via device tree. Therefore, omapdss panel platform data structs are temporary, and will be easier to remove if they are all in the same header. - All board files will have to include the same header to configure a panel's platform data, that makes the board files more consistent. Signed-off-by: Archit Taneja <archit@ti.com>
Diffstat (limited to 'include/video/omap-panel-data.h')
-rw-r--r--include/video/omap-panel-data.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/include/video/omap-panel-data.h b/include/video/omap-panel-data.h
new file mode 100644
index 000000000000..40a06b5b82de
--- /dev/null
+++ b/include/video/omap-panel-data.h
@@ -0,0 +1,103 @@
1/*
2 * Header containing platform_data structs for omap panels
3 *
4 * Copyright (C) 2013 Texas Instruments
5 * Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
6 * Archit Taneja <archit@ti.com>
7 *
8 * Copyright (C) 2011 Texas Instruments
9 * Author: Mayuresh Janorkar <mayur@ti.com>
10 *
11 * Copyright (C) 2010 Canonical Ltd.
12 * Author: Bryan Wu <bryan.wu@canonical.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 version 2 as published by
16 * the Free Software Foundation.
17 *
18 * This program is distributed in the hope that it will be useful, but WITHOUT
19 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
21 * more details.
22 *
23 * You should have received a copy of the GNU General Public License along with
24 * this program. If not, see <http://www.gnu.org/licenses/>.
25 */
26
27#ifndef __OMAP_PANEL_DATA_H
28#define __OMAP_PANEL_DATA_H
29
30struct omap_dss_device;
31
32/**
33 * struct panel_generic_dpi_data - panel driver configuration data
34 * @name: panel name
35 * @platform_enable: platform specific panel enable function
36 * @platform_disable: platform specific panel disable function
37 */
38struct panel_generic_dpi_data {
39 const char *name;
40 int (*platform_enable)(struct omap_dss_device *dssdev);
41 void (*platform_disable)(struct omap_dss_device *dssdev);
42};
43
44/**
45 * struct panel_n8x0_data - N800 panel driver configuration data
46 */
47struct panel_n8x0_data {
48 int (*platform_enable)(struct omap_dss_device *dssdev);
49 void (*platform_disable)(struct omap_dss_device *dssdev);
50 int panel_reset;
51 int ctrl_pwrdown;
52
53 int (*set_backlight)(struct omap_dss_device *dssdev, int level);
54};
55
56/**
57 * struct nokia_dsi_panel_data - Nokia DSI panel driver configuration data
58 * @name: panel name
59 * @use_ext_te: use external TE
60 * @ext_te_gpio: external TE GPIO
61 * @esd_interval: interval of ESD checks, 0 = disabled (ms)
62 * @ulps_timeout: time to wait before entering ULPS, 0 = disabled (ms)
63 * @use_dsi_backlight: true if panel uses DSI command to control backlight
64 * @pin_config: DSI pin configuration
65 */
66
67struct nokia_dsi_panel_data {
68 const char *name;
69
70 int reset_gpio;
71
72 bool use_ext_te;
73 int ext_te_gpio;
74
75 unsigned esd_interval;
76 unsigned ulps_timeout;
77
78 bool use_dsi_backlight;
79
80 struct omap_dsi_pin_config pin_config;
81};
82
83/**
84 * struct picodlp_panel_data - picodlp panel driver configuration data
85 * @picodlp_adapter_id: i2c_adapter number for picodlp
86 */
87struct picodlp_panel_data {
88 int picodlp_adapter_id;
89 int emu_done_gpio;
90 int pwrgood_gpio;
91};
92
93/**
94 * struct tfp410_platform_data - tfp410 panel driver configuration data
95 * @i2c_bus_num: i2c bus id for the panel
96 * @power_down_gpio: gpio number for PD pin (or -1 if not available)
97 */
98struct tfp410_platform_data {
99 int i2c_bus_num;
100 int power_down_gpio;
101};
102
103#endif /* __OMAP_PANEL_DATA_H */