| /* |
| * Copyright (C) 2017 Amlogic, Inc. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| * more details. |
| * |
| * You should have received a copy of the GNU General Public License along |
| * with this program; if not, write to the Free Software Foundation, Inc., |
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| * |
| * Description: |
| */ |
| void program_acf(int acf1[20], int acf2[33]) |
| { |
| int i; |
| |
| for (i = 0; i < 20; i++) |
| apb_write_reg(DVBT_BASE + (0x2c + i) * 4, acf1[i]); |
| for (i = 0; i < 33; i++) { |
| apb_write_reg(DVBT_BASE + 0xfe * 4, i); |
| apb_write_reg(DVBT_BASE + 0xff * 4, acf2[i]); |
| } |
| } |
| |
| void ini_acf_iireq_src_45m_8m(void) |
| { |
| int acf1[] = { 0x294, 0x085, 0x076, 0x01e, |
| 0x27c, 0x0af, 0x2bf, 0x06d, |
| 0x265, 0x0d8, 0x270, 0x05e, |
| 0x257, 0x0ef, 0x25b, 0x04b, |
| 0x24f, 0x0fc, 0x254, 0x04d |
| }; |
| int acf2[] = { 0x3f3fff, 0x3da7cd, 0x3c0f9b, 0x3a7768, 0x38df35, |
| 0x373f01, |
| 0x3596cd, 0x33ee98, 0x323e62, 0x307e2b, 0x2eb5f3, |
| 0x2ce5b9, |
| 0x2b057e, 0x290d41, 0x26fd00, 0x24dcbd, 0x229477, |
| 0x202c2c, |
| 0x1d93dc, 0x1ac386, 0x17b328, 0x144ac1, 0x106a4d, |
| 0x0be1c8, |
| 0x07e129, 0x04d0cc, 0x015064, 0x3d47ec, 0x38675e, |
| 0x326eb1, |
| 0x326e4d, 0x326e4d, 0x00064d |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_45m_7m(void) |
| { |
| int acf1[] = { 0x283, 0x091, 0x02f, 0x01e, |
| 0x26a, 0x0b8, 0x296, 0x06d, |
| 0x253, 0x0dc, 0x257, 0x05e, |
| 0x245, 0x0f1, 0x246, 0x04b, |
| 0x23d, 0x0fc, 0x241, 0x04d |
| }; |
| int acf2[] = { 0x3f3fff, 0x3dafce, 0x3c1f9c, 0x3a8769, 0x38ef37, |
| 0x374f03, |
| 0x35aecf, 0x34069b, 0x325665, 0x30962e, 0x2ecdf6, |
| 0x2cfdbc, |
| 0x2b1581, 0x291d43, 0x271503, 0x24e4bf, 0x229c78, |
| 0x202c2d, |
| 0x1d8bdc, 0x1ab384, 0x179325, 0x141abc, 0x102a46, |
| 0x0b81be, |
| 0x07711c, 0x0448bd, 0x00b052, 0x3c7fd6, 0x374740, |
| 0x308684, |
| 0x308610, 0x308610, 0x000610 |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_45m_6m(void) |
| { |
| int acf1[] = { 0x272, 0x09e, 0x3dc, 0x01e, |
| 0x259, 0x0c0, 0x272, 0x06d, |
| 0x242, 0x0e1, 0x240, 0x05e, |
| 0x235, 0x0f3, 0x234, 0x04b, |
| 0x22e, 0x0fd, 0x230, 0x04d |
| }; |
| int acf2[] = { 0x3f47ff, 0x3dbfcf, 0x3c379e, 0x3aa76d, 0x391f3c, |
| 0x378709, |
| 0x35e6d6, 0x343ea2, 0x328e6d, 0x30d636, 0x2f0dfe, |
| 0x2d35c4, |
| 0x2b4d88, 0x294d49, 0x273d08, 0x2504c4, 0x22b47c, |
| 0x203c2f, |
| 0x1d9bde, 0x1ac386, 0x17a327, 0x1432bf, 0x104249, |
| 0x0ba9c2, |
| 0x07a922, 0x0490c5, 0x01185c, 0x3d0fe5, 0x383f58, |
| 0x3286af, |
| 0x328650, 0x328650, 0x000650 |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_45m_5m(void) |
| { |
| int acf1[] = { 0x260, 0x0ab, 0x37e, 0x02e, |
| 0x249, 0x0ca, 0x251, 0x06d, |
| 0x233, 0x0e6, 0x22d, 0x05e, |
| 0x227, 0x0f5, 0x224, 0x04b, |
| 0x220, 0x0fd, 0x221, 0x04d |
| }; |
| int acf2[] = { 0x3f3fff, 0x3db7cf, 0x3c279d, 0x3a9f6c, 0x39073a, |
| 0x377707, |
| 0x35d6d4, 0x3436a0, 0x328e6b, 0x30d636, 0x2f15ff, |
| 0x2d4dc6, |
| 0x2b758c, 0x29854f, 0x278511, 0x256ccf, 0x232c89, |
| 0x20cc3f, |
| 0x1e33f0, 0x1b6b9b, 0x185b3d, 0x14e2d5, 0x10f260, |
| 0x0c51d7, |
| 0x082934, 0x04f8d4, 0x014066, 0x3ccfe4, 0x372f46, |
| 0x2f5673, |
| 0x2f55ea, 0x2f55ea, 0x0005ea |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_2857m_8m(void) |
| { |
| int acf1[] = { 0x2df, 0x059, 0x144, 0x00e, |
| 0x2d3, 0x08f, 0x38d, 0x06f, |
| 0x2c6, 0x0c5, 0x302, 0x05e, |
| 0x2be, 0x0e7, 0x2d6, 0x04b, |
| 0x2b7, 0x0f9, 0x2c8, 0x04d |
| }; |
| int acf2[] = { 0x3f3fff, 0x3dbfcf, 0x3c379e, 0x3aaf6d, 0x391f3c, |
| 0x37870a, |
| 0x35eed7, 0x344ea3, 0x32a66f, 0x30f639, 0x2f3602, |
| 0x2d65c9, |
| 0x2b858e, 0x299552, 0x278d12, 0x2564cf, 0x231c88, |
| 0x20b43d, |
| 0x1e13ec, 0x1b3395, 0x181336, 0x1492cc, 0x109254, |
| 0x0be1cb, |
| 0x07c127, 0x0498c7, 0x00f85b, 0x3cbfde, 0x377747, |
| 0x309e88, |
| 0x309e13, 0x309e13, 0x000613 |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_2857m_7m(void) |
| { |
| int acf1[] = { 0x2c6, 0x067, 0x10f, 0x01e, |
| 0x2b4, 0x099, 0x344, 0x06f, |
| 0x2a2, 0x0cb, 0x2cb, 0x05e, |
| 0x297, 0x0ea, 0x2a7, 0x04b, |
| 0x28f, 0x0fa, 0x29c, 0x04d |
| }; |
| int acf2[] = { 0x3f3fff, 0x3dbfcf, 0x3c379e, 0x3aa76d, 0x39173b, |
| 0x378709, |
| 0x35e6d6, 0x3446a2, 0x329e6d, 0x30e637, 0x2f2600, |
| 0x2d4dc7, |
| 0x2b6d8c, 0x297d4e, 0x276d0e, 0x2544cb, 0x22fc84, |
| 0x208438, |
| 0x1de3e7, 0x1b0b90, 0x17eb30, 0x146ac7, 0x107250, |
| 0x0bc9c6, |
| 0x07b124, 0x0490c5, 0x00f85b, 0x3cc7df, 0x37974a, |
| 0x30ce8d, |
| 0x30ce19, 0x30ce19, 0x000619 |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_2857m_6m(void) |
| { |
| int acf1[] = { 0x2ac, 0x076, 0x0c9, 0x01e, |
| 0x297, 0x0a4, 0x2fd, 0x06d, |
| 0x281, 0x0d2, 0x299, 0x05e, |
| 0x274, 0x0ed, 0x27d, 0x04b, |
| 0x26c, 0x0fb, 0x274, 0x04d |
| }; |
| int acf2[] = { 0x3f3fff, 0x3db7cf, 0x3c279d, 0x3a976b, 0x390739, |
| 0x376f07, |
| 0x35ced3, 0x342e9f, 0x327e6a, 0x30c634, 0x2f05fc, |
| 0x2d35c4, |
| 0x2b5d89, 0x29654c, 0x275d0c, 0x253cca, 0x22fc83, |
| 0x209439, |
| 0x1dfbe9, 0x1b2b93, 0x181b35, 0x14b2ce, 0x10ca5a, |
| 0x0c41d4, |
| 0x084935, 0x0538d9, 0x01c071, 0x3db7fa, 0x38bf6b, |
| 0x327eb9, |
| 0x327e4f, 0x327e4f, 0x00064f |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_2857m_5m(void) |
| { |
| int acf1[] = { 0x292, 0x087, 0x06e, 0x01e, |
| 0x27a, 0x0b0, 0x2b9, 0x06d, |
| 0x262, 0x0d8, 0x26d, 0x05e, |
| 0x254, 0x0f0, 0x258, 0x04b, |
| 0x24c, 0x0fc, 0x252, 0x04d |
| }; |
| int acf2[] = { 0x3f3fff, 0x3db7ce, 0x3c279d, 0x3a976b, 0x38ff38, |
| 0x376706, |
| 0x35c6d2, 0x341e9d, 0x326e68, 0x30ae31, 0x2eedf9, |
| 0x2d15c0, |
| 0x2b2d84, 0x293546, 0x272506, 0x24fcc2, 0x22ac7b, |
| 0x203c2f, |
| 0x1d9bde, 0x1ac386, 0x17a327, 0x1422be, 0x103247, |
| 0x0b91bf, |
| 0x07891e, 0x0470c1, 0x00e858, 0x3ccfde, 0x37bf4d, |
| 0x313e96, |
| 0x313e27, 0x313e27, 0x000627 |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_24m_8m(void) |
| { |
| int acf1[] = { 0x303, 0x048, 0x17e, 0x00e, |
| 0x302, 0x081, 0x3f8, 0x00a, |
| 0x300, 0x0bd, 0x35b, 0x05e, |
| 0x2fe, 0x0e3, 0x325, 0x04b, |
| 0x2fb, 0x0f8, 0x313, 0x04d |
| }; |
| int acf2[] = { 0x3f47ff, 0x3dc7d0, 0x3c3fa0, 0x3abf6f, 0x392f3e, |
| 0x37a70d, |
| 0x360eda, 0x346ea7, 0x32c673, 0x31163d, 0x2f5606, |
| 0x2d8dce, |
| 0x2bad93, 0x29bd56, 0x27b517, 0x258cd4, 0x23448d, |
| 0x20cc41, |
| 0x1e2bf0, 0x1b4b98, 0x182338, 0x149ace, 0x109255, |
| 0x0bd1ca, |
| 0x07a123, 0x0468c2, 0x00b054, 0x3c5fd4, 0x37073a, |
| 0x302e79, |
| 0x302e05, 0x302e05, 0x000605 |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_24m_7m(void) |
| { |
| int acf1[] = { 0x2e7, 0x055, 0x153, 0x00e, |
| 0x2dd, 0x08b, 0x3a5, 0x06f, |
| 0x2d2, 0x0c4, 0x315, 0x05e, |
| 0x2cb, 0x0e6, 0x2e7, 0x04b, |
| 0x2c5, 0x0f9, 0x2d8, 0x04d |
| }; |
| int acf2[] = { 0x3f3fff, 0x3dbfcf, 0x3c379e, 0x3aaf6d, 0x391f3c, |
| 0x37870a, |
| 0x35eed7, 0x344ea3, 0x32a66f, 0x30ee39, 0x2f2e02, |
| 0x2d65c9, |
| 0x2b858e, 0x298d51, 0x278511, 0x255cce, 0x231487, |
| 0x20a43c, |
| 0x1e0beb, 0x1b3394, 0x181335, 0x1492cb, 0x109254, |
| 0x0be1ca, |
| 0x07b925, 0x0480c5, 0x00d858, 0x3c87d8, 0x373740, |
| 0x305e80, |
| 0x305e0b, 0x305e0b, 0x00060b |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_24m_6m(void) |
| { |
| int acf1[] = { 0x2c9, 0x065, 0x118, 0x01e, |
| 0x2b9, 0x097, 0x34f, 0x06f, |
| 0x2a7, 0x0ca, 0x2d3, 0x05e, |
| 0x29c, 0x0e9, 0x2ae, 0x04b, |
| 0x295, 0x0fa, 0x2a2, 0x04d |
| }; |
| int acf2[] = { 0x3f3fff, 0x3db7cf, 0x3c2f9d, 0x3a9f6c, 0x390f3a, |
| 0x377707, |
| 0x35d6d4, 0x342ea0, 0x32866b, 0x30ce34, 0x2f05fd, |
| 0x2d35c3, |
| 0x2b5588, 0x295d4b, 0x27550b, 0x252cc8, 0x22dc80, |
| 0x206c35, |
| 0x1dcbe4, 0x1af38c, 0x17cb2d, 0x144ac3, 0x104a4b, |
| 0x0b99c1, |
| 0x07791d, 0x0448be, 0x00b052, 0x3c6fd4, 0x37473f, |
| 0x30c686, |
| 0x30c618, 0x30c618, 0x000618 |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_24m_5m(void) |
| { |
| int acf1[] = { 0x2ab, 0x077, 0x0c6, 0x01e, |
| 0x295, 0x0a5, 0x2fa, 0x06d, |
| 0x27f, 0x0d2, 0x297, 0x05e, |
| 0x272, 0x0ed, 0x27b, 0x04b, |
| 0x26a, 0x0fb, 0x272, 0x04d |
| }; |
| int acf2[] = { 0x3f3fff, 0x3db7cf, 0x3c2f9e, 0x3aa76c, 0x39173b, |
| 0x377f08, |
| 0x35ded5, 0x343ea1, 0x328e6c, 0x30de36, 0x2f15ff, |
| 0x2d45c6, |
| 0x2b658a, 0x29754d, 0x27650d, 0x253cca, 0x22f483, |
| 0x208438, |
| 0x1de3e7, 0x1b0b90, 0x17eb30, 0x1472c7, 0x107a51, |
| 0x0bd9c8, |
| 0x07c927, 0x04a8c9, 0x01205f, 0x3cf7e4, 0x37e752, |
| 0x31669a, |
| 0x31662c, 0x31662c, 0x00062c |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_207m_8m(void) |
| { |
| int acf1[] = { 0x327, 0x039, 0x1a5, 0x07b, |
| 0x332, 0x076, 0x05c, 0x06e, |
| 0x33e, 0x0b6, 0x3b8, 0x05e, |
| 0x344, 0x0e0, 0x37a, 0x04b, |
| 0x345, 0x0f7, 0x365, 0x04d |
| }; |
| int acf2[] = { 0x3f47ff, 0x3dcfd1, 0x3c57a1, 0x3ad772, 0x394f42, |
| 0x37c711, |
| 0x3636df, 0x34a6ad, 0x32fe7a, 0x315645, 0x2f9e0f, |
| 0x2dd5d7, |
| 0x2bfd9d, 0x2a0d61, 0x280d21, 0x25e4df, 0x239c98, |
| 0x212c4d, |
| 0x1e8bfc, 0x1baba4, 0x188344, 0x14fad9, 0x10ea61, |
| 0x0c29d4, |
| 0x07e92d, 0x04a8cb, 0x00f05c, 0x3c87da, 0x371f3e, |
| 0x30267a, |
| 0x302604, 0x302604, 0x000604 |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_207m_7m(void) |
| { |
| int acf1[] = { 0x307, 0x046, 0x182, 0x00e, |
| 0x306, 0x080, 0x002, 0x00a, |
| 0x306, 0x0bd, 0x364, 0x05e, |
| 0x304, 0x0e3, 0x32d, 0x04b, |
| 0x301, 0x0f8, 0x31b, 0x04d |
| }; |
| int acf2[] = { 0x3f47ff, 0x3dc7d0, 0x3c47a0, 0x3abf6f, 0x39373f, |
| 0x37a70d, |
| 0x3616db, 0x3476a8, 0x32d674, 0x31263f, 0x2f6608, |
| 0x2d9dd0, |
| 0x2bbd96, 0x29d559, 0x27cd19, 0x25a4d7, 0x235c90, |
| 0x20ec45, |
| 0x1e53f4, 0x1b739d, 0x18533d, 0x14d2d4, 0x10d25c, |
| 0x0c19d1, |
| 0x07e12c, 0x04a8ca, 0x00f05c, 0x3c8fdb, 0x372740, |
| 0x302e7c, |
| 0x302e05, 0x302e05, 0x000605 |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_207m_6m(void) |
| { |
| int acf1[] = { 0x2e6, 0x056, 0x151, 0x00e, |
| 0x2db, 0x08c, 0x3a1, 0x06f, |
| 0x2d0, 0x0c4, 0x312, 0x05e, |
| 0x2c9, 0x0e6, 0x2e4, 0x04b, |
| 0x2c3, 0x0f9, 0x2d6, 0x04d |
| }; |
| int acf2[] = { 0x3f47ff, 0x3dbfd0, 0x3c3f9f, 0x3ab76e, 0x39273d, |
| 0x37970b, |
| 0x35fed9, 0x345ea5, 0x32b671, 0x31063b, 0x2f4604, |
| 0x2d75cb, |
| 0x2b9590, 0x29a553, 0x279513, 0x256cd0, 0x232489, |
| 0x20b43d, |
| 0x1e0bec, 0x1b3395, 0x180b35, 0x148acb, 0x108253, |
| 0x0bd1c8, |
| 0x07a123, 0x0470c2, 0x00c055, 0x3c77d6, 0x372f3e, |
| 0x306e80, |
| 0x306e0d, 0x306e0d, 0x00060d |
| }; |
| |
| program_acf(acf1, acf2); |
| } |
| |
| void ini_acf_iireq_src_207m_5m(void) |
| { |
| int acf1[] = { 0x2c3, 0x068, 0x109, 0x01e, |
| 0x2b1, 0x09a, 0x33d, 0x06f, |
| 0x29f, 0x0cc, 0x2c6, 0x05e, |
| 0x293, 0x0ea, 0x2a3, 0x04b, |
| 0x28c, 0x0fa, 0x298, 0x04d |
| }; |
| int acf2[] = { 0x3f3fff, 0x3db7ce, 0x3c279d, 0x3a976b, 0x38ff38, |
| 0x376706, |
| 0x35c6d2, 0x341e9e, 0x327669, 0x30be32, 0x2ef5fb, |
| 0x2d25c1, |
| 0x2b4586, 0x295549, 0x274509, 0x251cc6, 0x22dc80, |
| 0x206c34, |
| 0x1dcbe4, 0x1afb8d, 0x17db2e, 0x1462c5, 0x106a4f, |
| 0x0bc9c6, |
| 0x07b124, 0x0488c5, 0x00e859, 0x3cafdc, 0x377f47, |
| 0x30ee8c, |
| 0x30ee1d, 0x30ee1d, 0x00061d |
| }; |
| |
| program_acf(acf1, acf2); |
| } |