blob: 6a5883428d836a0058fc72abbe560ad6a1046862 [file] [log] [blame]
shuoy818a43a2013-09-03 18:13:52 +08001/* Copyright (c) 2013, The Linux Foundation. All rights reserved.
2 *
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions
5 * are 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 copyright
9 * notice, this list of conditions and the following disclaimer in
10 * the documentation and/or other materials provided with the
11 * 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 BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
19 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
20 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
22 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
23 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
24 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
25 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
26 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 */
29
30/*---------------------------------------------------------------------------
31 * This file is autogenerated file using gcdb parser. Please do not edit it.
32 * Update input XML file to add a new entry or update variable in this file
33 * VERSION = "1.0"
34 *---------------------------------------------------------------------------*/
35
36#ifndef _PANEL_HX8379A_WVGA_VIDEO_H_
37
38#define _PANEL_HX8379A_WVGA_VIDEO_H_
39/*---------------------------------------------------------------------------*/
40/* HEADER files */
41/*---------------------------------------------------------------------------*/
42#include "panel.h"
43
44/*---------------------------------------------------------------------------*/
45/* Panel configuration */
46/*---------------------------------------------------------------------------*/
47
48static struct panel_config hx8379a_wvga_video_panel_data = {
49 "qcom,mdss_dsi_hx8379a_wvga_video", "dsi:0:", "qcom,mdss-dsi-panel",
50 10, 0, "DISPLAY_1", 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
51};
52
53/*---------------------------------------------------------------------------*/
54/* Panel resolution */
55/*---------------------------------------------------------------------------*/
56static struct panel_resolution hx8379a_wvga_video_panel_res = {
57 480, 800, 94, 100, 40, 0, 6, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0
58};
59
60/*---------------------------------------------------------------------------*/
61/* Panel Color Information */
62/*---------------------------------------------------------------------------*/
63static struct color_info hx8379a_wvga_video_color = {
64 24, 0, 0xff, 0, 0, 0
65};
66
67/*---------------------------------------------------------------------------*/
68/* Panel Command information */
69/*---------------------------------------------------------------------------*/
70static char hx8379a_wvga_video_on_cmd0[] = {
710x04, 0x00, 0x39, 0xC0,
720xB9, 0xFF, 0x83, 0x79,
73 };
74
75
76static char hx8379a_wvga_video_on_cmd1[] = {
770x03, 0x00, 0x39, 0xC0,
780xBA, 0x51, 0x93, 0xFF, };
79
80
81static char hx8379a_wvga_video_on_cmd2[] = {
820x14, 0x00, 0x39, 0xC0,
830xB1, 0x00, 0x50, 0x44,
840xEA, 0x8D, 0x08, 0x11,
850x11, 0x11, 0x27, 0x2F,
860x9A, 0x1A, 0x42, 0x0B,
870x6E, 0xF1, 0x00, 0xE6,
88 };
89
90
91static char hx8379a_wvga_video_on_cmd3[] = {
920x0E, 0x00, 0x39, 0xC0,
930xB2, 0x00, 0x00, 0x3C,
940x08, 0x04, 0x19, 0x22,
950x00, 0xFF, 0x08, 0x04,
960x19, 0x20, 0xFF, 0xFF, };
97
98
99static char hx8379a_wvga_video_on_cmd4[] = {
1000x20, 0x00, 0x39, 0xC0,
shuoy732246c2013-09-25 16:30:41 +08001010xB4, 0x80, 0x08, 0x00,
shuoy818a43a2013-09-03 18:13:52 +08001020x32, 0x10, 0x03, 0x32,
1030x13, 0x70, 0x32, 0x10,
1040x08, 0x37, 0x01, 0x28,
1050x07, 0x37, 0x08, 0x35,
1060x08, 0x3D, 0x44, 0x08,
1070x00, 0x40, 0x08, 0x28,
1080x08, 0x30, 0x30, 0x04,
109 };
110
111
112static char hx8379a_wvga_video_on_cmd5[] = {
1130x30, 0x00, 0x39, 0xC0,
1140xD5, 0x00, 0x00, 0x0A,
1150x00, 0x01, 0x05, 0x00,
1160x03, 0x00, 0x88, 0x88,
1170x88, 0x88, 0x23, 0x01,
1180x67, 0x45, 0x02, 0x13,
1190x88, 0x88, 0x88, 0x88,
1200x88, 0x88, 0x88, 0x88,
1210x88, 0x88, 0x54, 0x76,
1220x10, 0x32, 0x31, 0x20,
1230x88, 0x88, 0x88, 0x88,
1240x88, 0x88, 0x00, 0x00,
1250x00, 0x00, 0x00, 0x00,
126 };
127
128
129static char hx8379a_wvga_video_on_cmd6[] = {
1300x24, 0x00, 0x39, 0xC0,
1310xE0, 0x79, 0x05, 0x0F,
1320x14, 0x26, 0x20, 0x3F,
1330x2A, 0x43, 0x04, 0x0C,
1340x11, 0x15, 0x17, 0x15,
1350x15, 0x10, 0x13, 0x05,
1360x0F, 0x14, 0x26, 0x20,
1370x3F, 0x2A, 0x43, 0x04,
1380x0C, 0x11, 0x15, 0x17,
1390x15, 0x15, 0x10, 0x13,
140 };
141
142
143static char hx8379a_wvga_video_on_cmd7[] = {
1440xcc, 0x02, 0x23, 0x80 };
145
146
147static char hx8379a_wvga_video_on_cmd8[] = {
1480x05, 0x00, 0x39, 0xC0,
1490xB6, 0x00, 0x9C, 0x00,
1500x9C, 0xFF, 0xFF, 0xFF, };
151
152
153static char hx8379a_wvga_video_on_cmd9[] = {
1540x11, 0x00, 0x05, 0x80 };
155
156
157static char hx8379a_wvga_video_on_cmd10[] = {
1580x29, 0x00, 0x05, 0x80 };
159
160
161
162
163static struct mipi_dsi_cmd hx8379a_wvga_video_on_command[] = {
shuoyfae61a92013-10-24 10:12:56 +0800164{ 0x8 , hx8379a_wvga_video_on_cmd0, 0x00},
165{ 0x8 , hx8379a_wvga_video_on_cmd1, 0x00},
166{ 0x18 , hx8379a_wvga_video_on_cmd2, 0x00},
167{ 0x14 , hx8379a_wvga_video_on_cmd3, 0x00},
168{ 0x24 , hx8379a_wvga_video_on_cmd4, 0x00},
169{ 0x34 , hx8379a_wvga_video_on_cmd5, 0x00},
170{ 0x28 , hx8379a_wvga_video_on_cmd6, 0x00},
171{ 0x4 , hx8379a_wvga_video_on_cmd7, 0x00},
172{ 0xc , hx8379a_wvga_video_on_cmd8, 0x00},
173{ 0x4 , hx8379a_wvga_video_on_cmd9, 0x96},
174{ 0x4 , hx8379a_wvga_video_on_cmd10, 0x78}
shuoy818a43a2013-09-03 18:13:52 +0800175};
176#define HX8379A_WVGA_VIDEO_ON_COMMAND 11
177
178
179static char hx8379a_wvga_videooff_cmd0[] = {
1800x28, 0x00, 0x05, 0x80 };
181
182
183static char hx8379a_wvga_videooff_cmd1[] = {
1840x10, 0x00, 0x05, 0x80 };
185
186
187
188
189static struct mipi_dsi_cmd hx8379a_wvga_video_off_command[] = {
190{ 0x4 , hx8379a_wvga_videooff_cmd0},
191{ 0x4 , hx8379a_wvga_videooff_cmd1}
192};
193#define HX8379A_WVGA_VIDEO_OFF_COMMAND 2
194
195
196static struct command_state hx8379a_wvga_video_state = {
197 0, 0
198};
199
200/*---------------------------------------------------------------------------*/
201/* Command mode panel information */
202/*---------------------------------------------------------------------------*/
203
204static struct commandpanel_info hx8379a_wvga_video_command_panel = {
205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
206};
207
208/*---------------------------------------------------------------------------*/
209/* Video mode panel information */
210/*---------------------------------------------------------------------------*/
211
212static struct videopanel_info hx8379a_wvga_video_video_panel = {
213 1, 0, 0, 0, 1, 1, 2, 0, 0x9
214};
215
216/*---------------------------------------------------------------------------*/
217/* Lane Configuration */
218/*---------------------------------------------------------------------------*/
219
220static struct lane_configuration hx8379a_wvga_video_lane_config = {
221 2, 1, 1, 1, 0, 0
222};
223
224
225/*---------------------------------------------------------------------------*/
226/* Panel Timing */
227/*---------------------------------------------------------------------------*/
228static const uint32_t hx8379a_wvga_video_timings[] = {
229 0x78, 0x1B, 0x11, 0x00, 0x3E, 0x43, 0x16, 0x1E, 0x1D, 0x03, 0x04, 0x00
230};
231
232static struct panel_timing hx8379a_wvga_video_timing_info = {
233 0, 4, 0x04, 0x1b
234};
235
236/*---------------------------------------------------------------------------*/
237/* Panel Reset Sequence */
238/*---------------------------------------------------------------------------*/
239static struct panel_reset_sequence hx8379a_wvga_video_reset_seq = {
240 { 2, 0, 2, }, { 20, 2, 20, }, 2
241};
242
243/*---------------------------------------------------------------------------*/
244/* Backlight Settings */
245/*---------------------------------------------------------------------------*/
246
247static struct backlight hx8379a_wvga_video_backlight = {
248 0, 1, 255, 0, 1, 0
249};
250
251
252#endif /*_PANEL_HX8379A_WVGA_VIDEO_H_*/