|
|
|
|
@@ -1,5 +1,5 @@
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (C) Switch-OC-Suite
|
|
|
|
|
* Copyright (c) Horizon OC Contributors
|
|
|
|
|
*
|
|
|
|
|
* Copyright (c) 2023 hanai3Bi
|
|
|
|
|
*
|
|
|
|
|
@@ -161,8 +161,8 @@
|
|
|
|
|
table->burst_mc_regs.mc_emem_arb_timing_rrd = CEIL(GET_CYCLE_CEIL(tRRD) / MC_ARB_DIV) - 1;
|
|
|
|
|
table->burst_mc_regs.mc_emem_arb_timing_rap2pre = CEIL(GET_CYCLE_CEIL(tRTP) / MC_ARB_DIV);
|
|
|
|
|
table->burst_mc_regs.mc_emem_arb_timing_wap2pre = CEIL(WTP / MC_ARB_DIV);
|
|
|
|
|
// table->burst_mc_regs.mc_emem_arb_timing_r2r = CEIL(table->burst_regs.emc_rext / MC_ARB_DIV) - 1 + MC_ARB_SFA;
|
|
|
|
|
// table->burst_mc_regs.mc_emem_arb_timing_w2w = CEIL(table->burst_regs.emc_wext / MC_ARB_DIV) - 1 + MC_ARB_SFA;
|
|
|
|
|
table->burst_mc_regs.mc_emem_arb_timing_r2r = CEIL(table->burst_regs.emc_rext / MC_ARB_DIV) - 1 + MC_ARB_SFA; // ocs does not patch this
|
|
|
|
|
table->burst_mc_regs.mc_emem_arb_timing_w2w = CEIL(table->burst_regs.emc_wext / MC_ARB_DIV) - 1 + MC_ARB_SFA;
|
|
|
|
|
table->burst_mc_regs.mc_emem_arb_timing_r2w = CEIL(R2W / MC_ARB_DIV) - 1 + MC_ARB_SFA;
|
|
|
|
|
table->burst_mc_regs.mc_emem_arb_timing_w2r = CEIL(W2R / MC_ARB_DIV) - 1 + MC_ARB_SFA;
|
|
|
|
|
table->burst_mc_regs.mc_emem_arb_timing_rfcpb = CEIL(GET_CYCLE_CEIL(tRFCpb) / MC_ARB_DIV);
|
|
|
|
|
@@ -257,9 +257,9 @@
|
|
|
|
|
R_UNLESS(table_list[i]->rev == MTC_TABLE_REV, ldr::ResultInvalidMtcTable());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (C.eristaEmcClock1 <= EmcClkOSLimit ||
|
|
|
|
|
C.eristaEmcClock2 <= EmcClkOSLimit ||
|
|
|
|
|
C.eristaEmcClock3 <= EmcClkOSLimit)
|
|
|
|
|
if (C.eristaEmcClock1 >= EmcClkOSLimit ||
|
|
|
|
|
C.eristaEmcClock2 >= EmcClkOSLimit ||
|
|
|
|
|
C.eristaEmcClock3 >= EmcClkOSLimit)
|
|
|
|
|
R_SKIP();
|
|
|
|
|
|
|
|
|
|
// Make room for three new mtc tables, discarding useless 40.8, 68.0, and 102 MHz tables
|
|
|
|
|
@@ -278,11 +278,11 @@
|
|
|
|
|
u32 *patch_ptr2 = ptr - sizeof(EristaMtcTable) / sizeof(u32);
|
|
|
|
|
u32 *patch_ptr3 = ptr - 2 * (sizeof(EristaMtcTable) / sizeof(u32));
|
|
|
|
|
|
|
|
|
|
if (C.eristaEmcClock3 > EmcClkOSLimit)
|
|
|
|
|
if (C.eristaEmcClock3 < EmcClkOSLimit)
|
|
|
|
|
PATCH_OFFSET(patch_ptr1, C.eristaEmcClock3);
|
|
|
|
|
if (C.eristaEmcClock2 > EmcClkOSLimit)
|
|
|
|
|
if (C.eristaEmcClock2 < EmcClkOSLimit)
|
|
|
|
|
PATCH_OFFSET(patch_ptr2, C.eristaEmcClock2);
|
|
|
|
|
if (C.eristaEmcClock3 > EmcClkOSLimit)
|
|
|
|
|
if (C.eristaEmcClock3 < EmcClkOSLimit)
|
|
|
|
|
PATCH_OFFSET(patch_ptr3, C.eristaEmcClock1);
|
|
|
|
|
|
|
|
|
|
// Handle customize table replacement
|
|
|
|
|
|