User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 698
UG585 (v1.11) September 27, 2016
Chapter 25: Clocks
2. Force the PLL into bypass mode by writing a 1 to ARM_PLL_CTRL [PLL_BYPASS_FORCE, 4] and
setting the ARM_PLL_CTRL [PLL_BYPASS_QUAL, 3] bit to a 0. This de-asserts the reset to the ARM
PLL.
3. Assert and de-assert the PLL reset by writing a 1 and then a 0 to ARM_PLL_CTRL [PLL_RESET, 0].
4. Verify that the PLL is locked by reading PLL_STATUS [ARM_PLL_LOCK, 3].
5. Disable the PLL bypass mode by writing a 0 to ARM_PLL_CTRL [4].
The DDR and I/O PLLs are programmed in a similar fashion.
Software-Controlled PLL Update
The following steps are required for software to update the PLL clock frequency. This example is for
the I/O PLL. Table 25-6 shows the possible multiplier values and the required settings for each of
those multiplier values.
1. Program the IO_PLL_CTRL[PLL_FDIV] value and the PLL configuration register, IO_PLL_CFG
[LOCK_CNT, PLL_CP, PLL_RES].
2. Force the PLL into bypass mode by writing a 1 to IO_PLL_CTRL [PLL_BYPASS_FORCE, 4]. (When the
PLL goes into reset in the next step, its output will be undefined.)
3. Assert and de-assert the PLL reset by writing 1 and then a 0 to IO_PLL_CTRL [PLL_RESET, 0]. (This
is when the new values from step one are actually consumed by the PLL.)
4. Verify that the PLL is locked by reading PLL_STATUS [IO_PLL_LOCK, 2].
5. Disable the PLL bypass mode by writing a 0 to IO_PLL_CTRL [4].
Table 25-6: PLL Frequency Control Settings
Desired PLL
Multiplier
Required PLL Control and Configuration Bit Fields
PLL_FDIV PLL CP PLL RES LOCK CNT
13 13 2 6 750
14 14 2 6 700
15 15 2 6 650
16 16 2 10 625
17 17 2 10 575
18 18 2 10 550
19 19 2 10 525
20 20 2 12 500
21 21 2 12 475
22 22 2 12 450
23 23 2 12 425
24 ~ 25 24 ~ 25 2 12 400
26 26 2 12 375
27 ~ 28 27 ~ 28 2 12 350
29 ~ 30 29 ~ 30 2 12 325