Skip to content

Commit e33bb40

Browse files
committed
Expose ability to overclock RP2040
1 parent 540e363 commit e33bb40

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/ttboard/demoboard.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ def _clock_pwm_deinit(self):
321321
self._clock_pwm.deinit()
322322
self._clock_pwm = None
323323

324-
def clock_project_PWM(self, freqHz:int, duty_u16:int=(0xffff/2), quiet:bool=False):
324+
def clock_project_PWM(self, freqHz:int, duty_u16:int=(0xffff/2), quiet:bool=False, max_rp2040_freq:int=133_000_000):
325325
'''
326326
Start an automatic clock for the selected project (using
327327
PWM).
@@ -353,8 +353,10 @@ def clock_project_PWM(self, freqHz:int, duty_u16:int=(0xffff/2), quiet:bool=Fals
353353
if self._clock_pio is not None:
354354
self._clock_pio.stop()
355355
try:
356-
rp2040_sys_clock = self._get_best_rp2040_freq(freqHz)
357-
platform.set_RP_system_clock(rp2040_sys_clock)
356+
rp2040_sys_clock = self._get_best_rp2040_freq(freqHz, max_rp2040_freq)
357+
if rp2040_sys_clock != platform.get_RP_system_clock():
358+
log.info(f'Setting RP2040 system clock to {sys_clk_hz}Hz')
359+
platform.set_RP_system_clock(rp2040_sys_clock)
358360
self._clock_pwm = self.pins.rp_projclk.pwm(freqHz, duty_u16)
359361
except Exception as e:
360362
log.error(f"Could not set project clock PWM: {e}")

0 commit comments

Comments
 (0)