GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / staging / media / atomisp / pci / atomisp_tables.h
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  * This program is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License version
11  * 2 as published by the Free Software Foundation.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  *
19  */
20 #ifndef __ATOMISP_TABLES_H__
21 #define __ATOMISP_TABLES_H__
22
23 #include "sh_css_params.h"
24
25 /*Sepia image effect table*/
26 static struct ia_css_cc_config sepia_cc_config = {
27         .fraction_bits  = 8,
28         .matrix  = {141, 18, 68, -40, -5, -19, 35, 4, 16},
29 };
30
31 /*Negative image effect table*/
32 static struct ia_css_cc_config nega_cc_config = {
33         .fraction_bits  = 8,
34         .matrix  = {255, 29, 120, 0, 374, 342, 0, 672, -301},
35 };
36
37 /*Mono image effect table*/
38 static struct ia_css_cc_config mono_cc_config = {
39         .fraction_bits  = 8,
40         .matrix  = {255, 29, 120, 0, 0, 0, 0, 0, 0},
41 };
42
43 /*Skin whiten image effect table*/
44 static struct ia_css_macc_table skin_low_macc_table = {
45         .data = {
46                 8192, 0, 0, 8192,
47                 8192, 0, 0, 8192,
48                 8192, 0, 0, 8192,
49                 8192, 0, 0, 8192,
50                 7168, 0, 2048, 8192,
51                 5120, -1024, 2048, 8192,
52                 8192, 2048, -1024, 5120,
53                 8192, 2048, 0, 7168,
54                 8192, 0, 0, 8192,
55                 8192, 0, 0, 8192,
56                 8192, 0, 0, 8192,
57                 8192, 0, 0, 8192,
58                 8192, 0, 0, 8192,
59                 8192, 0, 0, 8192,
60                 8192, 0, 0, 8192,
61                 8192, 0, 0, 8192
62         }
63 };
64
65 static struct ia_css_macc_table skin_medium_macc_table = {
66         .data = {
67                 8192, 0, 0, 8192,
68                 8192, 0, 0, 8192,
69                 8192, 0, 0, 8192,
70                 8192, 0, 0, 8192,
71                 5120, 0, 6144, 8192,
72                 3072, -1024, 2048, 6144,
73                 6144, 2048, -1024, 3072,
74                 8192, 6144, 0, 5120,
75                 8192, 0, 0, 8192,
76                 8192, 0, 0, 8192,
77                 8192, 0, 0, 8192,
78                 8192, 0, 0, 8192,
79                 8192, 0, 0, 8192,
80                 8192, 0, 0, 8192,
81                 8192, 0, 0, 8192,
82                 8192, 0, 0, 8192
83         }
84 };
85
86 static struct ia_css_macc_table skin_high_macc_table = {
87         .data = {
88                 8192, 0, 0, 8192,
89                 8192, 0, 0, 8192,
90                 8192, 0, 0, 8192,
91                 8192, 0, 0, 8192,
92                 4096, 0, 8192, 8192,
93                 0, -2048, 4096, 6144,
94                 6144, 4096, -2048, 0,
95                 8192, 8192, 0, 4096,
96                 8192, 0, 0, 8192,
97                 8192, 0, 0, 8192,
98                 8192, 0, 0, 8192,
99                 8192, 0, 0, 8192,
100                 8192, 0, 0, 8192,
101                 8192, 0, 0, 8192,
102                 8192, 0, 0, 8192,
103                 8192, 0, 0, 8192
104         }
105 };
106
107 /*Blue enhencement image effect table*/
108 static struct ia_css_macc_table blue_macc_table = {
109         .data = {
110                 9728, -3072, 0, 8192,
111                 8192, 0, 0, 8192,
112                 8192, 0, 0, 8192,
113                 8192, 0, 0, 8192,
114                 8192, 0, 0, 8192,
115                 8192, 0, 0, 8192,
116                 8192, 0, 0, 8192,
117                 8192, 0, 0, 8192,
118                 8192, 0, 0, 8192,
119                 8192, 0, 0, 8192,
120                 8192, 0, 0, 8192,
121                 8192, 0, 0, 8192,
122                 9728, 0, -3072, 8192,
123                 12800, 1536, -3072, 8192,
124                 11264, 0, 0, 11264,
125                 9728, -3072, 0, 11264
126         }
127 };
128
129 /*Green enhencement image effect table*/
130 static struct ia_css_macc_table green_macc_table = {
131         .data = {
132                 8192, 0, 0, 8192,
133                 8192, 0, 0, 8192,
134                 8192, 0, 0, 8192,
135                 8192, 0, 0, 8192,
136                 8192, 0, 0, 8192,
137                 8192, 0, 0, 8192,
138                 8192, 0, 0, 8192,
139                 10240, 4096, 0, 8192,
140                 10240, 4096, 0, 12288,
141                 12288, 0, 0, 12288,
142                 14336, -2048, 4096, 8192,
143                 10240, 0, 4096, 8192,
144                 8192, 0, 0, 8192,
145                 8192, 0, 0, 8192,
146                 8192, 0, 0, 8192,
147                 8192, 0, 0, 8192
148         }
149 };
150
151 static struct ia_css_ctc_table vivid_ctc_table = {
152         .data.vamem_2 = {
153                 0,  384,  837,  957, 1011, 1062, 1083, 1080,
154                 1078, 1077, 1053, 1039, 1012,  992,  969,  951,
155                 929,  906,  886,  866,  845,  823,  809,  790,
156                 772,  758,  741,  726,  711,  701,  688,  675,
157                 666,  656,  648,  639,  633,  626,  618,  612,
158                 603,  594,  582,  572,  557,  545,  529,  516,
159                 504,  491,  480,  467,  459,  447,  438,  429,
160                 419,  412,  404,  397,  389,  382,  376,  368,
161                 363,  357,  351,  345,  340,  336,  330,  326,
162                 321,  318,  312,  308,  304,  300,  297,  294,
163                 291,  286,  284,  281,  278,  275,  271,  268,
164                 261,  257,  251,  245,  240,  235,  232,  225,
165                 223,  218,  213,  209,  206,  204,  199,  197,
166                 193,  189,  186,  185,  183,  179,  177,  175,
167                 172,  170,  169,  167,  164,  164,  162,  160,
168                 158,  157,  156,  154,  154,  152,  151,  150,
169                 149,  148,  146,  147,  146,  144,  143,  143,
170                 142,  141,  140,  141,  139,  138,  138,  138,
171                 137,  136,  136,  135,  134,  134,  134,  133,
172                 132,  132,  131,  130,  131,  130,  129,  128,
173                 129,  127,  127,  127,  127,  125,  125,  125,
174                 123,  123,  122,  120,  118,  115,  114,  111,
175                 110,  108,  106,  105,  103,  102,  100,   99,
176                 97,   97,   96,   95,   94,   93,   93,   91,
177                 91,   91,   90,   90,   89,   89,   88,   88,
178                 89,   88,   88,   87,   87,   87,   87,   86,
179                 87,   87,   86,   87,   86,   86,   84,   84,
180                 82,   80,   78,   76,   74,   72,   70,   68,
181                 67,   65,   62,   60,   58,   56,   55,   54,
182                 53,   51,   49,   49,   47,   45,   45,   45,
183                 41,   40,   39,   39,   34,   33,   34,   32,
184                 25,   23,   24,   20,   13,    9,   12,    0,
185                 0
186         }
187 };
188 #endif