aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/emgd/emgd/pal/sdvo/sdvo_attr.h
blob: f0e07e44b385c6f7e645766324587d8506b304a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/* -*- pse-c -*-
 *-----------------------------------------------------------------------------
 * Filename: sdvo_attr.h
 * $Revision: 1.4 $
 *-----------------------------------------------------------------------------
 * Copyright © 2002-2010, Intel Corporation.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU General Public License,
 * version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
 *
 *-----------------------------------------------------------------------------
 * Description:
 *  Definitions for display attribute
 *-----------------------------------------------------------------------------
 */

#ifndef _SDVO_ATTR_H_
#define _SDVO_ATTR_H_

unsigned long sdvo_get_static_attrs(sdvo_device_context_t *p_ctx,   pd_attr_t *p_attr);
sdvo_status_t sdvo_query_static_attr(sdvo_device_context_t *p_ctx,  pd_attr_t *p_attr);
sdvo_status_t sdvo_alter_static_attr(sdvo_device_context_t *p_ctx,  pd_attr_t *p_attr,
	unsigned long new_value);

unsigned long sdvo_get_panel_pwr_seq_attrs(sdvo_device_context_t *p_ctx,   pd_range_attr_t *p_attr);
sdvo_status_t sdvo_query_panel_pwr_seq_attr(sdvo_device_context_t *p_ctx,  pd_range_attr_t *p_attr);
sdvo_status_t sdvo_alter_panel_pwr_seq_attr(sdvo_device_context_t *p_ctx,  pd_range_attr_t *p_attr,
	unsigned long new_value);

unsigned long sdvo_get_range_attrs(sdvo_device_context_t *p_ctx,   pd_range_attr_t *p_attr);
sdvo_status_t sdvo_query_range_attr(sdvo_device_context_t *p_ctx,  pd_range_attr_t *p_attr);
sdvo_status_t sdvo_alter_range_attr(sdvo_device_context_t *p_ctx,  pd_range_attr_t *p_attr,
	unsigned long new_value);

unsigned long sdvo_get_bool_attrs(sdvo_device_context_t *p_ctx,   pd_bool_attr_t *p_attr);
sdvo_status_t sdvo_query_bool_attr(sdvo_device_context_t *p_ctx,  pd_bool_attr_t *p_attr);
sdvo_status_t sdvo_alter_bool_attr(sdvo_device_context_t *p_ctx,  pd_bool_attr_t *p_attr,
	unsigned long new_value);

unsigned long sdvo_get_list_attrs(sdvo_device_context_t *p_ctx,   pd_list_attr_t *p_attr);
sdvo_status_t sdvo_query_list_attr(sdvo_device_context_t *p_ctx,  pd_list_attr_t *p_attr);
sdvo_status_t sdvo_alter_list_attr(sdvo_device_context_t *p_ctx,  pd_list_attr_t *p_attr,
	unsigned long new_value);

#ifndef CONFIG_MICRO
sdvo_status_t sdvo_set_tv_optimal_settings(sdvo_device_context_t *p_ctx, unsigned char chron_tv_code);
#endif

/*	.......................................................................... */
/*	Attribute Definitions */

typedef struct {

	unsigned long id;
	char *p_name;
	unsigned char num_bytes;
	unsigned char opcode_max, opcode_get, opcode_set;

} sdvo_range_attr_data_t;

typedef struct {

	unsigned long id;
	char *p_name;
	unsigned char bit_mask_cur, bit_mask_def;
	unsigned char opcode_get, opcode_set;

} sdvo_bool_attr_data_t;

typedef struct {
	unsigned long id;
	char *p_name;
	unsigned char reg_offset;
	unsigned char value;
} sdvo_attr_list_entry_t;

typedef struct {
	unsigned char num_entries;
	unsigned long id;
	char *p_name;
	unsigned char opcode_get, opcode_set;
	unsigned char bit_masks[8];
	sdvo_attr_list_entry_t *attr_list;
} sdvo_attr_list_header_t;

#ifndef CONFIG_MICRO
typedef struct {
	unsigned char tv_code;
	unsigned char hue;
	unsigned char saturation;
	unsigned char brightness;
	unsigned char contrast;
} sdvo_tv_optimal_settings_t;
#endif

#define PD_LVDS_COLOR_DEPTH_18	0
#define PD_LVDS_COLOR_DEPTH_24	1

#define PD_LVDS_CONNECTOR_SPWG		0
#define PD_LVDS_CONNECTOR_OPEN_LDI	1

#define PD_ANALOG_SRC_NO_DATA			0
#define PD_ANALOG_SRC_PRE_RECORDED		2
#define PD_ANALOG_SRC_NOT_PRE_RECORDED	3

#define PD_SCAN_NO_DATA 		0
#define PD_SCAN_OVERSCANNED 	1
#define PD_SCAN_UNDERSCANNED	2

#define PD_ASPECT_RATIO_NO_DATA 0
#define PD_ASPECT_RATIO_4_3 	1
#define PD_ASPECT_RATIO_16_9	2

#define PD_ACTIVE_FORMAT_NO_DATA							0
#define PD_ACTIVE_FORMAT_SQUARE_PIXELS						8
#define PD_ACTIVE_FORMAT_4_3_CENTER 						9
#define PD_ACTIVE_FORMAT_16_9_CENTER						10
#define PD_ACTIVE_FORMAT_14_9_CENTER						11
#define PD_ACTIVE_FORMAT_16_9_LETTERBOX_TOP 				2
#define PD_ACTIVE_FORMAT_14_9_LETTERBOX_TOP 				3
#define PD_ACTIVE_FORMAT_16_9_LETTERBOX_CENTER				4
#define PD_ACTIVE_FORMAT_4_3_SHOOT_PROTECT_14_9_CENTER		13
#define PD_ACTIVE_FORMAT_16_9_SHOOT_PROTECT_14_9_CENTER 	14
#define PD_ACTIVE_FORMAT_16_9_SHOOT_PROTECT_4_3_CENTER		15

#endif	/*	_SDVO_ATTR_H_ */