From 1a0fddf7ea2b16ce6feaff05ef3460e592486019 Mon Sep 17 00:00:00 2001 From: Lightos1 <124387232+Lightos1@users.noreply.github.com> Date: Tue, 6 Oct 2026 15:43:00 +0200 Subject: [PATCH] hoc-clk: remove unstuck delay and clarify workaround --- Source/hoc-clk/sysmodule/src/board/board_volt.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/hoc-clk/sysmodule/src/board/board_volt.cpp b/Source/hoc-clk/sysmodule/src/board/board_volt.cpp index 6a1b8639..91dcb959 100644 --- a/Source/hoc-clk/sysmodule/src/board/board_volt.cpp +++ b/Source/hoc-clk/sysmodule/src/board/board_volt.cpp @@ -652,12 +652,12 @@ namespace board { VolatileCopyDwords(cpuVoltData.table, cpuVoltData.lut, LutSize); } - /* TODO: Dynamically get this from the PCV LUT */ + /* TODO: Dynamically get this from the PCV LUT? */ void UnstuckFreqWar() { - constexpr u32 KNOWN_GOOD_WAR_FREQUENCY = 1'785'000'000; u32 hz = board::GetHz(HocClkModule_CPU); - board::SetHz(HocClkModule_CPU, KNOWN_GOOD_WAR_FREQUENCY); - svcSleepThread(5'000'000); + /* Voltage needs to be above the forced minimum voltage, so we set max for a short time. */ + /* This frequency is only applied for ~250ms. */ + board::SetHz(HocClkModule_CPU, ~0); board::SetHz(HocClkModule_CPU, hz); }