assign all mtc tables

This commit is contained in:
Lightos1
2026-04-17 23:40:17 +02:00
parent 2dd726723e
commit c95b6fde88
3 changed files with 46 additions and 54 deletions

View File

@@ -152,7 +152,7 @@ namespace ams::ldr::hoc::pcv {
{ marikoCpuDvfsMaxFreq, 1785'000, 2703'000, false, panic::Cpu },
{ C.commonEmcMemVolt, 912'500, 1350'000, false, panic::Emc }, // Official burst vmax for the RAMs is 1500mV
{ GET_MAX_OF_ARR(erista::maxEmcClocks), 1600'000, 2600'000, false, panic::Emc },
{ C.marikoEmcMaxClock, 1600'000, 3700'000, false, panic::Emc },
{ C.marikoEmcMaxClock, 1600'000, 3500'000, false, panic::Emc },
{ C.marikoEmcVddqVolt, 250'000, 700'000, false, panic::Emc },
{ eristaGpuDvfsMaxFreq, 768'000, 1152'000, false, panic::Gpu },
{ marikoGpuDvfsMaxFreq, 768'000, 1536'000, false, panic::Gpu },

View File

@@ -592,7 +592,6 @@ namespace ams::ldr::hoc::pcv::mariko {
}
Result VerifyMtcTable(MarikoMtcTable *tableStart, u32 expectedFreq) {
// Log("Rate_khz: %u, revision: %u\n", tableStart->rate_khz, tableStart->rev);
R_UNLESS(tableStart->rate_khz == expectedFreq, ldr::ResultInvalidMtcTable());
R_UNLESS(tableStart->rev == MTC_TABLE_REV, ldr::ResultInvalidMtcTable());
@@ -624,8 +623,6 @@ namespace ams::ldr::hoc::pcv::mariko {
}
NORETURN void AbortInvalidDramId() {
Log("Invalid dram id\n");
ViewLog();
panic::SmcError(panic::Emc);
CRASH("Invalid dram id\n");
}
@@ -706,8 +703,6 @@ namespace ams::ldr::hoc::pcv::mariko {
static const DramId dramId = [] {
DramId id = GetDramId();
id = IOWA_4GB_SAMSUNG_K4U6E3S4AA_MGCL;
// Log("Dram id: %u\n", id);
return id;
}();
@@ -737,9 +732,6 @@ namespace ams::ldr::hoc::pcv::mariko {
}
MtcExtendTables(table);
for (u32 i = 0; i < newEmcList.size(); ++i) {
// Log("freqList[%u] = %u\n", i, newEmcList[i]);
}
if (R_FAILED(MtcValidateAllTables(table, newEmcList.data(), newEmcList.size()))) {
panic::SmcError(panic::Emc);

View File

@@ -184,23 +184,23 @@ namespace ams::ldr::hoc::pcv::mariko {
};
enum MtcTableIndex {
T210b0SdevEmcDvfsTableS4gb01 = 0, /* Samsung */
T210b0SdevEmcDvfsTableS4gb03 = 1, /* Samsung AM-MGCJ 4Gb */ // guessed
T210b0SdevEmcDvfsTableS8gb03 = 2, /* Samsung AM-MGCJ 8Gb */ // Guesed
T210b0SdevEmcDvfsTableH4gb03 = 3, /* Hynix */
T210b0SdevEmcDvfsTableM4gb03 = 4, /* Micron */
T210b0SdevEmcDvfsTableS4gbY01 = 5, /* Samsung */
T210b0SdevEmcDvfsTableS1y4gbY01 = 6, /* Samsung */
T210b0SdevEmcDvfsTableS1y8gbY01 = 7, /* Samsung */
T210b0SdevEmcDvfsTableS1y4gbX03 = 8, /* Samsung AA-MGCL 4GB */
T210b0SdevEmcDvfsTableS1y8gbX03 = 9, /* Samsung AA-MGCL 8GB */
T210b0SdevEmcDvfsTableS1y4gb01 = 10, /* Samsung */
T210b0SdevEmcDvfsTableM1y4gb01 = 11, /* Micron */
T210b0SdevEmcDvfsTableH1y4gb01 = 12, /* Hynix */
T210b0SdevEmcDvfsTableS1y8gb04 = 13, /* Samsung */
T210b0SdevEmcDvfsTableS1z4gb01 = 14, /* Samsung */
T210b0SdevEmcDvfsTableH1a4gb01 = 15, /* Hynix */
T210b0SdevEmcDvfsTableM1a4gb01 = 16, /* Micron */
T210b0SdevEmcDvfsTableS4gb01 = 0, /* (Unused) Samsung 4Gb */
T210b0SdevEmcDvfsTableS4gb03 = 1, /* Samsung AM-MGCJ 4Gb */
T210b0SdevEmcDvfsTableS8gb03 = 2, /* (Unused) Samsung 4Gb */
T210b0SdevEmcDvfsTableH4gb03 = 3, /* Hynix NME 4Gb */
T210b0SdevEmcDvfsTableM4gb03 = 4, /* Micron WT:F 4Gb */
T210b0SdevEmcDvfsTableS4gbY01 = 5, /* (Unused) Samsung 4Gb */
T210b0SdevEmcDvfsTableS1y4gbY01 = 6, /* (Unused) Samsung 4Gb */
T210b0SdevEmcDvfsTableS1y8gbY01 = 7, /* (Unused) Samsung 4Gb */
T210b0SdevEmcDvfsTableS1y4gbX03 = 8, /* Samsung AA-MGCL 4Gb */
T210b0SdevEmcDvfsTableS1y8gbX03 = 9, /* Samsung AA-MGCL 8Gb */
T210b0SdevEmcDvfsTableS1y4gb01 = 10, /* (Unused) Samsung 4Gb */
T210b0SdevEmcDvfsTableM1y4gb01 = 11, /* Micron WT:E 4Gb */
T210b0SdevEmcDvfsTableH1y4gb01 = 12, /* Hynix NEE 4Gb */
T210b0SdevEmcDvfsTableS1y8gb04 = 13, /* Samsung AM-MGCJ 8Gb */
T210b0SdevEmcDvfsTableS1z4gb01 = 14, /* Samsung AB-MGCL 4Gb */
T210b0SdevEmcDvfsTableH1a4gb01 = 15, /* Hynix x267 4Gb */
T210b0SdevEmcDvfsTableM1a4gb01 = 16, /* Micron WT:B 8Gb */
MtcTableIndex_Invalid = 17,
};
@@ -210,35 +210,35 @@ namespace ams::ldr::hoc::pcv::mariko {
};
constexpr MtcDramIndex mtcIndexTable[] = {
{ HOAG_4GB_HYNIX_H9HCNNNBKMMLXR_NEE, static_cast<MtcTableIndex>(0), },
{ AULA_4GB_HYNIX_H9HCNNNBKMMLXR_NEE, static_cast<MtcTableIndex>(0), },
{ IOWA_4GB_HYNIX_H9HCNNNBKMMLXR_NEE, static_cast<MtcTableIndex>(0), },
{ IOWA_4GB_SAMSUNG_K4U6E3S4AM_MGCJ, static_cast<MtcTableIndex>(0), },
{ IOWA_8GB_SAMSUNG_K4UBE3D4AM_MGCJ, static_cast<MtcTableIndex>(0), },
{ IOWA_4GB_HYNIX_H9HCNNNBKMMLHR_NME, static_cast<MtcTableIndex>(0), },
{ IOWA_4GB_MICRON_MT53E512M32D2NP_046_WTE, static_cast<MtcTableIndex>(0), },
{ HOAG_4GB_SAMSUNG_K4U6E3S4AM_MGCJ, static_cast<MtcTableIndex>(0), },
{ HOAG_8GB_SAMSUNG_K4UBE3D4AM_MGCJ, static_cast<MtcTableIndex>(0), },
{ HOAG_4GB_HYNIX_H9HCNNNBKMMLHR_NME, static_cast<MtcTableIndex>(0), },
{ HOAG_4GB_MICRON_MT53E512M32D2NP_046_WTE, static_cast<MtcTableIndex>(0), },
{ HOAG_4GB_HYNIX_H9HCNNNBKMMLXR_NEE, T210b0SdevEmcDvfsTableH1y4gb01, },
{ AULA_4GB_HYNIX_H9HCNNNBKMMLXR_NEE, T210b0SdevEmcDvfsTableH1y4gb01, },
{ IOWA_4GB_HYNIX_H9HCNNNBKMMLXR_NEE, T210b0SdevEmcDvfsTableH1y4gb01, },
{ IOWA_4GB_SAMSUNG_K4U6E3S4AM_MGCJ, T210b0SdevEmcDvfsTableS4gb03, },
{ IOWA_8GB_SAMSUNG_K4UBE3D4AM_MGCJ, T210b0SdevEmcDvfsTableS1y8gb04, },
{ IOWA_4GB_HYNIX_H9HCNNNBKMMLHR_NME, T210b0SdevEmcDvfsTableH4gb03, },
{ IOWA_4GB_MICRON_MT53E512M32D2NP_046_WTE, T210b0SdevEmcDvfsTableM1y4gb01, },
{ HOAG_4GB_SAMSUNG_K4U6E3S4AM_MGCJ, T210b0SdevEmcDvfsTableS4gb03, },
{ HOAG_8GB_SAMSUNG_K4UBE3D4AM_MGCJ, T210b0SdevEmcDvfsTableS1y8gb04, },
{ HOAG_4GB_HYNIX_H9HCNNNBKMMLHR_NME, T210b0SdevEmcDvfsTableH4gb03, },
{ HOAG_4GB_MICRON_MT53E512M32D2NP_046_WTE, T210b0SdevEmcDvfsTableM1y4gb01, },
{ IOWA_4GB_SAMSUNG_K4U6E3S4AA_MGCL, T210b0SdevEmcDvfsTableS1y4gbX03, },
{ IOWA_8GB_SAMSUNG_K4UBE3D4AA_MGCL, static_cast<MtcTableIndex>(0), },
{ HOAG_4GB_SAMSUNG_K4U6E3S4AA_MGCL, static_cast<MtcTableIndex>(0), },
{ IOWA_4GB_SAMSUNG_K4U6E3S4AB_MGCL, static_cast<MtcTableIndex>(0), },
{ HOAG_4GB_SAMSUNG_K4U6E3S4AB_MGCL, static_cast<MtcTableIndex>(0), },
{ AULA_4GB_SAMSUNG_K4U6E3S4AB_MGCL, static_cast<MtcTableIndex>(0), },
{ HOAG_8GB_SAMSUNG_K4UBE3D4AA_MGCL, static_cast<MtcTableIndex>(0), },
{ AULA_4GB_SAMSUNG_K4U6E3S4AA_MGCL, static_cast<MtcTableIndex>(0), },
{ IOWA_4GB_MICRON_MT53E512M32D2NP_046_WTF, static_cast<MtcTableIndex>(0), },
{ HOAG_4GB_MICRON_MT53E512M32D2NP_046_WTF, static_cast<MtcTableIndex>(0), },
{ AULA_4GB_MICRON_MT53E512M32D2NP_046_WTF, static_cast<MtcTableIndex>(0), },
{ AULA_8GB_SAMSUNG_K4UBE3D4AA_MGCL, static_cast<MtcTableIndex>(0), },
{ IOWA_4GB_HYNIX_H54G46CYRBX267, static_cast<MtcTableIndex>(0), },
{ HOAG_4GB_HYNIX_H54G46CYRBX267, static_cast<MtcTableIndex>(0), },
{ AULA_4GB_HYNIX_H54G46CYRBX267, static_cast<MtcTableIndex>(0), },
{ IOWA_4GB_MICRON_MT53E512M32D1NP_046_WTB, static_cast<MtcTableIndex>(0), },
{ HOAG_4GB_MICRON_MT53E512M32D1NP_046_WTB, static_cast<MtcTableIndex>(0), },
{ AULA_4GB_MICRON_MT53E512M32D1NP_046_WTB, static_cast<MtcTableIndex>(0), },
{ IOWA_8GB_SAMSUNG_K4UBE3D4AA_MGCL, T210b0SdevEmcDvfsTableS1y8gbX03, },
{ HOAG_4GB_SAMSUNG_K4U6E3S4AA_MGCL, T210b0SdevEmcDvfsTableS1y4gbX03, },
{ IOWA_4GB_SAMSUNG_K4U6E3S4AB_MGCL, T210b0SdevEmcDvfsTableS1z4gb01, },
{ HOAG_4GB_SAMSUNG_K4U6E3S4AB_MGCL, T210b0SdevEmcDvfsTableS1y8gb04, },
{ AULA_4GB_SAMSUNG_K4U6E3S4AB_MGCL, T210b0SdevEmcDvfsTableS1y8gb04, },
{ HOAG_8GB_SAMSUNG_K4UBE3D4AA_MGCL, T210b0SdevEmcDvfsTableS1y8gbX03, },
{ AULA_4GB_SAMSUNG_K4U6E3S4AA_MGCL, T210b0SdevEmcDvfsTableS1y4gbX03, },
{ IOWA_4GB_MICRON_MT53E512M32D2NP_046_WTF, T210b0SdevEmcDvfsTableM4gb03, },
{ HOAG_4GB_MICRON_MT53E512M32D2NP_046_WTF, T210b0SdevEmcDvfsTableM4gb03, },
{ AULA_4GB_MICRON_MT53E512M32D2NP_046_WTF, T210b0SdevEmcDvfsTableM4gb03, },
{ AULA_8GB_SAMSUNG_K4UBE3D4AA_MGCL, T210b0SdevEmcDvfsTableS1y8gbX03, },
{ IOWA_4GB_HYNIX_H54G46CYRBX267, T210b0SdevEmcDvfsTableH1a4gb01, },
{ HOAG_4GB_HYNIX_H54G46CYRBX267, T210b0SdevEmcDvfsTableH1a4gb01, },
{ AULA_4GB_HYNIX_H54G46CYRBX267, T210b0SdevEmcDvfsTableH1a4gb01, },
{ IOWA_4GB_MICRON_MT53E512M32D1NP_046_WTB, T210b0SdevEmcDvfsTableM1a4gb01, },
{ HOAG_4GB_MICRON_MT53E512M32D1NP_046_WTB, T210b0SdevEmcDvfsTableM1a4gb01, },
{ AULA_4GB_MICRON_MT53E512M32D1NP_046_WTB, T210b0SdevEmcDvfsTableM1a4gb01, },
};
/*