blob: e01b5621cdcb3899a8cfe3d155a9308f2e4505f1 [file] [log] [blame]
Ray Zhang0d303af2015-01-21 10:17:02 +08001/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
Gustavo Solairad36154c2014-10-22 15:40:20 -03002 *
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_SAMSUNG_WXGA_VIDEO_H_
37#define _PANEL_SAMSUNG_WXGA_VIDEO_H_
38/*---------------------------------------------------------------------------*/
39/* HEADER files */
40/*---------------------------------------------------------------------------*/
41#include "panel.h"
42
43/*---------------------------------------------------------------------------*/
44/* Panel configuration */
45/*---------------------------------------------------------------------------*/
46static struct panel_config samsung_wxga_video_panel_data = {
47 "qcom,mdss_dsi_samsung_wxga_video", "dsi:0:", "qcom,mdss-dsi-panel",
48 10, 0, "DISPLAY_1", 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1
49};
50
51/*---------------------------------------------------------------------------*/
52/* Panel resolution */
53/*---------------------------------------------------------------------------*/
54static struct panel_resolution samsung_wxga_video_panel_res = {
55 800, 1280, 16, 140, 14, 0, 8, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0
56};
57
58/*---------------------------------------------------------------------------*/
59/* Panel color information */
60/*---------------------------------------------------------------------------*/
61static struct color_info samsung_wxga_video_color = {
62 24, 0, 0xff, 0, 0, 0
63};
64
65/*---------------------------------------------------------------------------*/
66/* Panel on/off command information */
67/*---------------------------------------------------------------------------*/
68static char samsung_wxga_video_on_cmd0[] = {
69 0x03, 0x00, 0x39, 0xC0,
70 0xF0, 0x5A, 0x5A, 0xFF,
71};
72
73static char samsung_wxga_video_on_cmd1[] = {
74 0x03, 0x00, 0x39, 0xC0,
75 0xF1, 0x5A, 0x5A, 0xFF,
76};
77
78static char samsung_wxga_video_on_cmd2[] = {
79 0x03, 0x00, 0x39, 0xC0,
80 0xFC, 0xA5, 0xA5, 0xFF,
81};
82
83static char samsung_wxga_video_on_cmd3[] = {
84 0x03, 0x00, 0x39, 0xC0,
85 0xD0, 0x00, 0x10, 0xFF,
86};
87
88static char samsung_wxga_video_on_cmd4[] = {
89 0x03, 0x00, 0x39, 0xC0,
90 0xB1, 0x10, 0xA0, 0xFF,
91};
92
93static char samsung_wxga_video_on_cmd5[] = {
94 0x04, 0x00, 0x39, 0xC0,
95 0xC3, 0x40, 0x00, 0x28,
96};
97
98static char samsung_wxga_video_on_cmd6[] = {
99 0x36, 0x04, 0x05, 0x80
100};
101
102static char samsung_wxga_video_on_cmd7[] = {
103 0x07, 0x00, 0x39, 0xC0,
104 0xF6, 0x63, 0x20, 0x86,
105 0x00, 0x00, 0x10, 0xFF,
106};
107
108static char samsung_wxga_video_on_cmd8[] = {
109 0x11, 0x00, 0x05, 0x80
110};
111
112static char samsung_wxga_video_on_cmd9[] = {
113 0x36, 0x00, 0x05, 0x80
114};
115
116static char samsung_wxga_video_on_cmd10[] = {
117 0x03, 0x00, 0x39, 0xC0,
118 0xF0, 0x5A, 0x5A, 0xFF,
119};
120
121static char samsung_wxga_video_on_cmd11[] = {
122 0x03, 0x00, 0x39, 0xC0,
123 0xF1, 0x5A, 0x5A, 0xFF,
124};
125
126static char samsung_wxga_video_on_cmd12[] = {
127 0x03, 0x00, 0x39, 0xC0,
128 0xFC, 0xA5, 0xA5, 0xFF,
129};
130
131static char samsung_wxga_video_on_cmd13[] = {
132 0x29, 0x00, 0x05, 0x80
133};
134
135static struct mipi_dsi_cmd samsung_wxga_video_on_command[] = {
136 {0x8, samsung_wxga_video_on_cmd0, 0x05},
137 {0x8, samsung_wxga_video_on_cmd1, 0x05},
138 {0x8, samsung_wxga_video_on_cmd2, 0x05},
139 {0x8, samsung_wxga_video_on_cmd3, 0x05},
140 {0x8, samsung_wxga_video_on_cmd4, 0x05},
141 {0x8, samsung_wxga_video_on_cmd5, 0x14},
142 {0x4, samsung_wxga_video_on_cmd6, 0x00},
143 {0xc, samsung_wxga_video_on_cmd7, 0x00},
144 {0x4, samsung_wxga_video_on_cmd8, 0x96},
145 {0x4, samsung_wxga_video_on_cmd9, 0x00},
146 {0x8, samsung_wxga_video_on_cmd10, 0x05},
147 {0x8, samsung_wxga_video_on_cmd11, 0x05},
148 {0x8, samsung_wxga_video_on_cmd12, 0x05},
149 {0x4, samsung_wxga_video_on_cmd13, 0x32}
150};
151
152#define SAMSUNG_WXGA_VIDEO_ON_COMMAND 14
153
154
155static char samsung_wxga_videooff_cmd0[] = {
156 0x28, 0x00, 0x05, 0x80
157};
158
159static char samsung_wxga_videooff_cmd1[] = {
160 0x04, 0x00, 0x39, 0xC0,
161 0xC3, 0x40, 0x00, 0x20,
162};
163
164static char samsung_wxga_videooff_cmd2[] = {
165 0x10, 0x00, 0x05, 0x80
166};
167
168static struct mipi_dsi_cmd samsung_wxga_video_off_command[] = {
169 {0x4, samsung_wxga_videooff_cmd0, 0x32},
170 {0x8, samsung_wxga_videooff_cmd1, 0x00},
171 {0x4, samsung_wxga_videooff_cmd2, 0x96}
172};
173
174#define SAMSUNG_WXGA_VIDEO_OFF_COMMAND 3
175
176
177static struct command_state samsung_wxga_video_state = {
178 0, 1
179};
180
181/*---------------------------------------------------------------------------*/
182/* Command mode panel information */
183/*---------------------------------------------------------------------------*/
184static struct commandpanel_info samsung_wxga_video_command_panel = {
185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
186};
187
188/*---------------------------------------------------------------------------*/
189/* Video mode panel information */
190/*---------------------------------------------------------------------------*/
191static struct videopanel_info samsung_wxga_video_video_panel = {
192 1, 0, 0, 0, 1, 1, 2, 0, 0x9
193};
194
195/*---------------------------------------------------------------------------*/
196/* Lane configuration */
197/*---------------------------------------------------------------------------*/
198static struct lane_configuration samsung_wxga_video_lane_config = {
Ray Zhang0d303af2015-01-21 10:17:02 +0800199 4, 0, 1, 1, 1, 1, 0
Gustavo Solairad36154c2014-10-22 15:40:20 -0300200};
201
202/*---------------------------------------------------------------------------*/
203/* Panel timing */
204/*---------------------------------------------------------------------------*/
205static const uint32_t samsung_wxga_video_timings[] = {
206 0x92, 0x1A, 0x12, 0x00, 0x3E, 0x42, 0x16, 0x1E, 0x14, 0x03, 0x04, 0x00
207};
208
209static struct panel_timing samsung_wxga_video_timing_info = {
210 0, 4, 0x1E, 0x38
211};
212
213/*---------------------------------------------------------------------------*/
214/* Panel reset sequence */
215/*---------------------------------------------------------------------------*/
216static struct panel_reset_sequence samsung_wxga_video_reset_seq = {
217 {1, 0, 1, }, {10, 20, 20, }, 2
218};
219
220/*---------------------------------------------------------------------------*/
221/* Backlight setting */
222/*---------------------------------------------------------------------------*/
223static struct backlight samsung_wxga_video_backlight = {
224 0, 1, 255, 2, 0, "PMIC_8941"
225};
226
227#endif /*_PANEL_SAMSUNG_WXGA_VIDEO_H_*/