Initial commit
[kernel/linux-3.0.git] / drivers / video / samsung_duallcd / mdnie_dmb.h
1 #ifndef __MDNIE_DMB_H__
2 #define __MDNIE_DMB_H__
3
4 #include "mdnie.h"
5
6 #if defined(CONFIG_CPU_EXYNOS4210)
7 static const unsigned short tune_dynamic_dmb[] = {
8         /* start U1 dynamic dmb */
9         0x0001, 0x0041, /* PCC 40 */
10         0x002c, 0x003C, /* DNR bypass 0x003C */
11         0x002d, 0x1508, /* DNR bypass 0x0a08 */
12         0x002e, 0x1005, /* DNR bypass 0x1010 */
13         0x002f, 0x0400, /* DNR bypass 0x0400 */
14         0x003A, 0x000D, /* HDTR DE CS  de on = d , de off = 9 */
15         0x003B, 0x03ff, /* DE SHARPNESS */
16         0x003C, 0x0000, /* NOISE LEVEL */
17         0x003F, 0x012c, /* CS GAIN */
18         0x0042, 0x0020, /* DE TH (MAX DIFF) */
19         0x0049, 0x0400, /* pcc skin */
20         0x004a, 0x7a00, /* 7300 */
21         0x004b, 0x008F, /* 008f */
22         0x004d, 0x0100, /* pcc strength */
23         0x00c8, 0x0000, /* kb R SCR */
24         0x00c9, 0x0000, /* gc R */
25         0x00ca, 0xffff, /* rm R */
26         0x00cb, 0xffff, /* yw R */
27         0x00cc, 0x0000, /* kb G */
28         0x00cd, 0xffff, /* gc G */
29         0x00ce, 0x0000, /* rm G */
30         0x00cf, 0xffff, /* yw G */
31         0x00d0, 0x00ff, /* kb B */
32         0x00d1, 0x00ff, /* gc B */
33         0x00d2, 0x00ff, /* rm B */
34         0x00d3, 0x00ff, /* yw B */
35         0x00D6, 0x1d00, /* GAMMA start : address change for C210 */
36         0x00D7, 0x1d00,
37         0x00D8, 0x1d00,
38         0x00D9, 0x1d00,
39         0x00DA, 0x1d00,
40         0x00DB, 0x1d00,
41         0x00DC, 0x1d00,
42         0x00DD, 0x1d00,
43         0x00DE, 0x1d00,
44         0x00DF, 0x1d00,
45         0x00E0, 0x1d00,
46         0x00E1, 0x1d00,
47         0x00E2, 0x1d00,
48         0x00E3, 0x1d00,
49         0x00E4, 0x1d00,
50         0x00E5, 0xa40e,
51         0x00E6, 0xa40e,
52         0x00E7, 0xa40e,
53         0x00E8, 0xa819,
54         0x00E9, 0xa40a,
55         0x00EA, 0x2200,
56         0x00EB, 0x1c25,
57         0x00EC, 0x1842,
58         0x00ED, 0xFF00,
59         0x00D5, 0x0001, /* GAMMA end */
60         0x0028, 0x0000, /* Register Mask */
61         /* end */
62 };
63
64 static const unsigned short tune_standard_dmb[] = {
65         /* start U1 standard dmb */
66         0x0001, 0x0041, /* PCC 40 */
67         0x002c, 0x003C, /* DNR bypass 0x003C */
68         0x002d, 0x1508, /* DNR bypass 0x0a08 */
69         0x002e, 0x1005, /* DNR bypass 0x1010 */
70         0x002f, 0x0400, /* DNR bypass 0x0400 */
71         0x003A, 0x000D, /* HDTR DE CS  de on = d , de off = 9 */
72         0x003B, 0x03ff, /* DE SHARPNESS */
73         0x003C, 0x0000, /* NOISE LEVEL */
74         0x003F, 0x0032, /* CS GAIN */
75         0x0042, 0x0020, /* DE TH (MAX DIFF) */
76         0x0049, 0x0400, /* pcc skin */
77         0x004a, 0x7a00, /* 7300 */
78         0x004b, 0x008F, /* 008f */
79         0x004d, 0x0100, /* pcc strength */
80         0x00c8, 0x0000, /* kb R SCR */
81         0x00c9, 0x0000, /* gc R */
82         0x00ca, 0xffff, /* rm R */
83         0x00cb, 0xffff, /* yw R */
84         0x00cc, 0x0000, /* kb G */
85         0x00cd, 0xffff, /* gc G */
86         0x00ce, 0x0000, /* rm G */
87         0x00cf, 0xffff, /* yw G */
88         0x00d0, 0x00ff, /* kb B */
89         0x00d1, 0x00ff, /* gc B */
90         0x00d2, 0x00ff, /* rm B */
91         0x00d3, 0x00ff, /* yw B */
92         0x00D6, 0x2000, /* GAMMA start */
93         0x00D7, 0x2000,
94         0x00D8, 0x2000,
95         0x00D9, 0x2000,
96         0x00DA, 0x2000,
97         0x00DB, 0x2000,
98         0x00DC, 0x2000,
99         0x00DD, 0x2000,
100         0x00DE, 0x2000,
101         0x00DF, 0x2000,
102         0x00E0, 0x2000,
103         0x00E1, 0x2000,
104         0x00E2, 0x2000,
105         0x00E3, 0x2000,
106         0x00E4, 0x2000,
107         0x00E5, 0x2000,
108         0x00E6, 0x2000,
109         0x00E7, 0x2000,
110         0x00E8, 0x2000,
111         0x00E9, 0x2000,
112         0x00EA, 0xa105,
113         0x00EB, 0xa105,
114         0x00EC, 0xa105,
115         0x00ED, 0xFF00,
116         0x00D5, 0x0001, /* GAMMA end */
117         0x0028, 0x0000, /* Register Mask */
118         /* end */
119 };
120
121 static const unsigned short tune_movie_dmb[] = {
122         /* start U1 movie dmb */
123         0x0001, 0x0041, /* PCC 40 */
124         0x002c, 0x003C, /* DNR bypass 0x003C */
125         0x002d, 0x1508, /* DNR bypass 0x0a08 */
126         0x002e, 0x1005, /* DNR bypass 0x1010 */
127         0x002f, 0x0400, /* DNR bypass 0x0400 */
128         0x003A, 0x000D, /* HDTR DE CS  de on = d , de off = 9 */
129         0x003B, 0x0001, /* DE SHARPNESS */
130         0x003C, 0x0000, /* NOISE LEVEL */
131         0x003F, 0x0032, /* CS GAIN 300 */
132         0x0042, 0x003f, /* DE TH (MAX DIFF) */
133         0x0049, 0x0400, /* pcc skin */
134         0x004a, 0x7a00, /* 7300 */
135         0x004b, 0x008F, /* 008f */
136         0x004d, 0x0000, /* pcc strength */
137         0x00c8, 0x0000, /* kb R SCR */
138         0x00c9, 0xb6bc, /* gc R */
139         0x00ca, 0xd4ff, /* rm R */
140         0x00cb, 0xffff, /* yw R */
141         0x00cc, 0x0000, /* kb G */
142         0x00cd, 0xffff, /* gc G */
143         0x00ce, 0x2148, /* rm G */
144         0x00cf, 0xe8f1, /* yw G */
145         0x00d0, 0x00ff, /* kb B */
146         0x00d1, 0x53ee, /* gc B */
147         0x00d2, 0x28f6, /* rm B */
148         0x00d3, 0x56e7, /* yw B */
149         0x00D6, 0x2000, /* GAMMA start */
150         0x00D7, 0x2000,
151         0x00D8, 0x2000,
152         0x00D9, 0x2000,
153         0x00DA, 0x2000,
154         0x00DB, 0x2000,
155         0x00DC, 0x2000,
156         0x00DD, 0x2000,
157         0x00DE, 0x2000,
158         0x00DF, 0x2000,
159         0x00E0, 0x2000,
160         0x00E1, 0x2000,
161         0x00E2, 0x2000,
162         0x00E3, 0x2000,
163         0x00E4, 0x2000,
164         0x00E5, 0x2000,
165         0x00E6, 0x2000,
166         0x00E7, 0x2000,
167         0x00E8, 0x2000,
168         0x00E9, 0x2000,
169         0x00EA, 0xa105,
170         0x00EB, 0xa105,
171         0x00EC, 0xa105,
172         0x00ED, 0xFF00,
173         0x00D5, 0x0001, /* GAMMA end */
174         0x0028, 0x0000, /* Register Mask */
175         /* end */
176 };
177
178 static const unsigned short tune_natural_dmb[] = {
179         /* start U1 natural dmb */
180         0x0001, 0x0041, /* PCC 40 */
181         0x002c, 0x003C, /* DNR bypass 0x003C */
182         0x002d, 0x1508, /* DNR bypass 0x0a08 */
183         0x002e, 0x1005, /* DNR bypass 0x1010 */
184         0x002f, 0x0400, /* DNR bypass 0x0400 */
185         0x003A, 0x000D, /* HDTR DE CS  de on = d , de off = 9 */
186         0x003B, 0x03ff, /* DE SHARPNESS */
187         0x003C, 0x0000, /* NOISE LEVEL */
188         0x003F, 0x0180, /* CS GAIN */
189         0x0042, 0x0020, /* DE TH (MAX DIFF) */
190         0x0049, 0x0400, /* pcc skin */
191         0x004a, 0x7a00, /* 7300 */
192         0x004b, 0x008F, /* 008f */
193         0x004d, 0x0100, /* pcc strength */
194         0x00c8, 0x0000, /* kb R SCR */
195         0x00c9, 0xb6bc, /* gc R */
196         0x00ca, 0xd4ff, /* rm R */
197         0x00cb, 0xffff, /* yw R */
198         0x00cc, 0x0000, /* kb G */
199         0x00cd, 0xffff, /* gc G */
200         0x00ce, 0x2148, /* rm G */
201         0x00cf, 0xe8f1, /* yw G */
202         0x00d0, 0x00ff, /* kb B */
203         0x00d1, 0x53ee, /* gc B */
204         0x00d2, 0x28f6, /* rm B */
205         0x00d3, 0x56ec, /* yw B */
206         0x00D6, 0x2000, /* GAMMA start */
207         0x00D7, 0x2000,
208         0x00D8, 0x2000,
209         0x00D9, 0x2000,
210         0x00DA, 0x2000,
211         0x00DB, 0x2000,
212         0x00DC, 0x2000,
213         0x00DD, 0x2000,
214         0x00DE, 0x2000,
215         0x00DF, 0x2000,
216         0x00E0, 0x2000,
217         0x00E1, 0x2000,
218         0x00E2, 0x2000,
219         0x00E3, 0x2000,
220         0x00E4, 0x2000,
221         0x00E5, 0x2000,
222         0x00E6, 0x2000,
223         0x00E7, 0x2000,
224         0x00E8, 0x2000,
225         0x00E9, 0x2000,
226         0x00EA, 0xa105,
227         0x00EB, 0xa105,
228         0x00EC, 0xa105,
229         0x00ED, 0xFF00,
230         0x00D5, 0x0001, /* GAMMA end */
231         0x0028, 0x0000, /* Register Mask */
232         /* end */
233
234 };
235 #else
236 static const unsigned short tune_dynamic_dmb[] = {
237         /* start M0 dynamic dmb */
238         0x0000, 0x0000,
239         0x0008, 0x008e,
240         0x0030, 0x0005,
241         0x0039, 0x0040,
242         0x0080, 0x0fff,
243         0x0081, 0x1908,
244         0x0082, 0x0809,
245         0x0083, 0x0000,
246         0x0092, 0x00e0,
247         0x0093, 0x00e0,
248         0x0094, 0x00e0,
249         0x0095, 0x00e0,
250         0x0096, 0x00e0,
251         0x0097, 0x00e0,
252         0x0098, 0x1000,
253         0x0099, 0x0010,
254         0x00b0, 0x0808,
255         0x00b1, 0x1010,
256         0x00b2, 0x1010,
257         0x00b3, 0x2804,
258         0x0000, 0x0001,
259         0x001f, 0x0080,
260         0x0020, 0x0000,
261         0x0021, 0x0d93,
262         0x0022, 0x1aa5,
263         0x0023, 0x29b7,
264         0x0024, 0x39c8,
265         0x0025, 0x4bd8,
266         0x0026, 0x5de6,
267         0x0027, 0x6ff4,
268         0x0028, 0x81ff,
269         0x00ff, 0x0000,
270         END_SEQ, 0x0000,
271 };
272
273 static const unsigned short tune_standard_dmb[] = {
274         /* start M0 standard dmb */
275         0x0000, 0x0000,
276         0x0008, 0x000e,
277         0x0030, 0x0005,
278         0x0039, 0x0040,
279         0x0080, 0x0fff,
280         0x0081, 0x1908,
281         0x0082, 0x0809,
282         0x0083, 0x0000,
283         0x0092, 0x00c0,
284         0x0093, 0x00c0,
285         0x0094, 0x00c0,
286         0x0095, 0x00c0,
287         0x0096, 0x00c0,
288         0x0097, 0x00c0,
289         0x0098, 0x1000,
290         0x0099, 0x0010,
291         0x00b0, 0x0a0a,
292         0x00b1, 0x1010,
293         0x00b2, 0x1010,
294         0x00b3, 0x2004,
295         0x00ff, 0x0000,
296         END_SEQ, 0x0000,
297 };
298
299 static const unsigned short tune_movie_dmb[] = {
300         /* start M0 movie dmb */
301         0x0000, 0x0000,
302         0x0008, 0x002e,
303         0x0030, 0x0005,
304         0x0039, 0x0040,
305         0x0080, 0x0fff,
306         0x0081, 0x1908,
307         0x0082, 0x0809,
308         0x0083, 0x0000,
309         0x0092, 0x0040,
310         0x0093, 0x0040,
311         0x0094, 0x0040,
312         0x0095, 0x0040,
313         0x0096, 0x0040,
314         0x0097, 0x0040,
315         0x0098, 0x1000,
316         0x0099, 0x0010,
317         0x00b0, 0x1010,
318         0x00b1, 0x1010,
319         0x00b2, 0x1010,
320         0x00b3, 0x1204,
321         0x00e1, 0xd6ac,
322         0x00e2, 0x32ff,
323         0x00e3, 0x2ef0,
324         0x00e4, 0xa5fa,
325         0x00e5, 0xff4d,
326         0x00e6, 0x59ff,
327         0x00e7, 0x00ff,
328         0x00e8, 0x00fb,
329         0x00e9, 0xff61,
330         0x00ea, 0x00ff,
331         0x00eb, 0x00f8,
332         0x00ec, 0x00f1,
333         0x00ff, 0x0000,
334         END_SEQ, 0x0000,
335 };
336
337 static const unsigned short tune_natural_dmb[] = {
338         /* start M0 natural dmb */
339         0x0000, 0x0000,
340         0x0008, 0x002e,
341         0x0030, 0x0005,
342         0x0039, 0x0040,
343         0x0080, 0x0fff,
344         0x0081, 0x1908,
345         0x0082, 0x0809,
346         0x0083, 0x0000,
347         0x0092, 0x00c0,
348         0x0093, 0x00c0,
349         0x0094, 0x00c0,
350         0x0095, 0x00c0,
351         0x0096, 0x00c0,
352         0x0097, 0x00c0,
353         0x0098, 0x1000,
354         0x0099, 0x0010,
355         0x00b0, 0x1010,
356         0x00b1, 0x1010,
357         0x00b2, 0x1010,
358         0x00b3, 0x1804,
359         0x00e1, 0xd6ac,
360         0x00e2, 0x32ff,
361         0x00e3, 0x2ef0,
362         0x00e4, 0xa5fa,
363         0x00e5, 0xff4d,
364         0x00e6, 0x59ff,
365         0x00e7, 0x00ff,
366         0x00e8, 0x00fb,
367         0x00e9, 0xff61,
368         0x00ea, 0x00ff,
369         0x00eb, 0x00fa,
370         0x00ec, 0x00f8,
371         0x00ff, 0x0000,
372         END_SEQ, 0x0000,
373 };
374 #endif
375
376 struct mdnie_tunning_info tune_dmb[MODE_MAX] = {
377         {"DYNAMIC_DMB",    tune_dynamic_dmb },
378         {"STANDARD_DMB",   tune_standard_dmb},
379         {"MOVIE_DMB",      tune_movie_dmb   },
380         {"NATURAL_DMB",    tune_natural_dmb },
381 };
382 #endif /* __MDNIE_DMB_H__ */