1574mhz gpu + 995mV vmax

refer to 2805mhz commit to reasoning
This commit is contained in:
souldbminersmwc committed 2026-08-21 15:11:01 -04:00
1 parent 90efad8dde
commit 160e2483a6
8 files changed
+41 -26

No files matched your search

@@ -182,6 +182,7 @@ volatile CustomizeTable C = {
DEACTIVATED_GPU_FREQ /* 1459 (Disabled by default) */,
DEACTIVATED_GPU_FREQ /* 1497 (Disabled by default) */,
DEACTIVATED_GPU_FREQ /* 1536 (Disabled by default) */,
DEACTIVATED_GPU_FREQ /* 1574 (Disabled by default) */,
},
/* Override soc voltage brackets. */
@@ -586,13 +587,14 @@ volatile CustomizeTable C = {
{ 1152000, { }, { 1180029, -14534, -830, 0, 1469, 110 } },
{ 1228800, { }, { 1238293, -16383, -859, 0, 3722, 313 } },
{ 1267200, { }, { 1276399, -17475, -867, 0, 3681, 559 } },
{ 1305600, { }, { } },
{ 1344000, { }, { } },
{ 1382400, { }, { } },
{ 1420800, { }, { } },
{ 1459200, { }, { } },
{ 1497600, { }, { } },
{ 1536000, { }, { } },
{ 1305600, { }, { 0, 0, 0, 0, 0, 0 } },
{ 1344000, { }, { 0, 0, 0, 0, 0, 0 } },
{ 1382400, { }, { 0, 0, 0, 0, 0, 0 } },
{ 1420800, { }, { 0, 0, 0, 0, 0, 0 } },
{ 1459200, { }, { 0, 0, 0, 0, 0, 0 } },
{ 1497600, { }, { 0, 0, 0, 0, 0, 0 } },
{ 1536000, { }, { 0, 0, 0, 0, 0, 0 } },
{ 1574400, { }, { 0, 0, 0, 0, 0, 0 } },
},
.marikoGpuDvfsTableHighUV = {
@@ -620,6 +622,7 @@ volatile CustomizeTable C = {
{ 1459200, { }, { 0, 0, 0, 0, 0, 0 } },
{ 1497600, { }, { 0, 0, 0, 0, 0, 0 } },
{ 1536000, { }, { 0, 0, 0, 0, 0, 0 } },
{ 1574400, { }, { 0, 0, 0, 0, 0, 0 } },
},
};
@@ -126,7 +126,7 @@ struct CustomizeTable {
s32 commonGpuVoltOffset;
u32 eristaGpuVoltArray[27];
u32 marikoGpuVoltArray[24];
u32 marikoGpuVoltArray[25];
s32 marikoSocVoltArray[28];
u32 fineTune_t6_tRTW;
@@ -134,7 +134,7 @@ struct CustomizeTable {
u32 pcvLogVerbosity;
u32 reserved[58];
u32 reserved[57];
CustomizeCpuDvfsTable eristaCpuDvfsTable;
CustomizeCpuDvfsTable eristaCpuDvfsTableSLT;
@@ -159,8 +159,8 @@ namespace ams::ldr::hoc::pcv {
{ C.marikoEmcVddqVolt, 400'000, 750'000, panic::Emc, },
{ C.marikoSocVmax, 1000, 1200, panic::Emc, },
{ eristaGpuDvfsMaxFreq, 768'000, 1152'000, panic::Gpu, },
{ marikoGpuDvfsMaxFreq, 768'000, 1536'000, panic::Gpu, },
{ C.marikoGpuVmax, 800, 960, panic::Gpu, },
{ marikoGpuDvfsMaxFreq, 768'000, 1574'400, panic::Gpu, },
{ C.marikoGpuVmax, 800, 995, panic::Gpu, }, /* Official GPU vMax is 1050mV */
};
for (auto &v : validators) {
@@ -167,6 +167,7 @@ typedef enum {
KipConfigValue_g_volt_1459200,
KipConfigValue_g_volt_1497600,
KipConfigValue_g_volt_1536000,
KipConfigValue_g_volt_1574400,
KipConfigValue_g_volt_e_76800,
KipConfigValue_g_volt_e_115200,
@@ -483,6 +484,7 @@ static inline const char* hocclkFormatConfigValue(HocClkConfigValue val, bool pr
case KipConfigValue_g_volt_1459200: return pretty ? "Mariko GPU Volt 1459 MHz" : "g_volt_1459200";
case KipConfigValue_g_volt_1497600: return pretty ? "Mariko GPU Volt 1497 MHz" : "g_volt_1497600";
case KipConfigValue_g_volt_1536000: return pretty ? "Mariko GPU Volt 1536 MHz" : "g_volt_1536000";
case KipConfigValue_g_volt_1574400: return pretty ? "Mariko GPU Volt 1574 MHz" : "g_volt_1574400";
// Erista GPU voltages (27)
case KipConfigValue_g_volt_e_76800: return pretty ? "Erista GPU Volt 76 MHz" : "g_volt_e_76800";
@@ -712,6 +714,7 @@ static inline uint64_t hocclkValidConfigValue(HocClkConfigValue val, uint64_t in
case KipConfigValue_g_volt_1459200:
case KipConfigValue_g_volt_1497600:
case KipConfigValue_g_volt_1536000:
case KipConfigValue_g_volt_1574400:
case KipConfigValue_g_volt_e_76800:
case KipConfigValue_g_volt_e_115200:
case KipConfigValue_g_volt_e_153600:
+3 -3
View File
@@ -59,19 +59,19 @@ std::map<uint32_t, std::string> gpu_freq_label_m = {
std::map<uint32_t, std::string> gpu_freq_label_m_slt = {
{ 76800000, "Boost Mode" }, { 307200000, "Handheld" }, { 345600000, "Handheld" }, { 384000000, "Handheld" },
{ 422400000, "Handheld" }, { 460800000, "Handheld" }, { 614400000, "Handheld Safe Max" }, { 768000000, "Docked" },
{ 1075200000, "Safe Max" }, { 1305600000, "Unsafe Max" }, { 1536000000, "Absolute Max" },
{ 1075200000, "Safe Max" }, { 1305600000, "Unsafe Max" }, { 1574400000, "Absolute Max" },
};
std::map<uint32_t, std::string> gpu_freq_label_m_hiopt = {
{ 76800000, "Boost Mode" }, { 307200000, "Handheld" }, { 345600000, "Handheld" }, { 384000000, "Handheld" },
{ 422400000, "Handheld" }, { 460800000, "Handheld" }, { 614400000, "Handheld Safe Max" }, { 768000000, "Docked" },
{ 1152000000, "Safe Max" }, { 1305600000, "Unsafe Max" }, { 1536000000, "Absolute Max" },
{ 1152000000, "Safe Max" }, { 1305600000, "Unsafe Max" }, { 1574400000, "Absolute Max" },
};
std::map<uint32_t, std::string> gpu_freq_label_m_highuv = {
{ 76800000, "Boost Mode" }, { 307200000, "Handheld" }, { 384000000, "Handheld" },
{ 460800000, "Handheld" }, { 614400000, "Handheld Safe Max" }, { 768000000, "Docked" },
{ 1228800000, "Safe Max" }, { 1305600000, "Unsafe Max" }, { 1536000000, "Absolute Max" },
{ 1228800000, "Safe Max" }, { 1305600000, "Unsafe Max" }, { 1574400000, "Absolute Max" },
};
std::map<uint32_t, std::string> *marikoUV[5]{
+10 -4
View File
@@ -2558,7 +2558,7 @@ class GpuSubmenuGui : public MiscGui {
false, true);
ValueThresholds MgpuVmaxThresholds(805, 850);
if(IsMariko()) {
addConfigButton(KipConfigValue_marikoGpuVmax, "GPU Maximum Voltage", ValueRange(800, 960, 5, "mV", 1), "GPU Maximum Voltage",
addConfigButton(KipConfigValue_marikoGpuVmax, "GPU Maximum Voltage", ValueRange(800, 995, 5, "mV", 1), "GPU Maximum Voltage",
&MgpuVmaxThresholds, {}, {}, false, true);
}
}
@@ -2665,7 +2665,7 @@ class GpuCustomTableSubmenuGui : public MiscGui {
this->listElement->addItem(new CompactCategoryHeader("GPU Custom Table (mV)"));
ValueThresholds MgpuVmaxThresholds(800, 850);
ValueThresholds MgpuVmaxThresholds(825, 900);
ValueThresholds EgpuVmaxThresholds(950, 975);
std::vector<NamedValue> mGpuVolts = {
@@ -2688,7 +2688,9 @@ class GpuCustomTableSubmenuGui : public MiscGui {
NamedValue("870mV", 870), NamedValue("875mV", 875), NamedValue("880mV", 880), NamedValue("885mV", 885), NamedValue("890mV", 890),
NamedValue("895mV", 895), NamedValue("900mV", 900), NamedValue("905mV", 905), NamedValue("910mV", 910), NamedValue("915mV", 915),
NamedValue("920mV", 920), NamedValue("925mV", 925), NamedValue("930mV", 930), NamedValue("935mV", 935), NamedValue("940mV", 940),
NamedValue("945mV", 945), NamedValue("950mV", 950), NamedValue("955mV", 955), NamedValue("960mV", 960),
NamedValue("945mV", 945), NamedValue("950mV", 950), NamedValue("955mV", 955), NamedValue("960mV", 960), NamedValue("965mV", 965),
NamedValue("970mV", 970), NamedValue("975mV", 975), NamedValue("980mV", 980), NamedValue("985mV", 985), NamedValue("990mV", 990),
NamedValue("995mV", 995),
};
std::vector<NamedValue> eGpuVolts = {
@@ -2728,7 +2730,8 @@ class GpuCustomTableSubmenuGui : public MiscGui {
NamedValue("875mV", 875), NamedValue("880mV", 880), NamedValue("885mV", 885), NamedValue("890mV", 890), NamedValue("895mV", 895),
NamedValue("900mV", 900), NamedValue("905mV", 905), NamedValue("910mV", 910), NamedValue("915mV", 915), NamedValue("920mV", 920),
NamedValue("925mV", 925), NamedValue("930mV", 930), NamedValue("935mV", 935), NamedValue("940mV", 940), NamedValue("945mV", 945),
NamedValue("950mV", 950), NamedValue("955mV", 955), NamedValue("960mV", 960),
NamedValue("950mV", 950), NamedValue("955mV", 955), NamedValue("960mV", 960), NamedValue("965mV", 965), NamedValue("970mV", 970),
NamedValue("975mV", 975), NamedValue("980mV", 980), NamedValue("985mV", 985), NamedValue("990mV", 990), NamedValue("995mV", 995),
};
std::vector<NamedValue> eGpuVolts_noAuto = {
@@ -2810,6 +2813,9 @@ class GpuCustomTableSubmenuGui : public MiscGui {
&MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false, true);
addGpuFreqVoltageButton(KipConfigValue_g_volt_1536000, "1536.0MHz", 1'536'000'000, ValueRange(0, 0, 0, "0", 1), "Voltage",
&MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false, true);
addGpuFreqVoltageButton(KipConfigValue_g_volt_1574400, "1574.4MHz", 1'574'400'000, ValueRange(0, 0, 0, "0", 1), "Voltage",
&MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false, true);
}
}
} else {
+5 -4
View File
@@ -131,7 +131,7 @@ namespace kip {
CUST_WRITE_FIELD_BATCH(&table, commonGpuVoltOffset, config::GetConfigValue(KipConfigValue_commonGpuVoltOffset));
for (int i = 0; i < 24; i++) {
for (int i = 0; i < 25; i++) {
table.marikoGpuVoltArray[i] = config::GetConfigValue((HocClkConfigValue)(KipConfigValue_g_volt_76800 + i));
}
@@ -315,7 +315,7 @@ namespace kip {
configValues.values[KipConfigValue_marikoGpuVmax] = cust_get_mariko_gpu_vmax(&table);
configValues.values[KipConfigValue_commonGpuVoltOffset] = cust_get_common_gpu_offset(&table);
for (int i = 0; i < 24; i++) {
for (int i = 0; i < 25; i++) {
configValues.values[KipConfigValue_g_volt_76800 + i] = cust_get_mariko_gpu_volt(&table, i);
}
@@ -369,10 +369,11 @@ namespace kip {
config::DeleteKey(CONFIG_VAL_SECTION, "tdp_limit");
config::DeleteKey(CONFIG_VAL_SECTION, "tdp_limit_l");
}
config::SetConfigValues(&configValues, true);
if(previousVersion < 300 && version >= 300) {
configValues.values[KipConfigValue_g_volt_1574400] = 2000;
}
config::SetConfigValues(&configValues, true);
}
} // namespace kip
+6 -4
View File
@@ -94,7 +94,7 @@ namespace kip {
u32 commonGpuVoltOffset;
u32 eristaGpuVoltArray[27];
u32 marikoGpuVoltArray[24];
u32 marikoGpuVoltArray[25];
s32 marikoSocVoltArray[28];
u32 t6_tRTW_fine_tune;
@@ -102,7 +102,7 @@ namespace kip {
u32 pcvLogVerbosity;
u32 reserved[58];
u32 reserved[57];
} CustomizeTable;
#define CUST_MAGIC "CUST"
@@ -395,7 +395,7 @@ namespace kip {
}
static inline bool cust_set_mariko_gpu_volt(const char *p, int idx, u32 v) {
if (idx < 0 || idx >= 24)
if (idx < 0 || idx >= 25)
return false;
CustomizeTable t;
if (!cust_read_table(p, &t))
@@ -607,7 +607,7 @@ namespace kip {
}
static inline u32 cust_get_mariko_gpu_volt(const CustomizeTable *t, int idx) {
if (!t || idx < 0 || idx >= 24)
if (!t || idx < 0 || idx >= 25)
return 0;
return t->marikoGpuVoltArray[idx];
}
@@ -685,6 +685,7 @@ namespace kip {
DECL_MARIKO_GPU_VOLT_HELPER(1459200, 21)
DECL_MARIKO_GPU_VOLT_HELPER(1497600, 22)
DECL_MARIKO_GPU_VOLT_HELPER(1536000, 23)
DECL_MARIKO_GPU_VOLT_HELPER(1574400, 24)
DECL_MARIKO_SOC_VOLT_HELPER(1866000, 0)
DECL_MARIKO_SOC_VOLT_HELPER(2000000, 1)
@@ -790,6 +791,7 @@ namespace kip {
DECL_MARIKO_GPU_VOLT_GET(1459200, 21)
DECL_MARIKO_GPU_VOLT_GET(1497600, 22)
DECL_MARIKO_GPU_VOLT_GET(1536000, 23)
DECL_MARIKO_GPU_VOLT_GET(1574400, 24)
DECL_MARIKO_SOC_VOLT_GET(1866000, 0)
DECL_MARIKO_SOC_VOLT_GET(2000000, 1)