diff --git a/Source/hoc-clk/bpmpfw/out/bpmpfw.bin b/Source/hoc-clk/bpmpfw/out/bpmpfw.bin index 3ac590de..61766ba1 100644 Binary files a/Source/hoc-clk/bpmpfw/out/bpmpfw.bin and b/Source/hoc-clk/bpmpfw/out/bpmpfw.bin differ diff --git a/Source/hoc-clk/bpmpfw/source/main.cpp b/Source/hoc-clk/bpmpfw/source/main.cpp index f604f063..2da95075 100644 --- a/Source/hoc-clk/bpmpfw/source/main.cpp +++ b/Source/hoc-clk/bpmpfw/source/main.cpp @@ -36,7 +36,7 @@ void MainLoop(HocClkBpmpSharedInfo &info) { for (;;) { const u32 temp1 = MMIO32(SocthermBase + SocthermSensorTemp1); const u32 temp2 = MMIO32(SocthermBase + SocthermSensorTemp2); - + info.tempCpu = TranslateSocthermTemp(static_cast(temp1 >> 16)); info.tempGpu = TranslateSocthermTemp(static_cast(temp1)); info.tempMem = TranslateSocthermTemp(static_cast(temp2 >> 16)); @@ -60,6 +60,7 @@ extern "C" void main() { MainLoop(info); printf("[hoc-bpmpfw]: PANIC\n"); + /* Clear the magic so sysmodule knows of a panic */ info.magic = 0x0; diff --git a/Source/hoc-clk/sysmodule/src/bpmp/bpmp.cpp b/Source/hoc-clk/sysmodule/src/bpmp/bpmp.cpp index 35a2a175..bf1824cf 100644 --- a/Source/hoc-clk/sysmodule/src/bpmp/bpmp.cpp +++ b/Source/hoc-clk/sysmodule/src/bpmp/bpmp.cpp @@ -23,6 +23,7 @@ #include "../file/config.hpp" #include "../file/file_utils.hpp" #include "../mapping/mem_map.hpp" +#include "../tsensor/soctherm.hpp" #include "bpmp.hpp" #include "bpmpfw_bin.h" @@ -121,6 +122,10 @@ namespace bpmp { if (R_SUCCEEDED(rc)) { if (state == PscPmState_Awake) { svcSleepThread(500'000'000); // 500ms + + /* I have no clue why this is needed as it wasn't needed before ¯\(ツ)/¯ */ + tsensor::InitializeSoctherm(); + Result wrc = StartBpmfwExecution(); if (R_FAILED(wrc)) { fileUtils::LogLine("[bpmp] restart after wake failed: 0x%x", wrc);