hocclk: erista finally gets some love
bugfixes and live CPU uv fixed (for erista at least)
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
#include "board_volt.hpp"
|
||||
#include "../file/file_utils.hpp"
|
||||
#include "../i2c/i2cDrv.h"
|
||||
#include "../hos/rgltr.h"
|
||||
namespace board {
|
||||
|
||||
GpuVoltData voltData = {};
|
||||
@@ -134,19 +135,16 @@ namespace board {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (GetHz(HocClkModule_CPU) < tbreakPoint || (!levelLow)) { // account for tbreak
|
||||
*tune0_ptr = cachedTune.tune0Low; // I think each erista has a different tune0/tune1?
|
||||
*tune1_ptr = cachedTune.tune1Low;
|
||||
return;
|
||||
} else {
|
||||
if (levelLow) {
|
||||
*tune0_ptr = eristaCpuUvTable[levelLow-1].tune0;
|
||||
*tune1_ptr = eristaCpuUvTable[levelLow-1].tune1;
|
||||
} else {
|
||||
*tune0_ptr = 0x0;
|
||||
*tune1_ptr = 0x0;
|
||||
}
|
||||
}
|
||||
// if (GetHz(HocClkModule_CPU) < tbreakPoint || (!levelLow)) { // account for tbreak
|
||||
// *tune0_ptr = cachedTune.tune0Low; // I think each erista has a different tune0/tune1?
|
||||
// *tune1_ptr = cachedTune.tune1Low;
|
||||
// return;
|
||||
// } else {
|
||||
// if (levelLow) {
|
||||
*tune0_ptr = eristaCpuUvTable[levelLow-1].tune0;
|
||||
*tune1_ptr = eristaCpuUvTable[levelLow-1].tune1;
|
||||
// } else {
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -213,10 +211,13 @@ namespace board {
|
||||
PcvPowerDomainId_Max77812_Dram = 0x3A000005, // vddq
|
||||
} PowerDomainId;
|
||||
*/
|
||||
/*
|
||||
Note: I think Nintendo's I2C driver (or my driver, but it looks correct to me)
|
||||
*/
|
||||
u32 GetVoltage(HocClkVoltage voltage) {
|
||||
u32 out = 0;
|
||||
BatteryChargeInfo info;
|
||||
|
||||
RgltrSession s;
|
||||
switch (voltage) {
|
||||
case HocClkVoltage_SOC:
|
||||
out = I2c_BuckConverter_GetUvOut(&I2c_SOC);
|
||||
@@ -228,14 +229,18 @@ namespace board {
|
||||
if(GetSocType() == HocClkSocType_Mariko) {
|
||||
out = I2c_BuckConverter_GetUvOut(&I2c_Mariko_CPU);
|
||||
} else {
|
||||
out = I2c_BuckConverter_GetUvOut(&I2c_Erista_CPU);
|
||||
rgltrOpenSession(&s, PcvPowerDomainId_Max77621_Cpu);
|
||||
rgltrGetVoltage(&s, &out);
|
||||
rgltrCloseSession(&s);
|
||||
}
|
||||
break;
|
||||
case HocClkVoltage_GPU:
|
||||
if(GetSocType() == HocClkSocType_Mariko) {
|
||||
out = I2c_BuckConverter_GetUvOut(&I2c_Mariko_GPU);
|
||||
} else {
|
||||
out = I2c_BuckConverter_GetUvOut(&I2c_Erista_GPU);
|
||||
rgltrOpenSession(&s, PcvPowerDomainId_Max77621_Gpu);
|
||||
rgltrGetVoltage(&s, &out);
|
||||
rgltrCloseSession(&s);
|
||||
}
|
||||
break;
|
||||
case HocClkVoltage_EMCVDDQ:
|
||||
@@ -453,5 +458,4 @@ namespace board {
|
||||
|
||||
return baseVolt;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user