sysclk: fix cpu volt bug

this is the most hacky way ever to do this but hey, it works
This commit is contained in:
souldbminersmwc
2026-01-01 19:09:15 -05:00
parent ea20003df0
commit 7e4474dca5
2 changed files with 17 additions and 2 deletions

View File

@@ -100,13 +100,27 @@ ClockManager::ClockManager()
-2
);
threadStart(&governorTHREAD);
FixCpuBug();
this->context->speedos[HorizonOCSpeedo_CPU] = Board::getCPUSpeedo();
this->context->speedos[HorizonOCSpeedo_GPU] = Board::getGPUSpeedo();
this->context->speedos[HorizonOCSpeedo_SOC] = Board::getSOCSpeedo();
}
void ClockManager::FixCpuBug() {
Board::SetHz(SysClkModule_CPU, 1785000000); // this will just set to the max when kip is unloaded so idgaf
svcSleepThread(5'000'000);
Board::SetHz(SysClkModule_CPU, 1963000000);
svcSleepThread(5'000'000);
Board::SetHz(SysClkModule_CPU, 2091000000);
svcSleepThread(5'000'000);
Board::SetHz(SysClkModule_CPU, 2397000000);
svcSleepThread(5'000'000);
Board::SetHz(SysClkModule_CPU, 1020000000);
svcSleepThread(5'000'000);
ResetToStockClocks();
}
ClockManager::~ClockManager()

View File

@@ -49,6 +49,7 @@ class ClockManager
ClockManager();
virtual ~ClockManager();
void FixCpuBug();
SysClkContext GetCurrentContext();
Config* GetConfig();