blob: e141a0c4b295ea86e20b4c0b4cc4684e37f67660 [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
42/*---------------------------------------------------------------------------*/
43/* struct definition */
44/*---------------------------------------------------------------------------*/
45typedef struct panel_struct{
Casey Piper5197f932013-08-14 17:27:29 -070046 struct panel_config *paneldata;
47 struct panel_resolution *panelres;
48 struct color_info *color;
49 struct videopanel_info *videopanel;
50 struct commandpanel_info *commandpanel;
51 struct command_state *state;
52 struct lane_configuration *laneconfig;
53 struct panel_timing *paneltiminginfo;
54 struct panel_reset_sequence *panelresetseq;
55 struct backlight *backlightinfo;
Arpita Banerjee841fa062013-05-24 14:59:51 -070056};
57
58
59/*---------------------------------------------------------------------------*/
60/* API */
61/*---------------------------------------------------------------------------*/
62int dsi_panel_init(struct msm_panel_info *pinfo,
63 struct panel_struct *pstruct);
64
65int dsi_panel_on();
66int dsi_panel_off();
67int dsi_panel_rotation();
68int dsi_panel_config(void *);
69
70/* This should be implemented by oem */
71int oem_panel_rotation();
72int oem_panel_on();
73int oem_panel_off();
74
75#endif /*_PLATFORM_DISPLAY_H_ */