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