- oc_loader: major refactoring

This commit is contained in:
KazushiM
2022-12-29 19:37:42 +08:00
parent b50899f4d1
commit b0b80c8458
24 changed files with 1501 additions and 2595 deletions

View File

@@ -0,0 +1,49 @@
/*
* Copyright (C) Switch-OC-Suite
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define CUST_REV 2
#include "oc_suite_common.hpp"
namespace ams::ldr::oc {
#include "mtc_timing_table.hpp"
enum MtcConfig {
AUTO_ADJ_MARIKO_SAFE = 0,
AUTO_ADJ_MARIKO_4266 = 1,
};
typedef struct __attribute__((packed)) CustomizeTable {
u8 cust[4] = {'C', 'U', 'S', 'T'};
u16 custRev = CUST_REV;
u16 mtcConf = AUTO_ADJ_MARIKO_SAFE;
u32 marikoCpuMaxClock;
u32 marikoCpuBoostClock;
u32 marikoCpuMaxVolt;
u32 marikoGpuMaxClock;
u32 marikoEmcMaxClock;
u32 eristaCpuOCEnabled;
u32 eristaCpuMaxVolt;
u32 eristaEmcMaxClock;
u32 eristaEmcVolt;
} CustomizeTable;
extern volatile CustomizeTable C;
}