loader: implement emc dvb table shift

This commit is contained in:
hanabbi
2023-07-06 04:33:20 +09:00
parent deddfff9ba
commit 7464858387
5 changed files with 21 additions and 3 deletions

View File

@@ -91,6 +91,8 @@ volatile CustomizeTable C = {
.marikoGpuUV = 0,
.marikoEmcDvbShift = 0,
.ramTimingPresetOne = 0,
.ramTimingPresetTwo = 0,

View File

@@ -52,9 +52,10 @@ typedef struct CustomizeTable {
u32 marikoCpuMaxVolt;
u32 marikoEmcMaxClock;
u32 marikoEmcVddqVolt;
//advanced config
u32 marikoCpuUV;
u32 marikoGpuUV;
// advanced config
u32 marikoEmcDvbShift;
u32 ramTimingPresetOne;
u32 ramTimingPresetTwo;
u32 ramTimingPresetThree;
@@ -62,6 +63,7 @@ typedef struct CustomizeTable {
u32 ramTimingPresetFive;
u32 ramTimingPresetSix;
u32 ramTimingPresetSeven;
//
u32 marikoGpuVoltArray[17];
CustomizeCpuDvfsTable eristaCpuDvfsTable;
CustomizeCpuDvfsTable marikoCpuDvfsTable;

View File

@@ -371,10 +371,10 @@ Result MemFreqDvbTable(u32* ptr) {
emc_dvb_dvfs_table_t oc_table = { 2131200, { 725, 700, 675, } };
std::memcpy(new_start, &oc_table, sizeof(emc_dvb_dvfs_table_t));
} else if (C.marikoEmcMaxClock < 2665600){
emc_dvb_dvfs_table_t oc_table = { 2400000, { 750, 725, 700, } };
emc_dvb_dvfs_table_t oc_table = { 2400000, { 750+25*C.marikoEmcDvbShift, 725+25*C.marikoEmcDvbShift, 700+25*C.marikoEmcDvbShift, } };
std::memcpy(new_start, &oc_table, sizeof(emc_dvb_dvfs_table_t));
} else {
emc_dvb_dvfs_table_t oc_table = { 2665600, { 775, 750, 725, } };
emc_dvb_dvfs_table_t oc_table = { 2665600, { 775+25*C.marikoEmcDvbShift, 750+25*C.marikoEmcDvbShift, 725+25*C.marikoEmcDvbShift, } };
std::memcpy(new_start, &oc_table, sizeof(emc_dvb_dvfs_table_t));
}
new_start->freq = C.marikoEmcMaxClock;

View File

@@ -58,6 +58,7 @@ typedef struct CustTable {
u32 marikoEmcVddqVolt;
u32 marikoCpuUV;
u32 marikoGpuUV;
u32 marikoEmcDvbShift;
u32 ramTimingPresetOne;
u32 ramTimingPresetTwo;
u32 ramTimingPresetThree;

View File

@@ -336,6 +336,19 @@ var CustTable: Array<CustEntry> = [
];
var AdvTable: Array<AdvEntry> = [
new AdvEntry(
"marikoEmcDvbShift",
"Step up Mariko EMC DVB Table",
CustPlatform.Mariko,
4,
["Might help with stability at higher memory clock",
"<b>0</b> : Don't Adjust",
"<b>1</b> : Shift one step",
"<b>2</b> : Shift two step"],
0,
[0,2],
1,
),
new AdvEntry(
"ramTimingPresetOne",
"Primary RAM Timing Preset",