diff options
Diffstat (limited to 'drivers/video/samsung_duallcd/mdnie_dmb.h')
-rw-r--r-- | drivers/video/samsung_duallcd/mdnie_dmb.h | 382 |
1 files changed, 382 insertions, 0 deletions
diff --git a/drivers/video/samsung_duallcd/mdnie_dmb.h b/drivers/video/samsung_duallcd/mdnie_dmb.h new file mode 100644 index 0000000..a7b8bbb --- /dev/null +++ b/drivers/video/samsung_duallcd/mdnie_dmb.h @@ -0,0 +1,382 @@ +#ifndef __MDNIE_DMB_H__ +#define __MDNIE_DMB_H__ + +#include "mdnie.h" + +#if defined(CONFIG_CPU_EXYNOS4210) +static const unsigned short tune_dynamic_dmb[] = { + /* start U1 dynamic dmb */ + 0x0001, 0x0041, /* PCC 40 */ + 0x002c, 0x003C, /* DNR bypass 0x003C */ + 0x002d, 0x1508, /* DNR bypass 0x0a08 */ + 0x002e, 0x1005, /* DNR bypass 0x1010 */ + 0x002f, 0x0400, /* DNR bypass 0x0400 */ + 0x003A, 0x000D, /* HDTR DE CS de on = d , de off = 9 */ + 0x003B, 0x03ff, /* DE SHARPNESS */ + 0x003C, 0x0000, /* NOISE LEVEL */ + 0x003F, 0x012c, /* CS GAIN */ + 0x0042, 0x0020, /* DE TH (MAX DIFF) */ + 0x0049, 0x0400, /* pcc skin */ + 0x004a, 0x7a00, /* 7300 */ + 0x004b, 0x008F, /* 008f */ + 0x004d, 0x0100, /* pcc strength */ + 0x00c8, 0x0000, /* kb R SCR */ + 0x00c9, 0x0000, /* gc R */ + 0x00ca, 0xffff, /* rm R */ + 0x00cb, 0xffff, /* yw R */ + 0x00cc, 0x0000, /* kb G */ + 0x00cd, 0xffff, /* gc G */ + 0x00ce, 0x0000, /* rm G */ + 0x00cf, 0xffff, /* yw G */ + 0x00d0, 0x00ff, /* kb B */ + 0x00d1, 0x00ff, /* gc B */ + 0x00d2, 0x00ff, /* rm B */ + 0x00d3, 0x00ff, /* yw B */ + 0x00D6, 0x1d00, /* GAMMA start : address change for C210 */ + 0x00D7, 0x1d00, + 0x00D8, 0x1d00, + 0x00D9, 0x1d00, + 0x00DA, 0x1d00, + 0x00DB, 0x1d00, + 0x00DC, 0x1d00, + 0x00DD, 0x1d00, + 0x00DE, 0x1d00, + 0x00DF, 0x1d00, + 0x00E0, 0x1d00, + 0x00E1, 0x1d00, + 0x00E2, 0x1d00, + 0x00E3, 0x1d00, + 0x00E4, 0x1d00, + 0x00E5, 0xa40e, + 0x00E6, 0xa40e, + 0x00E7, 0xa40e, + 0x00E8, 0xa819, + 0x00E9, 0xa40a, + 0x00EA, 0x2200, + 0x00EB, 0x1c25, + 0x00EC, 0x1842, + 0x00ED, 0xFF00, + 0x00D5, 0x0001, /* GAMMA end */ + 0x0028, 0x0000, /* Register Mask */ + /* end */ +}; + +static const unsigned short tune_standard_dmb[] = { + /* start U1 standard dmb */ + 0x0001, 0x0041, /* PCC 40 */ + 0x002c, 0x003C, /* DNR bypass 0x003C */ + 0x002d, 0x1508, /* DNR bypass 0x0a08 */ + 0x002e, 0x1005, /* DNR bypass 0x1010 */ + 0x002f, 0x0400, /* DNR bypass 0x0400 */ + 0x003A, 0x000D, /* HDTR DE CS de on = d , de off = 9 */ + 0x003B, 0x03ff, /* DE SHARPNESS */ + 0x003C, 0x0000, /* NOISE LEVEL */ + 0x003F, 0x0032, /* CS GAIN */ + 0x0042, 0x0020, /* DE TH (MAX DIFF) */ + 0x0049, 0x0400, /* pcc skin */ + 0x004a, 0x7a00, /* 7300 */ + 0x004b, 0x008F, /* 008f */ + 0x004d, 0x0100, /* pcc strength */ + 0x00c8, 0x0000, /* kb R SCR */ + 0x00c9, 0x0000, /* gc R */ + 0x00ca, 0xffff, /* rm R */ + 0x00cb, 0xffff, /* yw R */ + 0x00cc, 0x0000, /* kb G */ + 0x00cd, 0xffff, /* gc G */ + 0x00ce, 0x0000, /* rm G */ + 0x00cf, 0xffff, /* yw G */ + 0x00d0, 0x00ff, /* kb B */ + 0x00d1, 0x00ff, /* gc B */ + 0x00d2, 0x00ff, /* rm B */ + 0x00d3, 0x00ff, /* yw B */ + 0x00D6, 0x2000, /* GAMMA start */ + 0x00D7, 0x2000, + 0x00D8, 0x2000, + 0x00D9, 0x2000, + 0x00DA, 0x2000, + 0x00DB, 0x2000, + 0x00DC, 0x2000, + 0x00DD, 0x2000, + 0x00DE, 0x2000, + 0x00DF, 0x2000, + 0x00E0, 0x2000, + 0x00E1, 0x2000, + 0x00E2, 0x2000, + 0x00E3, 0x2000, + 0x00E4, 0x2000, + 0x00E5, 0x2000, + 0x00E6, 0x2000, + 0x00E7, 0x2000, + 0x00E8, 0x2000, + 0x00E9, 0x2000, + 0x00EA, 0xa105, + 0x00EB, 0xa105, + 0x00EC, 0xa105, + 0x00ED, 0xFF00, + 0x00D5, 0x0001, /* GAMMA end */ + 0x0028, 0x0000, /* Register Mask */ + /* end */ +}; + +static const unsigned short tune_movie_dmb[] = { + /* start U1 movie dmb */ + 0x0001, 0x0041, /* PCC 40 */ + 0x002c, 0x003C, /* DNR bypass 0x003C */ + 0x002d, 0x1508, /* DNR bypass 0x0a08 */ + 0x002e, 0x1005, /* DNR bypass 0x1010 */ + 0x002f, 0x0400, /* DNR bypass 0x0400 */ + 0x003A, 0x000D, /* HDTR DE CS de on = d , de off = 9 */ + 0x003B, 0x0001, /* DE SHARPNESS */ + 0x003C, 0x0000, /* NOISE LEVEL */ + 0x003F, 0x0032, /* CS GAIN 300 */ + 0x0042, 0x003f, /* DE TH (MAX DIFF) */ + 0x0049, 0x0400, /* pcc skin */ + 0x004a, 0x7a00, /* 7300 */ + 0x004b, 0x008F, /* 008f */ + 0x004d, 0x0000, /* pcc strength */ + 0x00c8, 0x0000, /* kb R SCR */ + 0x00c9, 0xb6bc, /* gc R */ + 0x00ca, 0xd4ff, /* rm R */ + 0x00cb, 0xffff, /* yw R */ + 0x00cc, 0x0000, /* kb G */ + 0x00cd, 0xffff, /* gc G */ + 0x00ce, 0x2148, /* rm G */ + 0x00cf, 0xe8f1, /* yw G */ + 0x00d0, 0x00ff, /* kb B */ + 0x00d1, 0x53ee, /* gc B */ + 0x00d2, 0x28f6, /* rm B */ + 0x00d3, 0x56e7, /* yw B */ + 0x00D6, 0x2000, /* GAMMA start */ + 0x00D7, 0x2000, + 0x00D8, 0x2000, + 0x00D9, 0x2000, + 0x00DA, 0x2000, + 0x00DB, 0x2000, + 0x00DC, 0x2000, + 0x00DD, 0x2000, + 0x00DE, 0x2000, + 0x00DF, 0x2000, + 0x00E0, 0x2000, + 0x00E1, 0x2000, + 0x00E2, 0x2000, + 0x00E3, 0x2000, + 0x00E4, 0x2000, + 0x00E5, 0x2000, + 0x00E6, 0x2000, + 0x00E7, 0x2000, + 0x00E8, 0x2000, + 0x00E9, 0x2000, + 0x00EA, 0xa105, + 0x00EB, 0xa105, + 0x00EC, 0xa105, + 0x00ED, 0xFF00, + 0x00D5, 0x0001, /* GAMMA end */ + 0x0028, 0x0000, /* Register Mask */ + /* end */ +}; + +static const unsigned short tune_natural_dmb[] = { + /* start U1 natural dmb */ + 0x0001, 0x0041, /* PCC 40 */ + 0x002c, 0x003C, /* DNR bypass 0x003C */ + 0x002d, 0x1508, /* DNR bypass 0x0a08 */ + 0x002e, 0x1005, /* DNR bypass 0x1010 */ + 0x002f, 0x0400, /* DNR bypass 0x0400 */ + 0x003A, 0x000D, /* HDTR DE CS de on = d , de off = 9 */ + 0x003B, 0x03ff, /* DE SHARPNESS */ + 0x003C, 0x0000, /* NOISE LEVEL */ + 0x003F, 0x0180, /* CS GAIN */ + 0x0042, 0x0020, /* DE TH (MAX DIFF) */ + 0x0049, 0x0400, /* pcc skin */ + 0x004a, 0x7a00, /* 7300 */ + 0x004b, 0x008F, /* 008f */ + 0x004d, 0x0100, /* pcc strength */ + 0x00c8, 0x0000, /* kb R SCR */ + 0x00c9, 0xb6bc, /* gc R */ + 0x00ca, 0xd4ff, /* rm R */ + 0x00cb, 0xffff, /* yw R */ + 0x00cc, 0x0000, /* kb G */ + 0x00cd, 0xffff, /* gc G */ + 0x00ce, 0x2148, /* rm G */ + 0x00cf, 0xe8f1, /* yw G */ + 0x00d0, 0x00ff, /* kb B */ + 0x00d1, 0x53ee, /* gc B */ + 0x00d2, 0x28f6, /* rm B */ + 0x00d3, 0x56ec, /* yw B */ + 0x00D6, 0x2000, /* GAMMA start */ + 0x00D7, 0x2000, + 0x00D8, 0x2000, + 0x00D9, 0x2000, + 0x00DA, 0x2000, + 0x00DB, 0x2000, + 0x00DC, 0x2000, + 0x00DD, 0x2000, + 0x00DE, 0x2000, + 0x00DF, 0x2000, + 0x00E0, 0x2000, + 0x00E1, 0x2000, + 0x00E2, 0x2000, + 0x00E3, 0x2000, + 0x00E4, 0x2000, + 0x00E5, 0x2000, + 0x00E6, 0x2000, + 0x00E7, 0x2000, + 0x00E8, 0x2000, + 0x00E9, 0x2000, + 0x00EA, 0xa105, + 0x00EB, 0xa105, + 0x00EC, 0xa105, + 0x00ED, 0xFF00, + 0x00D5, 0x0001, /* GAMMA end */ + 0x0028, 0x0000, /* Register Mask */ + /* end */ + +}; +#else +static const unsigned short tune_dynamic_dmb[] = { + /* start M0 dynamic dmb */ + 0x0000, 0x0000, + 0x0008, 0x008e, + 0x0030, 0x0005, + 0x0039, 0x0040, + 0x0080, 0x0fff, + 0x0081, 0x1908, + 0x0082, 0x0809, + 0x0083, 0x0000, + 0x0092, 0x00e0, + 0x0093, 0x00e0, + 0x0094, 0x00e0, + 0x0095, 0x00e0, + 0x0096, 0x00e0, + 0x0097, 0x00e0, + 0x0098, 0x1000, + 0x0099, 0x0010, + 0x00b0, 0x0808, + 0x00b1, 0x1010, + 0x00b2, 0x1010, + 0x00b3, 0x2804, + 0x0000, 0x0001, + 0x001f, 0x0080, + 0x0020, 0x0000, + 0x0021, 0x0d93, + 0x0022, 0x1aa5, + 0x0023, 0x29b7, + 0x0024, 0x39c8, + 0x0025, 0x4bd8, + 0x0026, 0x5de6, + 0x0027, 0x6ff4, + 0x0028, 0x81ff, + 0x00ff, 0x0000, + END_SEQ, 0x0000, +}; + +static const unsigned short tune_standard_dmb[] = { + /* start M0 standard dmb */ + 0x0000, 0x0000, + 0x0008, 0x000e, + 0x0030, 0x0005, + 0x0039, 0x0040, + 0x0080, 0x0fff, + 0x0081, 0x1908, + 0x0082, 0x0809, + 0x0083, 0x0000, + 0x0092, 0x00c0, + 0x0093, 0x00c0, + 0x0094, 0x00c0, + 0x0095, 0x00c0, + 0x0096, 0x00c0, + 0x0097, 0x00c0, + 0x0098, 0x1000, + 0x0099, 0x0010, + 0x00b0, 0x0a0a, + 0x00b1, 0x1010, + 0x00b2, 0x1010, + 0x00b3, 0x2004, + 0x00ff, 0x0000, + END_SEQ, 0x0000, +}; + +static const unsigned short tune_movie_dmb[] = { + /* start M0 movie dmb */ + 0x0000, 0x0000, + 0x0008, 0x002e, + 0x0030, 0x0005, + 0x0039, 0x0040, + 0x0080, 0x0fff, + 0x0081, 0x1908, + 0x0082, 0x0809, + 0x0083, 0x0000, + 0x0092, 0x0040, + 0x0093, 0x0040, + 0x0094, 0x0040, + 0x0095, 0x0040, + 0x0096, 0x0040, + 0x0097, 0x0040, + 0x0098, 0x1000, + 0x0099, 0x0010, + 0x00b0, 0x1010, + 0x00b1, 0x1010, + 0x00b2, 0x1010, + 0x00b3, 0x1204, + 0x00e1, 0xd6ac, + 0x00e2, 0x32ff, + 0x00e3, 0x2ef0, + 0x00e4, 0xa5fa, + 0x00e5, 0xff4d, + 0x00e6, 0x59ff, + 0x00e7, 0x00ff, + 0x00e8, 0x00fb, + 0x00e9, 0xff61, + 0x00ea, 0x00ff, + 0x00eb, 0x00f8, + 0x00ec, 0x00f1, + 0x00ff, 0x0000, + END_SEQ, 0x0000, +}; + +static const unsigned short tune_natural_dmb[] = { + /* start M0 natural dmb */ + 0x0000, 0x0000, + 0x0008, 0x002e, + 0x0030, 0x0005, + 0x0039, 0x0040, + 0x0080, 0x0fff, + 0x0081, 0x1908, + 0x0082, 0x0809, + 0x0083, 0x0000, + 0x0092, 0x00c0, + 0x0093, 0x00c0, + 0x0094, 0x00c0, + 0x0095, 0x00c0, + 0x0096, 0x00c0, + 0x0097, 0x00c0, + 0x0098, 0x1000, + 0x0099, 0x0010, + 0x00b0, 0x1010, + 0x00b1, 0x1010, + 0x00b2, 0x1010, + 0x00b3, 0x1804, + 0x00e1, 0xd6ac, + 0x00e2, 0x32ff, + 0x00e3, 0x2ef0, + 0x00e4, 0xa5fa, + 0x00e5, 0xff4d, + 0x00e6, 0x59ff, + 0x00e7, 0x00ff, + 0x00e8, 0x00fb, + 0x00e9, 0xff61, + 0x00ea, 0x00ff, + 0x00eb, 0x00fa, + 0x00ec, 0x00f8, + 0x00ff, 0x0000, + END_SEQ, 0x0000, +}; +#endif + +struct mdnie_tunning_info tune_dmb[MODE_MAX] = { + {"DYNAMIC_DMB", tune_dynamic_dmb }, + {"STANDARD_DMB", tune_standard_dmb}, + {"MOVIE_DMB", tune_movie_dmb }, + {"NATURAL_DMB", tune_natural_dmb }, +}; +#endif /* __MDNIE_DMB_H__ */ |