-
Notifications
You must be signed in to change notification settings - Fork 458
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
200MHz Clock Support for RP2040 #2814
Comments
Fixes #2814 Biggest difference should be default 200MHz clock (133 still available through the menus) on the RP2040.
I wonder if there are any concerns with the flash SPI interface. On the RP2040 it's a function of the SYSCLK AIUI, so bumping SYSCLK up by 50% would speed up the QSPI the same amount. In any case we'll see if it passes CI and some testing locally. |
....and it doesn't because there is a logic/compile error in SYNC.H. 😭
The function is defined to return a uint32_t but doesn't. It will crash hard on later GCCs (like this one)... |
Probably going to need to wait for a 2.1.2 to bump, but it is being tracked. raspberrypi/pico-sdk#2309 FWIW 200MHz is in the menus already for folks who want to use it, so no real rush. |
Does setting 200MHz in menus actually bump up the core voltage to the officially verified one? Have I missed something or is something missing? |
Good catch. It's kind of a mess in the SDK and I thought it was auto-adjusting, but we need to define Actually seems just defining the new But because we build only a single SDK library for every different F_CPU and use the set_sys_clk() call to set the over/underclock from the app that higher V would still be there even in the nominal 133MHz case. So it's probably best to move that logic into the core and keep the SDK @ 133MHz and nominal V. |
Maybe also make sure that when the frequency is changed to 153.6/135.6 MHz for I²S that the voltage is always the same (either 1.10 V or 1.15 V)? |
The SDK logic is only arduino-pico/cores/rp2040/main.cpp Lines 85 to 92 in 986abe6
|
If you want to give #2815 a try, it's at the stage where everything seems to build OK. I've not done much testing other than very basic ones at this point. You'll need to update the pico-sdk repo to point to my fork until the upstream pico-sdk |
It looks to me like I2S::setSysClk() doesn't adjust the voltage according to the frequency (which may be fine, but it may be necessary to document that compiling with 200 MHz uses 1.15 V compared to default 1.10 V for 125 MHz, even though 153.6 MHz or 135.6 MHz will potentially be used). arduino-pico/cores/rp2040/main.cpp Line 83 in edc01c0
arduino-pico/libraries/I2S/src/I2S.cpp Lines 150 to 158 in edc01c0
|
I see that the latest release of the pico-sdk released yesterday includes the change:
For more details see: pico-sdk 2.1.1
Do you think the next version of your core should make 200MHz the default clock frequency, or remove (Overclocked) from frequencies up to and including 200MHz in the CPU Speed menu?
The text was updated successfully, but these errors were encountered: