aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/samsung/mdnie_color_tone_4412.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/samsung/mdnie_color_tone_4412.h')
-rw-r--r--drivers/video/samsung/mdnie_color_tone_4412.h239
1 files changed, 239 insertions, 0 deletions
diff --git a/drivers/video/samsung/mdnie_color_tone_4412.h b/drivers/video/samsung/mdnie_color_tone_4412.h
new file mode 100644
index 0000000..7a34444
--- /dev/null
+++ b/drivers/video/samsung/mdnie_color_tone_4412.h
@@ -0,0 +1,239 @@
+#ifndef __MDNIE_COLOR_TONE_H__
+#define __MDNIE_COLOR_TONE_H__
+
+#include "mdnie_kona.h"
+
+static const unsigned short tune_scr_setting[9][3] = {
+ {0xff, 0xf9, 0xf9},
+ {0xff, 0xf9, 0xfe},
+ {0xfc, 0xfa, 0xff},
+ {0xff, 0xfc, 0xf8},
+ {0xff, 0xff, 0xff},
+ {0xfb, 0xfb, 0xff},
+ {0xfb, 0xff, 0xf5},
+ {0xfa, 0xff, 0xf9},
+ {0xf8, 0xff, 0xfc},
+};
+
+static unsigned short tune_color_tone_1[] = {
+ 0x0000, 0x0000, /*BANK 0*/
+ 0x0008, 0x0020, /*Dither8 UC4 ABC2 CP1 | CC8 MCM4 SCR2 SCC1 | CS8 DE4 DNR2 HDR1*/
+ 0x0030, 0x0000, /*FA cs1 de8 hdr2 fa1*/
+ 0x00e1, 0xaf00, /*SCR RrCr*/
+ 0x00e2, 0x00b7, /*SCR RgCg*/
+ 0x00e3, 0x00bc, /*SCR RbCb*/
+ 0x00e4, 0x00af, /*SCR GrMr*/
+ 0x00e5, 0xb700, /*SCR GgMg*/
+ 0x00e6, 0x00bc, /*SCR GbMb*/
+ 0x00e7, 0x00af, /*SCR BrYr*/
+ 0x00e8, 0x00b7, /*SCR BgYg*/
+ 0x00e9, 0xbc00, /*SCR BbYb*/
+ 0x00ea, 0x00af, /*SCR KrWr*/
+ 0x00eb, 0x00b7, /*SCR KgWg*/
+ 0x00ec, 0x00bc, /*SCR KbWb*/
+ 0x00ff, 0x0000, /*Mask Release*/
+ END_SEQ, 0x0000,
+
+};
+
+static unsigned short tune_color_tone_2[] = {
+ 0x0000, 0x0000, /*BANK 0*/
+ 0x0008, 0x0020, /*Dither8 UC4 ABC2 CP1 | CC8 MCM4 SCR2 SCC1 | CS8 DE4 DNR2 HDR1*/
+ 0x0030, 0x0000, /*FA cs1 de8 hdr2 fa1*/
+ 0x00e1, 0xa000, /*SCR RrCr*/
+ 0x00e2, 0x00a8, /*SCR RgCg*/
+ 0x00e3, 0x00b2, /*SCR RbCb*/
+ 0x00e4, 0x00a0, /*SCR GrMr*/
+ 0x00e5, 0xa800, /*SCR GgMg*/
+ 0x00e6, 0x00b2, /*SCR GbMb*/
+ 0x00e7, 0x00a0, /*SCR BrYr*/
+ 0x00e8, 0x00a8, /*SCR BgYg*/
+ 0x00e9, 0xb200, /*SCR BbYb*/
+ 0x00ea, 0x00a0, /*SCR KrWr*/
+ 0x00eb, 0x00a8, /*SCR KgWg*/
+ 0x00ec, 0x00b2, /*SCR KbWb*/
+ 0x00ff, 0x0000, /*Mask Release*/
+ END_SEQ, 0x0000,
+};
+
+static unsigned short tune_color_tone_3[] = {
+ 0x0000, 0x0000, /*BANK 0*/
+ 0x0008, 0x0020, /*Dither8 UC4 ABC2 CP1 | CC8 MCM4 SCR2 SCC1 | CS8 DE4 DNR2 HDR1*/
+ 0x0030, 0x0000, /*FA cs1 de8 hdr2 fa1*/
+ 0x00e1, 0x9100, /*SCR RrCr*/
+ 0x00e2, 0x0099, /*SCR RgCg*/
+ 0x00e3, 0x00a3, /*SCR RbCb*/
+ 0x00e4, 0x0091, /*SCR GrMr*/
+ 0x00e5, 0x9900, /*SCR GgMg*/
+ 0x00e6, 0x00a3, /*SCR GbMb*/
+ 0x00e7, 0x0091, /*SCR BrYr*/
+ 0x00e8, 0x0099, /*SCR BgYg*/
+ 0x00e9, 0xa300, /*SCR BbYb*/
+ 0x00ea, 0x0091, /*SCR KrWr*/
+ 0x00eb, 0x0099, /*SCR KgWg*/
+ 0x00ec, 0x00a3, /*SCR KbWb*/
+ 0x00ff, 0x0000, /*Mask Release*/
+ END_SEQ, 0x0000,
+};
+
+#if defined(CONFIG_FB_MDNIE_PWM)
+static unsigned short tune_negative[] = {
+ 0x0000, 0x0000, /*BANK 0*/
+ 0x0008, 0x0020, /*Dither8 UC4 ABC2 CP1 | CC8 MCM4 SCR2 SCC1 | CS8 DE4 DNR2 HDR1*/
+ 0x0030, 0x0000, /*FA cs1 de8 hdr2 fa1*/
+ 0x00e1, 0x00ff, /*SCR RrCr*/
+ 0x00e2, 0xff00, /*SCR RgCg*/
+ 0x00e3, 0xff00, /*SCR RbCb*/
+ 0x00e4, 0xff00, /*SCR GrMr*/
+ 0x00e5, 0x00ff, /*SCR GgMg*/
+ 0x00e6, 0xff00, /*SCR GbMb*/
+ 0x00e7, 0xff00, /*SCR BrYr*/
+ 0x00e8, 0xff00, /*SCR BgYg*/
+ 0x00e9, 0x00ff, /*SCR BbYb*/
+ 0x00ea, 0xff00, /*SCR KrWr*/
+ 0x00eb, 0xff00, /*SCR KgWg*/
+ 0x00ec, 0xff00, /*SCR KbWb*/
+ 0x00ff, 0x0000, /*Mask Release*/
+ END_SEQ, 0x0000,
+};
+
+static unsigned short tune_negative_cabc[] = {
+ 0x0000, 0x0000, /*BANK 0*/
+ 0x0008, 0x0220, /*Dither8 UC4 ABC2 CP1 | CC8 MCM4 SCR2 SCC1 | CS8 DE4 DNR2 HDR1*/
+ 0x0030, 0x0000, /*FA cs1 de8 hdr2 fa1*/
+ 0x00e1, 0x00ff, /*SCR RrCr*/
+ 0x00e2, 0xff00, /*SCR RgCg*/
+ 0x00e3, 0xff00, /*SCR RbCb*/
+ 0x00e4, 0xff00, /*SCR GrMr*/
+ 0x00e5, 0x00ff, /*SCR GgMg*/
+ 0x00e6, 0xff00, /*SCR GbMb*/
+ 0x00e7, 0xff00, /*SCR BrYr*/
+ 0x00e8, 0xff00, /*SCR BgYg*/
+ 0x00e9, 0x00ff, /*SCR BbYb*/
+ 0x00ea, 0xff00, /*SCR KrWrv*/
+ 0x00eb, 0xff00, /*SCR KgWg*/
+ 0x00ec, 0xff00, /*SCR KbWb*/
+ 0x0000, 0x0001, /*BANK 1*/
+ 0x0075, 0x0000, /*CABC dgain*/
+ 0x0076, 0x0000,
+ 0x0077, 0x0000,
+ 0x0078, 0x0000,
+ 0x007f, 0x0002, /*dynamic lcd*/
+ 0x00ff, 0x0000, /*Mask Release*/
+ END_SEQ, 0x0000,
+};
+
+static unsigned short tune_color_blind[] = {
+ 0x0000, 0x0000, /*BANK 0*/
+ 0x0008, 0x0020, /*Dither8 UC4 ABC2 CP1 | CC8 MCM4 SCR2 SCC1 | CS8 DE4 DNR2 HDR1*/
+ 0x0030, 0x0000, /*FA cs1 de8 hdr2 fa1*/
+ 0x00e1, 0x00ff, /*SCR RrCr*/
+ 0x00e2, 0xff00, /*SCR RgCg*/
+ 0x00e3, 0xff00, /*SCR RbCb*/
+ 0x00e4, 0xff00, /*SCR GrMr*/
+ 0x00e5, 0x00ff, /*SCR GgMg*/
+ 0x00e6, 0xff00, /*SCR GbMb*/
+ 0x00e7, 0xff00, /*SCR BrYr*/
+ 0x00e8, 0xff00, /*SCR BgYg*/
+ 0x00e9, 0x00ff, /*SCR BbYb*/
+ 0x00ea, 0xff00, /*SCR KrWr*/
+ 0x00eb, 0xff00, /*SCR KgWg*/
+ 0x00ec, 0xff00, /*SCR KbWb*/
+ 0x00ff, 0x0000, /*Mask Release*/
+ END_SEQ, 0x0000,
+};
+
+static unsigned short tune_color_blind_cabc[] = {
+ 0x0000, 0x0000, /*BANK 0*/
+ 0x0008, 0x0220, /*Dither8 UC4 ABC2 CP1 | CC8 MCM4 SCR2 SCC1 | CS8 DE4 DNR2 HDR1*/
+ 0x0030, 0x0000, /*FA cs1 de8 hdr2 fa1*/
+ 0x00e1, 0x00ff, /*SCR RrCr*/
+ 0x00e2, 0xff00, /*SCR RgCg*/
+ 0x00e3, 0xff00, /*SCR RbCb*/
+ 0x00e4, 0xff00, /*SCR GrMr*/
+ 0x00e5, 0x00ff, /*SCR GgMg*/
+ 0x00e6, 0xff00, /*SCR GbMb*/
+ 0x00e7, 0xff00, /*SCR BrYr*/
+ 0x00e8, 0xff00, /*SCR BgYg*/
+ 0x00e9, 0x00ff, /*SCR BbYb*/
+ 0x00ea, 0xff00, /*SCR KrWrv*/
+ 0x00eb, 0xff00, /*SCR KgWg*/
+ 0x00ec, 0xff00, /*SCR KbWb*/
+ 0x0000, 0x0001, /*BANK 1*/
+ 0x0075, 0x0000, /*CABC dgain*/
+ 0x0076, 0x0000,
+ 0x0077, 0x0000,
+ 0x0078, 0x0000,
+ 0x007f, 0x0002, /*dynamic lcd*/
+ 0x00ff, 0x0000, /*Mask Release*/
+ END_SEQ, 0x0000,
+};
+#else
+static unsigned short tune_negative[] = {
+ 0x0000, 0x0000, /*BANK 0*/
+ 0x0008, 0x0020, /*SCR*/
+ 0x00e1, 0x00ff, /*SCR RrCr*/
+ 0x00e2, 0xff00, /*SCR RgCg*/
+ 0x00e3, 0xff00, /*SCR RbCb*/
+ 0x00e4, 0xff00, /*SCR GrMr*/
+ 0x00e5, 0x00ff, /*SCR GgMg*/
+ 0x00e6, 0xff00, /*SCR GbMb*/
+ 0x00e7, 0xff00, /*SCR BrYr*/
+ 0x00e8, 0xff00, /*SCR BgYg*/
+ 0x00e9, 0x00ff, /*SCR BbYb*/
+ 0x00ea, 0xff00, /*SCR KrWr*/
+ 0x00eb, 0xff00, /*SCR KgWg*/
+ 0x00ec, 0xff00, /*SCR KbWb*/
+ 0x00ff, 0x0000, /*Mask Release*/
+ END_SEQ, 0x0000,
+};
+
+static unsigned short tune_color_blind[] = {
+ 0x0000, 0x0000, /*BANK 0*/
+ 0x0008, 0x0020, /*SCR*/
+ 0x00e1, 0x00ff, /*SCR RrCr*/
+ 0x00e2, 0xff00, /*SCR RgCg*/
+ 0x00e3, 0xff00, /*SCR RbCb*/
+ 0x00e4, 0xff00, /*SCR GrMr*/
+ 0x00e5, 0x00ff, /*SCR GgMg*/
+ 0x00e6, 0xff00, /*SCR GbMb*/
+ 0x00e7, 0xff00, /*SCR BrYr*/
+ 0x00e8, 0xff00, /*SCR BgYg*/
+ 0x00e9, 0x00ff, /*SCR BbYb*/
+ 0x00ea, 0x00ff, /*SCR KrWr*/
+ 0x00eb, 0x00ff, /*SCR KgWg*/
+ 0x00ec, 0x00ff, /*SCR KbWb*/
+ 0x00ff, 0x0000, /*Mask Release*/
+ END_SEQ, 0x0000,
+};
+#endif
+
+struct mdnie_tuning_info negative_table[CABC_MAX] = {
+ {"negative", tune_negative},
+#if defined(CONFIG_FB_MDNIE_PWM)
+ {"negative_cabc", tune_negative_cabc},
+#endif
+};
+
+struct mdnie_tuning_info accessibility_table[CABC_MAX][ACCESSIBILITY_MAX] = {
+ {
+ {NULL, NULL},
+ {"negative", tune_negative},
+ {"color_blind", tune_color_blind},
+ },
+#if defined(CONFIG_FB_MDNIE_PWM)
+ {
+ {NULL, NULL},
+ {"negative_cabc", tune_negative_cabc},
+ {"color_blind_cabc", tune_color_blind_cabc},
+ }
+#endif
+};
+
+struct mdnie_tuning_info color_tone_table[COLOR_TONE_MAX - COLOR_TONE_1] = {
+ {"color_tone_1", tune_color_tone_1},
+ {"color_tone_2", tune_color_tone_2},
+ {"color_tone_3", tune_color_tone_3},
+};
+
+#endif /* __MDNIE_COLOR_TONE_H__ */