blob: eb56bbf33cbf343ce8c5776d8a7fa9fef11cd1a1 [file] [log] [blame]
Vishnuvardhan Prodduturi4aa8dc42015-10-20 21:20:43 +05301/* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
Vineet Bajaj64b3f462014-07-24 21:23:36 +05302 *
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_SHARP_WQXGA_DUALDSI_VIDEO_H_
37#define _PANEL_SHARP_WQXGA_DUALDSI_VIDEO_H_
38/*---------------------------------------------------------------------------*/
39/* HEADER files */
40/*---------------------------------------------------------------------------*/
41#include "panel.h"
42
43/*---------------------------------------------------------------------------*/
44/* Panel configuration */
45/*---------------------------------------------------------------------------*/
46static struct panel_config sharp_wqxga_dualdsi_video_panel_data = {
Padmanabhan Komanduru9ae0a542015-04-27 13:57:03 -070047 "qcom,mdss_dsi_sharp_wqxga_video", "dsi:0:", "qcom,mdss-dsi-panel",
Vineet Bajaj64b3f462014-07-24 21:23:36 +053048 10, 0, "DISPLAY_1", 0, 0, 60, 0, 0, 1, 0, 0, 0, 0, 0, 25, 1, 0,
Padmanabhan Komanduru9ae0a542015-04-27 13:57:03 -070049 "qcom,mdss_dsi_sharp_wqxga_video"
Vineet Bajaj64b3f462014-07-24 21:23:36 +053050};
51
52/*---------------------------------------------------------------------------*/
53/* Panel resolution */
54/*---------------------------------------------------------------------------*/
55static struct panel_resolution sharp_wqxga_dualdsi_video_panel_res = {
Anusha Kodurua8988f02014-09-16 13:13:33 +053056 1600, 2560, 76, 32, 16, 0, 2, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
Vineet Bajaj64b3f462014-07-24 21:23:36 +053057};
58
59/*---------------------------------------------------------------------------*/
60/* Panel color information */
61/*---------------------------------------------------------------------------*/
62static struct color_info sharp_wqxga_dualdsi_video_color = {
63 24, 0, 0xff, 0, 0, 0
64};
65
66/*---------------------------------------------------------------------------*/
67/* Panel on/off command information */
68/*---------------------------------------------------------------------------*/
69static char sharp_wqxga_dualdsi_video_on_cmd0[] = {
Dhaval Patelc0ce7dd2014-08-12 11:48:54 -070070 0x11, 0x00, 0x05, 0x80
Vineet Bajaj64b3f462014-07-24 21:23:36 +053071};
72
73static char sharp_wqxga_dualdsi_video_on_cmd1[] = {
Dhaval Patelc0ce7dd2014-08-12 11:48:54 -070074 0x29, 0x00, 0x05, 0x80
Vineet Bajaj64b3f462014-07-24 21:23:36 +053075};
76
77static struct mipi_dsi_cmd sharp_wqxga_dualdsi_video_on_command[] = {
Dhaval Patelc0ce7dd2014-08-12 11:48:54 -070078 {0x4, sharp_wqxga_dualdsi_video_on_cmd0, 0x0a},
Siddhartha Agrawal49e38752014-11-03 14:37:32 -080079 {0x4, sharp_wqxga_dualdsi_video_on_cmd1, 0x02}
Vineet Bajaj64b3f462014-07-24 21:23:36 +053080};
81
82#define SHARP_WQXGA_DUALDSI_VIDEO_ON_COMMAND 2
83
84
85static char sharp_wqxga_dualdsi_videooff_cmd0[] = {
86 0x28, 0x00, 0x05, 0x80
87};
88
89static char sharp_wqxga_dualdsi_videooff_cmd1[] = {
90 0x10, 0x00, 0x05, 0x80
91};
92
Dhaval Patelc0ce7dd2014-08-12 11:48:54 -070093static struct mipi_dsi_cmd sharp_wqxga_dualdsi_video_off_command[] = {
94 {0x4, sharp_wqxga_dualdsi_videooff_cmd0, 0x32},
95 {0x4, sharp_wqxga_dualdsi_videooff_cmd1, 0x78}
96};
97
98#define SHARP_WQXGA_DUALDSI_VIDEO_OFF_COMMAND 2
Vineet Bajaj64b3f462014-07-24 21:23:36 +053099
100static struct command_state sharp_wqxga_dualdsi_video_state = {
101 0, 1
102};
103
104/*---------------------------------------------------------------------------*/
105/* Command mode panel information */
106/*---------------------------------------------------------------------------*/
107static struct commandpanel_info sharp_wqxga_dualdsi_video_command_panel = {
108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
109};
110
111/*---------------------------------------------------------------------------*/
112/* Video mode panel information */
113/*---------------------------------------------------------------------------*/
114static struct videopanel_info sharp_wqxga_dualdsi_video_video_panel = {
115 0, 0, 0, 0, 1, 1, 1, 0, 0x9
116};
117
118/*---------------------------------------------------------------------------*/
119/* Lane configuration */
120/*---------------------------------------------------------------------------*/
121static struct lane_configuration sharp_wqxga_dualdsi_video_lane_config = {
Ray Zhang0d303af2015-01-21 10:17:02 +0800122 4, 0, 1, 1, 1, 1, 0
Vineet Bajaj64b3f462014-07-24 21:23:36 +0530123};
124
125/*---------------------------------------------------------------------------*/
126/* Panel timing */
127/*---------------------------------------------------------------------------*/
128static const uint32_t sharp_wqxga_dualdsi_video_timings[] = {
Anusha Kodurua8988f02014-09-16 13:13:33 +0530129 0xe2, 0x36, 0x24, 0x00, 0x66, 0x6a, 0x28, 0x38, 0x2a, 0x03, 0x04, 0x00
Vineet Bajaj64b3f462014-07-24 21:23:36 +0530130};
131
Dhaval Patel5657da92015-03-16 11:11:23 -0700132static const uint32_t sharp_wqxga_dualdsi_thulium_video_timings[] = {
133 0x23, 0x20, 0x06, 0x09, 0x05, 0x03, 0x04, 0xa0,
134 0x23, 0x20, 0x06, 0x09, 0x05, 0x03, 0x04, 0xa0,
135 0x23, 0x20, 0x06, 0x09, 0x05, 0x03, 0x04, 0xa0,
136 0x23, 0x20, 0x06, 0x09, 0x05, 0x03, 0x04, 0xa0,
137 0x23, 0x2e, 0x06, 0x08, 0x05, 0x03, 0x04, 0xa0
138};
139
Vineet Bajaj64b3f462014-07-24 21:23:36 +0530140static struct panel_timing sharp_wqxga_dualdsi_video_timing_info = {
Anusha Kodurua8988f02014-09-16 13:13:33 +0530141 0x0, 0x04, 0x02, 0x2a
Vineet Bajaj64b3f462014-07-24 21:23:36 +0530142};
143
144/*---------------------------------------------------------------------------*/
145/* Panel reset sequence */
146/*---------------------------------------------------------------------------*/
147static struct panel_reset_sequence sharp_wqxga_dualdsi_video_reset_seq = {
Siddhartha Agrawal49e38752014-11-03 14:37:32 -0800148 {1, 0, 1, }, {2, 5, 120, }, 2
Vineet Bajaj64b3f462014-07-24 21:23:36 +0530149};
150
151/*---------------------------------------------------------------------------*/
152/* Backlight setting */
153/*---------------------------------------------------------------------------*/
154static struct backlight sharp_wqxga_dualdsi_video_backlight = {
Dhaval Patelc0ce7dd2014-08-12 11:48:54 -0700155 1, 1, 4095, 100, 1, "PMIC_8941" /* BL_WLED */
Vineet Bajaj64b3f462014-07-24 21:23:36 +0530156};
157
Kuogee Hsieh099022f2014-12-05 15:43:40 -0800158static struct labibb_desc sharp_wqxga_dualdsi_video_labibb = {
Vishnuvardhan Prodduturi4aa8dc42015-10-20 21:20:43 +0530159 0, 1, 5500000, 5500000, 5500000, 5500000, 3, 3, 1, 0
Kuogee Hsieh099022f2014-12-05 15:43:40 -0800160};
161
Huaibin Yang6ea820d2014-11-08 12:50:13 -0800162/*---------------------------------------------------------------------------*/
163/* Dynamic fps supported frequencies by panel */
164/*---------------------------------------------------------------------------*/
165static const struct dfps_panel_info sharp_wqxga_dualdsi_video_dfps = {
Jeevan Shriram3532f6c2015-09-13 23:51:05 -0700166 1, 9, {48, 53, 54, 55, 56, 57, 58, 59, 60}
Huaibin Yang6ea820d2014-11-08 12:50:13 -0800167};
168
Ujwal Patele85d4e92015-08-16 14:03:37 -0700169/* 2LM + 2CTL */
170struct topology_config sharp_wqxga_dualdsi_video_config0 = {
171 "config0", {800, 800}, 0, NULL, false
172};
173
174/* 1LM + 1CTL + PP_SPLIT */
175struct topology_config sharp_wqxga_dualdsi_video_config1 = {
176 "config1", {-1, -1}, 0, NULL, true
177};
178
Vineet Bajaj64b3f462014-07-24 21:23:36 +0530179#define SHARP_WQXGA_DUALDSI_VIDEO_SIGNATURE 0x210000
180
Vineet Bajaj64b3f462014-07-24 21:23:36 +0530181#endif /*_PANEL_SHARP_WQXGA_DUALDSI_VIDEO_H_*/