v1_power_save.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. #ifndef __V1_POWER_SAVE_H__
  2. #define __V1_POWER_SAVE_H__
  3. #define TCON_AUTO_BR_MAX 2
  4. #define TCON_LEVEL_MAX 3
  5. #define TCON_MODE_MAX 14
  6. #define TCON_REG_MAX 30
  7. struct tcon_reg_info {
  8. int reg_cnt;
  9. unsigned short addr[TCON_REG_MAX];
  10. unsigned char data[TCON_REG_MAX];
  11. };
  12. struct tcon_reg_info TCON_UI = {
  13. .reg_cnt = 18,
  14. .addr = {
  15. 0x0DB1, 0x0DB2, 0x0DB3, 0x0DB4, 0x0DB5,
  16. 0x0DB6, 0x0DB7, 0x0DB8, 0x0DB9, 0x0DBA,
  17. 0x0DBB, 0x0DBC, 0x0DBD, 0x0DBE, 0x0E39,
  18. 0x0E3A, 0x0E3B, 0x0DC5,
  19. },
  20. .data = {
  21. 0xB1, 0xFF, 0xF0, 0x1F, 0xF5,
  22. 0xFE, 0x82, 0x46, 0x5A, 0xBF,
  23. 0xC1, 0x04, 0x24, 0x26, 0x41,
  24. 0x3F, 0x59, 0xF4,
  25. },
  26. };
  27. struct tcon_reg_info TCON_POWER_SAVE = {
  28. .reg_cnt = 18,
  29. .addr = {
  30. 0x0DB1, 0x0DB2, 0x0DB3, 0x0DB4, 0x0DB5,
  31. 0x0DB6, 0x0DB7, 0x0DB8, 0x0DB9, 0x0DBA,
  32. 0x0DBB, 0x0DBC, 0x0DBD, 0x0DBE, 0x0E39,
  33. 0x0E3A, 0x0E3B, 0x0DC5,
  34. },
  35. .data = {
  36. 0xB1, 0xFF, 0xF0, 0x0E, 0xC9,
  37. 0x4E, 0x92, 0x4A, 0x59, 0xBF,
  38. 0xC1, 0x04, 0x24, 0x26, 0x41,
  39. 0x3F, 0x59, 0xF4,
  40. },
  41. };
  42. struct tcon_reg_info TCON_VIDEO = {
  43. /* DBLC VIDEO MODE USE UI MODE(request from Visual LAB) */
  44. #if 0
  45. .reg_cnt = 18,
  46. .addr = {
  47. 0x0DB1, 0x0DB2, 0x0DB3, 0x0DB4, 0x0DB5,
  48. 0x0DB6, 0x0DB7, 0x0DB8, 0x0DB9, 0x0DBA,
  49. 0x0DBB, 0x0DBC, 0x0DBD, 0x0DBE, 0x0E39,
  50. 0x0E3A, 0x0E3B, 0x0DC5,
  51. },
  52. .data = {
  53. 0xB1, 0xFF, 0xF0, 0x08, 0x85,
  54. 0x5E, 0x92, 0x4A, 0x59, 0xBF,
  55. 0xC1, 0x04, 0x24, 0x26, 0x41,
  56. 0x3F, 0x59, 0xF4,
  57. },
  58. #else
  59. .reg_cnt = 18,
  60. .addr = {
  61. 0x0DB1, 0x0DB2, 0x0DB3, 0x0DB4, 0x0DB5,
  62. 0x0DB6, 0x0DB7, 0x0DB8, 0x0DB9, 0x0DBA,
  63. 0x0DBB, 0x0DBC, 0x0DBD, 0x0DBE, 0x0E39,
  64. 0x0E3A, 0x0E3B, 0x0DC5,
  65. },
  66. .data = {
  67. 0xB1, 0xFF, 0xF0, 0x1F, 0xF5,
  68. 0xFE, 0x82, 0x46, 0x5A, 0xBF,
  69. 0xC1, 0x04, 0x24, 0x26, 0x41,
  70. 0x3F, 0x59, 0xF4,
  71. },
  72. #endif
  73. };
  74. struct tcon_reg_info TCON_BROWSER = {
  75. .reg_cnt = 18,
  76. .addr = {
  77. 0x0DB1, 0x0DB2, 0x0DB3, 0x0DB4, 0x0DB5,
  78. 0x0DB6, 0x0DB7, 0x0DB8, 0x0DB9, 0x0DBA,
  79. 0x0DBB, 0x0DBC, 0x0DBD, 0x0DBE, 0x0E39,
  80. 0x0E3A, 0x0E3B, 0x0DC5,
  81. },
  82. .data = {
  83. 0xB1, 0xFF, 0xF0, 0x08, 0x85,
  84. 0x5E, 0x92, 0x4A, 0x59, 0xBF,
  85. 0xC1, 0x04, 0x24, 0x26, 0x41,
  86. 0x3F, 0x59, 0xF4,
  87. },
  88. };
  89. struct tcon_reg_info TCON_OUTDOOR = {
  90. .reg_cnt = 13,
  91. .addr = {
  92. 0x0DB1, 0x0DB2, 0x0DB3, 0x0DB4, 0x0DBA,
  93. 0x0DBB, 0x0DBC, 0x0DBD, 0x0DBE, 0x0E39,
  94. 0x0E3A, 0x0E3B, 0x0DC5,
  95. },
  96. .data = {
  97. 0xB0, 0x78, 0x10, 0x1F, 0xBF,
  98. 0xC1, 0x04, 0x24, 0x26, 0x41,
  99. 0x3F, 0x59, 0xF4,
  100. },
  101. };
  102. struct tcon_reg_info TCON_SNOTE1 = {
  103. .reg_cnt = 20,
  104. .addr = {
  105. 0x0DB1, 0x0DB2, 0x0DB3, 0x0DB4, 0x0DB5,
  106. 0x0DB6, 0x0DB7, 0x0DB8, 0x0DB9, 0x0DBA,
  107. 0x0DBB, 0x0DBC, 0x0DBD, 0x0DBE, 0x0DBF,
  108. 0x0DC0, 0x0E39, 0x0E3A, 0x0E3B, 0x0DC5,
  109. },
  110. .data = {
  111. 0xB1, 0xFF, 0xF0, 0x1F, 0xF5,
  112. 0xFE, 0x82, 0x42, 0x5A, 0xBF,
  113. 0xC1, 0x04, 0x24, 0x26, 0x01,
  114. 0x0F, 0x41, 0x3F, 0x59, 0xF4,
  115. },
  116. };
  117. struct tcon_reg_info TCON_SNOTE2 = {
  118. .reg_cnt = 20,
  119. .addr = {
  120. 0x0DB1, 0x0DB2, 0x0DB3, 0x0DB4, 0x0DB5,
  121. 0x0DB6, 0x0DB7, 0x0DB8, 0x0DB9, 0x0DBA,
  122. 0x0DBB, 0x0DBC, 0x0DBD, 0x0DBE, 0x0DBF,
  123. 0x0DC0, 0x0E39, 0x0E3A, 0x0E3B, 0x0DC5,
  124. },
  125. .data = {
  126. 0xB1, 0xFF, 0xF0, 0x1F, 0xF5,
  127. 0xFE, 0x82, 0x42, 0x7F, 0xFF,
  128. 0xC1, 0x04, 0x24, 0x26, 0x01,
  129. 0x0F, 0x41, 0x3F, 0x59, 0xF4,
  130. },
  131. };
  132. struct tcon_reg_info TCON_CALL = {
  133. .reg_cnt = 20,
  134. .addr = {
  135. 0x0DB1, 0x0DB2, 0x0DB3, 0x0DB4, 0x0DB5,
  136. 0x0DB6, 0x0DB7, 0x0DB8, 0x0DB9, 0x0DBA,
  137. 0x0DBB, 0x0DBC, 0x0DBD, 0x0DBE, 0x0DBF,
  138. 0x0DC0, 0x0E39, 0x0E3A, 0x0E3B, 0x0DC5,
  139. },
  140. .data = {
  141. 0xB1, 0xFF, 0xF0, 0x1F, 0xF5,
  142. 0xFE, 0x82, 0x46, 0x7F, 0xFF,
  143. 0xC1, 0x04, 0x24, 0x26, 0x01,
  144. 0x0F, 0x41, 0x3F, 0x59, 0xF4,
  145. },
  146. };
  147. struct tcon_reg_info TCON_BLACK_IMAGE_BLU_ENABLE = {
  148. .reg_cnt = 1,
  149. .addr = {
  150. 0x0DB1,
  151. },
  152. .data = {
  153. 0xB0,
  154. },
  155. };
  156. struct tcon_reg_info *power_save_tune_value[TCON_AUTO_BR_MAX][TCON_LEVEL_MAX][TCON_MODE_MAX] = {
  157. /*
  158. UI_APP = 0,
  159. VIDEO_APP,
  160. VIDEO_WARM_APP,
  161. VIDEO_COLD_APP,
  162. CAMERA_APP,
  163. NAVI_APP,
  164. GALLERY_APP,
  165. VT_APP,
  166. BROWSER_APP,
  167. eBOOK_APP,
  168. EMAIL_APP,
  169. */
  170. /* auto brightness off */
  171. {
  172. /* Illumiatation Level 1 */
  173. {
  174. &TCON_UI,
  175. &TCON_VIDEO,
  176. &TCON_VIDEO,
  177. &TCON_VIDEO,
  178. NULL,
  179. NULL,
  180. NULL,
  181. NULL,
  182. &TCON_BROWSER,
  183. NULL,
  184. NULL,
  185. &TCON_SNOTE1,
  186. &TCON_SNOTE2,
  187. &TCON_CALL,
  188. },
  189. /* Illumiatation Level 2 */
  190. {
  191. &TCON_UI,
  192. &TCON_VIDEO,
  193. &TCON_VIDEO,
  194. &TCON_VIDEO,
  195. NULL,
  196. NULL,
  197. NULL,
  198. NULL,
  199. &TCON_BROWSER,
  200. NULL,
  201. NULL,
  202. &TCON_SNOTE1,
  203. &TCON_SNOTE2,
  204. &TCON_CALL,
  205. },
  206. /* Illumiatation Level 3 */
  207. {
  208. &TCON_UI,
  209. &TCON_VIDEO,
  210. &TCON_VIDEO,
  211. &TCON_VIDEO,
  212. NULL,
  213. NULL,
  214. NULL,
  215. NULL,
  216. &TCON_BROWSER,
  217. NULL,
  218. NULL,
  219. &TCON_SNOTE1,
  220. &TCON_SNOTE2,
  221. &TCON_CALL,
  222. },
  223. },
  224. /* auto brightness on */
  225. {
  226. /* Illumiatation Level 1 */
  227. {
  228. &TCON_UI,
  229. &TCON_VIDEO,
  230. &TCON_VIDEO,
  231. &TCON_VIDEO,
  232. NULL,
  233. NULL,
  234. NULL,
  235. NULL,
  236. &TCON_BROWSER,
  237. NULL,
  238. NULL,
  239. &TCON_SNOTE1,
  240. &TCON_SNOTE2,
  241. &TCON_CALL,
  242. },
  243. /* Illumiatation Level 2 */
  244. {
  245. &TCON_POWER_SAVE,
  246. &TCON_VIDEO,
  247. &TCON_VIDEO,
  248. &TCON_VIDEO,
  249. NULL,
  250. NULL,
  251. NULL,
  252. NULL,
  253. &TCON_BROWSER,
  254. NULL,
  255. NULL,
  256. &TCON_SNOTE1,
  257. &TCON_SNOTE2,
  258. &TCON_CALL,
  259. },
  260. /* Illumiatation Level 3 */
  261. {
  262. &TCON_OUTDOOR,
  263. &TCON_OUTDOOR,
  264. &TCON_OUTDOOR,
  265. &TCON_OUTDOOR,
  266. &TCON_OUTDOOR,
  267. &TCON_OUTDOOR,
  268. &TCON_OUTDOOR,
  269. &TCON_OUTDOOR,
  270. &TCON_OUTDOOR,
  271. &TCON_OUTDOOR,
  272. &TCON_OUTDOOR,
  273. &TCON_OUTDOOR,
  274. &TCON_OUTDOOR,
  275. &TCON_OUTDOOR,
  276. }
  277. }
  278. };
  279. #endif