mdnie_lite_tuning.h 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. /* Copyright (c) 2009-2011, Code Aurora Forum. All rights reserved.
  2. *
  3. * This program is free software; you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License version 2 and
  5. * only version 2 as published by the Free Software Foundation.
  6. *
  7. * This program is distributed in the hope that it will be useful,
  8. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. * GNU General Public License for more details.
  11. *
  12. * You should have received a copy of the GNU General Public License
  13. * along with this program; if not, write to the Free Software
  14. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  15. * 02110-1301, USA.
  16. *
  17. */
  18. #ifndef _MDNIE_LITE_TUNING_H_
  19. #define _MDNIE_LITE_TUNING_H_
  20. #if defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_CMD_FULL_HD_PT_PANEL)
  21. #include "mdss_samsung_dsi_panel.h"
  22. #elif defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_CMD_WQHD_PT_PANEL)|| defined(CONFIG_FB_MSM_MIPI_MAGNA_OCTA_CMD_HD_PT_PANEL)
  23. #include "mdss_samsung_oled_cmd_hd_wqhd_panel.h"
  24. #elif defined(CONFIG_FB_MSM_MIPI_SAMSUNG_TFT_VIDEO_WQXGA_PT_PANEL)
  25. #include "mdss_samsung_tft_video_dual_dsi_panel.h"
  26. #elif defined(CONFIG_FB_MSM_MIPI_JDI_TFT_VIDEO_FULL_HD_PT_PANEL) // JACTIVE
  27. #include "mdss_jdi_dsi_panel.h"
  28. #elif defined(CONFIG_FB_MSM_MIPI_MAGNA_OCTA_VIDEO_WXGA_PT_DUAL_PANEL)
  29. #include "mdss_magna_octa_video_wxga_dual_panel.h"
  30. #elif defined(CONFIG_FB_MSM_MDSS_MDP3) // MDP3
  31. #include "dsi_v2.h"
  32. #elif defined(CONFIG_FB_MSM_MDSS_SHARP_HD_PANEL)
  33. //do nothing
  34. #elif defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_CMD_WQXGA_S6E3HA1_PT_PANEL)
  35. #include "mdss_samsung_dual_oled_cmd_wqxga_s6e3ha1_panel.h"
  36. #else
  37. #include "mdss_samsung_dsi_panel.h"
  38. #endif
  39. #define LDI_COORDINATE_REG 0xA1
  40. #if defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_CMD_WQHD_PT_PANEL) || \
  41. defined(CONFIG_FB_MSM_MIPI_MAGNA_OCTA_CMD_HD_PT_PANEL) || \
  42. defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_CMD_WQXGA_S6E3HA1_PT_PANEL)
  43. #define MDNIE_TUNE_FIRST_SIZE 128
  44. #define MDNIE_TUNE_SECOND_SIZE 22
  45. /*temp*/
  46. #define MDNIE_COLOR_BLIND_FIRST_SIZE 128
  47. #define MDNIE_COLOR_BLIND_SECOND_SIZE 22
  48. #elif defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_CMD_FULL_HD_PT_PANEL) // H
  49. #define MDNIE_TUNE_FIRST_SIZE 108
  50. #define MDNIE_TUNE_SECOND_SIZE 5
  51. #define MDNIE_COLOR_BLIND_FIRST_SIZE 118
  52. #define MDNIE_COLOR_BLIND_SECOND_SIZE 5
  53. #elif defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_VIDEO_FULL_HD_PT_PANEL) // KS01
  54. #define MDNIE_TUNE_FIRST_SIZE 108
  55. #define MDNIE_TUNE_SECOND_SIZE 5
  56. #define MDNIE_COLOR_BLIND_FIRST_SIZE 118
  57. #define MDNIE_COLOR_BLIND_SECOND_SIZE 5
  58. #elif defined(CONFIG_FB_MSM_MIPI_JDI_TFT_VIDEO_FULL_HD_PT_PANEL) // Jactive
  59. #define MDNIE_TUNE_FIRST_SIZE 108
  60. #define MDNIE_TUNE_SECOND_SIZE 5
  61. #define MDNIE_COLOR_BLIND_FIRST_SIZE 118
  62. #define MDNIE_COLOR_BLIND_SECOND_SIZE 5
  63. #define COORDINATE_DATA_NONE
  64. #elif defined(CONFIG_FB_MSM_MIPI_SAMSUNG_YOUM_CMD_FULL_HD_PT_PANEL) // F
  65. #define MDNIE_TUNE_FIRST_SIZE 108
  66. #define MDNIE_TUNE_SECOND_SIZE 5
  67. #elif defined(CONFIG_FB_MSM_MDSS_SAMSUNG_OCTA_VIDEO_720P_PT_PANEL) //FRESCO_KOR
  68. #define MDNIE_TUNE_FIRST_SIZE 108
  69. #define MDNIE_TUNE_SECOND_SIZE 5
  70. #define MDNIE_COLOR_BLIND_FIRST_SIZE 118
  71. #define MDNIE_COLOR_BLIND_SECOND_SIZE 5
  72. #elif defined(CONFIG_FB_MSM_MDSS_MAGNA_OCTA_VIDEO_720P_PANEL)|| \
  73. defined(CONFIG_FB_MSM_MIPI_MAGNA_OCTA_VIDEO_WXGA_PT_DUAL_PANEL)
  74. #define MDNIE_TUNE_FIRST_SIZE 92
  75. #define MDNIE_TUNE_SECOND_SIZE 5
  76. #define MDNIE_COLOR_BLIND_FIRST_SIZE 92
  77. #define MDNIE_COLOR_BLIND_SECOND_SIZE 5
  78. #elif defined(CONFIG_FB_MSM_MDSS_SHARP_HD_PANEL)
  79. #define MDNIE_TUNE_FIRST_SIZE 92
  80. #define MDNIE_TUNE_SECOND_SIZE 5
  81. #define MDNIE_COLOR_BLIND_FIRST_SIZE 118
  82. #define MDNIE_COLOR_BLIND_SECOND_SIZE 5
  83. #elif defined(CONFIG_FB_MSM_MIPI_VIDEO_WVGA_NT35502_PT_PANEL) // KANAS
  84. #define MDNIE_TUNE_FIRST_SIZE 17
  85. #define MDNIE_TUNE_SECOND_SIZE 25
  86. #define MDNIE_TUNE_THIRD_SIZE 49
  87. #define MDNIE_TUNE_FOURTH_SIZE 19
  88. #define MDNIE_TUNE_FIFTH_SIZE 5
  89. #endif
  90. #if defined(CONFIG_FB_MSM_MIPI_VIDEO_WVGA_NT35502_PT_PANEL) // KANAS
  91. #define NEGATIVE_COLOR_USE_ACCESSIBILLITY
  92. #define MDNIE_LITE_MODE
  93. #define DDI_VIDEO_ENHANCE_TUNING
  94. #define COORDINATE_DATA_NONE
  95. #endif
  96. #define MDNIE_COLOR_BLINDE_CMD 18
  97. /* blind setting value offset (ascr_Cr ~ ascr_Bb) */
  98. #if defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_CMD_WQHD_PT_PANEL) || \
  99. defined(CONFIG_FB_MSM_MIPI_MAGNA_OCTA_CMD_HD_PT_PANEL) || \
  100. defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_CMD_WQXGA_S6E3HA1_PT_PANEL)
  101. #define MDNIE_COLOR_BLINDE_OFFSET 104
  102. #else
  103. #define MDNIE_COLOR_BLINDE_OFFSET 18
  104. #endif
  105. #define BROWSER_COLOR_TONE_SET
  106. #define SIG_MDNIE_UI_MODE 0
  107. #define SIG_MDNIE_VIDEO_MODE 1
  108. #define SIG_MDNIE_VIDEO_WARM_MODE 2
  109. #define SIG_MDNIE_VIDEO_COLD_MODE 3
  110. #define SIG_MDNIE_CAMERA_MODE 4
  111. #define SIG_MDNIE_NAVI 5
  112. #define SIG_MDNIE_GALLERY 6
  113. #define SIG_MDNIE_VT 7
  114. #define SIG_MDNIE_BROWSER 8
  115. #define SIG_MDNIE_eBOOK 9
  116. #define SIG_MDNIE_EMAIL 10
  117. #define SIG_MDNIE_DYNAMIC 0
  118. #define SIG_MDNIE_STANDARD 1
  119. #define SIG_MDNIE_MOVIE 2
  120. #if defined(CONFIG_TDMB)
  121. #define SIG_MDNIE_DMB_MODE 20
  122. #define SIG_MDNIE_DMB_WARM_MODE 21
  123. #define SIG_MDNIE_DMB_COLD_MODE 22
  124. #endif
  125. #define SIG_MDNIE_ISDBT_MODE 30
  126. #define SIG_MDNIE_ISDBT_WARM_MODE 31
  127. #define SIG_MDNIE_ISDBT_COLD_MODE 32
  128. #ifdef BROWSER_COLOR_TONE_SET
  129. #define SIG_MDNIE_BROWSER_TONE1 40
  130. #define SIG_MDNIE_BROWSER_TONE2 41
  131. #define SIG_MDNIE_BROWSER_TONE3 42
  132. #endif
  133. enum SCENARIO {
  134. mDNIe_UI_MODE,
  135. mDNIe_VIDEO_MODE,
  136. mDNIe_VIDEO_WARM_MODE,
  137. mDNIe_VIDEO_COLD_MODE,
  138. mDNIe_CAMERA_MODE,
  139. mDNIe_NAVI,
  140. mDNIe_GALLERY,
  141. mDNIe_VT_MODE,
  142. mDNIe_BROWSER_MODE,
  143. mDNIe_eBOOK_MODE,
  144. mDNIe_EMAIL_MODE,
  145. #if defined(CONFIG_LCD_HMT)
  146. mDNIe_HMT_8_MODE,
  147. mDNIe_HMT_16_MODE,
  148. #endif
  149. #if defined(CONFIG_TDMB)
  150. mDNIe_DMB_MODE = 20,
  151. mDNIe_DMB_WARM_MODE,
  152. mDNIe_DMB_COLD_MODE,
  153. #endif
  154. MAX_mDNIe_MODE,
  155. #ifdef BROWSER_COLOR_TONE_SET
  156. mDNIe_BROWSER_TONE1 = 40,
  157. mDNIe_BROWSER_TONE2,
  158. mDNIe_BROWSER_TONE3,
  159. #endif
  160. };
  161. enum BACKGROUND {
  162. DYNAMIC_MODE = 0,
  163. #ifndef MDNIE_LITE_MODE
  164. STANDARD_MODE,
  165. #if !defined(CONFIG_SUPPORT_DISPLAY_OCTA_TFT)
  166. NATURAL_MODE,
  167. #endif
  168. MOVIE_MODE,
  169. AUTO_MODE,
  170. #endif /* MDNIE_LITE_MODE */
  171. MAX_BACKGROUND_MODE,
  172. };
  173. enum OUTDOOR {
  174. OUTDOOR_OFF_MODE = 0,
  175. #ifndef MDNIE_LITE_MODE
  176. OUTDOOR_ON_MODE,
  177. #endif /* MDNIE_LITE_MODE */
  178. MAX_OUTDOOR_MODE,
  179. };
  180. enum ACCESSIBILITY {
  181. ACCESSIBILITY_OFF,
  182. NEGATIVE,
  183. #ifndef NEGATIVE_COLOR_USE_ACCESSIBILLITY
  184. COLOR_BLIND,
  185. #if defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_CMD_WQHD_PT_PANEL) || \
  186. defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_CMD_FULL_HD_PT_PANEL)|| defined (CONFIG_FB_MSM_MIPI_MAGNA_OCTA_CMD_HD_PT_PANEL) ||\
  187. defined(CONFIG_FB_MSM_MDSS_MAGNA_OCTA_VIDEO_720P_PANEL) || defined(CONFIG_FB_MSM_MIPI_MAGNA_OCTA_VIDEO_WXGA_PT_DUAL_PANEL) ||\
  188. defined(CONFIG_MACH_JS01LTEDCM) || defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_CMD_WQXGA_S6E3HA1_PT_PANEL) || defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_VIDEO_FULL_HD_PT_PANEL)
  189. SCREEN_CURTAIN,
  190. #endif
  191. GRAYSCALE,
  192. GRAYSCALE_NEGATIVE,
  193. #endif /* NEGATIVE_COLOR_USE_ACCESSIBILLITY */
  194. ACCESSIBILITY_MAX,
  195. };
  196. #if defined(CONFIG_TDMB)
  197. enum DMB {
  198. DMB_MODE_OFF = -1,
  199. DMB_MODE,
  200. DMB_WARM_MODE,
  201. DMB_COLD_MODE,
  202. MAX_DMB_MODE,
  203. };
  204. #endif
  205. struct mdnie_lite_tun_type {
  206. bool mdnie_enable;
  207. enum SCENARIO scenario;
  208. enum BACKGROUND background;
  209. enum OUTDOOR outdoor;
  210. enum ACCESSIBILITY accessibility;
  211. #if defined(CONFIG_TDMB)
  212. enum DMB dmb;
  213. #endif
  214. #if defined(CONFIG_FB_MSM_MIPI_SAMSUNG_OCTA_CMD_WQHD_PT_PANEL)
  215. int scr_white_red;
  216. int scr_white_green;
  217. int scr_white_blue;
  218. #endif
  219. };
  220. #if defined(CONFIG_FB_MSM_MDSS_MDP3)
  221. void mdnie_lite_tuning_init(struct mdss_dsi_driver_data *msd);
  222. #else
  223. void mdnie_lite_tuning_init(struct mipi_samsung_driver_data *msd);
  224. #endif
  225. void init_mdnie_class(void);
  226. void is_negative_on(void);
  227. void coordinate_tunning(int x, int y);
  228. void mDNIe_Set_Mode(void);
  229. #endif /*_MDNIE_LITE_TUNING_H_*/