Browse Source

rp2/main: Set the default clock frequency at boot.

As a side effect, the peripheral clock will be set to 48Mhz and both UART
and I2C will not be affected by CPu speed changed using `machine.freq()`.

With the change the UART baud rate range is 50 to 3_000_000.

Signed-off-by: robert-hh <robert@hammelrath.com>
pull/13718/head
robert-hh 9 months ago
committed by Damien George
parent
commit
d420b4e478
  1. 7
      ports/rp2/main.c

7
ports/rp2/main.c

@ -80,6 +80,9 @@ int main(int argc, char **argv) {
pendsv_init(); pendsv_init();
soft_timer_init(); soft_timer_init();
// Set the MCU frequency and as a side effect the peripheral clock to 48 MHz.
set_sys_clock_khz(125000, false);
#if MICROPY_HW_ENABLE_UART_REPL #if MICROPY_HW_ENABLE_UART_REPL
bi_decl(bi_program_feature("UART REPL")) bi_decl(bi_program_feature("UART REPL"))
setup_default_uart(); setup_default_uart();
@ -231,6 +234,10 @@ int main(int argc, char **argv) {
gc_sweep_all(); gc_sweep_all();
mp_deinit(); mp_deinit();
#if MICROPY_HW_ENABLE_UART_REPL
setup_default_uart();
mp_uart_init();
#endif
} }
return 0; return 0;

Loading…
Cancel
Save