hoc-clk: remove unstuck delay and clarify workaround
This commit is contained in:
1 parent
5f973f60b2
commit
1a0fddf7ea
1 file changed
+4
-4
@@ -652,12 +652,12 @@ namespace board {
|
|||||||
VolatileCopyDwords(cpuVoltData.table, cpuVoltData.lut, LutSize);
|
VolatileCopyDwords(cpuVoltData.table, cpuVoltData.lut, LutSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO: Dynamically get this from the PCV LUT */
|
/* TODO: Dynamically get this from the PCV LUT? */
|
||||||
void UnstuckFreqWar() {
|
void UnstuckFreqWar() {
|
||||||
constexpr u32 KNOWN_GOOD_WAR_FREQUENCY = 1'785'000'000;
|
|
||||||
u32 hz = board::GetHz(HocClkModule_CPU);
|
u32 hz = board::GetHz(HocClkModule_CPU);
|
||||||
board::SetHz(HocClkModule_CPU, KNOWN_GOOD_WAR_FREQUENCY);
|
/* Voltage needs to be above the forced minimum voltage, so we set max for a short time. */
|
||||||
svcSleepThread(5'000'000);
|
/* This frequency is only applied for ~250ms. */
|
||||||
|
board::SetHz(HocClkModule_CPU, ~0);
|
||||||
board::SetHz(HocClkModule_CPU, hz);
|
board::SetHz(HocClkModule_CPU, hz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user