2
* Header file required by picodlp panel driver
4
* Copyright (C) 2009-2011 Texas Instruments
5
* Author: Mythri P K <mythripk@ti.com>
7
* This program is free software; you can redistribute it and/or modify it
8
* under the terms of the GNU General Public License version 2 as published by
9
* the Free Software Foundation.
11
* This program is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16
* You should have received a copy of the GNU General Public License along with
17
* this program. If not, see <http://www.gnu.org/licenses/>.
20
#ifndef __OMAP2_DISPLAY_PANEL_PICODLP_H
21
#define __OMAP2_DISPLAY_PANEL_PICODLP_H
23
/* Commands used for configuring picodlp panel */
25
#define MAIN_STATUS 0x03
26
#define PBC_CONTROL 0x08
27
#define INPUT_SOURCE 0x0B
28
#define INPUT_RESOLUTION 0x0C
29
#define DATA_FORMAT 0x0D
30
#define IMG_ROTATION 0x0E
31
#define LONG_FLIP 0x0F
32
#define SHORT_FLIP 0x10
33
#define TEST_PAT_SELECT 0x11
34
#define R_DRIVE_CURRENT 0x12
35
#define G_DRIVE_CURRENT 0x13
36
#define B_DRIVE_CURRENT 0x14
37
#define READ_REG_SELECT 0x15
38
#define RGB_DRIVER_ENABLE 0x16
40
#define CPU_IF_MODE 0x18
41
#define FRAME_RATE 0x19
42
#define CPU_IF_SYNC_METHOD 0x1A
43
#define CPU_IF_SOF 0x1B
44
#define CPU_IF_EOF 0x1C
45
#define CPU_IF_SLEEP 0x1D
47
#define SEQUENCE_MODE 0x1E
48
#define SOFT_RESET 0x1F
49
#define FRONT_END_RESET 0x21
50
#define AUTO_PWR_ENABLE 0x22
52
#define VSYNC_LINE_DELAY 0x23
53
#define CPU_PI_HORIZ_START 0x24
54
#define CPU_PI_VERT_START 0x25
55
#define CPU_PI_HORIZ_WIDTH 0x26
56
#define CPU_PI_VERT_HEIGHT 0x27
58
#define PIXEL_MASK_CROP 0x28
59
#define CROP_FIRST_LINE 0x29
60
#define CROP_LAST_LINE 0x2A
61
#define CROP_FIRST_PIXEL 0x2B
62
#define CROP_LAST_PIXEL 0x2C
63
#define DMD_PARK_TRIGGER 0x2D
69
#define AGC_CLIPPED_PIXS 0x55
70
#define AGC_BRIGHT_PIXS 0x56
71
#define AGC_BG_PIXS 0x57
72
#define AGC_SAFETY_MARGIN 0x17
74
/* Color Coordinate Adjustment registers */
75
#define CCA_ENABLE 0x5E
90
* DLP Pico Processor 2600 comes with flash
91
* We can do DMA operations from flash for accessing Look Up Tables
93
#define DMA_STATUS 0x100
94
#define FLASH_ADDR_BYTES 0x74
95
#define FLASH_DUMMY_BYTES 0x75
96
#define FLASH_WRITE_BYTES 0x76
97
#define FLASH_READ_BYTES 0x77
98
#define FLASH_OPCODE 0x78
99
#define FLASH_START_ADDR 0x79
100
#define FLASH_DUMMY2 0x7A
101
#define FLASH_WRITE_DATA 0x7B
103
#define TEMPORAL_DITH_DISABLE 0x7E
104
#define SEQ_CONTROL 0x82
105
#define SEQ_VECTOR 0x83
107
/* DMD is Digital Micromirror Device */
108
#define DMD_BLOCK_COUNT 0x84
109
#define DMD_VCC_CONTROL 0x86
110
#define DMD_PARK_PULSE_COUNT 0x87
111
#define DMD_PARK_PULSE_WIDTH 0x88
112
#define DMD_PARK_DELAY 0x89
113
#define DMD_SHADOW_ENABLE 0x8E
114
#define SEQ_STATUS 0x8F
115
#define FLASH_CLOCK_CONTROL 0x98
116
#define DMD_PARK 0x2D
118
#define SDRAM_BIST_ENABLE 0x46
119
#define DDR_DRIVER_STRENGTH 0x9A
120
#define SDC_ENABLE 0x9D
121
#define SDC_BUFF_SWAP_DISABLE 0xA3
122
#define CURTAIN_CONTROL 0xA6
123
#define DDR_BUS_SWAP_ENABLE 0xA7
124
#define DMD_TRC_ENABLE 0xA8
125
#define DMD_BUS_SWAP_ENABLE 0xA9
127
#define ACTGEN_ENABLE 0xAE
128
#define ACTGEN_CONTROL 0xAF
129
#define ACTGEN_HORIZ_BP 0xB0
130
#define ACTGEN_VERT_BP 0xB1
132
/* Look Up Table access */
133
#define CMT_SPLASH_LUT_START_ADDR 0xFA
134
#define CMT_SPLASH_LUT_DEST_SELECT 0xFB
135
#define CMT_SPLASH_LUT_DATA 0xFC
136
#define SEQ_RESET_LUT_START_ADDR 0xFD
137
#define SEQ_RESET_LUT_DEST_SELECT 0xFE
138
#define SEQ_RESET_LUT_DATA 0xFF
140
/* Input source definitions */
141
#define PARALLEL_RGB 0
142
#define INT_TEST_PATTERN 1
143
#define SPLASH_SCREEN 2
147
/* Standard input resolution definitions */
148
#define QWVGA_LANDSCAPE 3 /* (427h*240v) */
149
#define WVGA_864_LANDSCAPE 21 /* (864h*480v) */
150
#define WVGA_DMD_OPTICAL_TEST 35 /* (608h*684v) */
152
/* Standard data format definitions */
157
/* Test Pattern definitions */
158
#define TPG_CHECKERBOARD 0
164
#define TPG_VLINES_BLACK 6
165
#define TPG_HLINES_BLACK 7
166
#define TPG_VLINES_ALT 8
167
#define TPG_HLINES_ALT 9
168
#define TPG_DIAG_LINES 10
169
#define TPG_GREYRAMP_VERT 11
170
#define TPG_GREYRAMP_HORIZ 12
171
#define TPG_ANSI_CHECKERBOARD 13
173
/* sequence mode definitions */
174
#define SEQ_FREE_RUN 0
177
/* curtain color definitions */
178
#define CURTAIN_BLACK 0
179
#define CURTAIN_RED 1
180
#define CURTAIN_GREEN 2
181
#define CURTAIN_BLUE 3
182
#define CURTAIN_YELLOW 4
183
#define CURTAIN_MAGENTA 5
184
#define CURTAIN_CYAN 6
185
#define CURTAIN_WHITE 7
187
/* LUT definitions */
188
#define CMT_LUT_NONE 0
189
#define CMT_LUT_GREEN 1
190
#define CMT_LUT_RED 2
191
#define CMT_LUT_BLUE 3
192
#define CMT_LUT_ALL 4
195
#define SEQ_LUT_NONE 0
196
#define SEQ_DRC_LUT_0 1
197
#define SEQ_DRC_LUT_1 2
198
#define SEQ_DRC_LUT_2 3
199
#define SEQ_DRC_LUT_3 4
200
#define SEQ_SEQ_LUT 5
201
#define SEQ_DRC_LUT_ALL 6
202
#define WPC_PROGRAM_LUT 7
204
#define BITSTREAM_START_ADDR 0x00000000
205
#define BITSTREAM_SIZE 0x00040000
207
#define WPC_FW_0_START_ADDR 0x00040000
208
#define WPC_FW_0_SIZE 0x00000ce8
210
#define SEQUENCE_0_START_ADDR 0x00044000
211
#define SEQUENCE_0_SIZE 0x00001000
213
#define SEQUENCE_1_START_ADDR 0x00045000
214
#define SEQUENCE_1_SIZE 0x00000d10
216
#define SEQUENCE_2_START_ADDR 0x00046000
217
#define SEQUENCE_2_SIZE 0x00000d10
219
#define SEQUENCE_3_START_ADDR 0x00047000
220
#define SEQUENCE_3_SIZE 0x00000d10
222
#define SEQUENCE_4_START_ADDR 0x00048000
223
#define SEQUENCE_4_SIZE 0x00000d10
225
#define SEQUENCE_5_START_ADDR 0x00049000
226
#define SEQUENCE_5_SIZE 0x00000d10
228
#define SEQUENCE_6_START_ADDR 0x0004a000
229
#define SEQUENCE_6_SIZE 0x00000d10
231
#define CMT_LUT_0_START_ADDR 0x0004b200
232
#define CMT_LUT_0_SIZE 0x00000600
234
#define CMT_LUT_1_START_ADDR 0x0004b800
235
#define CMT_LUT_1_SIZE 0x00000600
237
#define CMT_LUT_2_START_ADDR 0x0004be00
238
#define CMT_LUT_2_SIZE 0x00000600
240
#define CMT_LUT_3_START_ADDR 0x0004c400
241
#define CMT_LUT_3_SIZE 0x00000600
243
#define CMT_LUT_4_START_ADDR 0x0004ca00
244
#define CMT_LUT_4_SIZE 0x00000600
246
#define CMT_LUT_5_START_ADDR 0x0004d000
247
#define CMT_LUT_5_SIZE 0x00000600
249
#define CMT_LUT_6_START_ADDR 0x0004d600
250
#define CMT_LUT_6_SIZE 0x00000600
252
#define DRC_TABLE_0_START_ADDR 0x0004dc00
253
#define DRC_TABLE_0_SIZE 0x00000100
255
#define SPLASH_0_START_ADDR 0x0004dd00
256
#define SPLASH_0_SIZE 0x00032280
258
#define SEQUENCE_7_START_ADDR 0x00080000
259
#define SEQUENCE_7_SIZE 0x00000d10
261
#define SEQUENCE_8_START_ADDR 0x00081800
262
#define SEQUENCE_8_SIZE 0x00000d10
264
#define SEQUENCE_9_START_ADDR 0x00083000
265
#define SEQUENCE_9_SIZE 0x00000d10
267
#define CMT_LUT_7_START_ADDR 0x0008e000
268
#define CMT_LUT_7_SIZE 0x00000600
270
#define CMT_LUT_8_START_ADDR 0x0008e800
271
#define CMT_LUT_8_SIZE 0x00000600
273
#define CMT_LUT_9_START_ADDR 0x0008f000
274
#define CMT_LUT_9_SIZE 0x00000600
276
#define SPLASH_1_START_ADDR 0x0009a000
277
#define SPLASH_1_SIZE 0x00032280
279
#define SPLASH_2_START_ADDR 0x000cd000
280
#define SPLASH_2_SIZE 0x00032280
282
#define SPLASH_3_START_ADDR 0x00100000
283
#define SPLASH_3_SIZE 0x00032280
285
#define OPT_SPLASH_0_START_ADDR 0x00134000
286
#define OPT_SPLASH_0_SIZE 0x000cb100