summaryrefslogtreecommitdiff
path: root/drivers/stream_input/tv_frontend/dtv_demod/include/acf_filter_coefficient.h (plain)
blob: 57448858678de81590cfcc32e1714b76148b2a61
1/*
2* Copyright (C) 2017 Amlogic, Inc. All rights reserved.
3*
4* This program is free software; you can redistribute it and/or modify
5* it under the terms of the GNU General Public License as published by
6* the Free Software Foundation; either version 2 of the License, or
7* (at your option) any later version.
8*
9* This program is distributed in the hope that it will be useful, but WITHOUT
10* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12* more details.
13*
14* You should have received a copy of the GNU General Public License along
15* with this program; if not, write to the Free Software Foundation, Inc.,
16* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17*
18* Description:
19*/
20void program_acf(int acf1[20], int acf2[33])
21{
22 int i;
23
24 for (i = 0; i < 20; i++)
25 apb_write_reg(DVBT_BASE + (0x2c + i) * 4, acf1[i]);
26 for (i = 0; i < 33; i++) {
27 apb_write_reg(DVBT_BASE + 0xfe * 4, i);
28 apb_write_reg(DVBT_BASE + 0xff * 4, acf2[i]);
29 }
30}
31
32void ini_acf_iireq_src_45m_8m(void)
33{
34 int acf1[] = { 0x294, 0x085, 0x076, 0x01e,
35 0x27c, 0x0af, 0x2bf, 0x06d,
36 0x265, 0x0d8, 0x270, 0x05e,
37 0x257, 0x0ef, 0x25b, 0x04b,
38 0x24f, 0x0fc, 0x254, 0x04d
39 };
40 int acf2[] = { 0x3f3fff, 0x3da7cd, 0x3c0f9b, 0x3a7768, 0x38df35,
41 0x373f01,
42 0x3596cd, 0x33ee98, 0x323e62, 0x307e2b, 0x2eb5f3,
43 0x2ce5b9,
44 0x2b057e, 0x290d41, 0x26fd00, 0x24dcbd, 0x229477,
45 0x202c2c,
46 0x1d93dc, 0x1ac386, 0x17b328, 0x144ac1, 0x106a4d,
47 0x0be1c8,
48 0x07e129, 0x04d0cc, 0x015064, 0x3d47ec, 0x38675e,
49 0x326eb1,
50 0x326e4d, 0x326e4d, 0x00064d
51 };
52
53 program_acf(acf1, acf2);
54}
55
56void ini_acf_iireq_src_45m_7m(void)
57{
58 int acf1[] = { 0x283, 0x091, 0x02f, 0x01e,
59 0x26a, 0x0b8, 0x296, 0x06d,
60 0x253, 0x0dc, 0x257, 0x05e,
61 0x245, 0x0f1, 0x246, 0x04b,
62 0x23d, 0x0fc, 0x241, 0x04d
63 };
64 int acf2[] = { 0x3f3fff, 0x3dafce, 0x3c1f9c, 0x3a8769, 0x38ef37,
65 0x374f03,
66 0x35aecf, 0x34069b, 0x325665, 0x30962e, 0x2ecdf6,
67 0x2cfdbc,
68 0x2b1581, 0x291d43, 0x271503, 0x24e4bf, 0x229c78,
69 0x202c2d,
70 0x1d8bdc, 0x1ab384, 0x179325, 0x141abc, 0x102a46,
71 0x0b81be,
72 0x07711c, 0x0448bd, 0x00b052, 0x3c7fd6, 0x374740,
73 0x308684,
74 0x308610, 0x308610, 0x000610
75 };
76
77 program_acf(acf1, acf2);
78}
79
80void ini_acf_iireq_src_45m_6m(void)
81{
82 int acf1[] = { 0x272, 0x09e, 0x3dc, 0x01e,
83 0x259, 0x0c0, 0x272, 0x06d,
84 0x242, 0x0e1, 0x240, 0x05e,
85 0x235, 0x0f3, 0x234, 0x04b,
86 0x22e, 0x0fd, 0x230, 0x04d
87 };
88 int acf2[] = { 0x3f47ff, 0x3dbfcf, 0x3c379e, 0x3aa76d, 0x391f3c,
89 0x378709,
90 0x35e6d6, 0x343ea2, 0x328e6d, 0x30d636, 0x2f0dfe,
91 0x2d35c4,
92 0x2b4d88, 0x294d49, 0x273d08, 0x2504c4, 0x22b47c,
93 0x203c2f,
94 0x1d9bde, 0x1ac386, 0x17a327, 0x1432bf, 0x104249,
95 0x0ba9c2,
96 0x07a922, 0x0490c5, 0x01185c, 0x3d0fe5, 0x383f58,
97 0x3286af,
98 0x328650, 0x328650, 0x000650
99 };
100
101 program_acf(acf1, acf2);
102}
103
104void ini_acf_iireq_src_45m_5m(void)
105{
106 int acf1[] = { 0x260, 0x0ab, 0x37e, 0x02e,
107 0x249, 0x0ca, 0x251, 0x06d,
108 0x233, 0x0e6, 0x22d, 0x05e,
109 0x227, 0x0f5, 0x224, 0x04b,
110 0x220, 0x0fd, 0x221, 0x04d
111 };
112 int acf2[] = { 0x3f3fff, 0x3db7cf, 0x3c279d, 0x3a9f6c, 0x39073a,
113 0x377707,
114 0x35d6d4, 0x3436a0, 0x328e6b, 0x30d636, 0x2f15ff,
115 0x2d4dc6,
116 0x2b758c, 0x29854f, 0x278511, 0x256ccf, 0x232c89,
117 0x20cc3f,
118 0x1e33f0, 0x1b6b9b, 0x185b3d, 0x14e2d5, 0x10f260,
119 0x0c51d7,
120 0x082934, 0x04f8d4, 0x014066, 0x3ccfe4, 0x372f46,
121 0x2f5673,
122 0x2f55ea, 0x2f55ea, 0x0005ea
123 };
124
125 program_acf(acf1, acf2);
126}
127
128void ini_acf_iireq_src_2857m_8m(void)
129{
130 int acf1[] = { 0x2df, 0x059, 0x144, 0x00e,
131 0x2d3, 0x08f, 0x38d, 0x06f,
132 0x2c6, 0x0c5, 0x302, 0x05e,
133 0x2be, 0x0e7, 0x2d6, 0x04b,
134 0x2b7, 0x0f9, 0x2c8, 0x04d
135 };
136 int acf2[] = { 0x3f3fff, 0x3dbfcf, 0x3c379e, 0x3aaf6d, 0x391f3c,
137 0x37870a,
138 0x35eed7, 0x344ea3, 0x32a66f, 0x30f639, 0x2f3602,
139 0x2d65c9,
140 0x2b858e, 0x299552, 0x278d12, 0x2564cf, 0x231c88,
141 0x20b43d,
142 0x1e13ec, 0x1b3395, 0x181336, 0x1492cc, 0x109254,
143 0x0be1cb,
144 0x07c127, 0x0498c7, 0x00f85b, 0x3cbfde, 0x377747,
145 0x309e88,
146 0x309e13, 0x309e13, 0x000613
147 };
148
149 program_acf(acf1, acf2);
150}
151
152void ini_acf_iireq_src_2857m_7m(void)
153{
154 int acf1[] = { 0x2c6, 0x067, 0x10f, 0x01e,
155 0x2b4, 0x099, 0x344, 0x06f,
156 0x2a2, 0x0cb, 0x2cb, 0x05e,
157 0x297, 0x0ea, 0x2a7, 0x04b,
158 0x28f, 0x0fa, 0x29c, 0x04d
159 };
160 int acf2[] = { 0x3f3fff, 0x3dbfcf, 0x3c379e, 0x3aa76d, 0x39173b,
161 0x378709,
162 0x35e6d6, 0x3446a2, 0x329e6d, 0x30e637, 0x2f2600,
163 0x2d4dc7,
164 0x2b6d8c, 0x297d4e, 0x276d0e, 0x2544cb, 0x22fc84,
165 0x208438,
166 0x1de3e7, 0x1b0b90, 0x17eb30, 0x146ac7, 0x107250,
167 0x0bc9c6,
168 0x07b124, 0x0490c5, 0x00f85b, 0x3cc7df, 0x37974a,
169 0x30ce8d,
170 0x30ce19, 0x30ce19, 0x000619
171 };
172
173 program_acf(acf1, acf2);
174}
175
176void ini_acf_iireq_src_2857m_6m(void)
177{
178 int acf1[] = { 0x2ac, 0x076, 0x0c9, 0x01e,
179 0x297, 0x0a4, 0x2fd, 0x06d,
180 0x281, 0x0d2, 0x299, 0x05e,
181 0x274, 0x0ed, 0x27d, 0x04b,
182 0x26c, 0x0fb, 0x274, 0x04d
183 };
184 int acf2[] = { 0x3f3fff, 0x3db7cf, 0x3c279d, 0x3a976b, 0x390739,
185 0x376f07,
186 0x35ced3, 0x342e9f, 0x327e6a, 0x30c634, 0x2f05fc,
187 0x2d35c4,
188 0x2b5d89, 0x29654c, 0x275d0c, 0x253cca, 0x22fc83,
189 0x209439,
190 0x1dfbe9, 0x1b2b93, 0x181b35, 0x14b2ce, 0x10ca5a,
191 0x0c41d4,
192 0x084935, 0x0538d9, 0x01c071, 0x3db7fa, 0x38bf6b,
193 0x327eb9,
194 0x327e4f, 0x327e4f, 0x00064f
195 };
196
197 program_acf(acf1, acf2);
198}
199
200void ini_acf_iireq_src_2857m_5m(void)
201{
202 int acf1[] = { 0x292, 0x087, 0x06e, 0x01e,
203 0x27a, 0x0b0, 0x2b9, 0x06d,
204 0x262, 0x0d8, 0x26d, 0x05e,
205 0x254, 0x0f0, 0x258, 0x04b,
206 0x24c, 0x0fc, 0x252, 0x04d
207 };
208 int acf2[] = { 0x3f3fff, 0x3db7ce, 0x3c279d, 0x3a976b, 0x38ff38,
209 0x376706,
210 0x35c6d2, 0x341e9d, 0x326e68, 0x30ae31, 0x2eedf9,
211 0x2d15c0,
212 0x2b2d84, 0x293546, 0x272506, 0x24fcc2, 0x22ac7b,
213 0x203c2f,
214 0x1d9bde, 0x1ac386, 0x17a327, 0x1422be, 0x103247,
215 0x0b91bf,
216 0x07891e, 0x0470c1, 0x00e858, 0x3ccfde, 0x37bf4d,
217 0x313e96,
218 0x313e27, 0x313e27, 0x000627
219 };
220
221 program_acf(acf1, acf2);
222}
223
224void ini_acf_iireq_src_24m_8m(void)
225{
226 int acf1[] = { 0x303, 0x048, 0x17e, 0x00e,
227 0x302, 0x081, 0x3f8, 0x00a,
228 0x300, 0x0bd, 0x35b, 0x05e,
229 0x2fe, 0x0e3, 0x325, 0x04b,
230 0x2fb, 0x0f8, 0x313, 0x04d
231 };
232 int acf2[] = { 0x3f47ff, 0x3dc7d0, 0x3c3fa0, 0x3abf6f, 0x392f3e,
233 0x37a70d,
234 0x360eda, 0x346ea7, 0x32c673, 0x31163d, 0x2f5606,
235 0x2d8dce,
236 0x2bad93, 0x29bd56, 0x27b517, 0x258cd4, 0x23448d,
237 0x20cc41,
238 0x1e2bf0, 0x1b4b98, 0x182338, 0x149ace, 0x109255,
239 0x0bd1ca,
240 0x07a123, 0x0468c2, 0x00b054, 0x3c5fd4, 0x37073a,
241 0x302e79,
242 0x302e05, 0x302e05, 0x000605
243 };
244
245 program_acf(acf1, acf2);
246}
247
248void ini_acf_iireq_src_24m_7m(void)
249{
250 int acf1[] = { 0x2e7, 0x055, 0x153, 0x00e,
251 0x2dd, 0x08b, 0x3a5, 0x06f,
252 0x2d2, 0x0c4, 0x315, 0x05e,
253 0x2cb, 0x0e6, 0x2e7, 0x04b,
254 0x2c5, 0x0f9, 0x2d8, 0x04d
255 };
256 int acf2[] = { 0x3f3fff, 0x3dbfcf, 0x3c379e, 0x3aaf6d, 0x391f3c,
257 0x37870a,
258 0x35eed7, 0x344ea3, 0x32a66f, 0x30ee39, 0x2f2e02,
259 0x2d65c9,
260 0x2b858e, 0x298d51, 0x278511, 0x255cce, 0x231487,
261 0x20a43c,
262 0x1e0beb, 0x1b3394, 0x181335, 0x1492cb, 0x109254,
263 0x0be1ca,
264 0x07b925, 0x0480c5, 0x00d858, 0x3c87d8, 0x373740,
265 0x305e80,
266 0x305e0b, 0x305e0b, 0x00060b
267 };
268
269 program_acf(acf1, acf2);
270}
271
272void ini_acf_iireq_src_24m_6m(void)
273{
274 int acf1[] = { 0x2c9, 0x065, 0x118, 0x01e,
275 0x2b9, 0x097, 0x34f, 0x06f,
276 0x2a7, 0x0ca, 0x2d3, 0x05e,
277 0x29c, 0x0e9, 0x2ae, 0x04b,
278 0x295, 0x0fa, 0x2a2, 0x04d
279 };
280 int acf2[] = { 0x3f3fff, 0x3db7cf, 0x3c2f9d, 0x3a9f6c, 0x390f3a,
281 0x377707,
282 0x35d6d4, 0x342ea0, 0x32866b, 0x30ce34, 0x2f05fd,
283 0x2d35c3,
284 0x2b5588, 0x295d4b, 0x27550b, 0x252cc8, 0x22dc80,
285 0x206c35,
286 0x1dcbe4, 0x1af38c, 0x17cb2d, 0x144ac3, 0x104a4b,
287 0x0b99c1,
288 0x07791d, 0x0448be, 0x00b052, 0x3c6fd4, 0x37473f,
289 0x30c686,
290 0x30c618, 0x30c618, 0x000618
291 };
292
293 program_acf(acf1, acf2);
294}
295
296void ini_acf_iireq_src_24m_5m(void)
297{
298 int acf1[] = { 0x2ab, 0x077, 0x0c6, 0x01e,
299 0x295, 0x0a5, 0x2fa, 0x06d,
300 0x27f, 0x0d2, 0x297, 0x05e,
301 0x272, 0x0ed, 0x27b, 0x04b,
302 0x26a, 0x0fb, 0x272, 0x04d
303 };
304 int acf2[] = { 0x3f3fff, 0x3db7cf, 0x3c2f9e, 0x3aa76c, 0x39173b,
305 0x377f08,
306 0x35ded5, 0x343ea1, 0x328e6c, 0x30de36, 0x2f15ff,
307 0x2d45c6,
308 0x2b658a, 0x29754d, 0x27650d, 0x253cca, 0x22f483,
309 0x208438,
310 0x1de3e7, 0x1b0b90, 0x17eb30, 0x1472c7, 0x107a51,
311 0x0bd9c8,
312 0x07c927, 0x04a8c9, 0x01205f, 0x3cf7e4, 0x37e752,
313 0x31669a,
314 0x31662c, 0x31662c, 0x00062c
315 };
316
317 program_acf(acf1, acf2);
318}
319
320void ini_acf_iireq_src_207m_8m(void)
321{
322 int acf1[] = { 0x327, 0x039, 0x1a5, 0x07b,
323 0x332, 0x076, 0x05c, 0x06e,
324 0x33e, 0x0b6, 0x3b8, 0x05e,
325 0x344, 0x0e0, 0x37a, 0x04b,
326 0x345, 0x0f7, 0x365, 0x04d
327 };
328 int acf2[] = { 0x3f47ff, 0x3dcfd1, 0x3c57a1, 0x3ad772, 0x394f42,
329 0x37c711,
330 0x3636df, 0x34a6ad, 0x32fe7a, 0x315645, 0x2f9e0f,
331 0x2dd5d7,
332 0x2bfd9d, 0x2a0d61, 0x280d21, 0x25e4df, 0x239c98,
333 0x212c4d,
334 0x1e8bfc, 0x1baba4, 0x188344, 0x14fad9, 0x10ea61,
335 0x0c29d4,
336 0x07e92d, 0x04a8cb, 0x00f05c, 0x3c87da, 0x371f3e,
337 0x30267a,
338 0x302604, 0x302604, 0x000604
339 };
340
341 program_acf(acf1, acf2);
342}
343
344void ini_acf_iireq_src_207m_7m(void)
345{
346 int acf1[] = { 0x307, 0x046, 0x182, 0x00e,
347 0x306, 0x080, 0x002, 0x00a,
348 0x306, 0x0bd, 0x364, 0x05e,
349 0x304, 0x0e3, 0x32d, 0x04b,
350 0x301, 0x0f8, 0x31b, 0x04d
351 };
352 int acf2[] = { 0x3f47ff, 0x3dc7d0, 0x3c47a0, 0x3abf6f, 0x39373f,
353 0x37a70d,
354 0x3616db, 0x3476a8, 0x32d674, 0x31263f, 0x2f6608,
355 0x2d9dd0,
356 0x2bbd96, 0x29d559, 0x27cd19, 0x25a4d7, 0x235c90,
357 0x20ec45,
358 0x1e53f4, 0x1b739d, 0x18533d, 0x14d2d4, 0x10d25c,
359 0x0c19d1,
360 0x07e12c, 0x04a8ca, 0x00f05c, 0x3c8fdb, 0x372740,
361 0x302e7c,
362 0x302e05, 0x302e05, 0x000605
363 };
364
365 program_acf(acf1, acf2);
366}
367
368void ini_acf_iireq_src_207m_6m(void)
369{
370 int acf1[] = { 0x2e6, 0x056, 0x151, 0x00e,
371 0x2db, 0x08c, 0x3a1, 0x06f,
372 0x2d0, 0x0c4, 0x312, 0x05e,
373 0x2c9, 0x0e6, 0x2e4, 0x04b,
374 0x2c3, 0x0f9, 0x2d6, 0x04d
375 };
376 int acf2[] = { 0x3f47ff, 0x3dbfd0, 0x3c3f9f, 0x3ab76e, 0x39273d,
377 0x37970b,
378 0x35fed9, 0x345ea5, 0x32b671, 0x31063b, 0x2f4604,
379 0x2d75cb,
380 0x2b9590, 0x29a553, 0x279513, 0x256cd0, 0x232489,
381 0x20b43d,
382 0x1e0bec, 0x1b3395, 0x180b35, 0x148acb, 0x108253,
383 0x0bd1c8,
384 0x07a123, 0x0470c2, 0x00c055, 0x3c77d6, 0x372f3e,
385 0x306e80,
386 0x306e0d, 0x306e0d, 0x00060d
387 };
388
389 program_acf(acf1, acf2);
390}
391
392void ini_acf_iireq_src_207m_5m(void)
393{
394 int acf1[] = { 0x2c3, 0x068, 0x109, 0x01e,
395 0x2b1, 0x09a, 0x33d, 0x06f,
396 0x29f, 0x0cc, 0x2c6, 0x05e,
397 0x293, 0x0ea, 0x2a3, 0x04b,
398 0x28c, 0x0fa, 0x298, 0x04d
399 };
400 int acf2[] = { 0x3f3fff, 0x3db7ce, 0x3c279d, 0x3a976b, 0x38ff38,
401 0x376706,
402 0x35c6d2, 0x341e9e, 0x327669, 0x30be32, 0x2ef5fb,
403 0x2d25c1,
404 0x2b4586, 0x295549, 0x274509, 0x251cc6, 0x22dc80,
405 0x206c34,
406 0x1dcbe4, 0x1afb8d, 0x17db2e, 0x1462c5, 0x106a4f,
407 0x0bc9c6,
408 0x07b124, 0x0488c5, 0x00e859, 0x3cafdc, 0x377f47,
409 0x30ee8c,
410 0x30ee1d, 0x30ee1d, 0x00061d
411 };
412
413 program_acf(acf1, acf2);
414}
415