#ifndef __REF_VOLT_TABLE_H__ #define __REF_VOLT_TABLE_H__ u32 volt_table_v1[256] = { 4671488, 4663296, 4655104, 4647936, 4639744, 4631552, 4624384, 4616192, 4608000, 4600832, 4592640, 4584448, 4577280, 4569088, 4560896, 4553728, 4545536, 4537344, 4530176, 4521984, 4513792, 4506624, 4498432, 4490240, 4483072, 4474880, 4466688, 4459520, 4451328, 4443136, 4435968, 4427776, 4419584, 4412416, 4404224, 4396032, 4388864, 4380672, 4372480, 4365312, 4357120, 4348928, 4341760, 4333568, 4325376, 4318208, 4310016, 4301824, 4294656, 4286464, 4278272, 4271104, 4262912, 4254720, 4247552, 4239360, 4231168, 4224000, 4215808, 4207616, 4200448, 4192256, 4184064, 4176896, 4168704, 4160512, 4153344, 4145152, 4136960, 4129792, 4121600, 4113408, 4106240, 4098048, 4089856, 4082688, 4074496, 4066304, 4059136, 4050944, 4042752, 4035584, 4027392, 4019200, 4012032, 4003840, 3995648, 3988480, 3980288, 3972096, 3964928, 3956736, 3948544, 3941376, 3933184, 3924992, 3917824, 3909632, 3901440, 3894272, 3886080, 3877888, 3870720, 3862528, 3854336, 3847168, 3838976, 3830784, 3823616, 3815424, 3807232, 3800064, 3791872, 3783680, 3776512, 3768320, 3760128, 3752960, 3744768, 3736576, 3729408, 3721216, 3713024, 3705856, 3697664, 3689472, 3682304, 3674112, 3665920, 3658752, 3650560, 3642368, 3635200, 3627008, 3618816, 3611648, 3603456, 3595264, 3588096, 3579904, 3571712, 3564544, }; u32 volt_table_v255[432] = { 3924992, 3917824, 3909632, 3901440, 3894272, 3886080, 3877888, 3870720, 3862528, 3854336, 3847168, 3838976, 3830784, 3823616, 3815424, 3807232, 3800064, 3791872, 3783680, 3776512, 3768320, 3760128, 3752960, 3744768, 3736576, 3729408, 3721216, 3713024, 3705856, 3697664, 3689472, 3682304, 3674112, 3665920, 3658752, 3650560, 3642368, 3635200, 3627008, 3618816, 3611648, 3603456, 3595264, 3588096, 3579904, 3571712, 3564544, 3556352, 3548160, 3540992, 3532800, 3524608, 3517440, 3509248, 3501056, 3493888, 3485696, 3477504, 3470336, 3462144, 3453952, 3446784, 3438592, 3430400, 3423232, 3415040, 3406848, 3399680, 3391488, 3383296, 3376128, 3367936, 3359744, 3352576, 3344384, 3336192, 3329024, 3320832, 3312640, 3305472, 3297280, 3289088, 3281920, 3273728, 3265536, 3258368, 3250176, 3241984, 3234816, 3226624, 3218432, 3211264, 3203072, 3194880, 3187712, 3179520, 3171328, 3164160, 3155968, 3147776, 3140608, 3132416, 3124224, 3117056, 3108864, 3100672, 3093504, 3085312, 3077120, 3069952, 3061760, 3053568, 3046400, 3038208, 3030016, 3022848, 3014656, 3006464, 2999296, 2991104, 2982912, 2975744, 2967552, 2959360, 2952192, 2944000, 2935808, 2928640, 2920448, 2912256, 2905088, 2896896, 2888704, 2881536, 2873344, 2865152, 2857984, 2849792, 2841600, 2834432, 2826240, 2818048, 2810880, 2802688, 2794496, 2787328, 2779136, 2770944, 2763776, 2755584, 2747392, 2740224, 2732032, 2723840, 2716672, 2708480, 2700288, 2693120, 2684928, 2676736, 2669568, 2661376, 2653184, 2646016, 2637824, 2629632, 2622464, 2614272, 2606080, 2598912, 2590720, 2582528, 2575360, 2567168, 2558976, 2551808, 2543616, 2535424, 2528256, 2520064, 2511872, 2504704, 2496512, 2488320, 2481152, 2472960, 2464768, 2457600, 2449408, 2441216, 2434048, 2425856, 2417664, 2410496, 2402304, 2394112, 2386944, 2378752, 2370560, 2363392, 2355200, 2347008, 2339840, 2331648, 2323456, 2316288, 2308096, 2299904, 2292736, 2284544, 2276352, 2269184, 2260992, 2252800, 2245632, 2237440, 2229248, 2222080, 2213888, 2205696, 2198528, 2190336, 2182144, 2174976, 2166784, 2158592, 2151424, 2143232, 2135040, 2127872, 2119680, 2111488, 2104320, 2096128, 2087936, 2080768, 2072576, 2064384, 2057216, 2049024, 2040832, 2033664, 2025472, 2017280, 2010112, 2001920, 1993728, 1986560, 1978368, 1970176, 1963008, 1954816, 1946624, 1939456, 1931264, 1923072, 1915904, 1907712, 1899520, 1892352, 1884160, 1875968, 1868800, 1860608, 1852416, 1845248, 1837056, 1828864, 1821696, 1813504, 1805312, 1798144, 1789952, 1781760, 1774592, 1766400, 1758208, 1751040, 1742848, 1734656, 1727488, 1719296, 1711104, 1703936, 1695744, 1687552, 1680384, 1672192, 1664000, 1656832, 1648640, 1640448, 1633280, 1625088, 1616896, 1609728, 1601536, 1593344, 1586176, 1577984, 1569792, 1562624, 1554432, 1546240, 1539072, 1530880, 1522688, 1515520, 1507328, 1499136, 1491968, 1483776, 1475584, 1468416, 1460224, 1452032, 1444864, 1436672, 1428480, 1421312, 1413120, 1404928, 1397760, 1389568, 1381376, 1374208, 1366016, 1357824, 1350656, 1342464, 1334272, 1327104, 1318912, 1310720, 1303552, 1295360, 1287168, 1280000, 1271808, 1263616, 1256448, 1248256, 1240064, 1232896, 1224704, 1216512, 1209344, 1201152, 1192960, 1185792, 1177600, 1169408, 1162240, 1154048, 1145856, 1138688, 1130496, 1122304, 1115136, 1106944, 1098752, 1091584, 1083392, 1075200, 1068032, 1059840, 1051648, 1044480, 1036288, 1028096, 1020928, 1012736, 1004544, 997376, 989184, 980992, 973824, 965632, 957440, 950272, 942080, 933888, 926720, 918528, 910336, 903168, 894976, 886784, 879616, 871424, 863232, 856064, 847872, 839680, 832512, 824320, 816128, 808960, 800768, 792576, 785408, 777216, 769024, 761856, 753664, 745472, 738304, 730112, 721920, 714752, 706560, 698368, 691200, 683008, 674816, 667648, 659456, 651264, 644096, 635904, 627712, 620544, 612352, 604160, 596992, 588800, 580608, 573440, 565248, 557056, 549888, 541696, }; u32 volt_table_cv_20_dv_320[256] = { 64, 67, 70, 74, 77, 80, 83, 86, 90, 93, 96, 99, 102, 106, 109, 112, 115, 118, 122, 125, 128, 131, 134, 138, 141, 144, 147, 150, 154, 157, 160, 163, 166, 170, 173, 176, 179, 182, 186, 189, 192, 195, 198, 202, 205, 208, 211, 214, 218, 221, 224, 227, 230, 234, 237, 240, 243, 246, 250, 253, 256, 259, 262, 266, 269, 272, 275, 278, 282, 285, 288, 291, 294, 298, 301, 304, 307, 310, 314, 317, 320, 323, 326, 330, 333, 336, 339, 342, 346, 349, 352, 355, 358, 362, 365, 368, 371, 374, 378, 381, 384, 387, 390, 394, 397, 400, 403, 406, 410, 413, 416, 419, 422, 426, 429, 432, 435, 438, 442, 445, 448, 451, 454, 458, 461, 464, 467, 470, 474, 477, 480, 483, 486, 490, 493, 496, 499, 502, 506, 509, 512, 515, 518, 522, 525, 528, 531, 534, 538, 541, 544, 547, 550, 554, 557, 560, 563, 566, 570, 573, 576, 579, 582, 586, 589, 592, 595, 598, 602, 605, 608, 611, 614, 618, 621, 624, 627, 630, 634, 637, 640, 643, 646, 650, 653, 656, 659, 662, 666, 669, 672, 675, 678, 682, 685, 688, 691, 694, 698, 701, 704, 707, 710, 714, 717, 720, 723, 726, 730, 733, 736, 739, 742, 746, 749, 752, 755, 758, 762, 765, 768, 771, 774, 778, 781, 784, 787, 790, 794, 797, 800, 803, 806, 810, 813, 816, 819, 822, 826, 829, 832, 835, 838, 842, 845, 848, 851, 854, 858, 861, 864, 867, 870, 874, 877, 880 }; u32 volt_table_cv_65_dv_320[256] = { 208, 211, 214, 218, 221, 224, 227, 230, 234, 237, 240, 243, 246, 250, 253, 256, 259, 262, 266, 269, 272, 275, 278, 282, 285, 288, 291, 294, 298, 301, 304, 307, 310, 314, 317, 320, 323, 326, 330, 333, 336, 339, 342, 346, 349, 352, 355, 358, 362, 365, 368, 371, 374, 378, 381, 384, 387, 390, 394, 397, 400, 403, 406, 410, 413, 416, 419, 422, 426, 429, 432, 435, 438, 442, 445, 448, 451, 454, 458, 461, 464, 467, 470, 474, 477, 480, 483, 486, 490, 493, 496, 499, 502, 506, 509, 512, 515, 518, 522, 525, 528, 531, 534, 538, 541, 544, 547, 550, 554, 557, 560, 563, 566, 570, 573, 576, 579, 582, 586, 589, 592, 595, 598, 602, 605, 608, 611, 614, 618, 621, 624, 627, 630, 634, 637, 640, 643, 646, 650, 653, 656, 659, 662, 666, 669, 672, 675, 678, 682, 685, 688, 691, 694, 698, 701, 704, 707, 710, 714, 717, 720, 723, 726, 730, 733, 736, 739, 742, 746, 749, 752, 755, 758, 762, 765, 768, 771, 774, 778, 781, 784, 787, 790, 794, 797, 800, 803, 806, 810, 813, 816, 819, 822, 826, 829, 832, 835, 838, 842, 845, 848, 851, 854, 858, 861, 864, 867, 870, 874, 877, 880, 883, 886, 890, 893, 896, 899, 902, 906, 909, 912, 915, 918, 922, 925, 928, 931, 934, 938, 941, 944, 947, 950, 954, 957, 960, 963, 966, 970, 973, 976, 979, 982, 986, 989, 992, 995, 998, 1002, 1005, 1008, 1011, 1014, 1018, 1021, 1024, }; const u32 gamma_300_gra_table[256] = { 0, 2, 7, 17, 32, 53, 78, 110, 148, 191, 241, 298, 361, 430, 506, 589, 679, 776, 880, 991, 1109, 1235, 1368, 1508, 1657, 1812, 1975, 2147, 2325, 2512, 2706, 2909, 3119, 3338, 3564, 3799, 4042, 4293, 4553, 4820, 5096, 5381, 5674, 5975, 6285, 6604, 6931, 7267, 7611, 7965, 8327, 8697, 9077, 9465, 9863, 10269, 10684, 11109, 11542, 11984, 12436, 12896, 13366, 13845, 14333, 14830, 15337, 15852, 16378, 16912, 17456, 18009, 18572, 19144, 19726, 20317, 20918, 21528, 22148, 22778, 23417, 24066, 24724, 25392, 26070, 26758, 27456, 28163, 28880, 29607, 30344, 31090, 31847, 32613, 33390, 34176, 34973, 35779, 36596, 37422, 38259, 39106, 39963, 40830, 41707, 42594, 43492, 44399, 45317, 46246, 47184, 48133, 49092, 50062, 51042, 52032, 53032, 54043, 55065, 56097, 57139, 58192, 59255, 60329, 61413, 62508, 63613, 64729, 65856, 66993, 68141, 69299, 70469, 71648, 72839, 74040, 75252, 76475, 77708, 78952, 80207, 81473, 82750, 84037, 85336, 86645, 87965, 89296, 90638, 91990, 93354, 94729, 96114, 97511, 98919, 100337, 101767, 103208, 104659, 106122, 107596, 109081, 110577, 112085, 113603, 115132, 116673, 118225, 119788, 121362, 122948, 124544, 126152, 127772, 129402, 131044, 132697, 134361, 136037, 137724, 139422, 141132, 142853, 144586, 146330, 148085, 149852, 151630, 153419, 155220, 157033, 158857, 160692, 162540, 164398, 166268, 168150, 170043, 171948, 173864, 175792, 177731, 179683, 181645, 183620, 185606, 187603, 189613, 191634, 193667, 195711, 197767, 199835, 201915, 204006, 206109, 208224, 210351, 212489, 214640, 216802, 218976, 221161, 223359, 225569, 227790, 230023, 232268, 234525, 236794, 239075, 241368, 243672, 245989, 248318, 250658, 253011, 255375, 257752, 260141, 262541, 264954, 267379, 269815, 272264, 274725, 277198, 279683, 282180, 284689, 287211, 289744, 292290, 294848, 297418, 300000, }; const u32 gamma_22_table[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 10, 10, 11, 12, 13, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 32, 33, 34, 36, 37, 38, 40, 41, 43, 45, 46, 48, 49, 51, 53, 55, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 85, 87, 89, 92, 94, 96, 99, 101, 104, 106, 109, 111, 114, 117, 119, 122, 125, 128, 130, 133, 136, 139, 142, 145, 148, 151, 154, 157, 160, 164, 167, 170, 173, 177, 180, 184, 187, 190, 194, 198, 201, 205, 208, 212, 216, 220, 223, 227, 231, 235, 239, 243, 247, 251, 255, 259, 263, 267, 272, 276, 280, 284, 289, 293, 298, 302, 307, 311, 316, 320, 325, 330, 334, 339, 344, 349, 354, 359, 364, 369, 374, 379, 384, 389, 394, 399, 405, 410, 415, 421, 426, 431, 437, 442, 448, 453, 459, 465, 470, 476, 482, 488, 494, 500, 505, 511, 517, 523, 530, 536, 542, 548, 554, 560, 567, 573, 580, 586, 592, 599, 605, 612, 619, 625, 632, 639, 646, 652, 659, 666, 673, 680, 687, 694, 701, 708, 715, 723, 730, 737, 745, 752, 759, 767, 774, 782, 789, 797, 805, 812, 820, 828, 836, 843, 851, 859, 867, 875, 883, 891, 899, 908, 916, 924, 932, 941, 949, 957, 966, 974, 983, 991, 1000, }; const struct str_flookup_table flookup_table[302] = { { 0, 0}, { 1, 20}, { 20, 7}, { 27, 5}, { 32, 4}, { 36, 4}, { 40, 4}, { 44, 3}, { 47, 3}, { 50, 2}, { 52, 3}, { 55, 2}, { 57, 3}, { 60, 2}, { 62, 2}, { 64, 2}, { 66, 2}, { 68, 2}, { 70, 1}, { 71, 2}, { 73, 2}, { 75, 2}, { 77, 1}, { 78, 2}, { 80, 1}, { 81, 2}, { 83, 1}, { 84, 2}, { 86, 1}, { 87, 2}, { 89, 1}, { 90, 1}, { 91, 2}, { 93, 1}, { 94, 1}, { 95, 2}, { 97, 1}, { 98, 1}, { 99, 1}, {100, 1}, {101, 2}, {103, 1}, {104, 1}, {105, 1}, {106, 1}, {107, 1}, {108, 1}, {109, 1}, {110, 1}, {111, 1}, {112, 1}, {113, 1}, {114, 1}, {115, 1}, {116, 1}, {117, 1}, {118, 1}, {119, 1}, {120, 1}, {121, 1}, {122, 1}, {123, 1}, {124, 1}, {125, 1}, {126, 1}, {127, 1}, {128, 1}, {129, 1}, { 0, 0}, {130, 1}, {131, 1}, {132, 1}, {133, 1}, {134, 1}, { 0, 0}, {135, 1}, {136, 1}, {137, 1}, {138, 1}, {139, 1}, { 0, 0}, {140, 1}, {141, 1}, {142, 1}, { 0, 0}, {143, 1}, {144, 1}, {145, 1}, {146, 1}, { 0, 0}, {147, 1}, {148, 1}, {149, 1}, { 0, 0}, {150, 1}, {151, 1}, { 0, 0}, {152, 1}, {153, 1}, {154, 1}, { 0, 0}, {155, 1}, {156, 1}, { 0, 0}, {157, 1}, {158, 1}, { 0, 0}, {159, 1}, {160, 1}, { 0, 0}, {161, 1}, {162, 1}, { 0, 0}, {163, 1}, {164, 1}, { 0, 0}, {165, 1}, {166, 1}, { 0, 0}, {167, 1}, {168, 1}, { 0, 0}, {169, 1}, {170, 1}, { 0, 0}, {171, 1}, { 0, 0}, {172, 1}, {173, 1}, { 0, 0}, {174, 1}, { 0, 0}, {175, 1}, {176, 1}, { 0, 0}, {177, 1}, { 0, 0}, {178, 1}, {179, 1}, { 0, 0}, {180, 1}, { 0, 0}, {181, 1}, {182, 1}, { 0, 0}, {183, 1}, { 0, 0}, {184, 1}, { 0, 0}, {185, 1}, {186, 1}, { 0, 0}, {187, 1}, { 0, 0}, {188, 1}, { 0, 0}, {189, 1}, { 0, 0}, {190, 1}, {191, 1}, { 0, 0}, {192, 1}, { 0, 0}, {193, 1}, { 0, 0}, {194, 1}, { 0, 0}, {195, 1}, { 0, 0}, {196, 1}, { 0, 0}, {197, 1}, {198, 1}, { 0, 0}, {199, 1}, { 0, 0}, {200, 1}, { 0, 0}, {201, 1}, { 0, 0}, {202, 1}, { 0, 0}, {203, 1}, { 0, 0}, {204, 1}, { 0, 0}, {205, 1}, { 0, 0}, {206, 1}, { 0, 0}, {207, 1}, { 0, 0}, {208, 1}, { 0, 0}, {209, 1}, { 0, 0}, {210, 1}, { 0, 0}, {211, 1}, { 0, 0}, {212, 1}, { 0, 0}, {213, 1}, { 0, 0}, { 0, 0}, {214, 1}, { 0, 0}, {215, 1}, { 0, 0}, {216, 1}, { 0, 0}, {217, 1}, { 0, 0}, {218, 1}, { 0, 0}, {219, 1}, { 0, 0}, {220, 1}, { 0, 0}, {221, 1}, { 0, 0}, { 0, 0}, {222, 1}, { 0, 0}, {223, 1}, { 0, 0}, {224, 1}, { 0, 0}, {225, 1}, { 0, 0}, { 0, 0}, {226, 1}, { 0, 0}, {227, 1}, { 0, 0}, {228, 1}, { 0, 0}, {229, 1}, { 0, 0}, { 0, 0}, {230, 1}, { 0, 0}, {231, 1}, { 0, 0}, {232, 1}, { 0, 0}, {233, 1}, { 0, 0}, { 0, 0}, {234, 1}, { 0, 0}, {235, 1}, { 0, 0}, { 0, 0}, {236, 1}, { 0, 0}, {237, 1}, { 0, 0}, {238, 1}, { 0, 0}, { 0, 0}, {239, 1}, { 0, 0}, {240, 1}, { 0, 0}, {241, 1}, { 0, 0}, { 0, 0}, {242, 1}, { 0, 0}, {243, 1}, { 0, 0}, { 0, 0}, {244, 1}, { 0, 0}, {245, 1}, { 0, 0}, { 0, 0}, {246, 1}, { 0, 0}, {247, 1}, { 0, 0}, { 0, 0}, {248, 1}, { 0, 0}, {249, 1}, { 0, 0}, { 0, 0}, {250, 1}, { 0, 0}, {251, 1}, { 0, 0}, { 0, 0}, {252, 1}, { 0, 0}, {253, 1}, { 0, 0}, { 0, 0}, {254, 1}, { 0, 0}, { 0, 0}, {255, 1}, }; #endif