Datasheet

Table Of Contents
consumption.
Here a 48 MHz output is requested:
$ ./vcocalc.py 48
Requested: 48.0 MHz
Achieved: 48.0 MHz
VCO: 1440 MHz
PD1: 6
PD2: 5
Asking for a 48 MHz output with a lower VCO frequency, if possible:
$ ./vcocalc.py -l 48
Requested: 48.0 MHz
Achieved: 48.0 MHz
VCO: 432 MHz
PD1: 3
PD2: 3
For a 125 MHz system clock with a 12 MHz input, the minimum VCO frequency is quite high.
$ ./vcocalc.py -l 125
Requested: 125.0 MHz
Achieved: 125.0 MHz
VCO: 1500 MHz
PD1: 6
PD2: 2
We can restrict the search to lower VCO frequencies, so that the script will consider looser frequency matches. Note that,
whilst a 500 MHz VCO would be ideal here, we can’t achieve exactly 500 MHz by multiplying the 12 MHz input by an
integer, which is why the previous invocation returned such a high VCO frequency.
$ ./vcocalc.py -l 125 --vco-max 600
Requested: 125.0 MHz
Achieved: 126.0 MHz
VCO: 504 MHz
PD1: 4
PD2: 1
2.17.3. Configuration
The Pico SDK uses the following PLL settings:
Pico SDK: https://github.com/raspberrypi/pico-sdk/tree/pre_release/src/rp2_common/hardware_clocks/clocks.c Lines 138 - 141
138 // Configure PLLs
139 // REF FBDIV VCO POSTDIV
140 // PLL SYS: 12 / 1 = 12MHz * 125 = 1500MHZ / 6 / 2 = 125MHz
141 // PLL USB: 12 / 1 = 12MHz * 40 = 480 MHz / 5 / 2 = 48MHz
RP2040 Datasheet
2.17. PLL 204