picasso_power_save.h 4.8 KB

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