blob: 1f08326c3a2912974a8e33b07156a9b2a63717ba [file] [log] [blame]
Arpita Banerjee841fa062013-05-24 14:59:51 -07001/* 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#ifndef _PANEL_DISPLAY_H_
31#define _PANEL_DISPLAY_H_
32
33/*---------------------------------------------------------------------------*/
34/* MACRO definition */
35/*---------------------------------------------------------------------------*/
36
37#define BPP_16 16
38#define BPP_18 18
39#define BPP_24 24
40
41#define TIMING_SIZE 48
Dhaval Patelee8675a2013-10-25 10:07:57 -070042
43#define DUAL_DSI_FLAG 0x1
44#define DUAL_PIPE_FLAG 0x2
45#define PIPE_SWAP_FLAG 0x4
46#define SPLIT_DISPLAY_FLAG 0x8
Arpita Banerjee841fa062013-05-24 14:59:51 -070047/*---------------------------------------------------------------------------*/
48/* struct definition */
49/*---------------------------------------------------------------------------*/
50typedef struct panel_struct{
Casey Piper5197f932013-08-14 17:27:29 -070051 struct panel_config *paneldata;
52 struct panel_resolution *panelres;
53 struct color_info *color;
54 struct videopanel_info *videopanel;
55 struct commandpanel_info *commandpanel;
56 struct command_state *state;
57 struct lane_configuration *laneconfig;
58 struct panel_timing *paneltiminginfo;
59 struct panel_reset_sequence *panelresetseq;
60 struct backlight *backlightinfo;
Arpita Banerjee841fa062013-05-24 14:59:51 -070061};
62
63
64/*---------------------------------------------------------------------------*/
65/* API */
66/*---------------------------------------------------------------------------*/
67int dsi_panel_init(struct msm_panel_info *pinfo,
68 struct panel_struct *pstruct);
69
70int dsi_panel_on();
71int dsi_panel_off();
72int dsi_panel_rotation();
73int dsi_panel_config(void *);
74
75/* This should be implemented by oem */
76int oem_panel_rotation();
77int oem_panel_on();
78int oem_panel_off();
79
80#endif /*_PLATFORM_DISPLAY_H_ */