/* * Allwinner sun50iw6p1 SoCs R_PIO pinctrl driver. * * Copyright(c) 2012-2016 Allwinnertech Co., Ltd. * Author: WimHuang * * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #include "clk-sun50iw6.h" struct sunxi_clk_factor_freq factor_pllcpu_tbl[] = { PLLCPU(11, 0, 2, 72000000U), PLLCPU(13, 0, 2, 84000000U), PLLCPU(17, 0, 2, 108000000U), PLLCPU(18, 0, 2, 114000000U), PLLCPU(19, 0, 2, 120000000U), PLLCPU(20, 0, 2, 126000000U), PLLCPU(21, 0, 2, 132000000U), PLLCPU(22, 0, 2, 138000000U), PLLCPU(23, 0, 2, 144000000U), PLLCPU(24, 0, 2, 150000000U), PLLCPU(13, 0, 1, 168000000U), PLLCPU(17, 0, 1, 216000000U), PLLCPU(18, 0, 1, 228000000U), PLLCPU(19, 0, 1, 240000000U), PLLCPU(20, 0, 1, 252000000U), PLLCPU(21, 0, 1, 264000000U), PLLCPU(22, 0, 1, 276000000U), PLLCPU(23, 0, 1, 288000000U), PLLCPU(24, 0, 1, 300000000U), PLLCPU(25, 0, 1, 312000000U), PLLCPU(26, 0, 1, 324000000U), PLLCPU(27, 0, 1, 336000000U), PLLCPU(28, 0, 1, 348000000U), PLLCPU(29, 0, 1, 360000000U), PLLCPU(30, 0, 1, 372000000U), PLLCPU(31, 0, 1, 384000000U), PLLCPU(32, 0, 1, 396000000U), PLLCPU(33, 0, 1, 408000000U), PLLCPU(34, 0, 1, 420000000U), PLLCPU(35, 0, 1, 432000000U), PLLCPU(36, 0, 1, 444000000U), PLLCPU(37, 0, 1, 456000000U), PLLCPU(38, 0, 1, 468000000U), PLLCPU(39, 0, 1, 480000000U), PLLCPU(40, 0, 1, 492000000U), PLLCPU(41, 0, 1, 504000000U), PLLCPU(42, 0, 1, 516000000U), PLLCPU(43, 0, 1, 528000000U), PLLCPU(44, 0, 1, 540000000U), PLLCPU(45, 0, 1, 552000000U), PLLCPU(46, 0, 1, 564000000U), PLLCPU(47, 0, 1, 576000000U), PLLCPU(48, 0, 1, 588000000U), PLLCPU(24, 0, 0, 600000000U), PLLCPU(25, 0, 0, 624000000U), PLLCPU(26, 0, 0, 648000000U), PLLCPU(27, 0, 0, 672000000U), PLLCPU(28, 0, 0, 696000000U), PLLCPU(29, 0, 0, 720000000U), PLLCPU(30, 0, 0, 744000000U), PLLCPU(31, 0, 0, 768000000U), PLLCPU(32, 0, 0, 792000000U), PLLCPU(33, 0, 0, 816000000U), PLLCPU(34, 0, 0, 840000000U), PLLCPU(35, 0, 0, 864000000U), PLLCPU(36, 0, 0, 888000000U), PLLCPU(37, 0, 0, 912000000U), PLLCPU(38, 0, 0, 936000000U), PLLCPU(39, 0, 0, 960000000U), PLLCPU(40, 0, 0, 984000000U), PLLCPU(41, 0, 0, 1008000000U), PLLCPU(42, 0, 0, 1032000000U), PLLCPU(43, 0, 0, 1056000000U), PLLCPU(44, 0, 0, 1080000000U), PLLCPU(45, 0, 0, 1104000000U), PLLCPU(46, 0, 0, 1128000000U), PLLCPU(47, 0, 0, 1152000000U), PLLCPU(48, 0, 0, 1176000000U), PLLCPU(49, 0, 0, 1200000000U), PLLCPU(50, 0, 0, 1224000000U), PLLCPU(51, 0, 0, 1248000000U), PLLCPU(52, 0, 0, 1272000000U), PLLCPU(53, 0, 0, 1296000000U), PLLCPU(54, 0, 0, 1320000000U), PLLCPU(55, 0, 0, 1344000000U), PLLCPU(56, 0, 0, 1368000000U), PLLCPU(57, 0, 0, 1392000000U), PLLCPU(58, 0, 0, 1416000000U), PLLCPU(59, 0, 0, 1440000000U), PLLCPU(60, 0, 0, 1464000000U), PLLCPU(61, 0, 0, 1488000000U), PLLCPU(62, 0, 0, 1512000000U), PLLCPU(63, 0, 0, 1536000000U), PLLCPU(64, 0, 0, 1560000000U), PLLCPU(65, 0, 0, 1584000000U), PLLCPU(66, 0, 0, 1608000000U), PLLCPU(67, 0, 0, 1632000000U), PLLCPU(68, 0, 0, 1656000000U), PLLCPU(69, 0, 0, 1680000000U), PLLCPU(70, 0, 0, 1704000000U), PLLCPU(71, 0, 0, 1728000000U), PLLCPU(72, 0, 0, 1752000000U), PLLCPU(73, 0, 0, 1776000000U), PLLCPU(74, 0, 0, 1800000000U), PLLCPU(75, 0, 0, 1824000000U), PLLCPU(76, 0, 0, 1848000000U), PLLCPU(77, 0, 0, 1872000000U), PLLCPU(78, 0, 0, 1896000000U), PLLCPU(79, 0, 0, 1920000000U), PLLCPU(80, 0, 0, 1944000000U), PLLCPU(81, 0, 0, 1968000000U), PLLCPU(82, 0, 0, 1992000000U), PLLCPU(83, 0, 0, 2016000000U), PLLCPU(84, 0, 0, 2040000000U), PLLCPU(85, 0, 0, 2064000000U), PLLCPU(86, 0, 0, 2088000000U), PLLCPU(87, 0, 0, 2112000000U), PLLCPU(88, 0, 0, 2136000000U), PLLCPU(89, 0, 0, 2160000000U), PLLCPU(90, 0, 0, 2184000000U), PLLCPU(91, 0, 0, 2208000000U), PLLCPU(92, 0, 0, 2232000000U), PLLCPU(93, 0, 0, 2256000000U), PLLCPU(94, 0, 0, 2280000000U), PLLCPU(95, 0, 0, 2304000000U), PLLCPU(96, 0, 0, 2328000000U), PLLCPU(97, 0, 0, 2352000000U), PLLCPU(98, 0, 0, 2376000000U), PLLCPU(99, 0, 0, 2400000000U), PLLCPU(100, 0, 0, 2424000000U), PLLCPU(101, 0, 0, 2448000000U), PLLCPU(102, 0, 0, 2472000000U), PLLCPU(103, 0, 0, 2496000000U), }; /* PLLDDR0(n, d1, d2, freq) F_N8X8_D1V1X1_D2V0X1 */ struct sunxi_clk_factor_freq factor_pllddr0_tbl[] = { PLLDDR0(18, 1, 1, 114000000U), PLLDDR0(24, 1, 1, 150000000U), PLLDDR0(31, 1, 1, 192000000U), PLLDDR0(16, 0, 1, 204000000U), PLLDDR0(17, 1, 0, 216000000U), PLLDDR0(37, 1, 1, 228000000U), PLLDDR0(19, 1, 0, 240000000U), PLLDDR0(20, 0, 1, 252000000U), PLLDDR0(22, 0, 1, 276000000U), PLLDDR0(23, 1, 0, 288000000U), PLLDDR0(24, 1, 0, 300000000U), PLLDDR0(50, 1, 1, 306000000U), PLLDDR0(52, 1, 1, 318000000U), PLLDDR0(29, 1, 0, 360000000U), PLLDDR0(30, 1, 0, 372000000U), PLLDDR0(62, 1, 1, 378000000U), PLLDDR0(31, 1, 0, 384000000U), PLLDDR0(32, 1, 0, 396000000U), PLLDDR0(66, 1, 1, 402000000U), PLLDDR0(33, 1, 0, 408000000U), PLLDDR0(34, 1, 0, 420000000U), PLLDDR0(70, 1, 1, 426000000U), PLLDDR0(17, 0, 0, 432000000U), PLLDDR0(36, 1, 0, 444000000U), PLLDDR0(18, 0, 0, 456000000U), PLLDDR0(38, 1, 0, 468000000U), PLLDDR0(19, 0, 0, 480000000U), PLLDDR0(40, 0, 1, 492000000U), PLLDDR0(20, 0, 0, 504000000U), PLLDDR0(42, 1, 0, 516000000U), PLLDDR0(86, 1, 1, 522000000U), PLLDDR0(21, 0, 0, 528000000U), PLLDDR0(88, 1, 1, 534000000U), PLLDDR0(44, 1, 0, 540000000U), PLLDDR0(90, 1, 1, 546000000U), PLLDDR0(22, 0, 0, 552000000U), PLLDDR0(92, 1, 1, 558000000U), PLLDDR0(46, 1, 0, 564000000U), PLLDDR0(94, 1, 1, 570000000U), PLLDDR0(23, 0, 0, 576000000U), PLLDDR0(96, 1, 1, 582000000U), PLLDDR0(48, 1, 0, 588000000U), PLLDDR0(98, 1, 1, 594000000U), PLLDDR0(24, 0, 0, 600000000U), PLLDDR0(100, 1, 1, 606000000U), PLLDDR0(50, 0, 1, 612000000U), PLLDDR0(102, 1, 1, 618000000U), PLLDDR0(25, 0, 0, 624000000U), PLLDDR0(104, 1, 1, 630000000U), PLLDDR0(52, 1, 0, 636000000U), PLLDDR0(106, 1, 1, 642000000U), PLLDDR0(26, 0, 0, 648000000U), PLLDDR0(108, 1, 1, 654000000U), PLLDDR0(54, 0, 1, 660000000U), PLLDDR0(110, 1, 1, 666000000U), PLLDDR0(27, 0, 0, 672000000U), PLLDDR0(112, 1, 1, 678000000U), PLLDDR0(56, 1, 0, 684000000U), PLLDDR0(114, 1, 1, 690000000U), PLLDDR0(28, 0, 0, 696000000U), PLLDDR0(116, 1, 1, 702000000U), PLLDDR0(58, 1, 0, 708000000U), PLLDDR0(118, 1, 1, 714000000U), PLLDDR0(29, 0, 0, 720000000U), PLLDDR0(120, 1, 1, 726000000U), PLLDDR0(60, 0, 1, 732000000U), PLLDDR0(122, 1, 1, 738000000U), PLLDDR0(30, 0, 0, 744000000U), PLLDDR0(124, 1, 1, 750000000U), PLLDDR0(62, 1, 0, 756000000U), PLLDDR0(126, 1, 1, 762000000U), PLLDDR0(31, 0, 0, 768000000U), PLLDDR0(128, 1, 1, 774000000U), PLLDDR0(64, 1, 0, 780000000U), PLLDDR0(130, 1, 1, 786000000U), PLLDDR0(32, 0, 0, 792000000U), PLLDDR0(132, 1, 1, 798000000U), PLLDDR0(66, 0, 1, 804000000U), PLLDDR0(134, 1, 1, 810000000U), PLLDDR0(33, 0, 0, 816000000U), PLLDDR0(136, 1, 1, 822000000U), PLLDDR0(68, 0, 1, 828000000U), PLLDDR0(138, 1, 1, 834000000U), PLLDDR0(34, 0, 0, 840000000U), PLLDDR0(140, 1, 1, 846000000U), PLLDDR0(70, 0, 1, 852000000U), PLLDDR0(142, 1, 1, 858000000U), PLLDDR0(35, 0, 0, 864000000U), PLLDDR0(144, 1, 1, 870000000U), PLLDDR0(72, 1, 0, 876000000U), PLLDDR0(146, 1, 1, 882000000U), PLLDDR0(36, 0, 0, 888000000U), PLLDDR0(148, 1, 1, 894000000U), PLLDDR0(74, 0, 1, 900000000U), PLLDDR0(150, 1, 1, 906000000U), PLLDDR0(37, 0, 0, 912000000U), PLLDDR0(152, 1, 1, 918000000U), PLLDDR0(76, 0, 1, 924000000U), PLLDDR0(154, 1, 1, 930000000U), PLLDDR0(38, 0, 0, 936000000U), PLLDDR0(156, 1, 1, 942000000U), PLLDDR0(78, 0, 1, 948000000U), PLLDDR0(158, 1, 1, 954000000U), PLLDDR0(39, 0, 0, 960000000U), PLLDDR0(160, 1, 1, 966000000U), PLLDDR0(80, 0, 1, 972000000U), PLLDDR0(162, 1, 1, 978000000U), PLLDDR0(40, 0, 0, 984000000U), PLLDDR0(164, 1, 1, 990000000U), PLLDDR0(82, 0, 1, 996000000U), PLLDDR0(166, 1, 1, 1002000000U), PLLDDR0(41, 0, 0, 1008000000U), PLLDDR0(168, 1, 1, 1014000000U), PLLDDR0(84, 0, 1, 1020000000U), PLLDDR0(170, 1, 1, 1026000000U), PLLDDR0(42, 0, 0, 1032000000U), PLLDDR0(172, 1, 1, 1038000000U), PLLDDR0(86, 0, 1, 1044000000U), PLLDDR0(174, 1, 1, 1050000000U), PLLDDR0(43, 0, 0, 1056000000U), PLLDDR0(176, 1, 1, 1062000000U), PLLDDR0(88, 0, 1, 1068000000U), PLLDDR0(178, 1, 1, 1074000000U), PLLDDR0(44, 0, 0, 1080000000U), PLLDDR0(180, 1, 1, 1086000000U), PLLDDR0(90, 0, 1, 1092000000U), PLLDDR0(182, 1, 1, 1098000000U), PLLDDR0(45, 0, 0, 1104000000U), PLLDDR0(184, 1, 1, 1110000000U), PLLDDR0(92, 0, 1, 1116000000U), PLLDDR0(186, 1, 1, 1122000000U), PLLDDR0(46, 0, 0, 1128000000U), PLLDDR0(188, 1, 1, 1134000000U), PLLDDR0(94, 0, 1, 1140000000U), PLLDDR0(190, 1, 1, 1146000000U), PLLDDR0(47, 0, 0, 1152000000U), PLLDDR0(192, 1, 1, 1158000000U), PLLDDR0(96, 0, 1, 1164000000U), PLLDDR0(194, 1, 1, 1170000000U), PLLDDR0(48, 0, 0, 1176000000U), PLLDDR0(196, 1, 1, 1182000000U), PLLDDR0(98, 0, 1, 1188000000U), PLLDDR0(198, 1, 1, 1194000000U), PLLDDR0(49, 0, 0, 1200000000U), PLLDDR0(200, 1, 1, 1206000000U), PLLDDR0(100, 0, 1, 1212000000U), PLLDDR0(202, 1, 1, 1218000000U), PLLDDR0(50, 0, 0, 1224000000U), PLLDDR0(204, 1, 1, 1230000000U), PLLDDR0(102, 0, 1, 1236000000U), PLLDDR0(206, 1, 1, 1242000000U), PLLDDR0(51, 0, 0, 1248000000U), PLLDDR0(208, 1, 1, 1254000000U), PLLDDR0(104, 0, 1, 1260000000U), PLLDDR0(210, 1, 1, 1266000000U), PLLDDR0(52, 0, 0, 1272000000U), PLLDDR0(212, 1, 1, 1278000000U), PLLDDR0(106, 0, 1, 1284000000U), PLLDDR0(214, 1, 1, 1290000000U), PLLDDR0(53, 0, 0, 1296000000U), PLLDDR0(216, 1, 1, 1302000000U), PLLDDR0(108, 0, 1, 1308000000U), PLLDDR0(218, 1, 1, 1314000000U), PLLDDR0(54, 0, 0, 1320000000U), PLLDDR0(220, 1, 1, 1326000000U), PLLDDR0(110, 0, 1, 1332000000U), PLLDDR0(222, 1, 1, 1338000000U), PLLDDR0(55, 0, 0, 1344000000U), PLLDDR0(224, 1, 1, 1350000000U), PLLDDR0(112, 0, 1, 1356000000U), PLLDDR0(226, 1, 1, 1362000000U), PLLDDR0(56, 0, 0, 1368000000U), PLLDDR0(228, 1, 1, 1374000000U), PLLDDR0(114, 0, 1, 1380000000U), PLLDDR0(230, 1, 1, 1386000000U), PLLDDR0(57, 0, 0, 1392000000U), PLLDDR0(232, 1, 1, 1398000000U), PLLDDR0(116, 0, 1, 1404000000U), PLLDDR0(234, 1, 1, 1410000000U), PLLDDR0(58, 0, 0, 1416000000U), PLLDDR0(236, 1, 1, 1422000000U), PLLDDR0(118, 0, 1, 1428000000U), PLLDDR0(238, 1, 1, 1434000000U), PLLDDR0(59, 0, 0, 1440000000U), PLLDDR0(240, 1, 1, 1446000000U), PLLDDR0(120, 0, 1, 1452000000U), PLLDDR0(242, 1, 1, 1458000000U), PLLDDR0(60, 0, 0, 1464000000U), PLLDDR0(244, 1, 1, 1470000000U), PLLDDR0(122, 0, 1, 1476000000U), PLLDDR0(246, 1, 1, 1482000000U), PLLDDR0(61, 0, 0, 1488000000U), PLLDDR0(248, 1, 1, 1494000000U), PLLDDR0(124, 0, 1, 1500000000U), PLLDDR0(250, 1, 1, 1506000000U), PLLDDR0(62, 0, 0, 1512000000U), PLLDDR0(252, 1, 1, 1518000000U), PLLDDR0(126, 0, 1, 1524000000U), PLLDDR0(254, 1, 1, 1530000000U), PLLDDR0(63, 0, 0, 1536000000U), PLLDDR0(128, 0, 1, 1548000000U), PLLDDR0(64, 0, 0, 1560000000U), PLLDDR0(130, 0, 1, 1572000000U), PLLDDR0(65, 0, 0, 1584000000U), PLLDDR0(132, 1, 0, 1596000000U), PLLDDR0(66, 0, 0, 1608000000U), PLLDDR0(134, 1, 0, 1620000000U), PLLDDR0(67, 0, 0, 1632000000U), PLLDDR0(136, 1, 0, 1644000000U), PLLDDR0(68, 0, 0, 1656000000U), PLLDDR0(138, 1, 0, 1668000000U), PLLDDR0(69, 0, 0, 1680000000U), PLLDDR0(140, 1, 0, 1692000000U), PLLDDR0(70, 0, 0, 1704000000U), PLLDDR0(142, 1, 0, 1716000000U), PLLDDR0(71, 0, 0, 1728000000U), PLLDDR0(144, 1, 0, 1740000000U), PLLDDR0(72, 0, 0, 1752000000U), PLLDDR0(146, 1, 0, 1764000000U), PLLDDR0(73, 0, 0, 1776000000U), PLLDDR0(148, 1, 0, 1788000000U), PLLDDR0(74, 0, 0, 1800000000U), PLLDDR0(150, 1, 0, 1812000000U), PLLDDR0(75, 0, 0, 1824000000U), PLLDDR0(152, 1, 0, 1836000000U), PLLDDR0(76, 0, 0, 1848000000U), PLLDDR0(154, 1, 0, 1860000000U), PLLDDR0(77, 0, 0, 1872000000U), PLLDDR0(156, 1, 0, 1884000000U), PLLDDR0(78, 0, 0, 1896000000U), PLLDDR0(158, 1, 0, 1908000000U), PLLDDR0(79, 0, 0, 1920000000U), PLLDDR0(160, 1, 0, 1932000000U), PLLDDR0(80, 0, 0, 1944000000U), PLLDDR0(162, 1, 0, 1956000000U), PLLDDR0(81, 0, 0, 1968000000U), PLLDDR0(164, 1, 0, 1980000000U), PLLDDR0(82, 0, 0, 1992000000U), PLLDDR0(166, 1, 0, 2004000000U), PLLDDR0(83, 0, 0, 2016000000U), PLLDDR0(168, 1, 0, 2028000000U), PLLDDR0(84, 0, 0, 2040000000U), PLLDDR0(170, 1, 0, 2052000000U), PLLDDR0(85, 0, 0, 2064000000U), PLLDDR0(172, 1, 0, 2076000000U), PLLDDR0(86, 0, 0, 2088000000U), PLLDDR0(174, 1, 0, 2100000000U), PLLDDR0(87, 0, 0, 2112000000U), PLLDDR0(176, 1, 0, 2124000000U), PLLDDR0(88, 0, 0, 2136000000U), PLLDDR0(178, 1, 0, 2148000000U), PLLDDR0(89, 0, 0, 2160000000U), PLLDDR0(180, 1, 0, 2172000000U), PLLDDR0(90, 0, 0, 2184000000U), PLLDDR0(182, 1, 0, 2196000000U), PLLDDR0(91, 0, 0, 2208000000U), PLLDDR0(184, 1, 0, 2220000000U), PLLDDR0(92, 0, 0, 2232000000U), PLLDDR0(186, 1, 0, 2244000000U), PLLDDR0(93, 0, 0, 2256000000U), PLLDDR0(188, 1, 0, 2268000000U), PLLDDR0(94, 0, 0, 2280000000U), PLLDDR0(190, 1, 0, 2292000000U), PLLDDR0(95, 0, 0, 2304000000U), PLLDDR0(192, 1, 0, 2316000000U), PLLDDR0(96, 0, 0, 2328000000U), PLLDDR0(194, 1, 0, 2340000000U), PLLDDR0(97, 0, 0, 2352000000U), PLLDDR0(196, 1, 0, 2364000000U), PLLDDR0(98, 0, 0, 2376000000U), PLLDDR0(198, 1, 0, 2388000000U), PLLDDR0(99, 0, 0, 2400000000U), PLLDDR0(200, 1, 0, 2412000000U), PLLDDR0(100, 0, 0, 2424000000U), PLLDDR0(202, 1, 0, 2436000000U), PLLDDR0(101, 0, 0, 2448000000U), PLLDDR0(204, 1, 0, 2460000000U), PLLDDR0(102, 0, 0, 2472000000U), PLLDDR0(206, 1, 0, 2484000000U), PLLDDR0(103, 0, 0, 2496000000U), PLLDDR0(208, 1, 0, 2508000000U), }; /* PLLPERIPH0(n, d1, d2, freq) F_N8X8_D1V1X1_D2V0X1 */ struct sunxi_clk_factor_freq factor_pllperiph0_tbl[] = { PLLPERIPH0(23, 0, 0, 144000000U), PLLPERIPH0(25, 0, 0, 156000000U), PLLPERIPH0(27, 0, 0, 168000000U), PLLPERIPH0(29, 0, 0, 180000000U), PLLPERIPH0(31, 0, 0, 192000000U), PLLPERIPH0(33, 0, 0, 204000000U), PLLPERIPH0(35, 0, 0, 216000000U), PLLPERIPH0(37, 0, 0, 228000000U), PLLPERIPH0(39, 0, 0, 240000000U), PLLPERIPH0(41, 0, 0, 252000000U), PLLPERIPH0(43, 0, 0, 264000000U), PLLPERIPH0(45, 0, 0, 276000000U), PLLPERIPH0(47, 0, 0, 288000000U), PLLPERIPH0(49, 0, 0, 300000000U), PLLPERIPH0(51, 0, 0, 312000000U), PLLPERIPH0(53, 0, 0, 324000000U), PLLPERIPH0(55, 0, 0, 336000000U), PLLPERIPH0(57, 0, 0, 348000000U), PLLPERIPH0(59, 0, 0, 360000000U), PLLPERIPH0(61, 0, 0, 372000000U), PLLPERIPH0(63, 0, 0, 384000000U), PLLPERIPH0(65, 0, 0, 396000000U), PLLPERIPH0(67, 0, 0, 408000000U), PLLPERIPH0(69, 0, 0, 420000000U), PLLPERIPH0(71, 0, 0, 432000000U), PLLPERIPH0(73, 0, 0, 444000000U), PLLPERIPH0(75, 0, 0, 456000000U), PLLPERIPH0(77, 0, 0, 468000000U), PLLPERIPH0(79, 0, 0, 480000000U), PLLPERIPH0(81, 0, 0, 492000000U), PLLPERIPH0(83, 0, 0, 504000000U), PLLPERIPH0(85, 0, 0, 516000000U), PLLPERIPH0(87, 0, 0, 528000000U), PLLPERIPH0(89, 0, 0, 540000000U), PLLPERIPH0(91, 0, 0, 552000000U), PLLPERIPH0(93, 0, 0, 564000000U), PLLPERIPH0(95, 0, 0, 576000000U), PLLPERIPH0(97, 0, 0, 588000000U), PLLPERIPH0(99, 0, 0, 600000000U), PLLPERIPH0(101, 0, 0, 612000000U), PLLPERIPH0(103, 0, 0, 624000000U), PLLPERIPH0(105, 0, 0, 636000000U), }; /* PLLPERIPH1(n, d1, d2, freq) F_N8X8_D1V1X1_D2V0X1 */ struct sunxi_clk_factor_freq factor_pllperiph1_tbl[] = { PLLPERIPH1(23, 0, 0, 144000000U), PLLPERIPH1(25, 0, 0, 156000000U), PLLPERIPH1(27, 0, 0, 168000000U), PLLPERIPH1(29, 0, 0, 180000000U), PLLPERIPH1(31, 0, 0, 192000000U), PLLPERIPH1(33, 0, 0, 204000000U), PLLPERIPH1(35, 0, 0, 216000000U), PLLPERIPH1(37, 0, 0, 228000000U), PLLPERIPH1(39, 0, 0, 240000000U), PLLPERIPH1(41, 0, 0, 252000000U), PLLPERIPH1(43, 0, 0, 264000000U), PLLPERIPH1(45, 0, 0, 276000000U), PLLPERIPH1(47, 0, 0, 288000000U), PLLPERIPH1(49, 0, 0, 300000000U), PLLPERIPH1(51, 0, 0, 312000000U), PLLPERIPH1(53, 0, 0, 324000000U), PLLPERIPH1(55, 0, 0, 336000000U), PLLPERIPH1(57, 0, 0, 348000000U), PLLPERIPH1(59, 0, 0, 360000000U), PLLPERIPH1(61, 0, 0, 372000000U), PLLPERIPH1(63, 0, 0, 384000000U), PLLPERIPH1(65, 0, 0, 396000000U), PLLPERIPH1(67, 0, 0, 408000000U), PLLPERIPH1(69, 0, 0, 420000000U), PLLPERIPH1(71, 0, 0, 432000000U), PLLPERIPH1(73, 0, 0, 444000000U), PLLPERIPH1(75, 0, 0, 456000000U), PLLPERIPH1(77, 0, 0, 468000000U), PLLPERIPH1(79, 0, 0, 480000000U), PLLPERIPH1(81, 0, 0, 492000000U), PLLPERIPH1(83, 0, 0, 504000000U), PLLPERIPH1(85, 0, 0, 516000000U), PLLPERIPH1(87, 0, 0, 528000000U), PLLPERIPH1(89, 0, 0, 540000000U), PLLPERIPH1(91, 0, 0, 552000000U), PLLPERIPH1(93, 0, 0, 564000000U), PLLPERIPH1(95, 0, 0, 576000000U), PLLPERIPH1(97, 0, 0, 588000000U), PLLPERIPH1(99, 0, 0, 600000000U), PLLPERIPH1(101, 0, 0, 612000000U), PLLPERIPH1(103, 0, 0, 624000000U), PLLPERIPH1(208, 0, 1, 627000000U), }; /* PLLGPU(n, d1, d2, freq) F_N8X8_D1V1X1_D2V0X1 */ struct sunxi_clk_factor_freq factor_pllgpu_tbl[] = { PLLGPU(22, 1, 1, 138000000U), PLLGPU(30, 1, 1, 186000000U), PLLGPU(16, 1, 0, 204000000U), PLLGPU(35, 1, 1, 216000000U), PLLGPU(38, 1, 1, 234000000U), PLLGPU(39, 1, 1, 240000000U), PLLGPU(20, 1, 0, 252000000U), PLLGPU(42, 1, 1, 258000000U), PLLGPU(43, 1, 1, 264000000U), PLLGPU(22, 1, 0, 276000000U), PLLGPU(47, 1, 1, 288000000U), PLLGPU(48, 1, 1, 294000000U), PLLGPU(25, 1, 0, 312000000U), PLLGPU(55, 1, 1, 336000000U), PLLGPU(56, 1, 1, 342000000U), PLLGPU(58, 1, 1, 354000000U), PLLGPU(29, 1, 0, 360000000U), PLLGPU(30, 1, 0, 372000000U), PLLGPU(31, 0, 1, 384000000U), PLLGPU(32, 1, 0, 396000000U), PLLGPU(33, 1, 0, 408000000U), PLLGPU(34, 1, 0, 420000000U), PLLGPU(17, 0, 0, 432000000U), PLLGPU(36, 1, 0, 444000000U), PLLGPU(18, 0, 0, 456000000U), PLLGPU(38, 1, 0, 468000000U), PLLGPU(19, 0, 0, 480000000U), PLLGPU(40, 1, 0, 492000000U), PLLGPU(20, 0, 0, 504000000U), PLLGPU(42, 0, 1, 516000000U), PLLGPU(86, 1, 1, 522000000U), PLLGPU(21, 0, 0, 528000000U), PLLGPU(88, 1, 1, 534000000U), PLLGPU(44, 1, 0, 540000000U), PLLGPU(90, 1, 1, 546000000U), PLLGPU(22, 0, 0, 552000000U), PLLGPU(92, 1, 1, 558000000U), PLLGPU(46, 1, 0, 564000000U), PLLGPU(94, 1, 1, 570000000U), PLLGPU(23, 0, 0, 576000000U), PLLGPU(96, 1, 1, 582000000U), PLLGPU(48, 1, 0, 588000000U), PLLGPU(98, 1, 1, 594000000U), PLLGPU(24, 0, 0, 600000000U), PLLGPU(100, 1, 1, 606000000U), PLLGPU(50, 1, 0, 612000000U), PLLGPU(102, 1, 1, 618000000U), PLLGPU(25, 0, 0, 624000000U), PLLGPU(104, 1, 1, 630000000U), PLLGPU(52, 0, 1, 636000000U), PLLGPU(106, 1, 1, 642000000U), PLLGPU(26, 0, 0, 648000000U), PLLGPU(108, 1, 1, 654000000U), PLLGPU(54, 1, 0, 660000000U), PLLGPU(110, 1, 1, 666000000U), PLLGPU(27, 0, 0, 672000000U), PLLGPU(112, 1, 1, 678000000U), PLLGPU(56, 1, 0, 684000000U), PLLGPU(114, 1, 1, 690000000U), PLLGPU(28, 0, 0, 696000000U), PLLGPU(116, 1, 1, 702000000U), PLLGPU(58, 1, 0, 708000000U), PLLGPU(118, 1, 1, 714000000U), PLLGPU(29, 0, 0, 720000000U), PLLGPU(120, 1, 1, 726000000U), PLLGPU(60, 1, 0, 732000000U), PLLGPU(122, 1, 1, 738000000U), PLLGPU(30, 0, 0, 744000000U), PLLGPU(124, 1, 1, 750000000U), PLLGPU(62, 1, 0, 756000000U), PLLGPU(126, 1, 1, 762000000U), PLLGPU(31, 0, 0, 768000000U), PLLGPU(128, 1, 1, 774000000U), PLLGPU(64, 1, 0, 780000000U), PLLGPU(130, 1, 1, 786000000U), PLLGPU(32, 0, 0, 792000000U), PLLGPU(132, 1, 1, 798000000U), PLLGPU(66, 0, 1, 804000000U), PLLGPU(134, 1, 1, 810000000U), PLLGPU(33, 0, 0, 816000000U), PLLGPU(136, 1, 1, 822000000U), PLLGPU(68, 1, 0, 828000000U), PLLGPU(138, 1, 1, 834000000U), PLLGPU(34, 0, 0, 840000000U), PLLGPU(140, 1, 1, 846000000U), PLLGPU(70, 1, 0, 852000000U), PLLGPU(142, 1, 1, 858000000U), PLLGPU(35, 0, 0, 864000000U), PLLGPU(144, 1, 1, 870000000U), PLLGPU(72, 1, 0, 876000000U), PLLGPU(146, 1, 1, 882000000U), PLLGPU(36, 0, 0, 888000000U), PLLGPU(148, 1, 1, 894000000U), PLLGPU(74, 0, 1, 900000000U), PLLGPU(150, 1, 1, 906000000U), PLLGPU(37, 0, 0, 912000000U), PLLGPU(152, 1, 1, 918000000U), PLLGPU(76, 0, 1, 924000000U), PLLGPU(154, 1, 1, 930000000U), PLLGPU(38, 0, 0, 936000000U), PLLGPU(156, 1, 1, 942000000U), PLLGPU(78, 0, 1, 948000000U), PLLGPU(158, 1, 1, 954000000U), PLLGPU(39, 0, 0, 960000000U), }; /* PLLVIDEO0(n, d1, freq) F_N8X8_D1V1X1 */ struct sunxi_clk_factor_freq factor_pllvideo0_tbl[] = { PLLVIDEO0(29, 1, 90000000U), PLLVIDEO0(30, 1, 93000000U), PLLVIDEO0(31, 1, 96000000U), PLLVIDEO0(32, 1, 99000000U), PLLVIDEO0(33, 1, 102000000U), PLLVIDEO0(34, 1, 105000000U), PLLVIDEO0(17, 0, 108000000U), PLLVIDEO0(36, 1, 111000000U), PLLVIDEO0(18, 0, 114000000U), PLLVIDEO0(38, 1, 117000000U), PLLVIDEO0(19, 0, 120000000U), PLLVIDEO0(40, 1, 123000000U), PLLVIDEO0(20, 0, 126000000U), PLLVIDEO0(42, 1, 129000000U), PLLVIDEO0(21, 0, 132000000U), PLLVIDEO0(44, 1, 135000000U), PLLVIDEO0(22, 0, 138000000U), PLLVIDEO0(46, 1, 141000000U), PLLVIDEO0(23, 0, 144000000U), PLLVIDEO0(48, 1, 147000000U), PLLVIDEO0(24, 0, 150000000U), PLLVIDEO0(50, 1, 153000000U), PLLVIDEO0(25, 0, 156000000U), PLLVIDEO0(52, 1, 159000000U), PLLVIDEO0(26, 0, 162000000U), PLLVIDEO0(54, 1, 165000000U), PLLVIDEO0(27, 0, 168000000U), PLLVIDEO0(56, 1, 171000000U), PLLVIDEO0(28, 0, 174000000U), PLLVIDEO0(58, 1, 177000000U), PLLVIDEO0(29, 0, 180000000U), PLLVIDEO0(60, 1, 183000000U), PLLVIDEO0(30, 0, 186000000U), PLLVIDEO0(62, 1, 189000000U), PLLVIDEO0(31, 0, 192000000U), PLLVIDEO0(64, 1, 195000000U), PLLVIDEO0(32, 0, 198000000U), PLLVIDEO0(66, 1, 201000000U), PLLVIDEO0(33, 0, 204000000U), PLLVIDEO0(68, 1, 207000000U), PLLVIDEO0(34, 0, 210000000U), PLLVIDEO0(70, 1, 213000000U), PLLVIDEO0(35, 0, 216000000U), PLLVIDEO0(72, 1, 219000000U), PLLVIDEO0(36, 0, 222000000U), PLLVIDEO0(74, 1, 225000000U), PLLVIDEO0(37, 0, 228000000U), PLLVIDEO0(76, 1, 231000000U), PLLVIDEO0(38, 0, 234000000U), PLLVIDEO0(78, 1, 237000000U), PLLVIDEO0(39, 0, 240000000U), PLLVIDEO0(80, 1, 243000000U), PLLVIDEO0(40, 0, 246000000U), PLLVIDEO0(82, 1, 249000000U), PLLVIDEO0(41, 0, 252000000U), PLLVIDEO0(84, 1, 255000000U), PLLVIDEO0(42, 0, 258000000U), PLLVIDEO0(86, 1, 261000000U), PLLVIDEO0(43, 0, 264000000U), PLLVIDEO0(88, 1, 267000000U), PLLVIDEO0(44, 0, 270000000U), PLLVIDEO0(90, 1, 273000000U), PLLVIDEO0(45, 0, 276000000U), PLLVIDEO0(92, 1, 279000000U), PLLVIDEO0(46, 0, 282000000U), PLLVIDEO0(94, 1, 285000000U), PLLVIDEO0(47, 0, 288000000U), PLLVIDEO0(96, 1, 291000000U), PLLVIDEO0(48, 0, 294000000U), PLLVIDEO0(98, 1, 297000000U), PLLVIDEO0(49, 0, 300000000U), PLLVIDEO0(100, 1, 303000000U), PLLVIDEO0(50, 0, 306000000U), PLLVIDEO0(102, 1, 309000000U), PLLVIDEO0(51, 0, 312000000U), PLLVIDEO0(104, 1, 315000000U), PLLVIDEO0(52, 0, 318000000U), PLLVIDEO0(106, 1, 321000000U), PLLVIDEO0(53, 0, 324000000U), PLLVIDEO0(108, 1, 327000000U), PLLVIDEO0(54, 0, 330000000U), PLLVIDEO0(110, 1, 333000000U), PLLVIDEO0(55, 0, 336000000U), PLLVIDEO0(112, 1, 339000000U), PLLVIDEO0(56, 0, 342000000U), PLLVIDEO0(114, 1, 345000000U), PLLVIDEO0(57, 0, 348000000U), PLLVIDEO0(116, 1, 351000000U), PLLVIDEO0(58, 0, 354000000U), PLLVIDEO0(118, 1, 357000000U), PLLVIDEO0(59, 0, 360000000U), PLLVIDEO0(120, 1, 363000000U), PLLVIDEO0(60, 0, 366000000U), PLLVIDEO0(122, 1, 369000000U), PLLVIDEO0(61, 0, 372000000U), PLLVIDEO0(124, 1, 375000000U), PLLVIDEO0(62, 0, 378000000U), PLLVIDEO0(126, 1, 381000000U), PLLVIDEO0(63, 0, 384000000U), PLLVIDEO0(128, 1, 387000000U), PLLVIDEO0(64, 0, 390000000U), PLLVIDEO0(130, 1, 393000000U), PLLVIDEO0(65, 0, 396000000U), PLLVIDEO0(132, 1, 399000000U), PLLVIDEO0(66, 0, 402000000U), PLLVIDEO0(134, 1, 405000000U), PLLVIDEO0(67, 0, 408000000U), PLLVIDEO0(136, 1, 411000000U), PLLVIDEO0(68, 0, 414000000U), PLLVIDEO0(138, 1, 417000000U), PLLVIDEO0(69, 0, 420000000U), PLLVIDEO0(140, 1, 423000000U), PLLVIDEO0(70, 0, 426000000U), PLLVIDEO0(142, 1, 429000000U), PLLVIDEO0(71, 0, 432000000U), PLLVIDEO0(144, 1, 435000000U), PLLVIDEO0(72, 0, 438000000U), PLLVIDEO0(146, 1, 441000000U), PLLVIDEO0(73, 0, 444000000U), PLLVIDEO0(148, 1, 447000000U), PLLVIDEO0(74, 0, 450000000U), PLLVIDEO0(150, 1, 453000000U), PLLVIDEO0(75, 0, 456000000U), PLLVIDEO0(152, 1, 459000000U), PLLVIDEO0(76, 0, 462000000U), PLLVIDEO0(154, 1, 465000000U), PLLVIDEO0(77, 0, 468000000U), PLLVIDEO0(156, 1, 471000000U), PLLVIDEO0(78, 0, 474000000U), PLLVIDEO0(158, 1, 477000000U), PLLVIDEO0(79, 0, 480000000U), PLLVIDEO0(160, 1, 483000000U), PLLVIDEO0(80, 0, 486000000U), PLLVIDEO0(162, 1, 489000000U), PLLVIDEO0(81, 0, 492000000U), PLLVIDEO0(164, 1, 495000000U), PLLVIDEO0(82, 0, 498000000U), PLLVIDEO0(166, 1, 501000000U), PLLVIDEO0(83, 0, 504000000U), PLLVIDEO0(168, 1, 507000000U), PLLVIDEO0(84, 0, 510000000U), PLLVIDEO0(170, 1, 513000000U), PLLVIDEO0(85, 0, 516000000U), PLLVIDEO0(172, 1, 519000000U), PLLVIDEO0(86, 0, 522000000U), PLLVIDEO0(174, 1, 525000000U), PLLVIDEO0(87, 0, 528000000U), PLLVIDEO0(176, 1, 531000000U), PLLVIDEO0(88, 0, 534000000U), PLLVIDEO0(178, 1, 537000000U), PLLVIDEO0(89, 0, 540000000U), PLLVIDEO0(180, 1, 543000000U), PLLVIDEO0(90, 0, 546000000U), PLLVIDEO0(182, 1, 549000000U), PLLVIDEO0(91, 0, 552000000U), PLLVIDEO0(184, 1, 555000000U), PLLVIDEO0(92, 0, 558000000U), PLLVIDEO0(186, 1, 561000000U), PLLVIDEO0(93, 0, 564000000U), PLLVIDEO0(188, 1, 567000000U), PLLVIDEO0(94, 0, 570000000U), PLLVIDEO0(190, 1, 573000000U), PLLVIDEO0(95, 0, 576000000U), PLLVIDEO0(192, 1, 579000000U), PLLVIDEO0(96, 0, 582000000U), PLLVIDEO0(194, 1, 585000000U), PLLVIDEO0(97, 0, 588000000U), PLLVIDEO0(196, 1, 591000000U), PLLVIDEO0(98, 0, 594000000U), PLLVIDEO0(198, 1, 597000000U), PLLVIDEO0(99, 0, 600000000U), }; /* PLLVIDEO1(n, d1, freq) F_N8X8_D1V1X1 */ struct sunxi_clk_factor_freq factor_pllvideo1_tbl[] = { PLLVIDEO1(19, 1, 60000000U), PLLVIDEO1(29, 1, 90000000U), PLLVIDEO1(30, 1, 93000000U), PLLVIDEO1(31, 1, 96000000U), PLLVIDEO1(32, 1, 99000000U), PLLVIDEO1(33, 1, 102000000U), PLLVIDEO1(34, 1, 105000000U), PLLVIDEO1(17, 0, 108000000U), PLLVIDEO1(36, 1, 111000000U), PLLVIDEO1(18, 0, 114000000U), PLLVIDEO1(38, 1, 117000000U), PLLVIDEO1(19, 0, 120000000U), PLLVIDEO1(40, 1, 123000000U), PLLVIDEO1(20, 0, 126000000U), PLLVIDEO1(42, 1, 129000000U), PLLVIDEO1(21, 0, 132000000U), PLLVIDEO1(44, 1, 135000000U), PLLVIDEO1(22, 0, 138000000U), PLLVIDEO1(46, 1, 141000000U), PLLVIDEO1(23, 0, 144000000U), PLLVIDEO1(48, 1, 147000000U), PLLVIDEO1(24, 0, 150000000U), PLLVIDEO1(50, 1, 153000000U), PLLVIDEO1(25, 0, 156000000U), PLLVIDEO1(52, 1, 159000000U), PLLVIDEO1(26, 0, 162000000U), PLLVIDEO1(54, 1, 165000000U), PLLVIDEO1(27, 0, 168000000U), PLLVIDEO1(56, 1, 171000000U), PLLVIDEO1(28, 0, 174000000U), PLLVIDEO1(58, 1, 177000000U), PLLVIDEO1(29, 0, 180000000U), PLLVIDEO1(60, 1, 183000000U), PLLVIDEO1(30, 0, 186000000U), PLLVIDEO1(62, 1, 189000000U), PLLVIDEO1(31, 0, 192000000U), PLLVIDEO1(64, 1, 195000000U), PLLVIDEO1(32, 0, 198000000U), PLLVIDEO1(66, 1, 201000000U), PLLVIDEO1(33, 0, 204000000U), PLLVIDEO1(68, 1, 207000000U), PLLVIDEO1(34, 0, 210000000U), PLLVIDEO1(70, 1, 213000000U), PLLVIDEO1(35, 0, 216000000U), PLLVIDEO1(72, 1, 219000000U), PLLVIDEO1(36, 0, 222000000U), PLLVIDEO1(74, 1, 225000000U), PLLVIDEO1(37, 0, 228000000U), PLLVIDEO1(76, 1, 231000000U), PLLVIDEO1(38, 0, 234000000U), PLLVIDEO1(78, 1, 237000000U), PLLVIDEO1(39, 0, 240000000U), PLLVIDEO1(80, 1, 243000000U), PLLVIDEO1(40, 0, 246000000U), PLLVIDEO1(82, 1, 249000000U), PLLVIDEO1(41, 0, 252000000U), PLLVIDEO1(84, 1, 255000000U), PLLVIDEO1(42, 0, 258000000U), PLLVIDEO1(86, 1, 261000000U), PLLVIDEO1(43, 0, 264000000U), PLLVIDEO1(88, 1, 267000000U), PLLVIDEO1(44, 0, 270000000U), PLLVIDEO1(90, 1, 273000000U), PLLVIDEO1(45, 0, 276000000U), PLLVIDEO1(92, 1, 279000000U), PLLVIDEO1(46, 0, 282000000U), PLLVIDEO1(94, 1, 285000000U), PLLVIDEO1(47, 0, 288000000U), PLLVIDEO1(96, 1, 291000000U), PLLVIDEO1(48, 0, 294000000U), PLLVIDEO1(98, 1, 297000000U), PLLVIDEO1(49, 0, 300000000U), PLLVIDEO1(100, 1, 303000000U), PLLVIDEO1(50, 0, 306000000U), PLLVIDEO1(102, 1, 309000000U), PLLVIDEO1(51, 0, 312000000U), PLLVIDEO1(104, 1, 315000000U), PLLVIDEO1(52, 0, 318000000U), PLLVIDEO1(106, 1, 321000000U), PLLVIDEO1(53, 0, 324000000U), PLLVIDEO1(108, 1, 327000000U), PLLVIDEO1(54, 0, 330000000U), PLLVIDEO1(110, 1, 333000000U), PLLVIDEO1(55, 0, 336000000U), PLLVIDEO1(112, 1, 339000000U), PLLVIDEO1(56, 0, 342000000U), PLLVIDEO1(114, 1, 345000000U), PLLVIDEO1(57, 0, 348000000U), PLLVIDEO1(116, 1, 351000000U), PLLVIDEO1(58, 0, 354000000U), PLLVIDEO1(118, 1, 357000000U), PLLVIDEO1(59, 0, 360000000U), PLLVIDEO1(120, 1, 363000000U), PLLVIDEO1(60, 0, 366000000U), PLLVIDEO1(122, 1, 369000000U), PLLVIDEO1(61, 0, 372000000U), PLLVIDEO1(124, 1, 375000000U), PLLVIDEO1(62, 0, 378000000U), PLLVIDEO1(126, 1, 381000000U), PLLVIDEO1(63, 0, 384000000U), PLLVIDEO1(128, 1, 387000000U), PLLVIDEO1(64, 0, 390000000U), PLLVIDEO1(130, 1, 393000000U), PLLVIDEO1(65, 0, 396000000U), PLLVIDEO1(132, 1, 399000000U), PLLVIDEO1(66, 0, 402000000U), PLLVIDEO1(134, 1, 405000000U), PLLVIDEO1(67, 0, 408000000U), PLLVIDEO1(136, 1, 411000000U), PLLVIDEO1(68, 0, 414000000U), PLLVIDEO1(138, 1, 417000000U), PLLVIDEO1(69, 0, 420000000U), PLLVIDEO1(140, 1, 423000000U), PLLVIDEO1(70, 0, 426000000U), PLLVIDEO1(142, 1, 429000000U), PLLVIDEO1(71, 0, 432000000U), PLLVIDEO1(144, 1, 435000000U), PLLVIDEO1(72, 0, 438000000U), PLLVIDEO1(146, 1, 441000000U), PLLVIDEO1(73, 0, 444000000U), PLLVIDEO1(148, 1, 447000000U), PLLVIDEO1(74, 0, 450000000U), PLLVIDEO1(150, 1, 453000000U), PLLVIDEO1(75, 0, 456000000U), PLLVIDEO1(152, 1, 459000000U), PLLVIDEO1(76, 0, 462000000U), PLLVIDEO1(154, 1, 465000000U), PLLVIDEO1(77, 0, 468000000U), PLLVIDEO1(156, 1, 471000000U), PLLVIDEO1(78, 0, 474000000U), PLLVIDEO1(158, 1, 477000000U), PLLVIDEO1(79, 0, 480000000U), PLLVIDEO1(160, 1, 483000000U), PLLVIDEO1(80, 0, 486000000U), PLLVIDEO1(162, 1, 489000000U), PLLVIDEO1(81, 0, 492000000U), PLLVIDEO1(164, 1, 495000000U), PLLVIDEO1(82, 0, 498000000U), PLLVIDEO1(166, 1, 501000000U), PLLVIDEO1(83, 0, 504000000U), PLLVIDEO1(168, 1, 507000000U), PLLVIDEO1(84, 0, 510000000U), PLLVIDEO1(170, 1, 513000000U), PLLVIDEO1(85, 0, 516000000U), PLLVIDEO1(172, 1, 519000000U), PLLVIDEO1(86, 0, 522000000U), PLLVIDEO1(174, 1, 525000000U), PLLVIDEO1(87, 0, 528000000U), PLLVIDEO1(176, 1, 531000000U), PLLVIDEO1(88, 0, 534000000U), PLLVIDEO1(178, 1, 537000000U), PLLVIDEO1(89, 0, 540000000U), PLLVIDEO1(180, 1, 543000000U), PLLVIDEO1(90, 0, 546000000U), PLLVIDEO1(182, 1, 549000000U), PLLVIDEO1(91, 0, 552000000U), PLLVIDEO1(184, 1, 555000000U), PLLVIDEO1(92, 0, 558000000U), PLLVIDEO1(186, 1, 561000000U), PLLVIDEO1(93, 0, 564000000U), PLLVIDEO1(188, 1, 567000000U), PLLVIDEO1(94, 0, 570000000U), PLLVIDEO1(190, 1, 573000000U), PLLVIDEO1(95, 0, 576000000U), PLLVIDEO1(192, 1, 579000000U), PLLVIDEO1(96, 0, 582000000U), PLLVIDEO1(194, 1, 585000000U), PLLVIDEO1(97, 0, 588000000U), PLLVIDEO1(196, 1, 591000000U), PLLVIDEO1(98, 0, 594000000U), PLLVIDEO1(198, 1, 597000000U), PLLVIDEO1(99, 0, 600000000U), }; /* PLLVE(n, d1, d2, freq) F_N8X8_D1V1X1_D2V0X1 */ struct sunxi_clk_factor_freq factor_pllve_tbl[] = { PLLVE(14, 1, 1, 90000000U), PLLVE(19, 1, 1, 120000000U), PLLVE(13, 1, 0, 168000000U), PLLVE(29, 1, 1, 180000000U), PLLVE(15, 0, 1, 192000000U), PLLVE(17, 0, 1, 216000000U), PLLVE(39, 1, 1, 240000000U), PLLVE(22, 0, 1, 276000000U), PLLVE(25, 1, 0, 312000000U), PLLVE(28, 0, 1, 348000000U), PLLVE(58, 1, 1, 354000000U), PLLVE(29, 0, 1, 360000000U), PLLVE(30, 1, 0, 372000000U), PLLVE(31, 1, 0, 384000000U), PLLVE(32, 0, 1, 396000000U), PLLVE(33, 1, 0, 408000000U), PLLVE(68, 1, 1, 414000000U), PLLVE(34, 1, 0, 420000000U), PLLVE(17, 0, 0, 432000000U), PLLVE(36, 1, 0, 444000000U), PLLVE(74, 1, 1, 450000000U), PLLVE(18, 0, 0, 456000000U), PLLVE(76, 1, 1, 462000000U), PLLVE(38, 0, 1, 468000000U), PLLVE(19, 0, 0, 480000000U), PLLVE(40, 0, 1, 492000000U), PLLVE(20, 0, 0, 504000000U), PLLVE(84, 1, 1, 510000000U), PLLVE(42, 1, 0, 516000000U), PLLVE(86, 1, 1, 522000000U), PLLVE(21, 0, 0, 528000000U), PLLVE(88, 1, 1, 534000000U), PLLVE(44, 1, 0, 540000000U), PLLVE(90, 1, 1, 546000000U), PLLVE(22, 0, 0, 552000000U), PLLVE(92, 1, 1, 558000000U), PLLVE(46, 1, 0, 564000000U), PLLVE(94, 1, 1, 570000000U), PLLVE(23, 0, 0, 576000000U), PLLVE(96, 1, 1, 582000000U), PLLVE(48, 0, 1, 588000000U), PLLVE(98, 1, 1, 594000000U), PLLVE(24, 0, 0, 600000000U), PLLVE(100, 1, 1, 606000000U), PLLVE(50, 0, 1, 612000000U), PLLVE(102, 1, 1, 618000000U), PLLVE(25, 0, 0, 624000000U), PLLVE(104, 1, 1, 630000000U), PLLVE(52, 1, 0, 636000000U), PLLVE(106, 1, 1, 642000000U), PLLVE(26, 0, 0, 648000000U), PLLVE(108, 1, 1, 654000000U), PLLVE(54, 0, 1, 660000000U), PLLVE(110, 1, 1, 666000000U), PLLVE(27, 0, 0, 672000000U), PLLVE(112, 1, 1, 678000000U), PLLVE(56, 0, 1, 684000000U), PLLVE(114, 1, 1, 690000000U), PLLVE(28, 0, 0, 696000000U), PLLVE(116, 1, 1, 702000000U), PLLVE(58, 1, 0, 708000000U), PLLVE(118, 1, 1, 714000000U), PLLVE(29, 0, 0, 720000000U), PLLVE(120, 1, 1, 726000000U), PLLVE(60, 0, 1, 732000000U), PLLVE(122, 1, 1, 738000000U), PLLVE(30, 0, 0, 744000000U), PLLVE(124, 1, 1, 750000000U), PLLVE(62, 0, 1, 756000000U), PLLVE(126, 1, 1, 762000000U), PLLVE(31, 0, 0, 768000000U), PLLVE(128, 1, 1, 774000000U), PLLVE(64, 1, 0, 780000000U), PLLVE(130, 1, 1, 786000000U), PLLVE(32, 0, 0, 792000000U), PLLVE(132, 1, 1, 798000000U), PLLVE(66, 1, 0, 804000000U), PLLVE(134, 1, 1, 810000000U), PLLVE(33, 0, 0, 816000000U), PLLVE(136, 1, 1, 822000000U), PLLVE(68, 0, 1, 828000000U), PLLVE(138, 1, 1, 834000000U), PLLVE(34, 0, 0, 840000000U), PLLVE(140, 1, 1, 846000000U), PLLVE(70, 0, 1, 852000000U), PLLVE(142, 1, 1, 858000000U), PLLVE(35, 0, 0, 864000000U), PLLVE(144, 1, 1, 870000000U), PLLVE(72, 0, 1, 876000000U), PLLVE(146, 1, 1, 882000000U), PLLVE(36, 0, 0, 888000000U), PLLVE(148, 1, 1, 894000000U), PLLVE(74, 0, 1, 900000000U), PLLVE(150, 1, 1, 906000000U), PLLVE(37, 0, 0, 912000000U), PLLVE(152, 1, 1, 918000000U), PLLVE(76, 0, 1, 924000000U), PLLVE(154, 1, 1, 930000000U), PLLVE(38, 0, 0, 936000000U), PLLVE(156, 1, 1, 942000000U), PLLVE(78, 0, 1, 948000000U), PLLVE(158, 1, 1, 954000000U), PLLVE(39, 0, 0, 960000000U), PLLVE(160, 1, 1, 966000000U), PLLVE(80, 0, 1, 972000000U), PLLVE(162, 1, 1, 978000000U), PLLVE(40, 0, 0, 984000000U), PLLVE(164, 1, 1, 990000000U), PLLVE(82, 0, 1, 996000000U), }; /* PLLDE(n, d1, d2, freq) F_N8X8_D1V1X1_D2V0X1 */ struct sunxi_clk_factor_freq factor_pllde_tbl[] = { PLLDE(16, 1, 1, 102000000U), PLLDE(20, 1, 1, 126000000U), PLLDE(23, 1, 1, 144000000U), PLLDE(12, 1, 0, 156000000U), PLLDE(14, 0, 1, 180000000U), PLLDE(35, 1, 1, 216000000U), PLLDE(39, 1, 1, 240000000U), PLLDE(20, 1, 0, 252000000U), PLLDE(44, 1, 1, 270000000U), PLLDE(45, 1, 1, 276000000U), PLLDE(48, 1, 1, 294000000U), PLLDE(24, 0, 1, 300000000U), PLLDE(50, 1, 1, 306000000U), PLLDE(25, 0, 1, 312000000U), PLLDE(27, 0, 1, 336000000U), PLLDE(58, 1, 1, 354000000U), PLLDE(29, 1, 0, 360000000U), PLLDE(60, 1, 1, 366000000U), PLLDE(30, 1, 0, 372000000U), PLLDE(31, 1, 0, 384000000U), PLLDE(64, 1, 1, 390000000U), PLLDE(32, 1, 0, 396000000U), PLLDE(66, 1, 1, 402000000U), PLLDE(33, 0, 1, 408000000U), PLLDE(34, 1, 0, 420000000U), PLLDE(17, 0, 0, 432000000U), PLLDE(36, 1, 0, 444000000U), PLLDE(18, 0, 0, 456000000U), PLLDE(76, 1, 1, 462000000U), PLLDE(38, 0, 1, 468000000U), PLLDE(78, 1, 1, 474000000U), PLLDE(19, 0, 0, 480000000U), PLLDE(80, 1, 1, 486000000U), PLLDE(40, 0, 1, 492000000U), PLLDE(82, 1, 1, 498000000U), PLLDE(20, 0, 0, 504000000U), PLLDE(84, 1, 1, 510000000U), PLLDE(42, 1, 0, 516000000U), PLLDE(86, 1, 1, 522000000U), PLLDE(21, 0, 0, 528000000U), PLLDE(88, 1, 1, 534000000U), PLLDE(44, 1, 0, 540000000U), PLLDE(90, 1, 1, 546000000U), PLLDE(22, 0, 0, 552000000U), PLLDE(92, 1, 1, 558000000U), PLLDE(46, 1, 0, 564000000U), PLLDE(94, 1, 1, 570000000U), PLLDE(23, 0, 0, 576000000U), PLLDE(96, 1, 1, 582000000U), PLLDE(48, 1, 0, 588000000U), PLLDE(98, 1, 1, 594000000U), PLLDE(24, 0, 0, 600000000U), PLLDE(100, 1, 1, 606000000U), PLLDE(50, 0, 1, 612000000U), PLLDE(102, 1, 1, 618000000U), PLLDE(25, 0, 0, 624000000U), PLLDE(104, 1, 1, 630000000U), PLLDE(52, 1, 0, 636000000U), PLLDE(106, 1, 1, 642000000U), PLLDE(26, 0, 0, 648000000U), PLLDE(108, 1, 1, 654000000U), PLLDE(54, 0, 1, 660000000U), PLLDE(110, 1, 1, 666000000U), PLLDE(27, 0, 0, 672000000U), PLLDE(112, 1, 1, 678000000U), PLLDE(56, 0, 1, 684000000U), PLLDE(114, 1, 1, 690000000U), PLLDE(28, 0, 0, 696000000U), PLLDE(116, 1, 1, 702000000U), PLLDE(58, 1, 0, 708000000U), PLLDE(118, 1, 1, 714000000U), PLLDE(29, 0, 0, 720000000U), PLLDE(120, 1, 1, 726000000U), PLLDE(60, 1, 0, 732000000U), PLLDE(122, 1, 1, 738000000U), PLLDE(30, 0, 0, 744000000U), PLLDE(124, 1, 1, 750000000U), PLLDE(62, 0, 1, 756000000U), PLLDE(126, 1, 1, 762000000U), PLLDE(31, 0, 0, 768000000U), PLLDE(128, 1, 1, 774000000U), PLLDE(64, 0, 1, 780000000U), PLLDE(130, 1, 1, 786000000U), PLLDE(32, 0, 0, 792000000U), PLLDE(132, 1, 1, 798000000U), PLLDE(66, 1, 0, 804000000U), PLLDE(134, 1, 1, 810000000U), PLLDE(33, 0, 0, 816000000U), PLLDE(136, 1, 1, 822000000U), PLLDE(68, 0, 1, 828000000U), PLLDE(138, 1, 1, 834000000U), PLLDE(34, 0, 0, 840000000U), PLLDE(140, 1, 1, 846000000U), PLLDE(70, 1, 0, 852000000U), PLLDE(142, 1, 1, 858000000U), PLLDE(35, 0, 0, 864000000U), PLLDE(144, 1, 1, 870000000U), PLLDE(72, 1, 0, 876000000U), PLLDE(146, 1, 1, 882000000U), PLLDE(36, 0, 0, 888000000U), PLLDE(148, 1, 1, 894000000U), PLLDE(74, 0, 1, 900000000U), PLLDE(150, 1, 1, 906000000U), PLLDE(37, 0, 0, 912000000U), PLLDE(152, 1, 1, 918000000U), PLLDE(76, 0, 1, 924000000U), PLLDE(154, 1, 1, 930000000U), PLLDE(38, 0, 0, 936000000U), PLLDE(156, 1, 1, 942000000U), PLLDE(78, 0, 1, 948000000U), PLLDE(158, 1, 1, 954000000U), PLLDE(39, 0, 0, 960000000U), PLLDE(160, 1, 1, 966000000U), PLLDE(80, 0, 1, 972000000U), PLLDE(162, 1, 1, 978000000U), PLLDE(40, 0, 0, 984000000U), PLLDE(164, 1, 1, 990000000U), PLLDE(82, 0, 1, 996000000U), }; /* PLLHSIC(n, d1, d2, freq) F_N8X8_D1V1X1_D2V0X1 */ struct sunxi_clk_factor_freq factor_pllhsic_tbl[] = { PLLHSIC(27, 1, 1, 168000000U), PLLHSIC(30, 1, 1, 186000000U), PLLHSIC(16, 1, 0, 204000000U), PLLHSIC(17, 0, 1, 216000000U), PLLHSIC(36, 1, 1, 222000000U), PLLHSIC(19, 1, 0, 240000000U), PLLHSIC(40, 1, 1, 246000000U), PLLHSIC(41, 1, 1, 252000000U), PLLHSIC(42, 1, 1, 258000000U), PLLHSIC(21, 0, 1, 264000000U), PLLHSIC(44, 1, 1, 270000000U), PLLHSIC(22, 0, 1, 276000000U), PLLHSIC(24, 0, 1, 300000000U), PLLHSIC(51, 1, 1, 312000000U), PLLHSIC(52, 1, 1, 318000000U), PLLHSIC(54, 1, 1, 330000000U), PLLHSIC(29, 0, 1, 360000000U), PLLHSIC(60, 1, 1, 366000000U), PLLHSIC(30, 1, 0, 372000000U), PLLHSIC(62, 1, 1, 378000000U), PLLHSIC(31, 1, 0, 384000000U), PLLHSIC(64, 1, 1, 390000000U), PLLHSIC(32, 1, 0, 396000000U), PLLHSIC(33, 1, 0, 408000000U), PLLHSIC(34, 1, 0, 420000000U), PLLHSIC(17, 0, 0, 432000000U), PLLHSIC(72, 1, 1, 438000000U), PLLHSIC(36, 1, 0, 444000000U), PLLHSIC(74, 1, 1, 450000000U), PLLHSIC(18, 0, 0, 456000000U), PLLHSIC(38, 1, 0, 468000000U), PLLHSIC(78, 1, 1, 474000000U), PLLHSIC(19, 0, 0, 480000000U), PLLHSIC(40, 1, 0, 492000000U), PLLHSIC(20, 0, 0, 504000000U), PLLHSIC(42, 1, 0, 516000000U), PLLHSIC(86, 1, 1, 522000000U), PLLHSIC(21, 0, 0, 528000000U), PLLHSIC(88, 1, 1, 534000000U), PLLHSIC(44, 1, 0, 540000000U), PLLHSIC(90, 1, 1, 546000000U), PLLHSIC(22, 0, 0, 552000000U), PLLHSIC(92, 1, 1, 558000000U), PLLHSIC(46, 1, 0, 564000000U), PLLHSIC(94, 1, 1, 570000000U), PLLHSIC(23, 0, 0, 576000000U), PLLHSIC(96, 1, 1, 582000000U), PLLHSIC(48, 0, 1, 588000000U), PLLHSIC(98, 1, 1, 594000000U), PLLHSIC(24, 0, 0, 600000000U), PLLHSIC(100, 1, 1, 606000000U), PLLHSIC(50, 1, 0, 612000000U), PLLHSIC(102, 1, 1, 618000000U), PLLHSIC(25, 0, 0, 624000000U), PLLHSIC(104, 1, 1, 630000000U), PLLHSIC(52, 1, 0, 636000000U), PLLHSIC(106, 1, 1, 642000000U), PLLHSIC(26, 0, 0, 648000000U), PLLHSIC(108, 1, 1, 654000000U), PLLHSIC(54, 0, 1, 660000000U), PLLHSIC(110, 1, 1, 666000000U), }; static unsigned int pllcpu_max, pllddr0_max, pllperiph0_max, pllperiph1_max, pllgpu_max, pllvideo0_max, pllvideo1_max, pllve_max, pllde_max, pllhsic_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(ddr0); PLL_MAX_ASSIGN(periph0); PLL_MAX_ASSIGN(periph1); PLL_MAX_ASSIGN(gpu); PLL_MAX_ASSIGN(video0); PLL_MAX_ASSIGN(video1); PLL_MAX_ASSIGN(ve); PLL_MAX_ASSIGN(de); PLL_MAX_ASSIGN(hsic); }