1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support for Medifield PNW Camera Imaging ISP subsystem.
4  *
5  * Copyright (c) 2010 Intel Corporation. All Rights Reserved.
6  *
7  * Copyright (c) 2010 Silicon Hive www.siliconhive.com.
8  */
9 #ifndef	__ATOMISP_TABLES_H__
10 #define	__ATOMISP_TABLES_H__
11 
12 #include "sh_css_params.h"
13 
14 /*Sepia image effect table*/
15 static struct ia_css_cc_config sepia_cc_config = {
16 	.fraction_bits  = 8,
17 	.matrix	 = {141, 18, 68, -40, -5, -19, 35, 4, 16},
18 };
19 
20 /*Negative image effect table*/
21 static struct ia_css_cc_config nega_cc_config = {
22 	.fraction_bits  = 8,
23 	.matrix	 = {255, 29, 120, 0, 374, 342, 0, 672, -301},
24 };
25 
26 /*Mono image effect table*/
27 static struct ia_css_cc_config mono_cc_config = {
28 	.fraction_bits  = 8,
29 	.matrix	 = {255, 29, 120, 0, 0, 0, 0, 0, 0},
30 };
31 
32 /*Skin whiten image effect table*/
33 static struct ia_css_macc_table skin_low_macc_table = {
34 	.data = {
35 		8192, 0, 0, 8192,
36 		8192, 0, 0, 8192,
37 		8192, 0, 0, 8192,
38 		8192, 0, 0, 8192,
39 		7168, 0, 2048, 8192,
40 		5120, -1024, 2048, 8192,
41 		8192, 2048, -1024, 5120,
42 		8192, 2048, 0, 7168,
43 		8192, 0, 0, 8192,
44 		8192, 0, 0, 8192,
45 		8192, 0, 0, 8192,
46 		8192, 0, 0, 8192,
47 		8192, 0, 0, 8192,
48 		8192, 0, 0, 8192,
49 		8192, 0, 0, 8192,
50 		8192, 0, 0, 8192
51 	}
52 };
53 
54 static struct ia_css_macc_table skin_medium_macc_table = {
55 	.data = {
56 		8192, 0, 0, 8192,
57 		8192, 0, 0, 8192,
58 		8192, 0, 0, 8192,
59 		8192, 0, 0, 8192,
60 		5120, 0, 6144, 8192,
61 		3072, -1024, 2048, 6144,
62 		6144, 2048, -1024, 3072,
63 		8192, 6144, 0, 5120,
64 		8192, 0, 0, 8192,
65 		8192, 0, 0, 8192,
66 		8192, 0, 0, 8192,
67 		8192, 0, 0, 8192,
68 		8192, 0, 0, 8192,
69 		8192, 0, 0, 8192,
70 		8192, 0, 0, 8192,
71 		8192, 0, 0, 8192
72 	}
73 };
74 
75 static struct ia_css_macc_table skin_high_macc_table = {
76 	.data = {
77 		8192, 0, 0, 8192,
78 		8192, 0, 0, 8192,
79 		8192, 0, 0, 8192,
80 		8192, 0, 0, 8192,
81 		4096, 0, 8192, 8192,
82 		0, -2048, 4096, 6144,
83 		6144, 4096, -2048, 0,
84 		8192, 8192, 0, 4096,
85 		8192, 0, 0, 8192,
86 		8192, 0, 0, 8192,
87 		8192, 0, 0, 8192,
88 		8192, 0, 0, 8192,
89 		8192, 0, 0, 8192,
90 		8192, 0, 0, 8192,
91 		8192, 0, 0, 8192,
92 		8192, 0, 0, 8192
93 	}
94 };
95 
96 /*Blue enhencement image effect table*/
97 static struct ia_css_macc_table blue_macc_table = {
98 	.data = {
99 		9728, -3072, 0, 8192,
100 		8192, 0, 0, 8192,
101 		8192, 0, 0, 8192,
102 		8192, 0, 0, 8192,
103 		8192, 0, 0, 8192,
104 		8192, 0, 0, 8192,
105 		8192, 0, 0, 8192,
106 		8192, 0, 0, 8192,
107 		8192, 0, 0, 8192,
108 		8192, 0, 0, 8192,
109 		8192, 0, 0, 8192,
110 		8192, 0, 0, 8192,
111 		9728, 0, -3072, 8192,
112 		12800, 1536, -3072, 8192,
113 		11264, 0, 0, 11264,
114 		9728, -3072, 0, 11264
115 	}
116 };
117 
118 /*Green enhencement image effect table*/
119 static struct ia_css_macc_table green_macc_table = {
120 	.data = {
121 		8192, 0, 0, 8192,
122 		8192, 0, 0, 8192,
123 		8192, 0, 0, 8192,
124 		8192, 0, 0, 8192,
125 		8192, 0, 0, 8192,
126 		8192, 0, 0, 8192,
127 		8192, 0, 0, 8192,
128 		10240, 4096, 0, 8192,
129 		10240, 4096, 0, 12288,
130 		12288, 0, 0, 12288,
131 		14336, -2048, 4096, 8192,
132 		10240, 0, 4096, 8192,
133 		8192, 0, 0, 8192,
134 		8192, 0, 0, 8192,
135 		8192, 0, 0, 8192,
136 		8192, 0, 0, 8192
137 	}
138 };
139 
140 static struct ia_css_ctc_table vivid_ctc_table = {
141 	.data.vamem_2 = {
142 		0,  384,  837,  957, 1011, 1062, 1083, 1080,
143 		1078, 1077, 1053, 1039, 1012,  992,  969,  951,
144 		929,  906,  886,  866,  845,  823,  809,  790,
145 		772,  758,  741,  726,  711,  701,  688,  675,
146 		666,  656,  648,  639,  633,  626,  618,  612,
147 		603,  594,  582,  572,  557,  545,  529,  516,
148 		504,  491,  480,  467,  459,  447,  438,  429,
149 		419,  412,  404,  397,  389,  382,  376,  368,
150 		363,  357,  351,  345,  340,  336,  330,  326,
151 		321,  318,  312,  308,  304,  300,  297,  294,
152 		291,  286,  284,  281,  278,  275,  271,  268,
153 		261,  257,  251,  245,  240,  235,  232,  225,
154 		223,  218,  213,  209,  206,  204,  199,  197,
155 		193,  189,  186,  185,  183,  179,  177,  175,
156 		172,  170,  169,  167,  164,  164,  162,  160,
157 		158,  157,  156,  154,  154,  152,  151,  150,
158 		149,  148,  146,  147,  146,  144,  143,  143,
159 		142,  141,  140,  141,  139,  138,  138,  138,
160 		137,  136,  136,  135,  134,  134,  134,  133,
161 		132,  132,  131,  130,  131,  130,  129,  128,
162 		129,  127,  127,  127,  127,  125,  125,  125,
163 		123,  123,  122,  120,  118,  115,  114,  111,
164 		110,  108,  106,  105,  103,  102,  100,   99,
165 		97,   97,   96,   95,   94,   93,   93,   91,
166 		91,   91,   90,   90,   89,   89,   88,   88,
167 		89,   88,   88,   87,   87,   87,   87,   86,
168 		87,   87,   86,   87,   86,   86,   84,   84,
169 		82,   80,   78,   76,   74,   72,   70,   68,
170 		67,   65,   62,   60,   58,   56,   55,   54,
171 		53,   51,   49,   49,   47,   45,   45,   45,
172 		41,   40,   39,   39,   34,   33,   34,   32,
173 		25,   23,   24,   20,   13,    9,   12,    0,
174 		0
175 	}
176 };
177 #endif
178