/* * Copyright (C) 2013 Allwinnertech, kevin.z.m * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * 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. */ #include "clk-sun8iw10.h" /* * freq table from hardware, need follow rules * 1) each table named as * factor_pll1_tbl * factor_pll2_tbl * ... * 2) for each table line * a) follow the format PLLx(n,k,m,p,d1,d2,freq), and keep the factors order * b) if any factor not used, skip it * c) the factor is the value to write registers, not means factor+1 * * example * PLL1(9, 0, 0, 2, 60000000) means PLL1(n,k,m,p,freq) * PLLVIDEO0(3, 0, 96000000) means PLLVIDEO0(n,m,freq) * */ //PLLCPU(n,k,m,p,freq) F_N8X5_K4X2_M0X2_P16x2 struct sunxi_clk_factor_freq factor_pllcpu_tbl[] = { PLLCPU(9 , 0 , 0 , 2 , 60000000U), PLLCPU(10 , 0 , 0 , 2 , 66000000U), PLLCPU(11 , 0 , 0 , 2 , 72000000U), PLLCPU(12 , 0 , 0 , 2 , 78000000U), PLLCPU(13 , 0 , 0 , 2 , 84000000U), PLLCPU(14 , 0 , 0 , 2 , 90000000U), PLLCPU(15 , 0 , 0 , 2 , 96000000U), PLLCPU(16 , 0 , 0 , 2 , 102000000U), PLLCPU(17 , 0 , 0 , 2 , 108000000U), PLLCPU(18 , 0 , 0 , 2 , 114000000U), PLLCPU(9 , 0 , 0 , 1 , 120000000U), PLLCPU(10 , 0 , 0 , 1 , 132000000U), PLLCPU(11 , 0 , 0 , 1 , 144000000U), PLLCPU(12 , 0 , 0 , 1 , 156000000U), PLLCPU(13 , 0 , 0 , 1 , 168000000U), PLLCPU(14 , 0 , 0 , 1 , 180000000U), PLLCPU(15 , 0 , 0 , 1 , 192000000U), PLLCPU(16 , 0 , 0 , 1 , 204000000U), PLLCPU(17 , 0 , 0 , 1 , 216000000U), PLLCPU(18 , 0 , 0 , 1 , 228000000U), PLLCPU(9 , 0 , 0 , 0 , 240000000U), PLLCPU(10 , 0 , 0 , 0 , 264000000U), PLLCPU(11 , 0 , 0 , 0 , 288000000U), PLLCPU(12 , 0 , 0 , 0 , 312000000U), PLLCPU(13 , 0 , 0 , 0 , 336000000U), PLLCPU(14 , 0 , 0 , 0 , 360000000U), PLLCPU(15 , 0 , 0 , 0 , 384000000U), PLLCPU(16 , 0 , 0 , 0 , 408000000U), PLLCPU(17 , 0 , 0 , 0 , 432000000U), PLLCPU(18 , 0 , 0 , 0 , 456000000U), PLLCPU(19 , 0 , 0 , 0 , 480000000U), PLLCPU(20 , 0 , 0 , 0 , 504000000U), PLLCPU(21 , 0 , 0 , 0 , 528000000U), PLLCPU(22 , 0 , 0 , 0 , 552000000U), PLLCPU(23 , 0 , 0 , 0 , 576000000U), PLLCPU(24 , 0 , 0 , 0 , 600000000U), PLLCPU(25 , 0 , 0 , 0 , 624000000U), PLLCPU(26 , 0 , 0 , 0 , 648000000U), PLLCPU(27 , 0 , 0 , 0 , 672000000U), PLLCPU(28 , 0 , 0 , 0 , 696000000U), PLLCPU(29 , 0 , 0 , 0 , 720000000U), PLLCPU(15 , 1 , 0 , 0 , 768000000U), PLLCPU(10 , 2 , 0 , 0 , 792000000U), PLLCPU(16 , 1 , 0 , 0 , 816000000U), PLLCPU(17 , 1 , 0 , 0 , 864000000U), PLLCPU(18 , 1 , 0 , 0 , 912000000U), PLLCPU(12 , 2 , 0 , 0 , 936000000U), PLLCPU(19 , 1 , 0 , 0 , 960000000U), PLLCPU(20 , 1 , 0 , 0 , 1008000000U), PLLCPU(21 , 1 , 0 , 0 , 1056000000U), PLLCPU(14 , 2 , 0 , 0 , 1080000000U), PLLCPU(22 , 1 , 0 , 0 , 1104000000U), PLLCPU(23 , 1 , 0 , 0 , 1152000000U), PLLCPU(24 , 1 , 0 , 0 , 1200000000U), PLLCPU(16 , 2 , 0 , 0 , 1224000000U), PLLCPU(25 , 1 , 0 , 0 , 1248000000U), PLLCPU(26 , 1 , 0 , 0 , 1296000000U), PLLCPU(27 , 1 , 0 , 0 , 1344000000U), PLLCPU(18 , 2 , 0 , 0 , 1368000000U), PLLCPU(19 , 2 , 0 , 0 , 1440000000U), PLLCPU(20 , 2 , 0 , 0 , 1512000000U), PLLCPU(15 , 3 , 0 , 0 , 1536000000U), PLLCPU(21 , 2 , 0 , 0 , 1584000000U), PLLCPU(16 , 3 , 0 , 0 , 1632000000U), PLLCPU(22 , 2 , 0 , 0 , 1656000000U), PLLCPU(23 , 2 , 0 , 0 , 1728000000U), PLLCPU(24 , 2 , 0 , 0 , 1800000000U), PLLCPU(25 , 2 , 0 , 0 , 1872000000U), }; //PLLVIDEO0(n,m,freq) F_N8X7_M0X4 struct sunxi_clk_factor_freq factor_pllvideo0_tbl[] = { PLLVIDEO0(29 , 3 , 180000000U), PLLVIDEO0(22 , 2 , 184000000U), PLLVIDEO0(30 , 3 , 186000000U), PLLVIDEO0(62 , 7 , 189000000U), PLLVIDEO0(7 , 0 , 192000000U), PLLVIDEO0(64 , 7 , 195000000U), PLLVIDEO0(32 , 3 , 198000000U), PLLVIDEO0(24 , 2 , 200000000U), PLLVIDEO0(66 , 7 , 201000000U), PLLVIDEO0(67 , 7 , 204000000U), PLLVIDEO0(25 , 2 , 208000000U), PLLVIDEO0(34 , 3 , 210000000U), PLLVIDEO0(8 , 0 , 216000000U), PLLVIDEO0(72 , 7 , 219000000U), PLLVIDEO0(36 , 3 , 222000000U), PLLVIDEO0(27 , 2 , 224000000U), PLLVIDEO0(74 , 7 , 225000000U), PLLVIDEO0(18 , 1 , 228000000U), PLLVIDEO0(76 , 7 , 231000000U), PLLVIDEO0(28 , 2 , 232000000U), PLLVIDEO0(38 , 3 , 234000000U), PLLVIDEO0(78 , 7 , 237000000U), PLLVIDEO0(19 , 1 , 240000000U), PLLVIDEO0(80 , 7 , 243000000U), PLLVIDEO0(40 , 3 , 246000000U), PLLVIDEO0(30 , 2 , 248000000U), PLLVIDEO0(82 , 7 , 249000000U), PLLVIDEO0(41 , 3 , 252000000U), PLLVIDEO0(84 , 7 , 255000000U), PLLVIDEO0(31 , 2 , 256000000U), PLLVIDEO0(42 , 3 , 258000000U), PLLVIDEO0(86 , 7 , 261000000U), PLLVIDEO0(87 , 7 , 264000000U), PLLVIDEO0(88 , 7 , 267000000U), PLLVIDEO0(44 , 3 , 270000000U), PLLVIDEO0(33 , 2 , 272000000U), PLLVIDEO0(90 , 7 , 273000000U), PLLVIDEO0(45 , 3 , 276000000U), PLLVIDEO0(92 , 7 , 279000000U), PLLVIDEO0(34 , 2 , 280000000U), PLLVIDEO0(46 , 3 , 282000000U), PLLVIDEO0(94 , 7 , 285000000U), PLLVIDEO0(23 , 1 , 288000000U), PLLVIDEO0(96 , 7 , 291000000U), PLLVIDEO0(48 , 3 , 294000000U), PLLVIDEO0(36 , 2 , 296000000U), PLLVIDEO0(98 , 7 , 297000000U), PLLVIDEO0(24 , 1 , 300000000U), PLLVIDEO0(100, 7 , 303000000U), PLLVIDEO0(37 , 2 , 304000000U), PLLVIDEO0(101, 7 , 306000000U), PLLVIDEO0(102, 7 , 309000000U), PLLVIDEO0(103, 7 , 312000000U), PLLVIDEO0(104, 7 , 315000000U), PLLVIDEO0(52 , 3 , 318000000U), PLLVIDEO0(39 , 2 , 320000000U), PLLVIDEO0(106, 7 , 321000000U), PLLVIDEO0(107, 7 , 324000000U), PLLVIDEO0(108, 7 , 327000000U), PLLVIDEO0(40 , 2 , 328000000U), PLLVIDEO0(54 , 3 , 330000000U), PLLVIDEO0(110, 7 , 333000000U), PLLVIDEO0(13 , 0 , 336000000U), PLLVIDEO0(112, 7 , 339000000U), PLLVIDEO0(56 , 3 , 342000000U), PLLVIDEO0(114, 7 , 345000000U), PLLVIDEO0(115, 7 , 348000000U), PLLVIDEO0(116, 7 , 351000000U), PLLVIDEO0(58 , 3 , 354000000U), PLLVIDEO0(118, 7 , 357000000U), PLLVIDEO0(59 , 3 , 360000000U), PLLVIDEO0(120, 7 , 363000000U), PLLVIDEO0(60 , 3 , 366000000U), PLLVIDEO0(122, 7 , 369000000U), PLLVIDEO0(123, 7 , 372000000U), PLLVIDEO0(124, 7 , 375000000U), PLLVIDEO0(62 , 3 , 378000000U), PLLVIDEO0(126, 7 , 381000000U), PLLVIDEO0(15 , 0 , 384000000U), PLLVIDEO0(64 , 3 , 390000000U), PLLVIDEO0(65 , 3 , 396000000U), PLLVIDEO0(66 , 3 , 402000000U), PLLVIDEO0(33 , 1 , 408000000U), PLLVIDEO0(68 , 3 , 414000000U), PLLVIDEO0(69 , 3 , 420000000U), PLLVIDEO0(70 , 3 , 426000000U), PLLVIDEO0(71 , 3 , 432000000U), PLLVIDEO0(72 , 3 , 438000000U), PLLVIDEO0(73 , 3 , 444000000U), PLLVIDEO0(74 , 3 , 450000000U), PLLVIDEO0(37 , 1 , 456000000U), PLLVIDEO0(76 , 3 , 462000000U), PLLVIDEO0(38 , 1 , 468000000U), PLLVIDEO0(78 , 3 , 474000000U), PLLVIDEO0(19 , 0 , 480000000U), PLLVIDEO0(80 , 3 , 486000000U), PLLVIDEO0(81 , 3 , 492000000U), PLLVIDEO0(82 , 3 , 498000000U), PLLVIDEO0(83 , 3 , 504000000U), PLLVIDEO0(84 , 3 , 510000000U), PLLVIDEO0(85 , 3 , 516000000U), PLLVIDEO0(86 , 3 , 522000000U), PLLVIDEO0(21 , 0 , 528000000U), PLLVIDEO0(88 , 3 , 534000000U), PLLVIDEO0(89 , 3 , 540000000U), PLLVIDEO0(90 , 3 , 546000000U), PLLVIDEO0(91 , 3 , 552000000U), PLLVIDEO0(92 , 3 , 558000000U), PLLVIDEO0(93 , 3 , 564000000U), PLLVIDEO0(94 , 3 , 570000000U), PLLVIDEO0(23 , 0 , 576000000U), PLLVIDEO0(96 , 3 , 582000000U), PLLVIDEO0(97 , 3 , 588000000U), PLLVIDEO0(98 , 3 , 594000000U), PLLVIDEO0(24 , 0 , 600000000U), PLLVIDEO0(100, 3 , 606000000U), PLLVIDEO0(101, 3 , 612000000U), PLLVIDEO0(102, 3 , 618000000U), PLLVIDEO0(25 , 0 , 624000000U), PLLVIDEO0(104, 3 , 630000000U), PLLVIDEO0(105, 3 , 636000000U), PLLVIDEO0(106, 3 , 642000000U), PLLVIDEO0(26 , 0 , 648000000U), PLLVIDEO0(108, 3 , 654000000U), PLLVIDEO0(109, 3 , 660000000U), PLLVIDEO0(110, 3 , 666000000U), PLLVIDEO0(27 , 0 , 672000000U), PLLVIDEO0(112, 3 , 678000000U), PLLVIDEO0(113, 3 , 684000000U), PLLVIDEO0(114, 3 , 690000000U), PLLVIDEO0(28 , 0 , 696000000U), PLLVIDEO0(116, 3 , 702000000U), PLLVIDEO0(117, 3 , 708000000U), PLLVIDEO0(118, 3 , 714000000U), PLLVIDEO0(29 , 0 , 720000000U), PLLVIDEO0(120, 3 , 726000000U), PLLVIDEO0(121, 3 , 732000000U), PLLVIDEO0(122, 3 , 738000000U), PLLVIDEO0(30 , 0 , 744000000U), PLLVIDEO0(124, 3 , 750000000U), PLLVIDEO0(125, 3 , 756000000U), PLLVIDEO0(126, 3 , 762000000U), PLLVIDEO0(127, 3 , 768000000U), PLLVIDEO0(32 , 0 , 792000000U), PLLVIDEO0(33 , 0 , 816000000U), PLLVIDEO0(34 , 0 , 840000000U), PLLVIDEO0(35 , 0 , 864000000U), PLLVIDEO0(36 , 0 , 888000000U), PLLVIDEO0(37 , 0 , 912000000U), PLLVIDEO0(38 , 0 , 936000000U), PLLVIDEO0(39 , 0 , 960000000U), PLLVIDEO0(40 , 0 , 984000000U), PLLVIDEO0(41 , 0 , 1008000000U), }; //PLLDDR0(n,k,m,freq) F_N8X5_K4X2_M0X2 struct sunxi_clk_factor_freq factor_pllddr0_tbl[] = { PLLDDR0(17 , 3 , 108000000U), PLLDDR0(18 , 3 , 114000000U), PLLDDR0(19 , 3 , 120000000U), PLLDDR0(20 , 3 , 126000000U), PLLDDR0(15 , 2 , 128000000U), PLLDDR0(21 , 3 , 132000000U), PLLDDR0(16 , 2 , 136000000U), PLLDDR0(22 , 3 , 138000000U), PLLDDR0(17 , 2 , 144000000U), PLLDDR0(24 , 3 , 150000000U), PLLDDR0(18 , 2 , 152000000U), PLLDDR0(25 , 3 , 156000000U), PLLDDR0(19 , 2 , 160000000U), PLLDDR0(26 , 3 , 162000000U), PLLDDR0(27 , 3 , 168000000U), PLLDDR0(28 , 3 , 174000000U), PLLDDR0(21 , 2 , 176000000U), PLLDDR0(29 , 3 , 180000000U), PLLDDR0(22 , 2 , 184000000U), PLLDDR0(30 , 3 , 186000000U), PLLDDR0(23 , 2 , 192000000U), PLLDDR0(32 , 3 , 198000000U), PLLDDR0(24 , 2 , 200000000U), PLLDDR0(33 , 3 , 204000000U), PLLDDR0(25 , 2 , 208000000U), PLLDDR0(34 , 3 , 210000000U), PLLDDR0(26 , 2 , 216000000U), PLLDDR0(36 , 3 , 222000000U), PLLDDR0(27 , 2 , 224000000U), PLLDDR0(37 , 3 , 228000000U), PLLDDR0(28 , 2 , 232000000U), PLLDDR0(38 , 3 , 234000000U), PLLDDR0(29 , 2 , 240000000U), PLLDDR0(40 , 3 , 246000000U), PLLDDR0(30 , 2 , 248000000U), PLLDDR0(20 , 1 , 252000000U), PLLDDR0(31 , 2 , 256000000U), PLLDDR0(42 , 3 , 258000000U), PLLDDR0(21 , 1 , 264000000U), PLLDDR0(44 , 3 , 270000000U), PLLDDR0(33 , 2 , 272000000U), PLLDDR0(22 , 1 , 276000000U), PLLDDR0(34 , 2 , 280000000U), PLLDDR0(46 , 3 , 282000000U), PLLDDR0(47 , 3 , 288000000U), PLLDDR0(48 , 3 , 294000000U), PLLDDR0(36 , 2 , 296000000U), PLLDDR0(24 , 1 , 300000000U), PLLDDR0(37 , 2 , 304000000U), PLLDDR0(50 , 3 , 306000000U), PLLDDR0(38 , 2 , 312000000U), PLLDDR0(52 , 3 , 318000000U), PLLDDR0(39 , 2 , 320000000U), PLLDDR0(26 , 1 , 324000000U), PLLDDR0(40 , 2 , 328000000U), PLLDDR0(54 , 3 , 330000000U), PLLDDR0(41 , 2 , 336000000U), PLLDDR0(56 , 3 , 342000000U), PLLDDR0(42 , 2 , 344000000U), PLLDDR0(28 , 1 , 348000000U), PLLDDR0(43 , 2 , 352000000U), PLLDDR0(58 , 3 , 354000000U), PLLDDR0(14 , 0 , 360000000U), PLLDDR0(60 , 3 , 366000000U), PLLDDR0(45 , 2 , 368000000U), PLLDDR0(30 , 1 , 372000000U), PLLDDR0(46 , 2 , 376000000U), PLLDDR0(62 , 3 , 378000000U), PLLDDR0(47 , 2 , 384000000U), PLLDDR0(64 , 3 , 390000000U), PLLDDR0(48 , 2 , 392000000U), PLLDDR0(32 , 1 , 396000000U), PLLDDR0(49 , 2 , 400000000U), PLLDDR0(66 , 3 , 402000000U), PLLDDR0(33 , 1 , 408000000U), PLLDDR0(68 , 3 , 414000000U), PLLDDR0(51 , 2 , 416000000U), PLLDDR0(34 , 1 , 420000000U), PLLDDR0(52 , 2 , 424000000U), PLLDDR0(70 , 3 , 426000000U), PLLDDR0(53 , 2 , 432000000U), PLLDDR0(72 , 3 , 438000000U), PLLDDR0(54 , 2 , 440000000U), PLLDDR0(36 , 1 , 444000000U), PLLDDR0(55 , 2 , 448000000U), PLLDDR0(74 , 3 , 450000000U), PLLDDR0(18 , 0 , 456000000U), PLLDDR0(76 , 3 , 462000000U), PLLDDR0(57 , 2 , 464000000U), PLLDDR0(38 , 1 , 468000000U), PLLDDR0(58 , 2 , 472000000U), PLLDDR0(78 , 3 , 474000000U), PLLDDR0(39 , 1 , 480000000U), PLLDDR0(80 , 3 , 486000000U), PLLDDR0(60 , 2 , 488000000U), PLLDDR0(40 , 1 , 492000000U), PLLDDR0(61 , 2 , 496000000U), PLLDDR0(82 , 3 , 498000000U), PLLDDR0(20 , 0 , 504000000U), PLLDDR0(84 , 3 , 510000000U), PLLDDR0(63 , 2 , 512000000U), PLLDDR0(42 , 1 , 516000000U), PLLDDR0(64 , 2 , 520000000U), PLLDDR0(86 , 3 , 522000000U), PLLDDR0(21 , 0 , 528000000U), PLLDDR0(88 , 3 , 534000000U), PLLDDR0(66 , 2 , 536000000U), PLLDDR0(44 , 1 , 540000000U), PLLDDR0(67 , 2 , 544000000U), PLLDDR0(90 , 3 , 546000000U), PLLDDR0(45 , 1 , 552000000U), PLLDDR0(92 , 3 , 558000000U), PLLDDR0(69 , 2 , 560000000U), PLLDDR0(46 , 1 , 564000000U), PLLDDR0(70 , 2 , 568000000U), PLLDDR0(94 , 3 , 570000000U), PLLDDR0(23 , 0 , 576000000U), PLLDDR0(96 , 3 , 582000000U), PLLDDR0(72 , 2 , 584000000U), PLLDDR0(48 , 1 , 588000000U), PLLDDR0(73 , 2 , 592000000U), PLLDDR0(98 , 3 , 594000000U), PLLDDR0(49 , 1 , 600000000U), PLLDDR0(100, 3 , 606000000U), PLLDDR0(75 , 2 , 608000000U), PLLDDR0(50 , 1 , 612000000U), PLLDDR0(76 , 2 , 616000000U), PLLDDR0(102, 3 , 618000000U), PLLDDR0(25 , 0 , 624000000U), PLLDDR0(104, 3 , 630000000U), PLLDDR0(78 , 2 , 632000000U), PLLDDR0(52 , 1 , 636000000U), PLLDDR0(79 , 2 , 640000000U), PLLDDR0(106, 3 , 642000000U), PLLDDR0(53 , 1 , 648000000U), PLLDDR0(108, 3 , 654000000U), PLLDDR0(81 , 2 , 656000000U), PLLDDR0(54 , 1 , 660000000U), PLLDDR0(27 , 0 , 672000000U), PLLDDR0(28 , 0 , 696000000U), PLLDDR0(87 , 2 , 704000000U), PLLDDR0(58 , 1 , 708000000U), PLLDDR0(88 , 2 , 712000000U), PLLDDR0(29 , 0 , 720000000U), PLLDDR0(120, 3 , 726000000U), PLLDDR0(90 , 2 , 728000000U), PLLDDR0(60 , 1 , 732000000U), PLLDDR0(91 , 2 , 736000000U), PLLDDR0(122, 3 , 738000000U), PLLDDR0(30 , 0 , 744000000U), PLLDDR0(124, 3 , 750000000U), PLLDDR0(93 , 2 , 752000000U), PLLDDR0(62 , 1 , 756000000U), PLLDDR0(94 , 2 , 760000000U), PLLDDR0(126, 3 , 762000000U), PLLDDR0(127, 3 , 768000000U), PLLDDR0(96 , 2 , 776000000U), PLLDDR0(64 , 1 , 780000000U), PLLDDR0(97 , 2 , 784000000U), PLLDDR0(32 , 0 , 792000000U), PLLDDR0(99 , 2 , 800000000U), PLLDDR0(66 , 1 , 804000000U), PLLDDR0(100, 2 , 808000000U), PLLDDR0(33 , 0 , 816000000U), PLLDDR0(102, 2 , 824000000U), PLLDDR0(68 , 1 , 828000000U), PLLDDR0(103, 2 , 832000000U), PLLDDR0(34 , 0 , 840000000U), PLLDDR0(105, 2 , 848000000U), PLLDDR0(70 , 1 , 852000000U), PLLDDR0(106, 2 , 856000000U), PLLDDR0(35 , 0 , 864000000U), PLLDDR0(108, 2 , 872000000U), PLLDDR0(72 , 1 , 876000000U), PLLDDR0(109, 2 , 880000000U), PLLDDR0(36 , 0 , 888000000U), PLLDDR0(111, 2 , 896000000U), PLLDDR0(74 , 1 , 900000000U), PLLDDR0(112, 2 , 904000000U), PLLDDR0(37 , 0 , 912000000U), PLLDDR0(114, 2 , 920000000U), PLLDDR0(76 , 1 , 924000000U), PLLDDR0(115, 2 , 928000000U), PLLDDR0(38 , 0 , 936000000U), PLLDDR0(117, 2 , 944000000U), PLLDDR0(78 , 1 , 948000000U), PLLDDR0(118, 2 , 952000000U), PLLDDR0(39 , 0 , 960000000U), PLLDDR0(120, 2 , 968000000U), PLLDDR0(80 , 1 , 972000000U), PLLDDR0(121, 2 , 976000000U), PLLDDR0(40 , 0 , 984000000U), PLLDDR0(123, 2 , 992000000U), PLLDDR0(82 , 1 , 996000000U), PLLDDR0(124, 2 , 1000000000U), PLLDDR0(41 , 0 , 1008000000U), PLLDDR0(126, 2 , 1016000000U), PLLDDR0(84 , 1 , 1020000000U), PLLDDR0(127, 2 , 1024000000U), PLLDDR0(42 , 0 , 1032000000U), PLLDDR0(86 , 1 , 1044000000U), PLLDDR0(43 , 0 , 1056000000U), PLLDDR0(88 , 1 , 1068000000U), PLLDDR0(44 , 0 , 1080000000U), PLLDDR0(90 , 1 , 1092000000U), PLLDDR0(45 , 0 , 1104000000U), PLLDDR0(92 , 1 , 1116000000U), PLLDDR0(46 , 0 , 1128000000U), PLLDDR0(94 , 1 , 1140000000U), PLLDDR0(47 , 0 , 1152000000U), PLLDDR0(96 , 1 , 1164000000U), PLLDDR0(48 , 0 , 1176000000U), PLLDDR0(98 , 1 , 1188000000U), PLLDDR0(49 , 0 , 1200000000U), PLLDDR0(100, 1 , 1212000000U), PLLDDR0(50 , 0 , 1224000000U), PLLDDR0(102, 1 , 1236000000U), PLLDDR0(51 , 0 , 1248000000U), PLLDDR0(104, 1 , 1260000000U), PLLDDR0(52 , 0 , 1272000000U), PLLDDR0(106, 1 , 1284000000U), PLLDDR0(53 , 0 , 1296000000U), PLLDDR0(108, 1 , 1308000000U), PLLDDR0(54 , 0 , 1320000000U), PLLDDR0(110, 1 , 1332000000U), PLLDDR0(55 , 0 , 1344000000U), PLLDDR0(112, 1 , 1356000000U), PLLDDR0(56 , 0 , 1368000000U), PLLDDR0(114, 1 , 1380000000U), PLLDDR0(57 , 0 , 1392000000U), PLLDDR0(116, 1 , 1404000000U), PLLDDR0(58 , 0 , 1416000000U), PLLDDR0(118, 1 , 1428000000U), PLLDDR0(59 , 0 , 1440000000U), PLLDDR0(120, 1 , 1452000000U), PLLDDR0(60 , 0 , 1464000000U), PLLDDR0(122, 1 , 1476000000U), PLLDDR0(61 , 0 , 1488000000U), PLLDDR0(124, 1 , 1500000000U), PLLDDR0(62 , 0 , 1512000000U), PLLDDR0(126, 1 , 1524000000U), PLLDDR0(63 , 0 , 1536000000U), PLLDDR0(64 , 0 , 1560000000U), PLLDDR0(65 , 0 , 1584000000U), PLLDDR0(66 , 0 , 1608000000U), PLLDDR0(67 , 0 , 1632000000U), PLLDDR0(68 , 0 , 1656000000U), PLLDDR0(69 , 0 , 1680000000U), PLLDDR0(70 , 0 , 1704000000U), PLLDDR0(71 , 0 , 1728000000U), PLLDDR0(72 , 0 , 1752000000U), PLLDDR0(73 , 0 , 1776000000U), PLLDDR0(74 , 0 , 1800000000U), PLLDDR0(75 , 0 , 1824000000U), PLLDDR0(76 , 0 , 1848000000U), PLLDDR0(77 , 0 , 1872000000U), PLLDDR0(78 , 0 , 1896000000U), PLLDDR0(79 , 0 , 1920000000U), PLLDDR0(80 , 0 , 1944000000U), PLLDDR0(81 , 0 , 1968000000U), PLLDDR0(82 , 0 , 1992000000U), PLLDDR0(83 , 0 , 2016000000U), PLLDDR0(84 , 0 , 2040000000U), PLLDDR0(85 , 0 , 2064000000U), PLLDDR0(86 , 0 , 2088000000U), PLLDDR0(87 , 0 , 2112000000U), PLLDDR0(88 , 0 , 2136000000U), PLLDDR0(89 , 0 , 2160000000U), PLLDDR0(90 , 0 , 2184000000U), PLLDDR0(91 , 0 , 2208000000U), PLLDDR0(92 , 0 , 2232000000U), PLLDDR0(93 , 0 , 2256000000U), PLLDDR0(94 , 0 , 2280000000U), PLLDDR0(95 , 0 , 2304000000U), PLLDDR0(96 , 0 , 2328000000U), PLLDDR0(97 , 0 , 2352000000U), PLLDDR0(98 , 0 , 2376000000U), PLLDDR0(99 , 0 , 2400000000U), }; //PLLPERIPH0(n,k,freq) F_N8X5_K4X2 struct sunxi_clk_factor_freq factor_pllperiph0_tbl[] = { PLLPERIPH0(7 , 0 , 192000000U), PLLPERIPH0(8 , 0 , 216000000U), PLLPERIPH0(4 , 1 , 240000000U), PLLPERIPH0(10 , 0 , 264000000U), PLLPERIPH0(5 , 1 , 288000000U), PLLPERIPH0(12 , 0 , 312000000U), PLLPERIPH0(6 , 1 , 336000000U), PLLPERIPH0(14 , 0 , 360000000U), PLLPERIPH0(7 , 1 , 384000000U), PLLPERIPH0(16 , 0 , 408000000U), PLLPERIPH0(8 , 1 , 432000000U), PLLPERIPH0(18 , 0 , 456000000U), PLLPERIPH0(9 , 1 , 480000000U), PLLPERIPH0(6 , 2 , 504000000U), PLLPERIPH0(21 , 0 , 528000000U), PLLPERIPH0(22 , 0 , 552000000U), PLLPERIPH0(5 , 3 , 576000000U), PLLPERIPH0(24 , 0 , 600000000U), PLLPERIPH0(25 , 0 , 624000000U), PLLPERIPH0(26 , 0 , 648000000U), PLLPERIPH0(6 , 3 , 672000000U), PLLPERIPH0(28 , 0 , 696000000U), PLLPERIPH0(29 , 0 , 720000000U), PLLPERIPH0(30 , 0 , 744000000U), PLLPERIPH0(7 , 3 , 768000000U), PLLPERIPH0(10 , 2 , 792000000U), PLLPERIPH0(16 , 1 , 816000000U), PLLPERIPH0(17 , 1 , 864000000U), PLLPERIPH0(18 , 1 , 912000000U), PLLPERIPH0(12 , 2 , 936000000U), PLLPERIPH0(9 , 3 , 960000000U), PLLPERIPH0(20 , 1 , 1008000000U), PLLPERIPH0(10 , 3 , 1056000000U), PLLPERIPH0(14 , 2 , 1080000000U), PLLPERIPH0(22 , 1 , 1104000000U), PLLPERIPH0(11 , 3 , 1152000000U), PLLPERIPH0(24 , 1 , 1200000000U), PLLPERIPH0(16 , 2 , 1224000000U), PLLPERIPH0(12 , 3 , 1248000000U), PLLPERIPH0(17 , 2 , 1296000000U), PLLPERIPH0(13 , 3 , 1344000000U), PLLPERIPH0(18 , 2 , 1368000000U), PLLPERIPH0(28 , 1 , 1392000000U), PLLPERIPH0(14 , 3 , 1440000000U), PLLPERIPH0(30 , 1 , 1488000000U), PLLPERIPH0(20 , 2 , 1512000000U), PLLPERIPH0(15 , 3 , 1536000000U), PLLPERIPH0(21 , 2 , 1584000000U), PLLPERIPH0(16 , 3 , 1632000000U), PLLPERIPH0(22 , 2 , 1656000000U), PLLPERIPH0(17 , 3 , 1728000000U), PLLPERIPH0(24 , 2 , 1800000000U), PLLPERIPH0(18 , 3 , 1824000000U), PLLPERIPH0(25 , 2 , 1872000000U), PLLPERIPH0(19 , 3 , 1920000000U), PLLPERIPH0(26 , 2 , 1944000000U), PLLPERIPH0(20 , 3 , 2016000000U), }; //PLLPERIPH1(n,k,freq) F_N8X5_K4X2 struct sunxi_clk_factor_freq factor_pllperiph1_tbl[] = { PLLPERIPH1(3 , 1 , 192000000U), PLLPERIPH1(2 , 2 , 216000000U), PLLPERIPH1(4 , 1 , 240000000U), PLLPERIPH1(10 , 0 , 264000000U), PLLPERIPH1(2 , 3 , 288000000U), PLLPERIPH1(12 , 0 , 312000000U), PLLPERIPH1(13 , 0 , 336000000U), PLLPERIPH1(14 , 0 , 360000000U), PLLPERIPH1(3 , 3 , 384000000U), PLLPERIPH1(16 , 0 , 408000000U), PLLPERIPH1(8 , 1 , 432000000U), PLLPERIPH1(18 , 0 , 456000000U), PLLPERIPH1(4 , 3 , 480000000U), PLLPERIPH1(6 , 2 , 504000000U), PLLPERIPH1(10 , 1 , 528000000U), PLLPERIPH1(23 , 0 , 576000000U), PLLPERIPH1(24 , 0 , 600000000U), PLLPERIPH1(12 , 1 , 624000000U), PLLPERIPH1(8 , 2 , 648000000U), PLLPERIPH1(27 , 0 , 672000000U), PLLPERIPH1(28 , 0 , 696000000U), PLLPERIPH1(9 , 2 , 720000000U), PLLPERIPH1(30 , 0 , 744000000U), PLLPERIPH1(31 , 0 , 768000000U), PLLPERIPH1(10 , 2 , 792000000U), PLLPERIPH1(16 , 1 , 816000000U), PLLPERIPH1(17 , 1 , 864000000U), PLLPERIPH1(18 , 1 , 912000000U), PLLPERIPH1(12 , 2 , 936000000U), PLLPERIPH1(19 , 1 , 960000000U), PLLPERIPH1(20 , 1 , 1008000000U), PLLPERIPH1(21 , 1 , 1056000000U), PLLPERIPH1(14 , 2 , 1080000000U), PLLPERIPH1(22 , 1 , 1104000000U), PLLPERIPH1(11 , 3 , 1152000000U), PLLPERIPH1(24 , 1 , 1200000000U), PLLPERIPH1(16 , 2 , 1224000000U), PLLPERIPH1(25 , 1 , 1248000000U), PLLPERIPH1(26 , 1 , 1296000000U), PLLPERIPH1(13 , 3 , 1344000000U), PLLPERIPH1(18 , 2 , 1368000000U), PLLPERIPH1(28 , 1 , 1392000000U), PLLPERIPH1(29 , 1 , 1440000000U), PLLPERIPH1(14 , 3 , 1440000000U), PLLPERIPH1(30 , 1 , 1488000000U), PLLPERIPH1(20 , 2 , 1512000000U), PLLPERIPH1(31 , 1 , 1536000000U), PLLPERIPH1(21 , 2 , 1584000000U), PLLPERIPH1(16 , 3 , 1632000000U), PLLPERIPH1(22 , 2 , 1656000000U), PLLPERIPH1(17 , 3 , 1728000000U), PLLPERIPH1(24 , 2 , 1800000000U), PLLPERIPH1(18 , 3 , 1824000000U), PLLPERIPH1(25 , 2 , 1872000000U), PLLPERIPH1(19 , 3 , 1920000000U), PLLPERIPH1(26 , 2 , 1944000000U), PLLPERIPH1(20 , 3 , 2016000000U), }; //PLLVIDEO1(n,m,freq) F_N8X7_M0X4 struct sunxi_clk_factor_freq factor_pllvideo1_tbl[] = { PLLVIDEO1(21 , 2 , 176000000U), PLLVIDEO1(14 , 1 , 180000000U), PLLVIDEO1(22 , 2 , 184000000U), PLLVIDEO1(30 , 3 , 186000000U), PLLVIDEO1(7 , 0 , 192000000U), PLLVIDEO1(32 , 3 , 198000000U), PLLVIDEO1(24 , 2 , 200000000U), PLLVIDEO1(16 , 1 , 204000000U), PLLVIDEO1(25 , 2 , 208000000U), PLLVIDEO1(34 , 3 , 210000000U), PLLVIDEO1(8 , 0 , 216000000U), PLLVIDEO1(36 , 3 , 222000000U), PLLVIDEO1(27 , 2 , 224000000U), PLLVIDEO1(18 , 1 , 228000000U), PLLVIDEO1(28 , 2 , 232000000U), PLLVIDEO1(38 , 3 , 234000000U), PLLVIDEO1(78 , 7 , 237000000U), PLLVIDEO1(19 , 1 , 240000000U), PLLVIDEO1(80 , 7 , 243000000U), PLLVIDEO1(40 , 3 , 246000000U), PLLVIDEO1(30 , 2 , 248000000U), PLLVIDEO1(82 , 7 , 249000000U), PLLVIDEO1(20 , 1 , 252000000U), PLLVIDEO1(84 , 7 , 255000000U), PLLVIDEO1(31 , 2 , 256000000U), PLLVIDEO1(42 , 3 , 258000000U), PLLVIDEO1(86 , 7 , 261000000U), PLLVIDEO1(43 , 3 , 264000000U), PLLVIDEO1(88 , 7 , 267000000U), PLLVIDEO1(44 , 3 , 270000000U), PLLVIDEO1(33 , 2 , 272000000U), PLLVIDEO1(90 , 7 , 273000000U), PLLVIDEO1(91 , 7 , 276000000U), PLLVIDEO1(92 , 7 , 279000000U), PLLVIDEO1(34 , 2 , 280000000U), PLLVIDEO1(46 , 3 , 282000000U), PLLVIDEO1(94 , 7 , 285000000U), PLLVIDEO1(23 , 1 , 288000000U), PLLVIDEO1(96 , 7 , 291000000U), PLLVIDEO1(48 , 3 , 294000000U), PLLVIDEO1(36 , 2 , 296000000U), PLLVIDEO1(98 , 7 , 297000000U), PLLVIDEO1(49 , 3 , 300000000U), PLLVIDEO1(100, 7 , 303000000U), PLLVIDEO1(37 , 2 , 304000000U), PLLVIDEO1(101, 7 , 306000000U), PLLVIDEO1(102, 7 , 309000000U), PLLVIDEO1(25 , 1 , 312000000U), PLLVIDEO1(104, 7 , 315000000U), PLLVIDEO1(52 , 3 , 318000000U), PLLVIDEO1(39 , 2 , 320000000U), PLLVIDEO1(106, 7 , 321000000U), PLLVIDEO1(53 , 3 , 324000000U), PLLVIDEO1(108, 7 , 327000000U), PLLVIDEO1(40 , 2 , 328000000U), PLLVIDEO1(54 , 3 , 330000000U), PLLVIDEO1(110, 7 , 333000000U), PLLVIDEO1(13 , 0 , 336000000U), PLLVIDEO1(112, 7 , 339000000U), PLLVIDEO1(56 , 3 , 342000000U), PLLVIDEO1(114, 7 , 345000000U), PLLVIDEO1(57 , 3 , 348000000U), PLLVIDEO1(116, 7 , 351000000U), PLLVIDEO1(58 , 3 , 354000000U), PLLVIDEO1(118, 7 , 357000000U), PLLVIDEO1(59 , 3 , 360000000U), PLLVIDEO1(120, 7 , 363000000U), PLLVIDEO1(121, 7 , 366000000U), PLLVIDEO1(122, 7 , 369000000U), PLLVIDEO1(61 , 3 , 372000000U), PLLVIDEO1(124, 7 , 375000000U), PLLVIDEO1(62 , 3 , 378000000U), PLLVIDEO1(126, 7 , 381000000U), PLLVIDEO1(15 , 0 , 384000000U), PLLVIDEO1(64 , 3 , 390000000U), PLLVIDEO1(32 , 1 , 396000000U), PLLVIDEO1(66 , 3 , 402000000U), PLLVIDEO1(67 , 3 , 408000000U), PLLVIDEO1(68 , 3 , 414000000U), PLLVIDEO1(34 , 1 , 420000000U), PLLVIDEO1(70 , 3 , 426000000U), PLLVIDEO1(71 , 3 , 432000000U), PLLVIDEO1(72 , 3 , 438000000U), PLLVIDEO1(36 , 1 , 444000000U), PLLVIDEO1(74 , 3 , 450000000U), PLLVIDEO1(75 , 3 , 456000000U), PLLVIDEO1(76 , 3 , 462000000U), PLLVIDEO1(38 , 1 , 468000000U), PLLVIDEO1(78 , 3 , 474000000U), PLLVIDEO1(19 , 0 , 480000000U), PLLVIDEO1(80 , 3 , 486000000U), PLLVIDEO1(81 , 3 , 492000000U), PLLVIDEO1(82 , 3 , 498000000U), PLLVIDEO1(83 , 3 , 504000000U), PLLVIDEO1(84 , 3 , 510000000U), PLLVIDEO1(85 , 3 , 516000000U), PLLVIDEO1(86 , 3 , 522000000U), PLLVIDEO1(87 , 3 , 528000000U), PLLVIDEO1(88 , 3 , 534000000U), PLLVIDEO1(89 , 3 , 540000000U), PLLVIDEO1(90 , 3 , 546000000U), PLLVIDEO1(91 , 3 , 552000000U), PLLVIDEO1(92 , 3 , 558000000U), PLLVIDEO1(93 , 3 , 564000000U), PLLVIDEO1(94 , 3 , 570000000U), PLLVIDEO1(23 , 0 , 576000000U), PLLVIDEO1(96 , 3 , 582000000U), PLLVIDEO1(97 , 3 , 588000000U), PLLVIDEO1(98 , 3 , 594000000U), PLLVIDEO1(24 , 0 , 600000000U), PLLVIDEO1(100, 3 , 606000000U), PLLVIDEO1(101, 3 , 612000000U), PLLVIDEO1(102, 3 , 618000000U), PLLVIDEO1(25 , 0 , 624000000U), PLLVIDEO1(104, 3 , 630000000U), PLLVIDEO1(105, 3 , 636000000U), PLLVIDEO1(106, 3 , 642000000U), PLLVIDEO1(26 , 0 , 648000000U), PLLVIDEO1(108, 3 , 654000000U), PLLVIDEO1(109, 3 , 660000000U), PLLVIDEO1(110, 3 , 666000000U), PLLVIDEO1(27 , 0 , 672000000U), PLLVIDEO1(112, 3 , 678000000U), PLLVIDEO1(113, 3 , 684000000U), PLLVIDEO1(114, 3 , 690000000U), PLLVIDEO1(28 , 0 , 696000000U), PLLVIDEO1(116, 3 , 702000000U), PLLVIDEO1(117, 3 , 708000000U), PLLVIDEO1(118, 3 , 714000000U), PLLVIDEO1(29 , 0 , 720000000U), PLLVIDEO1(120, 3 , 726000000U), PLLVIDEO1(121, 3 , 732000000U), PLLVIDEO1(122, 3 , 738000000U), PLLVIDEO1(30 , 0 , 744000000U), PLLVIDEO1(124, 3 , 750000000U), PLLVIDEO1(125, 3 , 756000000U), PLLVIDEO1(126, 3 , 762000000U), PLLVIDEO1(31 , 0 , 768000000U), PLLVIDEO1(32 , 0 , 792000000U), PLLVIDEO1(33 , 0 , 816000000U), PLLVIDEO1(34 , 0 , 840000000U), PLLVIDEO1(35 , 0 , 864000000U), PLLVIDEO1(36 , 0 , 888000000U), PLLVIDEO1(37 , 0 , 912000000U), PLLVIDEO1(38 , 0 , 936000000U), PLLVIDEO1(39 , 0 , 960000000U), PLLVIDEO1(40 , 0 , 984000000U), PLLVIDEO1(41 , 0 , 1008000000U), }; //PLLDE(n,m,freq) F_N8X7_M0X4 struct sunxi_clk_factor_freq factor_pllde_tbl[] = { PLLDE(13 , 1 , 168000000U), PLLDE(21 , 2 , 176000000U), PLLDE(14 , 1 , 180000000U), PLLDE(22 , 2 , 184000000U), PLLDE(30 , 3 , 186000000U), PLLDE(7 , 0 , 192000000U), PLLDE(32 , 3 , 198000000U), PLLDE(24 , 2 , 200000000U), PLLDE(16 , 1 , 204000000U), PLLDE(25 , 2 , 208000000U), PLLDE(34 , 3 , 210000000U), PLLDE(35 , 3 , 216000000U), PLLDE(36 , 3 , 222000000U), PLLDE(27 , 2 , 224000000U), PLLDE(18 , 1 , 228000000U), PLLDE(28 , 2 , 232000000U), PLLDE(38 , 3 , 234000000U), PLLDE(78 , 7 , 237000000U), PLLDE(19 , 1 , 240000000U), PLLDE(80 , 7 , 243000000U), PLLDE(40 , 3 , 246000000U), PLLDE(30 , 2 , 248000000U), PLLDE(82 , 7 , 249000000U), PLLDE(20 , 1 , 252000000U), PLLDE(84 , 7 , 255000000U), PLLDE(31 , 2 , 256000000U), PLLDE(42 , 3 , 258000000U), PLLDE(86 , 7 , 261000000U), PLLDE(21 , 1 , 264000000U), PLLDE(88 , 7 , 267000000U), PLLDE(44 , 3 , 270000000U), PLLDE(33 , 2 , 272000000U), PLLDE(90 , 7 , 273000000U), PLLDE(22 , 1 , 276000000U), PLLDE(92 , 7 , 279000000U), PLLDE(34 , 2 , 280000000U), PLLDE(46 , 3 , 282000000U), PLLDE(94 , 7 , 285000000U), PLLDE(23 , 1 , 288000000U), PLLDE(96 , 7 , 291000000U), PLLDE(48 , 3 , 294000000U), PLLDE(36 , 2 , 296000000U), PLLDE(98 , 7 , 297000000U), PLLDE(49 , 3 , 300000000U), PLLDE(100, 7 , 303000000U), PLLDE(37 , 2 , 304000000U), PLLDE(50 , 3 , 306000000U), PLLDE(102, 7 , 309000000U), PLLDE(51 , 3 , 312000000U), PLLDE(104, 7 , 315000000U), PLLDE(105, 7 , 318000000U), PLLDE(39 , 2 , 320000000U), PLLDE(106, 7 , 321000000U), PLLDE(53 , 3 , 324000000U), PLLDE(108, 7 , 327000000U), PLLDE(40 , 2 , 328000000U), PLLDE(109, 7 , 330000000U), PLLDE(110, 7 , 333000000U), PLLDE(41 , 2 , 336000000U), PLLDE(112, 7 , 339000000U), PLLDE(113, 7 , 342000000U), PLLDE(114, 7 , 345000000U), PLLDE(57 , 3 , 348000000U), PLLDE(116, 7 , 351000000U), PLLDE(58 , 3 , 354000000U), PLLDE(118, 7 , 357000000U), PLLDE(59 , 3 , 360000000U), PLLDE(120, 7 , 363000000U), PLLDE(60 , 3 , 366000000U), PLLDE(122, 7 , 369000000U), PLLDE(61 , 3 , 372000000U), PLLDE(124, 7 , 375000000U), PLLDE(62 , 3 , 378000000U), PLLDE(126, 7 , 381000000U), PLLDE(31 , 1 , 384000000U), PLLDE(64 , 3 , 390000000U), PLLDE(65 , 3 , 396000000U), PLLDE(66 , 3 , 402000000U), PLLDE(67 , 3 , 408000000U), PLLDE(68 , 3 , 414000000U), PLLDE(69 , 3 , 420000000U), PLLDE(70 , 3 , 426000000U), PLLDE(35 , 1 , 432000000U), PLLDE(72 , 3 , 438000000U), PLLDE(73 , 3 , 444000000U), PLLDE(74 , 3 , 450000000U), PLLDE(75 , 3 , 456000000U), PLLDE(76 , 3 , 462000000U), PLLDE(77 , 3 , 468000000U), PLLDE(78 , 3 , 474000000U), PLLDE(19 , 0 , 480000000U), PLLDE(80 , 3 , 486000000U), PLLDE(40 , 1 , 492000000U), PLLDE(82 , 3 , 498000000U), PLLDE(83 , 3 , 504000000U), PLLDE(84 , 3 , 510000000U), PLLDE(85 , 3 , 516000000U), PLLDE(86 , 3 , 522000000U), PLLDE(87 , 3 , 528000000U), PLLDE(88 , 3 , 534000000U), PLLDE(89 , 3 , 540000000U), PLLDE(90 , 3 , 546000000U), PLLDE(91 , 3 , 552000000U), PLLDE(92 , 3 , 558000000U), PLLDE(93 , 3 , 564000000U), PLLDE(94 , 3 , 570000000U), PLLDE(23 , 0 , 576000000U), PLLDE(96 , 3 , 582000000U), PLLDE(97 , 3 , 588000000U), PLLDE(98 , 3 , 594000000U), PLLDE(99 , 3 , 600000000U), PLLDE(100, 3 , 606000000U), PLLDE(101, 3 , 612000000U), PLLDE(102, 3 , 618000000U), PLLDE(25 , 0 , 624000000U), PLLDE(104, 3 , 630000000U), PLLDE(105, 3 , 636000000U), PLLDE(106, 3 , 642000000U), PLLDE(26 , 0 , 648000000U), PLLDE(108, 3 , 654000000U), PLLDE(109, 3 , 660000000U), PLLDE(110, 3 , 666000000U), PLLDE(27 , 0 , 672000000U), PLLDE(112, 3 , 678000000U), PLLDE(113, 3 , 684000000U), PLLDE(114, 3 , 690000000U), PLLDE(28 , 0 , 696000000U), PLLDE(116, 3 , 702000000U), PLLDE(117, 3 , 708000000U), PLLDE(118, 3 , 714000000U), PLLDE(29 , 0 , 720000000U), PLLDE(120, 3 , 726000000U), PLLDE(121, 3 , 732000000U), PLLDE(122, 3 , 738000000U), PLLDE(30 , 0 , 744000000U), PLLDE(124, 3 , 750000000U), PLLDE(125, 3 , 756000000U), PLLDE(126, 3 , 762000000U), PLLDE(31 , 0 , 768000000U), PLLDE(32 , 0 , 792000000U), PLLDE(33 , 0 , 816000000U), PLLDE(34 , 0 , 840000000U), PLLDE(35 , 0 , 864000000U), PLLDE(36 , 0 , 888000000U), PLLDE(37 , 0 , 912000000U), PLLDE(38 , 0 , 936000000U), PLLDE(39 , 0 , 960000000U), PLLDE(40 , 0 , 984000000U), PLLDE(41 , 0 , 1008000000U), }; //PLLDDR1(n,m,freq) F_N8X7_M0X2 struct sunxi_clk_factor_freq factor_pllddr1_tbl[] = { PLLDDR1(18 , 3 , 114000000U), PLLDDR1(19 , 3 , 120000000U), PLLDDR1(20 , 3 , 126000000U), PLLDDR1(15 , 2 , 128000000U), PLLDDR1(21 , 3 , 132000000U), PLLDDR1(16 , 2 , 136000000U), PLLDDR1(22 , 3 , 138000000U), PLLDDR1(17 , 2 , 144000000U), PLLDDR1(24 , 3 , 150000000U), PLLDDR1(18 , 2 , 152000000U), PLLDDR1(25 , 3 , 156000000U), PLLDDR1(19 , 2 , 160000000U), PLLDDR1(26 , 3 , 162000000U), PLLDDR1(27 , 3 , 168000000U), PLLDDR1(28 , 3 , 174000000U), PLLDDR1(21 , 2 , 176000000U), PLLDDR1(29 , 3 , 180000000U), PLLDDR1(22 , 2 , 184000000U), PLLDDR1(30 , 3 , 186000000U), PLLDDR1(31 , 3 , 192000000U), PLLDDR1(32 , 3 , 198000000U), PLLDDR1(24 , 2 , 200000000U), PLLDDR1(33 , 3 , 204000000U), PLLDDR1(25 , 2 , 208000000U), PLLDDR1(34 , 3 , 210000000U), PLLDDR1(35 , 3 , 216000000U), PLLDDR1(36 , 3 , 222000000U), PLLDDR1(27 , 2 , 224000000U), PLLDDR1(18 , 1 , 228000000U), PLLDDR1(28 , 2 , 232000000U), PLLDDR1(38 , 3 , 234000000U), PLLDDR1(29 , 2 , 240000000U), PLLDDR1(40 , 3 , 246000000U), PLLDDR1(30 , 2 , 248000000U), PLLDDR1(20 , 1 , 252000000U), PLLDDR1(31 , 2 , 256000000U), PLLDDR1(42 , 3 , 258000000U), PLLDDR1(32 , 2 , 264000000U), PLLDDR1(44 , 3 , 270000000U), PLLDDR1(33 , 2 , 272000000U), PLLDDR1(22 , 1 , 276000000U), PLLDDR1(34 , 2 , 280000000U), PLLDDR1(46 , 3 , 282000000U), PLLDDR1(35 , 2 , 288000000U), PLLDDR1(48 , 3 , 294000000U), PLLDDR1(36 , 2 , 296000000U), PLLDDR1(24 , 1 , 300000000U), PLLDDR1(37 , 2 , 304000000U), PLLDDR1(50 , 3 , 306000000U), PLLDDR1(38 , 2 , 312000000U), PLLDDR1(52 , 3 , 318000000U), PLLDDR1(39 , 2 , 320000000U), PLLDDR1(53 , 3 , 324000000U), PLLDDR1(40 , 2 , 328000000U), PLLDDR1(54 , 3 , 330000000U), PLLDDR1(55 , 3 , 336000000U), PLLDDR1(56 , 3 , 342000000U), PLLDDR1(42 , 2 , 344000000U), PLLDDR1(28 , 1 , 348000000U), PLLDDR1(43 , 2 , 352000000U), PLLDDR1(58 , 3 , 354000000U), PLLDDR1(44 , 2 , 360000000U), PLLDDR1(60 , 3 , 366000000U), PLLDDR1(45 , 2 , 368000000U), PLLDDR1(30 , 1 , 372000000U), PLLDDR1(46 , 2 , 376000000U), PLLDDR1(62 , 3 , 378000000U), PLLDDR1(47 , 2 , 384000000U), PLLDDR1(64 , 3 , 390000000U), PLLDDR1(48 , 2 , 392000000U), PLLDDR1(32 , 1 , 396000000U), PLLDDR1(49 , 2 , 400000000U), PLLDDR1(66 , 3 , 402000000U), PLLDDR1(50 , 2 , 408000000U), PLLDDR1(68 , 3 , 414000000U), PLLDDR1(51 , 2 , 416000000U), PLLDDR1(34 , 1 , 420000000U), PLLDDR1(52 , 2 , 424000000U), PLLDDR1(70 , 3 , 426000000U), PLLDDR1(35 , 1 , 432000000U), PLLDDR1(72 , 3 , 438000000U), PLLDDR1(54 , 2 , 440000000U), PLLDDR1(36 , 1 , 444000000U), PLLDDR1(55 , 2 , 448000000U), PLLDDR1(74 , 3 , 450000000U), PLLDDR1(37 , 1 , 456000000U), PLLDDR1(76 , 3 , 462000000U), PLLDDR1(57 , 2 , 464000000U), PLLDDR1(77 , 3 , 468000000U), PLLDDR1(58 , 2 , 472000000U), PLLDDR1(78 , 3 , 474000000U), PLLDDR1(79 , 3 , 480000000U), PLLDDR1(80 , 3 , 486000000U), PLLDDR1(60 , 2 , 488000000U), PLLDDR1(40 , 1 , 492000000U), PLLDDR1(61 , 2 , 496000000U), PLLDDR1(82 , 3 , 498000000U), PLLDDR1(41 , 1 , 504000000U), PLLDDR1(84 , 3 , 510000000U), PLLDDR1(63 , 2 , 512000000U), PLLDDR1(85 , 3 , 516000000U), PLLDDR1(64 , 2 , 520000000U), PLLDDR1(86 , 3 , 522000000U), PLLDDR1(21 , 0 , 528000000U), PLLDDR1(88 , 3 , 534000000U), PLLDDR1(66 , 2 , 536000000U), PLLDDR1(44 , 1 , 540000000U), PLLDDR1(67 , 2 , 544000000U), PLLDDR1(90 , 3 , 546000000U), PLLDDR1(22 , 0 , 552000000U), PLLDDR1(92 , 3 , 558000000U), PLLDDR1(69 , 2 , 560000000U), PLLDDR1(46 , 1 , 564000000U), PLLDDR1(70 , 2 , 568000000U), PLLDDR1(94 , 3 , 570000000U), PLLDDR1(23 , 0 , 576000000U), PLLDDR1(96 , 3 , 582000000U), PLLDDR1(72 , 2 , 584000000U), PLLDDR1(48 , 1 , 588000000U), PLLDDR1(73 , 2 , 592000000U), PLLDDR1(98 , 3 , 594000000U), PLLDDR1(49 , 1 , 600000000U), PLLDDR1(100, 3 , 606000000U), PLLDDR1(75 , 2 , 608000000U), PLLDDR1(50 , 1 , 612000000U), PLLDDR1(76 , 2 , 616000000U), PLLDDR1(102, 3 , 618000000U), PLLDDR1(25 , 0 , 624000000U), PLLDDR1(104, 3 , 630000000U), PLLDDR1(78 , 2 , 632000000U), PLLDDR1(105, 3 , 636000000U), PLLDDR1(79 , 2 , 640000000U), PLLDDR1(106, 3 , 642000000U), PLLDDR1(53 , 1 , 648000000U), PLLDDR1(108, 3 , 654000000U), PLLDDR1(81 , 2 , 656000000U), PLLDDR1(54 , 1 , 660000000U), PLLDDR1(82 , 2 , 664000000U), PLLDDR1(27 , 0 , 672000000U), PLLDDR1(28 , 0 , 696000000U), PLLDDR1(29 , 0 , 720000000U), PLLDDR1(30 , 0 , 744000000U), PLLDDR1(62 , 1 , 756000000U), PLLDDR1(31 , 0 , 768000000U), PLLDDR1(64 , 1 , 780000000U), PLLDDR1(97 , 2 , 784000000U), PLLDDR1(98 , 2 , 792000000U), PLLDDR1(99 , 2 , 800000000U), PLLDDR1(66 , 1 , 804000000U), PLLDDR1(100, 2 , 808000000U), PLLDDR1(33 , 0 , 816000000U), PLLDDR1(102, 2 , 824000000U), PLLDDR1(68 , 1 , 828000000U), PLLDDR1(103, 2 , 832000000U), PLLDDR1(69 , 1 , 840000000U), PLLDDR1(105, 2 , 848000000U), PLLDDR1(70 , 1 , 852000000U), PLLDDR1(106, 2 , 856000000U), PLLDDR1(35 , 0 , 864000000U), PLLDDR1(108, 2 , 872000000U), PLLDDR1(72 , 1 , 876000000U), PLLDDR1(109, 2 , 880000000U), PLLDDR1(36 , 0 , 888000000U), PLLDDR1(111, 2 , 896000000U), PLLDDR1(74 , 1 , 900000000U), PLLDDR1(112, 2 , 904000000U), PLLDDR1(37 , 0 , 912000000U), PLLDDR1(114, 2 , 920000000U), PLLDDR1(76 , 1 , 924000000U), PLLDDR1(115, 2 , 928000000U), PLLDDR1(38 , 0 , 936000000U), PLLDDR1(117, 2 , 944000000U), PLLDDR1(78 , 1 , 948000000U), PLLDDR1(118, 2 , 952000000U), PLLDDR1(39 , 0 , 960000000U), PLLDDR1(120, 2 , 968000000U), PLLDDR1(80 , 1 , 972000000U), PLLDDR1(121, 2 , 976000000U), PLLDDR1(122, 2 , 984000000U), PLLDDR1(123, 2 , 992000000U), PLLDDR1(82 , 1 , 996000000U), PLLDDR1(124, 2 , 1000000000U), PLLDDR1(41 , 0 , 1008000000U), PLLDDR1(126, 2 , 1016000000U), PLLDDR1(84 , 1 , 1020000000U), PLLDDR1(127, 2 , 1024000000U), PLLDDR1(42 , 0 , 1032000000U), PLLDDR1(86 , 1 , 1044000000U), PLLDDR1(43 , 0 , 1056000000U), PLLDDR1(88 , 1 , 1068000000U), PLLDDR1(44 , 0 , 1080000000U), PLLDDR1(90 , 1 , 1092000000U), PLLDDR1(45 , 0 , 1104000000U), PLLDDR1(92 , 1 , 1116000000U), PLLDDR1(46 , 0 , 1128000000U), PLLDDR1(94 , 1 , 1140000000U), PLLDDR1(47 , 0 , 1152000000U), PLLDDR1(96 , 1 , 1164000000U), PLLDDR1(48 , 0 , 1176000000U), PLLDDR1(98 , 1 , 1188000000U), PLLDDR1(49 , 0 , 1200000000U), PLLDDR1(100, 1 , 1212000000U), PLLDDR1(50 , 0 , 1224000000U), PLLDDR1(102, 1 , 1236000000U), PLLDDR1(51 , 0 , 1248000000U), PLLDDR1(104, 1 , 1260000000U), PLLDDR1(52 , 0 , 1272000000U), PLLDDR1(106, 1 , 1284000000U), PLLDDR1(53 , 0 , 1296000000U), PLLDDR1(108, 1 , 1308000000U), PLLDDR1(54 , 0 , 1320000000U), PLLDDR1(110, 1 , 1332000000U), PLLDDR1(55 , 0 , 1344000000U), PLLDDR1(112, 1 , 1356000000U), PLLDDR1(56 , 0 , 1368000000U), PLLDDR1(114, 1 , 1380000000U), PLLDDR1(57 , 0 , 1392000000U), PLLDDR1(116, 1 , 1404000000U), PLLDDR1(58 , 0 , 1416000000U), PLLDDR1(118, 1 , 1428000000U), PLLDDR1(59 , 0 , 1440000000U), PLLDDR1(120, 1 , 1452000000U), PLLDDR1(60 , 0 , 1464000000U), PLLDDR1(122, 1 , 1476000000U), PLLDDR1(61 , 0 , 1488000000U), PLLDDR1(124, 1 , 1500000000U), PLLDDR1(62 , 0 , 1512000000U), PLLDDR1(126, 1 , 1524000000U), PLLDDR1(63 , 0 , 1536000000U), PLLDDR1(64 , 0 , 1560000000U), PLLDDR1(65 , 0 , 1584000000U), PLLDDR1(66 , 0 , 1608000000U), PLLDDR1(67 , 0 , 1632000000U), PLLDDR1(68 , 0 , 1656000000U), PLLDDR1(69 , 0 , 1680000000U), PLLDDR1(70 , 0 , 1704000000U), PLLDDR1(71 , 0 , 1728000000U), PLLDDR1(72 , 0 , 1752000000U), PLLDDR1(73 , 0 , 1776000000U), PLLDDR1(74 , 0 , 1800000000U), PLLDDR1(75 , 0 , 1824000000U), PLLDDR1(76 , 0 , 1848000000U), PLLDDR1(77 , 0 , 1872000000U), PLLDDR1(78 , 0 , 1896000000U), PLLDDR1(79 , 0 , 1920000000U), PLLDDR1(80 , 0 , 1944000000U), PLLDDR1(81 , 0 , 1968000000U), PLLDDR1(82 , 0 , 1992000000U), PLLDDR1(83 , 0 , 2016000000U), PLLDDR1(84 , 0 , 2040000000U), PLLDDR1(85 , 0 , 2064000000U), PLLDDR1(86 , 0 , 2088000000U), PLLDDR1(87 , 0 , 2112000000U), PLLDDR1(88 , 0 , 2136000000U), PLLDDR1(89 , 0 , 2160000000U), PLLDDR1(90 , 0 , 2184000000U), PLLDDR1(91 , 0 , 2208000000U), PLLDDR1(92 , 0 , 2232000000U), PLLDDR1(93 , 0 , 2256000000U), PLLDDR1(94 , 0 , 2280000000U), PLLDDR1(95 , 0 , 2304000000U), PLLDDR1(96 , 0 , 2328000000U), PLLDDR1(97 , 0 , 2352000000U), PLLDDR1(98 , 0 , 2376000000U), PLLDDR1(99 , 0 , 2400000000U), }; //PLLDDR1(n,m,freq) F_N8X7_M0X2 struct sunxi_clk_factor_freq factor_pll24m_tbl[] = { PLL24M(12 , 12 , 0 , 0 , 24000000U), }; static unsigned int pllcpu_max,pllvideo0_max,pllddr0_max , pllperiph0_max,pllperiph1_max ,pllvideo1_max, pllde_max,pllddr1_max,pll24m_max; #define PLL_MAX_ASSIGN(name) pll##name##_max=factor_pll##name##_tbl[ARRAY_SIZE(factor_pll##name##_tbl)-1].freq void sunxi_clk_factor_initlimits(void) { PLL_MAX_ASSIGN(cpu);PLL_MAX_ASSIGN(video0);PLL_MAX_ASSIGN(ddr0); PLL_MAX_ASSIGN(periph0);PLL_MAX_ASSIGN(periph1);PLL_MAX_ASSIGN(video1); PLL_MAX_ASSIGN(de);PLL_MAX_ASSIGN(ddr1);PLL_MAX_ASSIGN(24m); }