n1_power_save.h 5.1 KB

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