]>
Commit | Line | Data |
---|---|---|
a0d8dde9 AT |
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 | ||
dbc23840 | 30 | #include <video/omapdss.h> |
04f0ff02 TV |
31 | #include <video/display_timing.h> |
32 | ||
a0d8dde9 AT |
33 | struct omap_dss_device; |
34 | ||
35 | /** | |
36 | * struct panel_generic_dpi_data - panel driver configuration data | |
37 | * @name: panel name | |
38 | * @platform_enable: platform specific panel enable function | |
39 | * @platform_disable: platform specific panel disable function | |
c3f80cbc TV |
40 | * @num_gpios: number of gpios connected to panel |
41 | * @gpios: gpio numbers on the platform | |
42 | * @gpio_invert: configure gpio as active high or low | |
a0d8dde9 AT |
43 | */ |
44 | struct panel_generic_dpi_data { | |
45 | const char *name; | |
46 | int (*platform_enable)(struct omap_dss_device *dssdev); | |
47 | void (*platform_disable)(struct omap_dss_device *dssdev); | |
c3f80cbc TV |
48 | |
49 | int num_gpios; | |
50 | int gpios[10]; | |
51 | bool gpio_invert[10]; | |
a0d8dde9 AT |
52 | }; |
53 | ||
54 | /** | |
55 | * struct panel_n8x0_data - N800 panel driver configuration data | |
56 | */ | |
57 | struct panel_n8x0_data { | |
58 | int (*platform_enable)(struct omap_dss_device *dssdev); | |
59 | void (*platform_disable)(struct omap_dss_device *dssdev); | |
60 | int panel_reset; | |
61 | int ctrl_pwrdown; | |
a0d8dde9 AT |
62 | }; |
63 | ||
64 | /** | |
65 | * struct nokia_dsi_panel_data - Nokia DSI panel driver configuration data | |
66 | * @name: panel name | |
67 | * @use_ext_te: use external TE | |
68 | * @ext_te_gpio: external TE GPIO | |
69 | * @esd_interval: interval of ESD checks, 0 = disabled (ms) | |
70 | * @ulps_timeout: time to wait before entering ULPS, 0 = disabled (ms) | |
71 | * @use_dsi_backlight: true if panel uses DSI command to control backlight | |
72 | * @pin_config: DSI pin configuration | |
73 | */ | |
74 | ||
75 | struct nokia_dsi_panel_data { | |
76 | const char *name; | |
77 | ||
78 | int reset_gpio; | |
79 | ||
80 | bool use_ext_te; | |
81 | int ext_te_gpio; | |
82 | ||
83 | unsigned esd_interval; | |
84 | unsigned ulps_timeout; | |
85 | ||
86 | bool use_dsi_backlight; | |
87 | ||
88 | struct omap_dsi_pin_config pin_config; | |
89 | }; | |
90 | ||
91 | /** | |
92 | * struct picodlp_panel_data - picodlp panel driver configuration data | |
93 | * @picodlp_adapter_id: i2c_adapter number for picodlp | |
94 | */ | |
95 | struct picodlp_panel_data { | |
96 | int picodlp_adapter_id; | |
97 | int emu_done_gpio; | |
98 | int pwrgood_gpio; | |
99 | }; | |
100 | ||
101 | /** | |
102 | * struct tfp410_platform_data - tfp410 panel driver configuration data | |
103 | * @i2c_bus_num: i2c bus id for the panel | |
104 | * @power_down_gpio: gpio number for PD pin (or -1 if not available) | |
105 | */ | |
106 | struct tfp410_platform_data { | |
107 | int i2c_bus_num; | |
108 | int power_down_gpio; | |
109 | }; | |
110 | ||
c3f80cbc TV |
111 | /** |
112 | * sharp ls panel driver configuration data | |
113 | * @resb_gpio: reset signal | |
114 | * @ini_gpio: power on control | |
115 | * @mo_gpio: selection for resolution(VGA/QVGA) | |
116 | * @lr_gpio: selection for horizontal scanning direction | |
117 | * @ud_gpio: selection for vertical scanning direction | |
118 | */ | |
119 | struct panel_sharp_ls037v7dw01_data { | |
120 | int resb_gpio; | |
121 | int ini_gpio; | |
122 | int mo_gpio; | |
123 | int lr_gpio; | |
124 | int ud_gpio; | |
125 | }; | |
126 | ||
127 | /** | |
128 | * acx565akm panel driver configuration data | |
129 | * @reset_gpio: reset signal | |
130 | */ | |
131 | struct panel_acx565akm_data { | |
132 | int reset_gpio; | |
133 | }; | |
134 | ||
135 | /** | |
136 | * nec nl8048 panel driver configuration data | |
137 | * @res_gpio: reset signal | |
138 | * @qvga_gpio: selection for resolution(QVGA/WVGA) | |
139 | */ | |
140 | struct panel_nec_nl8048_data { | |
141 | int res_gpio; | |
142 | int qvga_gpio; | |
143 | }; | |
144 | ||
145 | /** | |
146 | * tpo td043 panel driver configuration data | |
147 | * @nreset_gpio: reset signal | |
148 | */ | |
149 | struct panel_tpo_td043_data { | |
150 | int nreset_gpio; | |
151 | }; | |
152 | ||
2773fefb TV |
153 | /** |
154 | * encoder_tfp410 platform data | |
155 | * @name: name for this display entity | |
156 | * @power_down_gpio: gpio number for PD pin (or -1 if not available) | |
157 | * @data_lines: number of DPI datalines | |
158 | */ | |
159 | struct encoder_tfp410_platform_data { | |
160 | const char *name; | |
161 | const char *source; | |
162 | int power_down_gpio; | |
163 | int data_lines; | |
164 | }; | |
165 | ||
a0ee577f TV |
166 | /** |
167 | * encoder_tpd12s015 platform data | |
168 | * @name: name for this display entity | |
169 | * @ct_cp_hpd_gpio: CT_CP_HPD gpio number | |
170 | * @ls_oe_gpio: LS_OE gpio number | |
171 | * @hpd_gpio: HPD gpio number | |
172 | */ | |
173 | struct encoder_tpd12s015_platform_data { | |
174 | const char *name; | |
175 | const char *source; | |
176 | ||
177 | int ct_cp_hpd_gpio; | |
178 | int ls_oe_gpio; | |
179 | int hpd_gpio; | |
180 | }; | |
181 | ||
348077b1 TV |
182 | /** |
183 | * connector_dvi platform data | |
184 | * @name: name for this display entity | |
185 | * @source: name of the display entity used as a video source | |
186 | * @i2c_bus_num: i2c bus number to be used for reading EDID | |
187 | */ | |
188 | struct connector_dvi_platform_data { | |
189 | const char *name; | |
190 | const char *source; | |
191 | int i2c_bus_num; | |
192 | }; | |
193 | ||
3cb07ee6 TV |
194 | /** |
195 | * connector_hdmi platform data | |
196 | * @name: name for this display entity | |
197 | * @source: name of the display entity used as a video source | |
198 | */ | |
199 | struct connector_hdmi_platform_data { | |
200 | const char *name; | |
201 | const char *source; | |
202 | }; | |
203 | ||
61a7f24a TV |
204 | /** |
205 | * connector_atv platform data | |
206 | * @name: name for this display entity | |
207 | * @source: name of the display entity used as a video source | |
208 | * @connector_type: composite/svideo | |
209 | * @invert_polarity: invert signal polarity | |
210 | */ | |
211 | struct connector_atv_platform_data { | |
212 | const char *name; | |
213 | const char *source; | |
214 | ||
215 | enum omap_dss_venc_type connector_type; | |
216 | bool invert_polarity; | |
217 | }; | |
218 | ||
04f0ff02 TV |
219 | /** |
220 | * panel_dpi platform data | |
221 | * @name: name for this display entity | |
222 | * @source: name of the display entity used as a video source | |
223 | * @data_lines: number of DPI datalines | |
224 | * @display_timing: timings for this panel | |
225 | * @backlight_gpio: gpio to enable/disable the backlight (or -1) | |
226 | * @enable_gpio: gpio to enable/disable the panel (or -1) | |
227 | */ | |
228 | struct panel_dpi_platform_data { | |
229 | const char *name; | |
230 | const char *source; | |
231 | ||
232 | int data_lines; | |
233 | ||
234 | const struct display_timing *display_timing; | |
235 | ||
236 | int backlight_gpio; | |
237 | int enable_gpio; | |
238 | }; | |
239 | ||
dbc23840 TV |
240 | /** |
241 | * panel_dsicm platform data | |
242 | * @name: name for this display entity | |
243 | * @source: name of the display entity used as a video source | |
244 | * @reset_gpio: gpio to reset the panel (or -1) | |
245 | * @use_ext_te: use external TE GPIO | |
246 | * @ext_te_gpio: external TE GPIO | |
247 | * @ulps_timeout: time to wait before entering ULPS, 0 = disabled (ms) | |
248 | * @use_dsi_backlight: true if panel uses DSI command to control backlight | |
249 | * @pin_config: DSI pin configuration | |
250 | */ | |
251 | struct panel_dsicm_platform_data { | |
252 | const char *name; | |
253 | const char *source; | |
254 | ||
255 | int reset_gpio; | |
256 | ||
257 | bool use_ext_te; | |
258 | int ext_te_gpio; | |
259 | ||
260 | unsigned ulps_timeout; | |
261 | ||
262 | bool use_dsi_backlight; | |
263 | ||
264 | struct omap_dsi_pin_config pin_config; | |
265 | }; | |
266 | ||
a0d8dde9 | 267 | #endif /* __OMAP_PANEL_DATA_H */ |