blob: dab049bd3be6c545086b61e8661369348467bf5c [file] [log] [blame]
Vishnuvardhan Prodduturi4aa8dc42015-10-20 21:20:43 +05301/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
feifanza68db592015-08-19 13:04:50 +08002 *
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions are
5 * met:
6 * * Redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer.
8 * * Redistributions in binary form must reproduce the above
9 * copyright notice, this list of conditions and the following
10 * disclaimer in the documentation and/or other materials provided
11 * with the distribution.
12 * * Neither the name of The Linux Foundation nor the names of its
13 * contributors may be used to endorse or promote products derived
14 * from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef _PANEL_R69007_WQXGA_CMD_H_
30#define _PANEL_R69007_WQXGA_CMD_H_
31/*---------------------------------------------------------------------------*/
32/* HEADER files */
33/*---------------------------------------------------------------------------*/
34#include "panel.h"
35
36/*---------------------------------------------------------------------------*/
37/* Panel configuration */
38/*---------------------------------------------------------------------------*/
39static struct panel_config r69007_wqxga_cmd_panel_data = {
40 "qcom,mdss_dsi_r69007_wqxga_cmd", "dsi:0:", "qcom,mdss-dsi-panel",
41 10, 1, "DISPLAY_1", 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0,
42 "qcom,mdss_dsi_r69007_wqxga_cmd"
43};
44
45/*---------------------------------------------------------------------------*/
46/* Panel resolution */
47/*---------------------------------------------------------------------------*/
48static struct panel_resolution r69007_wqxga_cmd_panel_res = {
49 1440, 2560, 112, 70, 10, 0, 9, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
50};
51
52/*---------------------------------------------------------------------------*/
53/* Panel color information */
54/*---------------------------------------------------------------------------*/
55static struct color_info r69007_wqxga_cmd_color = {
56 24, 0, 0xff, 0, 0, 0
57};
58
59/*---------------------------------------------------------------------------*/
60/* Panel on/off command information */
61/*---------------------------------------------------------------------------*/
62static char r69007_wqxga_cmd_on_cmd0[] = {
63 0x02, 0x00, 0x29, 0xC0,
64 0xB0, 0x00, 0xFF, 0xFF,
65};
66
67static char r69007_wqxga_cmd_on_cmd1[] = {
68 0x04, 0x00, 0x29, 0xC0,
69 0xB3, 0x00, 0x00, 0x00,
70};
71
72static char r69007_wqxga_cmd_on_cmd2[] = {
73 0x04, 0x00, 0x29, 0xC0,
74 0xB6, 0x3b, 0xd3, 0x00,
75};
76
77static char r69007_wqxga_cmd_on_cmd3[] = {
78 0x28, 0x00, 0x29, 0xC0,
79 0xC1, 0x80, 0x08, 0x11,
80 0x1F, 0xFC, 0xF2, 0xC9,
81 0x1F, 0x5F, 0x98, 0xB3,
82 0xFE, 0xFF, 0xF7, 0xFE,
83 0xFF, 0xD7, 0x31, 0xF1,
84 0xCB, 0x3F, 0x3F, 0xFD,
85 0xEF, 0x03, 0x24, 0x69,
86 0x18, 0xAA, 0x40, 0x01,
87 0x42, 0x02, 0x08, 0x00,
88 0x01, 0x00, 0x01, 0x00,
89};
90
91static char r69007_wqxga_cmd_on_cmd4[] = {
92 0x0F, 0x00, 0x29, 0xC0,
93 0xC2, 0x01, 0xFA, 0x00,
94 0x04, 0x64, 0x08, 0x00,
95 0x60, 0x00, 0x38, 0x70,
96 0x00, 0x00, 0x00, 0xFF,
97};
98
99static char r69007_wqxga_cmd_on_cmd5[] = {
100 0x09, 0x00, 0x29, 0xC0,
101 0xC3, 0x07, 0x01, 0x08,
102 0x01, 0x00, 0x00, 0x00,
103 0x00, 0xFF, 0xFF, 0xFF,
104};
105
106static char r69007_wqxga_cmd_on_cmd6[] = {
107 0x12, 0x00, 0x29, 0xC0,
108 0xC4, 0x70, 0x00, 0x00,
109 0x00, 0x02, 0x00, 0x00,
110 0x00, 0x00, 0x02, 0x01,
111 0x00, 0x01, 0x01, 0x00,
112 0x00, 0x00, 0xFF, 0xFF,
113};
114
115static char r69007_wqxga_cmd_on_cmd7[] = {
116 0x11, 0x00, 0x29, 0xC0,
117 0xC6, 0x3C, 0x00, 0x3C,
118 0x02, 0x37, 0x01, 0x0E,
119 0x01, 0x02, 0x01, 0x02,
120 0x03, 0x0F, 0x04, 0x3C,
121 0x46, 0xFF, 0xFF, 0xFF,
122};
123
124static char r69007_wqxga_cmd_on_cmd8[] = {
125 0x1F, 0x00, 0x29, 0xC0,
126 0xC7, 0x00, 0x16, 0x22,
127 0x2C, 0x3B, 0x48, 0x51,
128 0x5D, 0x40, 0x47, 0x53,
129 0x61, 0x6A, 0x71, 0x78,
130 0x00, 0x16, 0x22, 0x2C,
131 0x3B, 0x48, 0x51, 0x5D,
132 0x40, 0x47, 0x53, 0x61,
133 0x6A, 0x71, 0x78, 0xFF,
134};
135
136static char r69007_wqxga_cmd_on_cmd9[] = {
137 0x14, 0x00, 0x29, 0xC0,
138 0xC8, 0x00, 0x00, 0x00,
139 0x00, 0x00, 0xFC, 0x00,
140 0x00, 0x00, 0x00, 0x00,
141 0xFC, 0x00, 0x00, 0x00,
142 0x00, 0x00, 0xFC, 0x00,
143};
144
145static char r69007_wqxga_cmd_on_cmd10[] = {
146 0x14, 0x00, 0x29, 0xC0,
147 0xC9, 0x00, 0x00, 0x00,
148 0x00, 0x00, 0xFC, 0x00,
149 0x00, 0x00, 0x00, 0x00,
150 0xFC, 0x00, 0x00, 0x00,
151 0x00, 0x00, 0xFC, 0x00,
152};
153
154static char r69007_wqxga_cmd_on_cmd11[] = {
155 0x14, 0x00, 0x29, 0xC0,
156 0xCB, 0xAA, 0x1E, 0xE3,
157 0x55, 0xF1, 0xFF, 0x00,
158 0x00, 0x00, 0x00, 0x00,
159 0x00, 0x00, 0x00, 0x00,
160 0x00, 0x00, 0x00, 0x00,
161};
162
163static char r69007_wqxga_cmd_on_cmd12[] = {
164 0x02, 0x00, 0x29, 0xC0,
165 0xCC, 0x07, 0xFF, 0xFF,
166};
167
168static char r69007_wqxga_cmd_on_cmd13[] = {
169 0x0B, 0x00, 0x29, 0xC0,
170 0xCD, 0x3A, 0x86, 0x3A,
171 0x86, 0x8D, 0x8D, 0x04,
172 0x04, 0x00, 0x00, 0xFF,
173};
174
175static char r69007_wqxga_cmd_on_cmd14[] = {
176 0x11, 0x00, 0x29, 0xC0,
177 0xD0, 0x2A, 0x01, 0x91,
178 0x6A, 0xDC, 0x59, 0x19,
179 0x00, 0x00, 0x00, 0x19,
180 0x99, 0x04, 0x00, 0x00,
181 0x00, 0xFF, 0xFF, 0xFF,
182};
183
184static char r69007_wqxga_cmd_on_cmd15[] = {
185 0x21, 0x00, 0x29, 0xC0,
186 0xD3, 0x1B, 0x3B, 0xBB,
187 0x77, 0x77, 0x77, 0xBB,
188 0xB3, 0x33, 0x00, 0x80,
189 0xA7, 0xAF, 0x5B, 0x5B,
190 0x33, 0x33, 0x33, 0xC0,
191 0x00, 0xF2, 0x0F, 0x7D,
192 0x7C, 0xFF, 0x0F, 0x99,
193 0x00, 0x33, 0x00, 0xFF,
194 0xFF, 0xFF, 0xFF, 0xFF,
195};
196
197static char r69007_wqxga_cmd_on_cmd16[] = {
198 0x06, 0x00, 0x29, 0xC0,
199 0xD4, 0x57, 0x33, 0x05,
200 0x00, 0xF4, 0xFF, 0xFF,
201};
202
203static char r69007_wqxga_cmd_on_cmd17[] = {
204 0x0C, 0x00, 0x29, 0xC0,
205 0xD5, 0x66, 0x00, 0x00,
206 0x01, 0x3D, 0x01, 0x3D,
207 0x00, 0x38, 0x00, 0x38,
208};
209
210static char r69007_wqxga_cmd_on_cmd18[] = {
211 0x22, 0x00, 0x29, 0xC0,
212 0xD7, 0x04, 0xff, 0x23,
213 0x15, 0x75, 0xa4, 0xc3,
214 0x1f, 0xc3, 0x1f, 0xd9,
215 0x07, 0x1c, 0x1f, 0x30,
216 0x8e, 0x87, 0xc7, 0xe3,
217 0xf1, 0xcc, 0xf0, 0x1f,
218 0xf0, 0x0d, 0x70, 0x00,
219 0x2A, 0x00, 0x7e, 0x1d,
220 0x07, 0x00, 0xFF, 0xFF,
221};
222
223static char r69007_wqxga_cmd_on_cmd19[] = {
224 0x05, 0x00, 0x29, 0xC0,
225 0xDE, 0x00, 0x3f, 0xff,
226 0x10, 0xFF, 0xFF, 0xFF,
227};
228
229static char r69007_wqxga_cmd_on_cmd20[] = {
230 0x02, 0x00, 0x29, 0xC0,
231 0xD6, 0x01, 0xFF, 0xFF,
232};
233
234static char r69007_wqxga_cmd_on_cmd21[] = {
235 0x02, 0x00, 0x39, 0xC0,
236 0x35, 0x00, 0xFF, 0xFF,
237};
238
239static char r69007_wqxga_cmd_on_cmd22[] = {
240 0x05, 0x00, 0x39, 0xC0,
241 0x2A, 0x00, 0x00, 0x05,
242 0x9F, 0xFF, 0xFF, 0xFF,
243};
244
245static char r69007_wqxga_cmd_on_cmd23[] = {
246 0x05, 0x00, 0x39, 0xC0,
247 0x2B, 0x00, 0x00, 0x09,
248 0xFF, 0xFF, 0xFF, 0xFF,
249};
250
251static char r69007_wqxga_cmd_on_cmd24[] = {
252 0x02, 0x00, 0x39, 0xC0,
253 0x2C, 0x00, 0xFF, 0xFF,
254};
255
256static char r69007_wqxga_cmd_on_cmd25[] = {
257 0x02, 0x00, 0x39, 0xC0,
258 0x36, 0x40, 0xFF, 0xFF,
259};
260
261static char r69007_wqxga_cmd_on_cmd26[] = {
262 0x29, 0x00, 0x05, 0x80
263};
264
265static char r69007_wqxga_cmd_on_cmd27[] = {
266 0x11, 0x00, 0x05, 0x80
267};
268
269static struct mipi_dsi_cmd r69007_wqxga_cmd_on_command[] = {
270 {0x8, r69007_wqxga_cmd_on_cmd0, 0x00},
271 {0x8, r69007_wqxga_cmd_on_cmd1, 0x00},
272 {0x8, r69007_wqxga_cmd_on_cmd2, 0x00},
273 {0x2c, r69007_wqxga_cmd_on_cmd3, 0x00},
274 {0x14, r69007_wqxga_cmd_on_cmd4, 0x00},
275 {0x10, r69007_wqxga_cmd_on_cmd5, 0x00},
276 {0x18, r69007_wqxga_cmd_on_cmd6, 0x00},
277 {0x18, r69007_wqxga_cmd_on_cmd7, 0x00},
278 {0x24, r69007_wqxga_cmd_on_cmd8, 0x00},
279 {0x18, r69007_wqxga_cmd_on_cmd9, 0x00},
280 {0x18, r69007_wqxga_cmd_on_cmd10, 0x00},
281 {0x18, r69007_wqxga_cmd_on_cmd11, 0x00},
282 {0x8, r69007_wqxga_cmd_on_cmd12, 0x00},
283 {0x10, r69007_wqxga_cmd_on_cmd13, 0x00},
284 {0x18, r69007_wqxga_cmd_on_cmd14, 0x00},
285 {0x28, r69007_wqxga_cmd_on_cmd15, 0x00},
286 {0xc, r69007_wqxga_cmd_on_cmd16, 0x00},
287 {0x10, r69007_wqxga_cmd_on_cmd17, 0x00},
288 {0x28, r69007_wqxga_cmd_on_cmd18, 0x00},
289 {0xc, r69007_wqxga_cmd_on_cmd19, 0x00},
290 {0x8, r69007_wqxga_cmd_on_cmd20, 0x00},
291 {0x8, r69007_wqxga_cmd_on_cmd21, 0x00},
292 {0xc, r69007_wqxga_cmd_on_cmd22, 0x00},
293 {0xc, r69007_wqxga_cmd_on_cmd23, 0x00},
294 {0x8, r69007_wqxga_cmd_on_cmd24, 0x00},
295 {0x8, r69007_wqxga_cmd_on_cmd25, 0x00},
296 {0x4, r69007_wqxga_cmd_on_cmd26, 0x78},
297 {0x4, r69007_wqxga_cmd_on_cmd27, 0x14}
298};
299
300#define R69007_WQXGA_CMD_ON_COMMAND 28
301
302
303static char r69007_wqxga_cmdoff_cmd0[] = {
304 0x28, 0x00, 0x05, 0x80
305};
306
307static char r69007_wqxga_cmdoff_cmd1[] = {
308 0x10, 0x00, 0x05, 0x80
309};
310
311static struct mipi_dsi_cmd r69007_wqxga_cmd_off_command[] = {
312 {0x4, r69007_wqxga_cmdoff_cmd0, 0x32},
313 {0x4, r69007_wqxga_cmdoff_cmd1, 0x78}
314};
315
316#define R69007_WQXGA_CMD_OFF_COMMAND 2
317
318
319static struct command_state r69007_wqxga_cmd_state = {
320 0, 1
321};
322
323/*---------------------------------------------------------------------------*/
324/* Command mode panel information */
325/*---------------------------------------------------------------------------*/
326static struct commandpanel_info r69007_wqxga_cmd_command_panel = {
327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
328};
329
330/*---------------------------------------------------------------------------*/
331/* Video mode panel information */
332/*---------------------------------------------------------------------------*/
333static struct videopanel_info r69007_wqxga_cmd_video_panel = {
334 1, 0, 0, 0, 1, 1, 2, 0, 0x9
335};
336
337/*---------------------------------------------------------------------------*/
338/* Lane configuration */
339/*---------------------------------------------------------------------------*/
340static struct lane_configuration r69007_wqxga_cmd_lane_config = {
341 4, 0, 1, 1, 1, 1, 0
342};
343
344/*---------------------------------------------------------------------------*/
345/* Panel timing */
346/*---------------------------------------------------------------------------*/
347static const uint32_t r69007_wqxga_cmd_timings[] = {
348 0xDA, 0x34, 0x24, 0x00, 0x64, 0x68, 0x28, 0x38, 0x2A, 0x03, 0x04, 0x00
349};
350
351static const uint32_t r69007_wqxga_thulium_cmd_timings[] = {
352 0x23, 0x1F, 0x07, 0x09, 0x05, 0x03, 0x04, 0xa0,
353 0x23, 0x1F, 0x07, 0x09, 0x05, 0x03, 0x04, 0xa0,
354 0x23, 0x1F, 0x07, 0x09, 0x05, 0x03, 0x04, 0xa0,
355 0x23, 0x1F, 0x07, 0x09, 0x05, 0x03, 0x04, 0xa0,
356 0x23, 0x19, 0x08, 0x08, 0x05, 0x03, 0x04, 0xa0
357};
358
359static struct panel_timing r69007_wqxga_cmd_timing_info = {
360 0x0, 0x04, 0x03, 0x29
361};
362
363/*---------------------------------------------------------------------------*/
364/* Panel reset sequence */
365/*---------------------------------------------------------------------------*/
366static struct panel_reset_sequence r69007_wqxga_cmd_reset_seq = {
367 {1, 0, 1, }, {2, 5, 120, }, 2
368};
369
370static struct labibb_desc r69007_wqxga_cmd_labibb = {
Vishnuvardhan Prodduturi4aa8dc42015-10-20 21:20:43 +0530371 0, 1, 5500000, 5500000, 5500000, 5500000, 3, 3, 1, 0
feifanza68db592015-08-19 13:04:50 +0800372};
373
374/*---------------------------------------------------------------------------*/
375/* Backlight setting */
376/*---------------------------------------------------------------------------*/
377static struct backlight r69007_wqxga_cmd_backlight = {
378 1, 1, 4095, 100, 1, "PMIC_8941"
379};
380
feifanz5494bdb2015-10-21 15:45:03 +0800381#define R69007_WQXGA_CMD_PANEL_ON_DELAY 60
382
feifanza68db592015-08-19 13:04:50 +0800383#endif /*_PANEL_R69007_WQXGA_CMD_H_*/