panel-picodlp.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. /*
  2. * Header file required by picodlp panel driver
  3. *
  4. * Copyright (C) 2009-2011 Texas Instruments
  5. * Author: Mythri P K <mythripk@ti.com>
  6. *
  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.
  10. *
  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
  14. * more details.
  15. *
  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/>.
  18. */
  19. #ifndef __OMAP2_DISPLAY_PANEL_PICODLP_H
  20. #define __OMAP2_DISPLAY_PANEL_PICODLP_H
  21. /* Commands used for configuring picodlp panel */
  22. #define MAIN_STATUS 0x03
  23. #define PBC_CONTROL 0x08
  24. #define INPUT_SOURCE 0x0B
  25. #define INPUT_RESOLUTION 0x0C
  26. #define DATA_FORMAT 0x0D
  27. #define IMG_ROTATION 0x0E
  28. #define LONG_FLIP 0x0F
  29. #define SHORT_FLIP 0x10
  30. #define TEST_PAT_SELECT 0x11
  31. #define R_DRIVE_CURRENT 0x12
  32. #define G_DRIVE_CURRENT 0x13
  33. #define B_DRIVE_CURRENT 0x14
  34. #define READ_REG_SELECT 0x15
  35. #define RGB_DRIVER_ENABLE 0x16
  36. #define CPU_IF_MODE 0x18
  37. #define FRAME_RATE 0x19
  38. #define CPU_IF_SYNC_METHOD 0x1A
  39. #define CPU_IF_SOF 0x1B
  40. #define CPU_IF_EOF 0x1C
  41. #define CPU_IF_SLEEP 0x1D
  42. #define SEQUENCE_MODE 0x1E
  43. #define SOFT_RESET 0x1F
  44. #define FRONT_END_RESET 0x21
  45. #define AUTO_PWR_ENABLE 0x22
  46. #define VSYNC_LINE_DELAY 0x23
  47. #define CPU_PI_HORIZ_START 0x24
  48. #define CPU_PI_VERT_START 0x25
  49. #define CPU_PI_HORIZ_WIDTH 0x26
  50. #define CPU_PI_VERT_HEIGHT 0x27
  51. #define PIXEL_MASK_CROP 0x28
  52. #define CROP_FIRST_LINE 0x29
  53. #define CROP_LAST_LINE 0x2A
  54. #define CROP_FIRST_PIXEL 0x2B
  55. #define CROP_LAST_PIXEL 0x2C
  56. #define DMD_PARK_TRIGGER 0x2D
  57. #define MISC_REG 0x30
  58. /* AGC registers */
  59. #define AGC_CTRL 0x50
  60. #define AGC_CLIPPED_PIXS 0x55
  61. #define AGC_BRIGHT_PIXS 0x56
  62. #define AGC_BG_PIXS 0x57
  63. #define AGC_SAFETY_MARGIN 0x17
  64. /* Color Coordinate Adjustment registers */
  65. #define CCA_ENABLE 0x5E
  66. #define CCA_C1A 0x5F
  67. #define CCA_C1B 0x60
  68. #define CCA_C1C 0x61
  69. #define CCA_C2A 0x62
  70. #define CCA_C2B 0x63
  71. #define CCA_C2C 0x64
  72. #define CCA_C3A 0x65
  73. #define CCA_C3B 0x66
  74. #define CCA_C3C 0x67
  75. #define CCA_C7A 0x71
  76. #define CCA_C7B 0x72
  77. #define CCA_C7C 0x73
  78. /**
  79. * DLP Pico Processor 2600 comes with flash
  80. * We can do DMA operations from flash for accessing Look Up Tables
  81. */
  82. #define DMA_STATUS 0x100
  83. #define FLASH_ADDR_BYTES 0x74
  84. #define FLASH_DUMMY_BYTES 0x75
  85. #define FLASH_WRITE_BYTES 0x76
  86. #define FLASH_READ_BYTES 0x77
  87. #define FLASH_OPCODE 0x78
  88. #define FLASH_START_ADDR 0x79
  89. #define FLASH_DUMMY2 0x7A
  90. #define FLASH_WRITE_DATA 0x7B
  91. #define TEMPORAL_DITH_DISABLE 0x7E
  92. #define SEQ_CONTROL 0x82
  93. #define SEQ_VECTOR 0x83
  94. /* DMD is Digital Micromirror Device */
  95. #define DMD_BLOCK_COUNT 0x84
  96. #define DMD_VCC_CONTROL 0x86
  97. #define DMD_PARK_PULSE_COUNT 0x87
  98. #define DMD_PARK_PULSE_WIDTH 0x88
  99. #define DMD_PARK_DELAY 0x89
  100. #define DMD_SHADOW_ENABLE 0x8E
  101. #define SEQ_STATUS 0x8F
  102. #define FLASH_CLOCK_CONTROL 0x98
  103. #define DMD_PARK 0x2D
  104. #define SDRAM_BIST_ENABLE 0x46
  105. #define DDR_DRIVER_STRENGTH 0x9A
  106. #define SDC_ENABLE 0x9D
  107. #define SDC_BUFF_SWAP_DISABLE 0xA3
  108. #define CURTAIN_CONTROL 0xA6
  109. #define DDR_BUS_SWAP_ENABLE 0xA7
  110. #define DMD_TRC_ENABLE 0xA8
  111. #define DMD_BUS_SWAP_ENABLE 0xA9
  112. #define ACTGEN_ENABLE 0xAE
  113. #define ACTGEN_CONTROL 0xAF
  114. #define ACTGEN_HORIZ_BP 0xB0
  115. #define ACTGEN_VERT_BP 0xB1
  116. /* Look Up Table access */
  117. #define CMT_SPLASH_LUT_START_ADDR 0xFA
  118. #define CMT_SPLASH_LUT_DEST_SELECT 0xFB
  119. #define CMT_SPLASH_LUT_DATA 0xFC
  120. #define SEQ_RESET_LUT_START_ADDR 0xFD
  121. #define SEQ_RESET_LUT_DEST_SELECT 0xFE
  122. #define SEQ_RESET_LUT_DATA 0xFF
  123. /* Input source definitions */
  124. #define PARALLEL_RGB 0
  125. #define INT_TEST_PATTERN 1
  126. #define SPLASH_SCREEN 2
  127. #define CPU_INTF 3
  128. #define BT656 4
  129. /* Standard input resolution definitions */
  130. #define QWVGA_LANDSCAPE 3 /* (427h*240v) */
  131. #define WVGA_864_LANDSCAPE 21 /* (864h*480v) */
  132. #define WVGA_DMD_OPTICAL_TEST 35 /* (608h*684v) */
  133. /* Standard data format definitions */
  134. #define RGB565 0
  135. #define RGB666 1
  136. #define RGB888 2
  137. /* Test Pattern definitions */
  138. #define TPG_CHECKERBOARD 0
  139. #define TPG_BLACK 1
  140. #define TPG_WHITE 2
  141. #define TPG_RED 3
  142. #define TPG_BLUE 4
  143. #define TPG_GREEN 5
  144. #define TPG_VLINES_BLACK 6
  145. #define TPG_HLINES_BLACK 7
  146. #define TPG_VLINES_ALT 8
  147. #define TPG_HLINES_ALT 9
  148. #define TPG_DIAG_LINES 10
  149. #define TPG_GREYRAMP_VERT 11
  150. #define TPG_GREYRAMP_HORIZ 12
  151. #define TPG_ANSI_CHECKERBOARD 13
  152. /* sequence mode definitions */
  153. #define SEQ_FREE_RUN 0
  154. #define SEQ_LOCK 1
  155. /* curtain color definitions */
  156. #define CURTAIN_BLACK 0
  157. #define CURTAIN_RED 1
  158. #define CURTAIN_GREEN 2
  159. #define CURTAIN_BLUE 3
  160. #define CURTAIN_YELLOW 4
  161. #define CURTAIN_MAGENTA 5
  162. #define CURTAIN_CYAN 6
  163. #define CURTAIN_WHITE 7
  164. /* LUT definitions */
  165. #define CMT_LUT_NONE 0
  166. #define CMT_LUT_GREEN 1
  167. #define CMT_LUT_RED 2
  168. #define CMT_LUT_BLUE 3
  169. #define CMT_LUT_ALL 4
  170. #define SPLASH_LUT 5
  171. #define SEQ_LUT_NONE 0
  172. #define SEQ_DRC_LUT_0 1
  173. #define SEQ_DRC_LUT_1 2
  174. #define SEQ_DRC_LUT_2 3
  175. #define SEQ_DRC_LUT_3 4
  176. #define SEQ_SEQ_LUT 5
  177. #define SEQ_DRC_LUT_ALL 6
  178. #define WPC_PROGRAM_LUT 7
  179. #define BITSTREAM_START_ADDR 0x00000000
  180. #define BITSTREAM_SIZE 0x00040000
  181. #define WPC_FW_0_START_ADDR 0x00040000
  182. #define WPC_FW_0_SIZE 0x00000ce8
  183. #define SEQUENCE_0_START_ADDR 0x00044000
  184. #define SEQUENCE_0_SIZE 0x00001000
  185. #define SEQUENCE_1_START_ADDR 0x00045000
  186. #define SEQUENCE_1_SIZE 0x00000d10
  187. #define SEQUENCE_2_START_ADDR 0x00046000
  188. #define SEQUENCE_2_SIZE 0x00000d10
  189. #define SEQUENCE_3_START_ADDR 0x00047000
  190. #define SEQUENCE_3_SIZE 0x00000d10
  191. #define SEQUENCE_4_START_ADDR 0x00048000
  192. #define SEQUENCE_4_SIZE 0x00000d10
  193. #define SEQUENCE_5_START_ADDR 0x00049000
  194. #define SEQUENCE_5_SIZE 0x00000d10
  195. #define SEQUENCE_6_START_ADDR 0x0004a000
  196. #define SEQUENCE_6_SIZE 0x00000d10
  197. #define CMT_LUT_0_START_ADDR 0x0004b200
  198. #define CMT_LUT_0_SIZE 0x00000600
  199. #define CMT_LUT_1_START_ADDR 0x0004b800
  200. #define CMT_LUT_1_SIZE 0x00000600
  201. #define CMT_LUT_2_START_ADDR 0x0004be00
  202. #define CMT_LUT_2_SIZE 0x00000600
  203. #define CMT_LUT_3_START_ADDR 0x0004c400
  204. #define CMT_LUT_3_SIZE 0x00000600
  205. #define CMT_LUT_4_START_ADDR 0x0004ca00
  206. #define CMT_LUT_4_SIZE 0x00000600
  207. #define CMT_LUT_5_START_ADDR 0x0004d000
  208. #define CMT_LUT_5_SIZE 0x00000600
  209. #define CMT_LUT_6_START_ADDR 0x0004d600
  210. #define CMT_LUT_6_SIZE 0x00000600
  211. #define DRC_TABLE_0_START_ADDR 0x0004dc00
  212. #define DRC_TABLE_0_SIZE 0x00000100
  213. #define SPLASH_0_START_ADDR 0x0004dd00
  214. #define SPLASH_0_SIZE 0x00032280
  215. #define SEQUENCE_7_START_ADDR 0x00080000
  216. #define SEQUENCE_7_SIZE 0x00000d10
  217. #define SEQUENCE_8_START_ADDR 0x00081800
  218. #define SEQUENCE_8_SIZE 0x00000d10
  219. #define SEQUENCE_9_START_ADDR 0x00083000
  220. #define SEQUENCE_9_SIZE 0x00000d10
  221. #define CMT_LUT_7_START_ADDR 0x0008e000
  222. #define CMT_LUT_7_SIZE 0x00000600
  223. #define CMT_LUT_8_START_ADDR 0x0008e800
  224. #define CMT_LUT_8_SIZE 0x00000600
  225. #define CMT_LUT_9_START_ADDR 0x0008f000
  226. #define CMT_LUT_9_SIZE 0x00000600
  227. #define SPLASH_1_START_ADDR 0x0009a000
  228. #define SPLASH_1_SIZE 0x00032280
  229. #define SPLASH_2_START_ADDR 0x000cd000
  230. #define SPLASH_2_SIZE 0x00032280
  231. #define SPLASH_3_START_ADDR 0x00100000
  232. #define SPLASH_3_SIZE 0x00032280
  233. #define OPT_SPLASH_0_START_ADDR 0x00134000
  234. #define OPT_SPLASH_0_SIZE 0x000cb100
  235. #endif