hocclk: better aotag
This commit is contained in:
@@ -55,6 +55,8 @@ namespace board {
|
||||
PwmChannelSession iCon;
|
||||
|
||||
u32 fd = 0, fd2 = 0;
|
||||
|
||||
#define PMC_BASE 0x7000E400
|
||||
|
||||
void FetchHardwareInfos() {
|
||||
ReadFuses(fuseData);
|
||||
@@ -140,7 +142,16 @@ namespace board {
|
||||
FetchHardwareInfos();
|
||||
|
||||
soctherm::Initialize();
|
||||
aotag::init(GetSocType() == HocClkSocType_Mariko);
|
||||
// PMC exosphere check
|
||||
SecmonArgs args = {};
|
||||
args.X[0] = 0xF0000002;
|
||||
args.X[1] = PMC_BASE;
|
||||
svcCallSecureMonitor(&args);
|
||||
|
||||
if (args.X[1] != PMC_BASE) { // if param 1 is identical read failed
|
||||
aotag::init(GetSocType() == HocClkSocType_Mariko);
|
||||
}
|
||||
|
||||
Result pwmCheck = 1;
|
||||
if (hosversionAtLeast(6,0,0) && R_SUCCEEDED(pwmInitialize())) {
|
||||
pwmCheck = pwmOpenSession2(&iCon, 0x3D000001);
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#include "../soctherm.hpp"
|
||||
#include "bq24193.hpp"
|
||||
#include "../aotag.hpp"
|
||||
|
||||
#include "../config.hpp"
|
||||
namespace board {
|
||||
|
||||
s32 GetTemperatureMilli(HocClkThermalSensor sensor) {
|
||||
@@ -50,8 +50,7 @@ namespace board {
|
||||
break;
|
||||
}
|
||||
case HocClkThermalSensor_PCB: {
|
||||
millis = aotag::getTemp();
|
||||
// = tmp451TempPcb();
|
||||
millis = tmp451TempPcb();
|
||||
break;
|
||||
}
|
||||
case HocClkThermalSensor_Skin: {
|
||||
@@ -80,7 +79,11 @@ namespace board {
|
||||
break;
|
||||
}
|
||||
case HocClkThermalSensor_MEM: {
|
||||
millis = board::GetSocType() == HocClkSocType_Mariko ? temps.pllx : temps.mem;
|
||||
if(board::GetSocType() == HocClkSocType_Mariko && aotag::isInitialized() && aotag::getTemp() > 0) {
|
||||
millis = (temps.gpu * 0.45f) + (temps.pllx * 0.30f) + (temps.cpu * 0.15f) + (aotag::getTemp() * 0.10f) + 3000;
|
||||
} else {
|
||||
millis = board::GetSocType() == HocClkSocType_Mariko ? temps.pllx : temps.mem;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case HocClkThermalSensor_PLLX: {
|
||||
@@ -91,6 +94,10 @@ namespace board {
|
||||
millis = bq24193::getBQTemp();
|
||||
break;
|
||||
}
|
||||
case HocClkThermalSensor_AO: {
|
||||
millis = aotag::getTemp();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
ASSERT_ENUM_VALID(HocClkThermalSensor, sensor);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user