SmartAudio/lichee/brandy/u-boot-2014.07/drivers/clk/clk-sun50iw2_tbl.c

1028 lines
39 KiB
C
Executable File

#include "clk-sun50iw2.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),
};
/* PLLVIDEO(n, m, freq) F_N8X7_M0X4 */
struct sunxi_clk_factor_freq factor_pllvideo_tbl[] = {
PLLVIDEO(6 , 0 , 168000000U),
PLLVIDEO(7 , 0 , 192000000U),
PLLVIDEO(16 , 1 , 204000000U),
PLLVIDEO(25 , 2 , 208000000U),
PLLVIDEO(8 , 0 , 216000000U),
PLLVIDEO(36 , 3 , 222000000U),
PLLVIDEO(27 , 2 , 224000000U),
PLLVIDEO(18 , 1 , 228000000U),
PLLVIDEO(28 , 2 , 232000000U),
PLLVIDEO(38 , 3 , 234000000U),
PLLVIDEO(9 , 0 , 240000000U),
PLLVIDEO(40 , 3 , 246000000U),
PLLVIDEO(30 , 2 , 248000000U),
PLLVIDEO(20 , 1 , 252000000U),
PLLVIDEO(31 , 2 , 256000000U),
PLLVIDEO(42 , 3 , 258000000U),
PLLVIDEO(10 , 0 , 264000000U),
PLLVIDEO(88 , 7 , 267000000U),
PLLVIDEO(44 , 3 , 270000000U),
PLLVIDEO(33 , 2 , 272000000U),
PLLVIDEO(90 , 7 , 273000000U),
PLLVIDEO(22 , 1 , 276000000U),
PLLVIDEO(92 , 7 , 279000000U),
PLLVIDEO(34 , 2 , 280000000U),
PLLVIDEO(46 , 3 , 282000000U),
PLLVIDEO(94 , 7 , 285000000U),
PLLVIDEO(23 , 1 , 288000000U),
PLLVIDEO(96 , 7 , 291000000U),
PLLVIDEO(48 , 3 , 294000000U),
PLLVIDEO(36 , 2 , 296000000U),
PLLVIDEO(98 , 7 , 297000000U),
PLLVIDEO(24 , 1 , 300000000U),
PLLVIDEO(100, 7 , 303000000U),
PLLVIDEO(37 , 2 , 304000000U),
PLLVIDEO(50 , 3 , 306000000U),
PLLVIDEO(102, 7 , 309000000U),
PLLVIDEO(12 , 0 , 312000000U),
PLLVIDEO(104, 7 , 315000000U),
PLLVIDEO(52 , 3 , 318000000U),
PLLVIDEO(39 , 2 , 320000000U),
PLLVIDEO(106, 7 , 321000000U),
PLLVIDEO(26 , 1 , 324000000U),
PLLVIDEO(108, 7 , 327000000U),
PLLVIDEO(40 , 2 , 328000000U),
PLLVIDEO(54 , 3 , 330000000U),
PLLVIDEO(110, 7 , 333000000U),
PLLVIDEO(13 , 0 , 336000000U),
PLLVIDEO(112, 7 , 339000000U),
PLLVIDEO(56 , 3 , 342000000U),
PLLVIDEO(114, 7 , 345000000U),
PLLVIDEO(28 , 1 , 348000000U),
PLLVIDEO(116, 7 , 351000000U),
PLLVIDEO(58 , 3 , 354000000U),
PLLVIDEO(118, 7 , 357000000U),
PLLVIDEO(14 , 0 , 360000000U),
PLLVIDEO(121, 7 , 366000000U),
PLLVIDEO(122, 7 , 369000000U),
PLLVIDEO(30 , 1 , 372000000U),
PLLVIDEO(124, 7 , 375000000U),
PLLVIDEO(62 , 3 , 378000000U),
PLLVIDEO(126, 7 , 381000000U),
PLLVIDEO(15 , 0 , 384000000U),
PLLVIDEO(64 , 3 , 390000000U),
PLLVIDEO(32 , 1 , 396000000U),
PLLVIDEO(66 , 3 , 402000000U),
PLLVIDEO(16 , 0 , 408000000U),
PLLVIDEO(68 , 3 , 414000000U),
PLLVIDEO(34 , 1 , 420000000U),
PLLVIDEO(70 , 3 , 426000000U),
PLLVIDEO(17 , 0 , 432000000U),
PLLVIDEO(72 , 3 , 438000000U),
PLLVIDEO(36 , 1 , 444000000U),
PLLVIDEO(74 , 3 , 450000000U),
PLLVIDEO(18 , 0 , 456000000U),
PLLVIDEO(76 , 3 , 462000000U),
PLLVIDEO(38 , 1 , 468000000U),
PLLVIDEO(78 , 3 , 474000000U),
PLLVIDEO(19 , 0 , 480000000U),
PLLVIDEO(80 , 3 , 486000000U),
PLLVIDEO(40 , 1 , 492000000U),
PLLVIDEO(82 , 3 , 498000000U),
PLLVIDEO(20 , 0 , 504000000U),
PLLVIDEO(84 , 3 , 510000000U),
PLLVIDEO(85 , 3 , 516000000U),
PLLVIDEO(86 , 3 , 522000000U),
PLLVIDEO(21 , 0 , 528000000U),
PLLVIDEO(88 , 3 , 534000000U),
PLLVIDEO(89 , 3 , 540000000U),
PLLVIDEO(90 , 3 , 546000000U),
PLLVIDEO(22 , 0 , 552000000U),
PLLVIDEO(92 , 3 , 558000000U),
PLLVIDEO(93 , 3 , 564000000U),
PLLVIDEO(94 , 3 , 570000000U),
PLLVIDEO(23 , 0 , 576000000U),
PLLVIDEO(96 , 3 , 582000000U),
PLLVIDEO(97 , 3 , 588000000U),
PLLVIDEO(98 , 3 , 594000000U),
PLLVIDEO(24 , 0 , 600000000U),
PLLVIDEO(100, 3 , 606000000U),
PLLVIDEO(101, 3 , 612000000U),
PLLVIDEO(102, 3 , 618000000U),
PLLVIDEO(25 , 0 , 624000000U),
PLLVIDEO(104, 3 , 630000000U),
PLLVIDEO(105, 3 , 636000000U),
PLLVIDEO(106, 3 , 642000000U),
PLLVIDEO(26 , 0 , 648000000U),
PLLVIDEO(108, 3 , 654000000U),
PLLVIDEO(109, 3 , 660000000U),
PLLVIDEO(110, 3 , 666000000U),
PLLVIDEO(27 , 0 , 672000000U),
PLLVIDEO(112, 3 , 678000000U),
PLLVIDEO(113, 3 , 684000000U),
PLLVIDEO(114, 3 , 690000000U),
PLLVIDEO(28 , 0 , 696000000U),
PLLVIDEO(116, 3 , 702000000U),
PLLVIDEO(117, 3 , 708000000U),
PLLVIDEO(118, 3 , 714000000U),
PLLVIDEO(29 , 0 , 720000000U),
PLLVIDEO(120, 3 , 726000000U),
PLLVIDEO(121, 3 , 732000000U),
PLLVIDEO(122, 3 , 738000000U),
PLLVIDEO(30 , 0 , 744000000U),
PLLVIDEO(124, 3 , 750000000U),
PLLVIDEO(125, 3 , 756000000U),
PLLVIDEO(126, 3 , 762000000U),
PLLVIDEO(31 , 0 , 768000000U),
PLLVIDEO(32 , 0 , 792000000U),
PLLVIDEO(33 , 0 , 816000000U),
PLLVIDEO(34 , 0 , 840000000U),
PLLVIDEO(35 , 0 , 864000000U),
PLLVIDEO(36 , 0 , 888000000U),
PLLVIDEO(37 , 0 , 912000000U),
PLLVIDEO(38 , 0 , 936000000U),
PLLVIDEO(39 , 0 , 960000000U),
PLLVIDEO(40 , 0 , 984000000U),
PLLVIDEO(41 , 0 , 1008000000U),
};
/* PLLVE(n, m, freq) F_N8X7_M0X4 */
struct sunxi_clk_factor_freq factor_pllve_tbl[] = {
PLLVE(11 , 1 , 144000000U),
PLLVE(18 , 2 , 152000000U),
PLLVE(12 , 1 , 156000000U),
PLLVE(19 , 2 , 160000000U),
PLLVE(26 , 3 , 162000000U),
PLLVE(6 , 0 , 168000000U),
PLLVE(28 , 3 , 174000000U),
PLLVE(21 , 2 , 176000000U),
PLLVE(14 , 1 , 180000000U),
PLLVE(22 , 2 , 184000000U),
PLLVE(30 , 3 , 186000000U),
PLLVE(62 , 7 , 189000000U),
PLLVE(15 , 1 , 192000000U),
PLLVE(64 , 7 , 195000000U),
PLLVE(32 , 3 , 198000000U),
PLLVE(24 , 2 , 200000000U),
PLLVE(66 , 7 , 201000000U),
PLLVE(33 , 3 , 204000000U),
PLLVE(68 , 7 , 207000000U),
PLLVE(25 , 2 , 208000000U),
PLLVE(34 , 3 , 210000000U),
PLLVE(70 , 7 , 213000000U),
PLLVE(17 , 1 , 216000000U),
PLLVE(72 , 7 , 219000000U),
PLLVE(36 , 3 , 222000000U),
PLLVE(27 , 2 , 224000000U),
PLLVE(74 , 7 , 225000000U),
PLLVE(18 , 1 , 228000000U),
PLLVE(76 , 7 , 231000000U),
PLLVE(28 , 2 , 232000000U),
PLLVE(38 , 3 , 234000000U),
PLLVE(78 , 7 , 237000000U),
PLLVE(29 , 2 , 240000000U),
PLLVE(80 , 7 , 243000000U),
PLLVE(40 , 3 , 246000000U),
PLLVE(30 , 2 , 248000000U),
PLLVE(82 , 7 , 249000000U),
PLLVE(41 , 3 , 252000000U),
PLLVE(84 , 7 , 255000000U),
PLLVE(31 , 2 , 256000000U),
PLLVE(42 , 3 , 258000000U),
PLLVE(86 , 7 , 261000000U),
PLLVE(32 , 2 , 264000000U),
PLLVE(88 , 7 , 267000000U),
PLLVE(33 , 2 , 272000000U),
PLLVE(45 , 3 , 276000000U),
PLLVE(92 , 7 , 279000000U),
PLLVE(34 , 2 , 280000000U),
PLLVE(46 , 3 , 282000000U),
PLLVE(94 , 7 , 285000000U),
PLLVE(11 , 0 , 288000000U),
PLLVE(96 , 7 , 291000000U),
PLLVE(48 , 3 , 294000000U),
PLLVE(36 , 2 , 296000000U),
PLLVE(98 , 7 , 297000000U),
PLLVE(24 , 1 , 300000000U),
PLLVE(100, 7 , 303000000U),
PLLVE(37 , 2 , 304000000U),
PLLVE(50 , 3 , 306000000U),
PLLVE(102, 7 , 309000000U),
PLLVE(38 , 2 , 312000000U),
PLLVE(104, 7 , 315000000U),
PLLVE(52 , 3 , 318000000U),
PLLVE(39 , 2 , 320000000U),
PLLVE(106, 7 , 321000000U),
PLLVE(26 , 1 , 324000000U),
PLLVE(108, 7 , 327000000U),
PLLVE(40 , 2 , 328000000U),
PLLVE(54 , 3 , 330000000U),
PLLVE(110, 7 , 333000000U),
PLLVE(13 , 0 , 336000000U),
PLLVE(112, 7 , 339000000U),
PLLVE(56 , 3 , 342000000U),
PLLVE(114, 7 , 345000000U),
PLLVE(28 , 1 , 348000000U),
PLLVE(116, 7 , 351000000U),
PLLVE(58 , 3 , 354000000U),
PLLVE(118, 7 , 357000000U),
PLLVE(14 , 0 , 360000000U),
PLLVE(120, 7 , 363000000U),
PLLVE(60 , 3 , 366000000U),
PLLVE(122, 7 , 369000000U),
PLLVE(30 , 1 , 372000000U),
PLLVE(124, 7 , 375000000U),
PLLVE(62 , 3 , 378000000U),
PLLVE(126, 7 , 381000000U),
PLLVE(15 , 0 , 384000000U),
PLLVE(64 , 3 , 390000000U),
PLLVE(32 , 1 , 396000000U),
PLLVE(66 , 3 , 402000000U),
PLLVE(33 , 1 , 408000000U),
PLLVE(68 , 3 , 414000000U),
PLLVE(34 , 1 , 420000000U),
PLLVE(70 , 3 , 426000000U),
PLLVE(35 , 1 , 432000000U),
PLLVE(72 , 3 , 438000000U),
PLLVE(36 , 1 , 444000000U),
PLLVE(74 , 3 , 450000000U),
PLLVE(37 , 1 , 456000000U),
PLLVE(76 , 3 , 462000000U),
PLLVE(38 , 1 , 468000000U),
PLLVE(78 , 3 , 474000000U),
PLLVE(19 , 0 , 480000000U),
PLLVE(80 , 3 , 486000000U),
PLLVE(40 , 1 , 492000000U),
PLLVE(82 , 3 , 498000000U),
PLLVE(20 , 0 , 504000000U),
PLLVE(84 , 3 , 510000000U),
PLLVE(85 , 3 , 516000000U),
PLLVE(86 , 3 , 522000000U),
PLLVE(87 , 3 , 528000000U),
PLLVE(88 , 3 , 534000000U),
PLLVE(89 , 3 , 540000000U),
PLLVE(90 , 3 , 546000000U),
PLLVE(22 , 0 , 552000000U),
PLLVE(92 , 3 , 558000000U),
PLLVE(93 , 3 , 564000000U),
PLLVE(94 , 3 , 570000000U),
PLLVE(23 , 0 , 576000000U),
PLLVE(96 , 3 , 582000000U),
PLLVE(97 , 3 , 588000000U),
PLLVE(98 , 3 , 594000000U),
PLLVE(24 , 0 , 600000000U),
PLLVE(100, 3 , 606000000U),
PLLVE(101, 3 , 612000000U),
PLLVE(102, 3 , 618000000U),
PLLVE(25 , 0 , 624000000U),
PLLVE(104, 3 , 630000000U),
PLLVE(105, 3 , 636000000U),
PLLVE(106, 3 , 642000000U),
PLLVE(26 , 0 , 648000000U),
PLLVE(108, 3 , 654000000U),
PLLVE(109, 3 , 660000000U),
PLLVE(110, 3 , 666000000U),
PLLVE(27 , 0 , 672000000U),
PLLVE(112, 3 , 678000000U),
PLLVE(113, 3 , 684000000U),
PLLVE(114, 3 , 690000000U),
PLLVE(28 , 0 , 696000000U),
PLLVE(116, 3 , 702000000U),
PLLVE(117, 3 , 708000000U),
PLLVE(118, 3 , 714000000U),
PLLVE(29 , 0 , 720000000U),
PLLVE(120, 3 , 726000000U),
PLLVE(121, 3 , 732000000U),
PLLVE(122, 3 , 738000000U),
PLLVE(30 , 0 , 744000000U),
PLLVE(124, 3 , 750000000U),
PLLVE(125, 3 , 756000000U),
PLLVE(126, 3 , 762000000U),
PLLVE(31 , 0 , 768000000U),
PLLVE(32 , 0 , 792000000U),
PLLVE(33 , 0 , 816000000U),
PLLVE(34 , 0 , 840000000U),
PLLVE(35 , 0 , 864000000U),
PLLVE(36 , 0 , 888000000U),
PLLVE(37 , 0 , 912000000U),
PLLVE(38 , 0 , 936000000U),
PLLVE(39 , 0 , 960000000U),
PLLVE(40 , 0 , 984000000U),
PLLVE(41 , 0 , 1008000000U),
};
/* PLLDDR(n, k, m, freq) F_N8X5_K4X2_M0X2 */
struct sunxi_clk_factor_freq factor_pllddr_tbl[] = {
PLLDDR(4 , 1 , 3 , 60000000U),
PLLDDR(10 , 0 , 3 , 66000000U),
PLLDDR(11 , 0 , 3 , 72000000U),
PLLDDR(12 , 0 , 3 , 78000000U),
PLLDDR(4 , 1 , 2 , 80000000U),
PLLDDR(13 , 0 , 3 , 84000000U),
PLLDDR(10 , 0 , 2 , 88000000U),
PLLDDR(4 , 2 , 3 , 90000000U),
PLLDDR(7 , 1 , 3 , 96000000U),
PLLDDR(16 , 0 , 3 , 102000000U),
PLLDDR(12 , 0 , 2 , 104000000U),
PLLDDR(17 , 0 , 3 , 108000000U),
PLLDDR(13 , 0 , 2 , 112000000U),
PLLDDR(18 , 0 , 3 , 114000000U),
PLLDDR(19 , 0 , 3 , 120000000U),
PLLDDR(6 , 2 , 3 , 126000000U),
PLLDDR(3 , 3 , 2 , 128000000U),
PLLDDR(10 , 1 , 3 , 132000000U),
PLLDDR(16 , 0 , 2 , 136000000U),
PLLDDR(22 , 0 , 3 , 138000000U),
PLLDDR(11 , 1 , 3 , 144000000U),
PLLDDR(24 , 0 , 3 , 150000000U),
PLLDDR(18 , 0 , 2 , 152000000U),
PLLDDR(12 , 1 , 3 , 156000000U),
PLLDDR(4 , 3 , 2 , 160000000U),
PLLDDR(26 , 0 , 3 , 162000000U),
PLLDDR(13 , 1 , 3 , 168000000U),
PLLDDR(28 , 0 , 3 , 174000000U),
PLLDDR(10 , 1 , 2 , 176000000U),
PLLDDR(14 , 1 , 3 , 180000000U),
PLLDDR(22 , 0 , 2 , 184000000U),
PLLDDR(30 , 0 , 3 , 186000000U),
PLLDDR(5 , 3 , 2 , 192000000U),
PLLDDR(10 , 2 , 3 , 198000000U),
PLLDDR(24 , 0 , 2 , 200000000U),
PLLDDR(16 , 1 , 3 , 204000000U),
PLLDDR(25 , 0 , 2 , 208000000U),
PLLDDR(11 , 2 , 3 , 216000000U),
PLLDDR(27 , 0 , 2 , 224000000U),
PLLDDR(18 , 1 , 3 , 228000000U),
PLLDDR(28 , 0 , 2 , 232000000U),
PLLDDR(12 , 2 , 3 , 234000000U),
PLLDDR(9 , 3 , 3 , 240000000U),
PLLDDR(30 , 0 , 2 , 248000000U),
PLLDDR(20 , 1 , 3 , 252000000U),
PLLDDR(31 , 0 , 2 , 256000000U),
PLLDDR(10 , 3 , 3 , 264000000U),
PLLDDR(14 , 2 , 3 , 270000000U),
PLLDDR(16 , 1 , 2 , 272000000U),
PLLDDR(22 , 1 , 3 , 276000000U),
PLLDDR(11 , 3 , 3 , 288000000U),
PLLDDR(24 , 1 , 3 , 300000000U),
PLLDDR(18 , 1 , 2 , 304000000U),
PLLDDR(16 , 2 , 3 , 306000000U),
PLLDDR(12 , 2 , 2 , 312000000U),
PLLDDR(9 , 3 , 2 , 320000000U),
PLLDDR(17 , 2 , 3 , 324000000U),
PLLDDR(20 , 1 , 2 , 336000000U),
PLLDDR(18 , 2 , 3 , 342000000U),
PLLDDR(28 , 1 , 3 , 348000000U),
PLLDDR(10 , 3 , 2 , 352000000U),
PLLDDR(14 , 2 , 2 , 360000000U),
PLLDDR(22 , 1 , 2 , 368000000U),
PLLDDR(30 , 0 , 1 , 372000000U),
PLLDDR(20 , 2 , 3 , 378000000U),
PLLDDR(15 , 2 , 2 , 384000000U),
PLLDDR(21 , 2 , 3 , 396000000U),
PLLDDR(24 , 1 , 2 , 400000000U),
PLLDDR(16 , 2 , 2 , 408000000U),
PLLDDR(22 , 2 , 3 , 414000000U),
PLLDDR(25 , 1 , 2 , 416000000U),
PLLDDR(26 , 1 , 2 , 432000000U),
PLLDDR(13 , 3 , 2 , 448000000U),
PLLDDR(24 , 2 , 3 , 450000000U),
PLLDDR(18 , 2 , 2 , 456000000U),
PLLDDR(28 , 1 , 2 , 464000000U),
PLLDDR(12 , 2 , 1 , 468000000U),
PLLDDR(9 , 1 , 0 , 480000000U),
PLLDDR(26 , 2 , 3 , 486000000U),
PLLDDR(30 , 1 , 2 , 496000000U),
PLLDDR(20 , 0 , 0 , 504000000U),
PLLDDR(15 , 3 , 2 , 512000000U),
PLLDDR(28 , 2 , 3 , 522000000U),
PLLDDR(10 , 1 , 0 , 528000000U),
PLLDDR(29 , 2 , 3 , 540000000U),
PLLDDR(16 , 3 , 2 , 544000000U),
PLLDDR(22 , 1 , 1 , 552000000U),
PLLDDR(23 , 1 , 1 , 576000000U),
PLLDDR(24 , 2 , 2 , 600000000U),
PLLDDR(18 , 3 , 2 , 608000000U),
PLLDDR(16 , 2 , 1 , 612000000U),
PLLDDR(25 , 0 , 0 , 624000000U),
PLLDDR(19 , 3 , 2 , 640000000U),
PLLDDR(17 , 2 , 1 , 648000000U),
PLLDDR(13 , 1 , 0 , 672000000U),
PLLDDR(18 , 2 , 1 , 684000000U),
PLLDDR(28 , 2 , 2 , 696000000U),
PLLDDR(21 , 3 , 2 , 704000000U),
PLLDDR(9 , 2 , 0 , 720000000U),
PLLDDR(30 , 0 , 0 , 744000000U),
PLLDDR(20 , 2 , 1 , 756000000U),
PLLDDR(7 , 3 , 0 , 768000000U),
PLLDDR(10 , 2 , 0 , 792000000U),
PLLDDR(16 , 1 , 0 , 816000000U),
PLLDDR(22 , 2 , 1 , 828000000U),
PLLDDR(8 , 3 , 0 , 864000000U),
PLLDDR(24 , 2 , 1 , 900000000U),
PLLDDR(18 , 1 , 0 , 912000000U),
PLLDDR(12 , 2 , 0 , 936000000U),
PLLDDR(9 , 3 , 0 , 960000000U),
PLLDDR(26 , 2 , 1 , 972000000U),
PLLDDR(20 , 1 , 0 , 1008000000U),
PLLDDR(28 , 2 , 1 , 1044000000U),
PLLDDR(21 , 1 , 0 , 1056000000U),
PLLDDR(29 , 2 , 1 , 1080000000U),
PLLDDR(22 , 1 , 0 , 1104000000U),
PLLDDR(15 , 2 , 0 , 1152000000U),
PLLDDR(24 , 1 , 0 , 1200000000U),
PLLDDR(16 , 2 , 0 , 1224000000U),
PLLDDR(25 , 1 , 0 , 1248000000U),
PLLDDR(26 , 1 , 0 , 1296000000U),
PLLDDR(27 , 1 , 0 , 1344000000U),
PLLDDR(18 , 2 , 0 , 1368000000U),
PLLDDR(28 , 1 , 0 , 1392000000U),
PLLDDR(19 , 2 , 0 , 1440000000U),
PLLDDR(30 , 1 , 0 , 1488000000U),
PLLDDR(20 , 2 , 0 , 1512000000U),
PLLDDR(15 , 3 , 0 , 1536000000U),
PLLDDR(21 , 2 , 0 , 1584000000U),
PLLDDR(16 , 3 , 0 , 1632000000U),
PLLDDR(22 , 2 , 0 , 1656000000U),
PLLDDR(23 , 2 , 0 , 1728000000U),
PLLDDR(24 , 2 , 0 , 1800000000U),
PLLDDR(18 , 3 , 0 , 1824000000U),
PLLDDR(25 , 2 , 0 , 1872000000U),
PLLDDR(19 , 3 , 0 , 1920000000U),
PLLDDR(26 , 2 , 0 , 1944000000U),
PLLDDR(20 , 3 , 0 , 2016000000U),
PLLDDR(28 , 2 , 0 , 2088000000U),
PLLDDR(21 , 3 , 0 , 2112000000U),
PLLDDR(29 , 2 , 0 , 2160000000U),
};
/* PLLPERIPH0(n, k, freq) F_N8X5_K4X2 */
struct sunxi_clk_factor_freq factor_pllperiph0_tbl[] = {
PLLPERIPH0(7 , 0 , 96000000U),
PLLPERIPH0(8 , 0 , 108000000U),
PLLPERIPH0(4 , 1 , 120000000U),
PLLPERIPH0(10 , 0 , 132000000U),
PLLPERIPH0(3 , 2 , 144000000U),
PLLPERIPH0(12 , 0 , 156000000U),
PLLPERIPH0(6 , 1 , 168000000U),
PLLPERIPH0(14 , 0 , 180000000U),
PLLPERIPH0(3 , 3 , 192000000U),
PLLPERIPH0(16 , 0 , 204000000U),
PLLPERIPH0(17 , 0 , 216000000U),
PLLPERIPH0(18 , 0 , 228000000U),
PLLPERIPH0(9 , 1 , 240000000U),
PLLPERIPH0(20 , 0 , 252000000U),
PLLPERIPH0(10 , 1 , 264000000U),
PLLPERIPH0(22 , 0 , 276000000U),
PLLPERIPH0(5 , 3 , 288000000U),
PLLPERIPH0(24 , 0 , 300000000U),
PLLPERIPH0(25 , 0 , 312000000U),
PLLPERIPH0(8 , 2 , 324000000U),
PLLPERIPH0(13 , 1 , 336000000U),
PLLPERIPH0(28 , 0 , 348000000U),
PLLPERIPH0(9 , 2 , 360000000U),
PLLPERIPH0(30 , 0 , 372000000U),
PLLPERIPH0(7 , 3 , 384000000U),
PLLPERIPH0(10 , 2 , 396000000U),
PLLPERIPH0(16 , 1 , 408000000U),
PLLPERIPH0(8 , 3 , 432000000U),
PLLPERIPH0(18 , 1 , 456000000U),
PLLPERIPH0(12 , 2 , 468000000U),
PLLPERIPH0(19 , 1 , 480000000U),
PLLPERIPH0(20 , 1 , 504000000U),
PLLPERIPH0(21 , 1 , 528000000U),
PLLPERIPH0(14 , 2 , 540000000U),
PLLPERIPH0(22 , 1 , 552000000U),
PLLPERIPH0(23 , 1 , 576000000U),
PLLPERIPH0(24 , 1 , 600000000U),
PLLPERIPH0(16 , 2 , 612000000U),
PLLPERIPH0(12 , 3 , 624000000U),
PLLPERIPH0(17 , 2 , 648000000U),
PLLPERIPH0(27 , 1 , 672000000U),
PLLPERIPH0(18 , 2 , 684000000U),
PLLPERIPH0(28 , 1 , 696000000U),
PLLPERIPH0(14 , 3 , 720000000U),
PLLPERIPH0(30 , 1 , 744000000U),
PLLPERIPH0(20 , 2 , 756000000U),
PLLPERIPH0(15 , 3 , 768000000U),
PLLPERIPH0(21 , 2 , 792000000U),
PLLPERIPH0(16 , 3 , 816000000U),
PLLPERIPH0(22 , 2 , 828000000U),
PLLPERIPH0(23 , 2 , 864000000U),
PLLPERIPH0(24 , 2 , 900000000U),
PLLPERIPH0(18 , 3 , 912000000U),
PLLPERIPH0(25 , 2 , 936000000U),
PLLPERIPH0(19 , 3 , 960000000U),
PLLPERIPH0(26 , 2 , 972000000U),
PLLPERIPH0(27 , 2 , 1008000000U),
PLLPERIPH0(28 , 2 , 1044000000U),
PLLPERIPH0(21 , 3 , 1056000000U),
PLLPERIPH0(29 , 2 , 1080000000U),
};
/* PLLPERIPH1(n, k, freq) F_N8X5_K4X2 */
struct sunxi_clk_factor_freq factor_pllperiph1_tbl[] = {
PLLPERIPH1(6 , 0 , 84000000U),
PLLPERIPH1(7 , 0 , 96000000U),
PLLPERIPH1(2 , 2 , 108000000U),
PLLPERIPH1(9 , 0 , 120000000U),
PLLPERIPH1(10 , 0 , 132000000U),
PLLPERIPH1(11 , 0 , 144000000U),
PLLPERIPH1(12 , 0 , 156000000U),
PLLPERIPH1(6 , 1 , 168000000U),
PLLPERIPH1(14 , 0 , 180000000U),
PLLPERIPH1(7 , 1 , 192000000U),
PLLPERIPH1(16 , 0 , 204000000U),
PLLPERIPH1(17 , 0 , 216000000U),
PLLPERIPH1(18 , 0 , 228000000U),
PLLPERIPH1(4 , 3 , 240000000U),
PLLPERIPH1(6 , 2 , 252000000U),
PLLPERIPH1(21 , 0 , 264000000U),
PLLPERIPH1(22 , 0 , 276000000U),
PLLPERIPH1(5 , 3 , 288000000U),
PLLPERIPH1(24 , 0 , 300000000U),
PLLPERIPH1(12 , 1 , 312000000U),
PLLPERIPH1(26 , 0 , 324000000U),
PLLPERIPH1(13 , 1 , 336000000U),
PLLPERIPH1(28 , 0 , 348000000U),
PLLPERIPH1(14 , 1 , 360000000U),
PLLPERIPH1(30 , 0 , 372000000U),
PLLPERIPH1(10 , 2 , 396000000U),
PLLPERIPH1(16 , 1 , 408000000U),
PLLPERIPH1(17 , 1 , 432000000U),
PLLPERIPH1(18 , 1 , 456000000U),
PLLPERIPH1(12 , 2 , 468000000U),
PLLPERIPH1(19 , 1 , 480000000U),
PLLPERIPH1(20 , 1 , 504000000U),
PLLPERIPH1(21 , 1 , 528000000U),
PLLPERIPH1(14 , 2 , 540000000U),
PLLPERIPH1(22 , 1 , 552000000U),
PLLPERIPH1(11 , 3 , 576000000U),
PLLPERIPH1(24 , 1 , 600000000U),
PLLPERIPH1(16 , 2 , 612000000U),
PLLPERIPH1(12 , 3 , 624000000U),
PLLPERIPH1(26 , 1 , 648000000U),
PLLPERIPH1(13 , 3 , 672000000U),
PLLPERIPH1(18 , 2 , 684000000U),
PLLPERIPH1(28 , 1 , 696000000U),
PLLPERIPH1(14 , 3 , 720000000U),
PLLPERIPH1(30 , 1 , 744000000U),
PLLPERIPH1(20 , 2 , 756000000U),
PLLPERIPH1(15 , 3 , 768000000U),
PLLPERIPH1(21 , 2 , 792000000U),
PLLPERIPH1(16 , 3 , 816000000U),
PLLPERIPH1(22 , 2 , 828000000U),
PLLPERIPH1(17 , 3 , 864000000U),
PLLPERIPH1(24 , 2 , 900000000U),
PLLPERIPH1(18 , 3 , 912000000U),
PLLPERIPH1(25 , 2 , 936000000U),
PLLPERIPH1(19 , 3 , 960000000U),
PLLPERIPH1(26 , 2 , 972000000U),
PLLPERIPH1(20 , 3 , 1008000000U),
PLLPERIPH1(28 , 2 , 1044000000U),
};
/* PLLGPU(n, m, freq) F_N8X7_M0X4 */
struct sunxi_clk_factor_freq factor_pllgpu_tbl[] = {
PLLGPU(5 , 0 , 144000000U),
PLLGPU(24 , 3 , 150000000U),
PLLGPU(18 , 2 , 152000000U),
PLLGPU(12 , 1 , 156000000U),
PLLGPU(19 , 2 , 160000000U),
PLLGPU(26 , 3 , 162000000U),
PLLGPU(6 , 0 , 168000000U),
PLLGPU(28 , 3 , 174000000U),
PLLGPU(21 , 2 , 176000000U),
PLLGPU(14 , 1 , 180000000U),
PLLGPU(60 , 7 , 183000000U),
PLLGPU(22 , 2 , 184000000U),
PLLGPU(30 , 3 , 186000000U),
PLLGPU(62 , 7 , 189000000U),
PLLGPU(23 , 2 , 192000000U),
PLLGPU(64 , 7 , 195000000U),
PLLGPU(32 , 3 , 198000000U),
PLLGPU(24 , 2 , 200000000U),
PLLGPU(66 , 7 , 201000000U),
PLLGPU(16 , 1 , 204000000U),
PLLGPU(68 , 7 , 207000000U),
PLLGPU(25 , 2 , 208000000U),
PLLGPU(69 , 7 , 210000000U),
PLLGPU(70 , 7 , 213000000U),
PLLGPU(8 , 0 , 216000000U),
PLLGPU(72 , 7 , 219000000U),
PLLGPU(36 , 3 , 222000000U),
PLLGPU(27 , 2 , 224000000U),
PLLGPU(74 , 7 , 225000000U),
PLLGPU(37 , 3 , 228000000U),
PLLGPU(76 , 7 , 231000000U),
PLLGPU(28 , 2 , 232000000U),
PLLGPU(38 , 3 , 234000000U),
PLLGPU(78 , 7 , 237000000U),
PLLGPU(19 , 1 , 240000000U),
PLLGPU(80 , 7 , 243000000U),
PLLGPU(40 , 3 , 246000000U),
PLLGPU(30 , 2 , 248000000U),
PLLGPU(82 , 7 , 249000000U),
PLLGPU(20 , 1 , 252000000U),
PLLGPU(84 , 7 , 255000000U),
PLLGPU(31 , 2 , 256000000U),
PLLGPU(42 , 3 , 258000000U),
PLLGPU(86 , 7 , 261000000U),
PLLGPU(10 , 0 , 264000000U),
PLLGPU(88 , 7 , 267000000U),
PLLGPU(44 , 3 , 270000000U),
PLLGPU(33 , 2 , 272000000U),
PLLGPU(90 , 7 , 273000000U),
PLLGPU(45 , 3 , 276000000U),
PLLGPU(92 , 7 , 279000000U),
PLLGPU(34 , 2 , 280000000U),
PLLGPU(46 , 3 , 282000000U),
PLLGPU(94 , 7 , 285000000U),
PLLGPU(23 , 1 , 288000000U),
PLLGPU(96 , 7 , 291000000U),
PLLGPU(48 , 3 , 294000000U),
PLLGPU(36 , 2 , 296000000U),
PLLGPU(98 , 7 , 297000000U),
PLLGPU(24 , 1 , 300000000U),
PLLGPU(100, 7 , 303000000U),
PLLGPU(37 , 2 , 304000000U),
PLLGPU(50 , 3 , 306000000U),
PLLGPU(102, 7 , 309000000U),
PLLGPU(25 , 1 , 312000000U),
PLLGPU(104, 7 , 315000000U),
PLLGPU(52 , 3 , 318000000U),
PLLGPU(39 , 2 , 320000000U),
PLLGPU(106, 7 , 321000000U),
PLLGPU(26 , 1 , 324000000U),
PLLGPU(108, 7 , 327000000U),
PLLGPU(40 , 2 , 328000000U),
PLLGPU(54 , 3 , 330000000U),
PLLGPU(110, 7 , 333000000U),
PLLGPU(13 , 0 , 336000000U),
PLLGPU(112, 7 , 339000000U),
PLLGPU(56 , 3 , 342000000U),
PLLGPU(114, 7 , 345000000U),
PLLGPU(28 , 1 , 348000000U),
PLLGPU(116, 7 , 351000000U),
PLLGPU(58 , 3 , 354000000U),
PLLGPU(118, 7 , 357000000U),
PLLGPU(14 , 0 , 360000000U),
PLLGPU(120, 7 , 363000000U),
PLLGPU(60 , 3 , 366000000U),
PLLGPU(122, 7 , 369000000U),
PLLGPU(30 , 1 , 372000000U),
PLLGPU(124, 7 , 375000000U),
PLLGPU(62 , 3 , 378000000U),
PLLGPU(126, 7 , 381000000U),
PLLGPU(31 , 1 , 384000000U),
PLLGPU(64 , 3 , 390000000U),
PLLGPU(32 , 1 , 396000000U),
PLLGPU(66 , 3 , 402000000U),
PLLGPU(16 , 0 , 408000000U),
PLLGPU(68 , 3 , 414000000U),
PLLGPU(34 , 1 , 420000000U),
PLLGPU(70 , 3 , 426000000U),
PLLGPU(17 , 0 , 432000000U),
PLLGPU(72 , 3 , 438000000U),
PLLGPU(36 , 1 , 444000000U),
PLLGPU(74 , 3 , 450000000U),
PLLGPU(18 , 0 , 456000000U),
PLLGPU(76 , 3 , 462000000U),
PLLGPU(38 , 1 , 468000000U),
PLLGPU(78 , 3 , 474000000U),
PLLGPU(19 , 0 , 480000000U),
PLLGPU(80 , 3 , 486000000U),
PLLGPU(40 , 1 , 492000000U),
PLLGPU(82 , 3 , 498000000U),
PLLGPU(20 , 0 , 504000000U),
PLLGPU(84 , 3 , 510000000U),
PLLGPU(85 , 3 , 516000000U),
PLLGPU(86 , 3 , 522000000U),
PLLGPU(21 , 0 , 528000000U),
PLLGPU(88 , 3 , 534000000U),
PLLGPU(89 , 3 , 540000000U),
PLLGPU(90 , 3 , 546000000U),
PLLGPU(22 , 0 , 552000000U),
PLLGPU(92 , 3 , 558000000U),
PLLGPU(93 , 3 , 564000000U),
PLLGPU(94 , 3 , 570000000U),
PLLGPU(23 , 0 , 576000000U),
PLLGPU(96 , 3 , 582000000U),
PLLGPU(97 , 3 , 588000000U),
PLLGPU(98 , 3 , 594000000U),
PLLGPU(24 , 0 , 600000000U),
PLLGPU(100, 3 , 606000000U),
PLLGPU(101, 3 , 612000000U),
PLLGPU(102, 3 , 618000000U),
PLLGPU(25 , 0 , 624000000U),
PLLGPU(104, 3 , 630000000U),
PLLGPU(105, 3 , 636000000U),
PLLGPU(106, 3 , 642000000U),
PLLGPU(26 , 0 , 648000000U),
PLLGPU(108, 3 , 654000000U),
PLLGPU(109, 3 , 660000000U),
PLLGPU(110, 3 , 666000000U),
PLLGPU(27 , 0 , 672000000U),
PLLGPU(112, 3 , 678000000U),
PLLGPU(113, 3 , 684000000U),
PLLGPU(114, 3 , 690000000U),
PLLGPU(28 , 0 , 696000000U),
PLLGPU(116, 3 , 702000000U),
PLLGPU(117, 3 , 708000000U),
PLLGPU(118, 3 , 714000000U),
PLLGPU(29 , 0 , 720000000U),
PLLGPU(120, 3 , 726000000U),
PLLGPU(121, 3 , 732000000U),
PLLGPU(122, 3 , 738000000U),
PLLGPU(30 , 0 , 744000000U),
PLLGPU(124, 3 , 750000000U),
PLLGPU(125, 3 , 756000000U),
PLLGPU(126, 3 , 762000000U),
PLLGPU(31 , 0 , 768000000U),
PLLGPU(32 , 0 , 792000000U),
PLLGPU(33 , 0 , 816000000U),
PLLGPU(34 , 0 , 840000000U),
PLLGPU(35 , 0 , 864000000U),
PLLGPU(36 , 0 , 888000000U),
PLLGPU(37 , 0 , 912000000U),
PLLGPU(38 , 0 , 936000000U),
PLLGPU(39 , 0 , 960000000U),
PLLGPU(40 , 0 , 984000000U),
PLLGPU(41 , 0 , 1008000000U),
};
/* PLLDE(n, m, freq) F_N8X7_M0X4 */
struct sunxi_clk_factor_freq factor_pllde_tbl[] = {
PLLDE(4 , 0 , 120000000U),
PLLDE(15 , 2 , 128000000U),
PLLDE(10 , 1 , 132000000U),
PLLDE(16 , 2 , 136000000U),
PLLDE(5 , 0 , 144000000U),
PLLDE(18 , 2 , 152000000U),
PLLDE(12 , 1 , 156000000U),
PLLDE(19 , 2 , 160000000U),
PLLDE(26 , 3 , 162000000U),
PLLDE(13 , 1 , 168000000U),
PLLDE(28 , 3 , 174000000U),
PLLDE(21 , 2 , 176000000U),
PLLDE(58 , 7 , 177000000U),
PLLDE(14 , 1 , 180000000U),
PLLDE(60 , 7 , 183000000U),
PLLDE(22 , 2 , 184000000U),
PLLDE(30 , 3 , 186000000U),
PLLDE(62 , 7 , 189000000U),
PLLDE(7 , 0 , 192000000U),
PLLDE(64 , 7 , 195000000U),
PLLDE(32 , 3 , 198000000U),
PLLDE(24 , 2 , 200000000U),
PLLDE(66 , 7 , 201000000U),
PLLDE(16 , 1 , 204000000U),
PLLDE(68 , 7 , 207000000U),
PLLDE(25 , 2 , 208000000U),
PLLDE(34 , 3 , 210000000U),
PLLDE(70 , 7 , 213000000U),
PLLDE(8 , 0 , 216000000U),
PLLDE(72 , 7 , 219000000U),
PLLDE(36 , 3 , 222000000U),
PLLDE(27 , 2 , 224000000U),
PLLDE(74 , 7 , 225000000U),
PLLDE(18 , 1 , 228000000U),
PLLDE(76 , 7 , 231000000U),
PLLDE(28 , 2 , 232000000U),
PLLDE(38 , 3 , 234000000U),
PLLDE(78 , 7 , 237000000U),
PLLDE(9 , 0 , 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(10 , 0 , 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(11 , 0 , 288000000U),
PLLDE(96 , 7 , 291000000U),
PLLDE(48 , 3 , 294000000U),
PLLDE(36 , 2 , 296000000U),
PLLDE(98 , 7 , 297000000U),
PLLDE(24 , 1 , 300000000U),
PLLDE(100, 7 , 303000000U),
PLLDE(37 , 2 , 304000000U),
PLLDE(50 , 3 , 306000000U),
PLLDE(102, 7 , 309000000U),
PLLDE(12 , 0 , 312000000U),
PLLDE(104, 7 , 315000000U),
PLLDE(52 , 3 , 318000000U),
PLLDE(39 , 2 , 320000000U),
PLLDE(106, 7 , 321000000U),
PLLDE(26 , 1 , 324000000U),
PLLDE(108, 7 , 327000000U),
PLLDE(40 , 2 , 328000000U),
PLLDE(54 , 3 , 330000000U),
PLLDE(110, 7 , 333000000U),
PLLDE(13 , 0 , 336000000U),
PLLDE(112, 7 , 339000000U),
PLLDE(56 , 3 , 342000000U),
PLLDE(114, 7 , 345000000U),
PLLDE(28 , 1 , 348000000U),
PLLDE(116, 7 , 351000000U),
PLLDE(58 , 3 , 354000000U),
PLLDE(118, 7 , 357000000U),
PLLDE(29 , 1 , 360000000U),
PLLDE(120, 7 , 363000000U),
PLLDE(121, 7 , 366000000U),
PLLDE(122, 7 , 369000000U),
PLLDE(30 , 1 , 372000000U),
PLLDE(124, 7 , 375000000U),
PLLDE(62 , 3 , 378000000U),
PLLDE(126, 7 , 381000000U),
PLLDE(31 , 1 , 384000000U),
PLLDE(64 , 3 , 390000000U),
PLLDE(32 , 1 , 396000000U),
PLLDE(66 , 3 , 402000000U),
PLLDE(33 , 1 , 408000000U),
PLLDE(68 , 3 , 414000000U),
PLLDE(34 , 1 , 420000000U),
PLLDE(70 , 3 , 426000000U),
PLLDE(35 , 1 , 432000000U),
PLLDE(72 , 3 , 438000000U),
PLLDE(36 , 1 , 444000000U),
PLLDE(74 , 3 , 450000000U),
PLLDE(18 , 0 , 456000000U),
PLLDE(76 , 3 , 462000000U),
PLLDE(38 , 1 , 468000000U),
PLLDE(78 , 3 , 474000000U),
PLLDE(19 , 0 , 480000000U),
PLLDE(80 , 3 , 486000000U),
PLLDE(40 , 1 , 492000000U),
PLLDE(82 , 3 , 498000000U),
PLLDE(41 , 1 , 504000000U),
PLLDE(84 , 3 , 510000000U),
PLLDE(85 , 3 , 516000000U),
PLLDE(86 , 3 , 522000000U),
PLLDE(21 , 0 , 528000000U),
PLLDE(88 , 3 , 534000000U),
PLLDE(89 , 3 , 540000000U),
PLLDE(90 , 3 , 546000000U),
PLLDE(22 , 0 , 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(24 , 0 , 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),
};
static unsigned int pllcpu_max, pllvideo_max, pllve_max, pllddr_max,
pllperiph0_max, pllperiph1_max,
pllgpu_max, pllde_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(video);
PLL_MAX_ASSIGN(ve);
PLL_MAX_ASSIGN(ddr);
PLL_MAX_ASSIGN(periph0);
PLL_MAX_ASSIGN(periph1);
PLL_MAX_ASSIGN(gpu);
PLL_MAX_ASSIGN(de);
}