diff --git a/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp b/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp index d77e2e55..9a27876b 100644 --- a/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp +++ b/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp @@ -87,6 +87,8 @@ volatile CustomizeTable C = { */ .marikoEmcVddqVolt = 0, +.marikoCpuUV = 0, + .marikoGpuUV = 0, .ramTimingPresetOne = 0, @@ -152,10 +154,36 @@ volatile CustomizeTable C = { { 1887000, { 1609246, -37515, 27 }, { 1120000 } }, { 1963500, { 1675751, -38635, 27 }, { 1120000 } }, // Appending table - { 2091000, { 1716501, -39395, 27 }, { 1120000 } }, - { 2193000, { 1775132, -40505, 27 }, { 1120000 } }, - { 2295000, { 1866287, -42005, 27 }, { 1120000 } }, - //{ 2397000, { 1961107, -43506, 27 }, { 1120000 } }, + { 2091000, { 1716501, -39395, 27 }, { 1235000 } }, + { 2193000, { 1775132, -40505, 27 }, { 1235000 } }, + { 2295000, { 1866287, -42005, 27 }, { 1235000 } }, + { 2397000, { 1961107, -43506, 27 }, { 1235000 } }, +}, + +.marikoCpuDvfsTableSLT = { + { 204000, { 732856, -17335, 113 }, {} }, + { 306000, { 760024, -18195, 113 }, {} }, + { 408000, { 789258, -19055, 113 }, {} }, + { 510000, { 789258, -19055, 113 }, {} }, + { 612000, { 853926, -20775, 113 }, {} }, + { 714000, { 889361, -21625, 113 }, {} }, + { 816000, { 926862, -22485, 113 }, {} }, + { 918000, { 966431, -23345, 113 }, {} }, + { 1020000, { 1008066, -24205, 113 }, { 1120000 } }, + { 1122000, { 1051768, -25065, 113 }, { 1120000 } }, + { 1224000, { 1097537, -25925, 113 }, { 1120000 } }, + { 1326000, { 1145373, -26785, 113 }, { 1120000 } }, + { 1428000, { 1195276, -27645, 113 }, { 1120000 } }, + { 1581000, { 1274006, -28935, 113 }, { 1120000 } }, + { 1683000, { 1329076, -29795, 113 }, { 1120000 } }, + { 1785000, { 1386213, -30655, 113 }, { 1120000 } }, + { 1887000, { 1445416, -31515, 113 }, { 1120000 } }, + { 1963500, { 1490873, -32155, 113 }, { 1120000 } }, + // Appending table + { 2091000, { 1580725, -33235, 113 }, { 1120000 } }, + { 2193000, { 1580725, -33235, 113 }, { 1235000 } }, + { 2295000, { 1635431, -34095, 113 }, { 1235000 } }, + { 2397000, { 1702903, -34955, 113 }, { 1235000 } }, }, /* - Erista GPU DVFS Table: diff --git a/Source/Atmosphere/stratosphere/loader/source/oc/customize.hpp b/Source/Atmosphere/stratosphere/loader/source/oc/customize.hpp index 697c0647..0213e474 100644 --- a/Source/Atmosphere/stratosphere/loader/source/oc/customize.hpp +++ b/Source/Atmosphere/stratosphere/loader/source/oc/customize.hpp @@ -53,6 +53,7 @@ typedef struct CustomizeTable { u32 marikoEmcMaxClock; u32 marikoEmcVddqVolt; //advanced config + u32 marikoCpuUV; u32 marikoGpuUV; u32 ramTimingPresetOne; u32 ramTimingPresetTwo; @@ -63,6 +64,7 @@ typedef struct CustomizeTable { u32 ramTimingPresetSeven; CustomizeCpuDvfsTable eristaCpuDvfsTable; CustomizeCpuDvfsTable marikoCpuDvfsTable; + CustomizeCpuDvfsTable marikoCpuDvfsTableSLT; CustomizeGpuDvfsTable eristaGpuDvfsTable; CustomizeGpuDvfsTable marikoGpuDvfsTable; CustomizeGpuDvfsTable marikoGpuDvfsTableSLT; diff --git a/Source/sys-clk-OC/sysmodule/src/file_utils.cpp b/Source/sys-clk-OC/sysmodule/src/file_utils.cpp index 02e6e7a3..c1255913 100644 --- a/Source/sys-clk-OC/sysmodule/src/file_utils.cpp +++ b/Source/sys-clk-OC/sysmodule/src/file_utils.cpp @@ -304,7 +304,7 @@ Result FileUtils::CustParser(const char* filepath, size_t filesize) { LogLine("Set MEM Vdd2 volt to %u mV: %s", mvolt, R_FAILED(res) ? "Failed" : "OK"); } - cpu_dvfs_table = &table.marikoCpuDvfsTable; + cpu_dvfs_table = table.marikoCpuUV ? &table.marikoCpuDvfsTable : &table.marikoCpuDvfsTableSLT; switch (table.marikoGpuUV) { case 0: gpu_dvfs_table = &table.marikoGpuDvfsTable; diff --git a/Source/sys-clk-OC/sysmodule/src/file_utils.h b/Source/sys-clk-OC/sysmodule/src/file_utils.h index dba69968..14fa30b5 100644 --- a/Source/sys-clk-OC/sysmodule/src/file_utils.h +++ b/Source/sys-clk-OC/sysmodule/src/file_utils.h @@ -56,6 +56,7 @@ typedef struct CustTable { u32 marikoCpuMaxVolt; u32 marikoEmcMaxClock; u32 marikoEmcVddqVolt; + u32 marikoCpuUV; u32 marikoGpuUV; u32 ramTimingPresetOne; u32 ramTimingPresetTwo; @@ -66,6 +67,7 @@ typedef struct CustTable { u32 ramTimingPresetSeven; CustomizeCpuDvfsTable eristaCpuDvfsTable; CustomizeCpuDvfsTable marikoCpuDvfsTable; + CustomizeCpuDvfsTable marikoCpuDvfsTableSLT; CustomizeGpuDvfsTable eristaGpuDvfsTable; CustomizeGpuDvfsTable marikoGpuDvfsTable; CustomizeGpuDvfsTable marikoGpuDvfsTableSLT; diff --git a/pages/src/main.ts b/pages/src/main.ts index 6e4b7a4d..fc71b45d 100644 --- a/pages/src/main.ts +++ b/pages/src/main.ts @@ -257,6 +257,19 @@ var CustTable: Array = [ ]; var AdvTable: Array = [ + new AdvEntry( + "marikoCpuUV", + "Enable Mariko CPU Undervolt", + CustPlatform.Mariko, + 4, + ["Undervolt Mariko CPU", + "Your CPU might not withstand undervolt and performance might drop", + "0 : Default Table", + "1 : Undervolt Level 1 (SLT)",], + 0, + [0,1], + 1, + ), new AdvEntry( "marikoGpuUV", "Enable Mariko GPU Undervolt", @@ -266,8 +279,8 @@ var AdvTable: Array = [ "Your GPU might not withstand undervolt and may not work properly", "Can hang your console, or crash games", "0 : Default Table", - "1 : Undervolt Level 1 (Aggressive)", - "2 : Undervolt Level 2 (Very Aggressive)"], + "1 : Undervolt Level 1 (SLT: Aggressive)", + "2 : Undervolt Level 2 (HiOPT: Very Aggressive)"], 0, [0,2], 1, @@ -391,7 +404,7 @@ var AdvTable: Array = [ ["WARNING: Unstable timings can corrupt your nand", "Latency decrement for both AUTO_ADJ and CUSTOM_ADJ", "Values are : WL - RL", - "0 : Default Latency", + "0 : Default Latency for AUTO_ADJ, Do Not Adjust for CUST_ADJ", "1 : -2 - -4", "2 : -4 - -8", "3 : -6 - -12",