add config support and update build script for soc vmax
This commit is contained in:
@@ -85,6 +85,7 @@ typedef enum {
|
|||||||
KipConfigValue_marikoEmcMaxClock,
|
KipConfigValue_marikoEmcMaxClock,
|
||||||
KipConfigValue_marikoEmcVddqVolt,
|
KipConfigValue_marikoEmcVddqVolt,
|
||||||
KipConfigValue_emcDvbShift,
|
KipConfigValue_emcDvbShift,
|
||||||
|
KipConfigValue_marikoSocVmax,
|
||||||
|
|
||||||
KipConfigValue_t1_tRCD,
|
KipConfigValue_t1_tRCD,
|
||||||
KipConfigValue_t2_tRP,
|
KipConfigValue_t2_tRP,
|
||||||
@@ -310,7 +311,8 @@ static inline const char* hocclkFormatConfigValue(HocClkConfigValue val, bool pr
|
|||||||
return pretty ? "Mariko EMC VDDQ Voltage" : "mariko_emc_vddq_volt";
|
return pretty ? "Mariko EMC VDDQ Voltage" : "mariko_emc_vddq_volt";
|
||||||
case KipConfigValue_emcDvbShift:
|
case KipConfigValue_emcDvbShift:
|
||||||
return pretty ? "EMC DVB Shift" : "emc_dvb_shift";
|
return pretty ? "EMC DVB Shift" : "emc_dvb_shift";
|
||||||
|
case KipConfigValue_marikoSocVmax:
|
||||||
|
return pretty ? "SOC Vmax" : "soc_vmax";
|
||||||
// Memory timings
|
// Memory timings
|
||||||
case KipConfigValue_t1_tRCD:
|
case KipConfigValue_t1_tRCD:
|
||||||
return pretty ? "t1 - tRCD" : "t1_trcd";
|
return pretty ? "t1 - tRCD" : "t1_trcd";
|
||||||
@@ -566,6 +568,7 @@ static inline uint64_t hocclkValidConfigValue(HocClkConfigValue val, uint64_t in
|
|||||||
case KipConfigValue_marikoEmcMaxClock:
|
case KipConfigValue_marikoEmcMaxClock:
|
||||||
case KipConfigValue_marikoEmcVddqVolt:
|
case KipConfigValue_marikoEmcVddqVolt:
|
||||||
case KipConfigValue_emcDvbShift:
|
case KipConfigValue_emcDvbShift:
|
||||||
|
case KipConfigValue_marikoSocVmax:
|
||||||
case KipConfigValue_t1_tRCD:
|
case KipConfigValue_t1_tRCD:
|
||||||
case KipConfigValue_t2_tRP:
|
case KipConfigValue_t2_tRP:
|
||||||
case KipConfigValue_t3_tRAS:
|
case KipConfigValue_t3_tRAS:
|
||||||
|
|||||||
@@ -901,8 +901,35 @@ protected:
|
|||||||
|
|
||||||
this->listElement->addItem(new tsl::elm::CategoryHeader("RAM Settings"));
|
this->listElement->addItem(new tsl::elm::CategoryHeader("RAM Settings"));
|
||||||
|
|
||||||
addConfigTrackbar(KipConfigValue_emcDvbShift, "SoC DVB Shift", ValueRange(0, 10, 1));
|
addConfigTrackbar(KipConfigValue_emcDvbShift, "SoC DVB Shift", ValueRange(0, 16, 1)); // yes, DVB 16 is nessesary
|
||||||
|
if(IsMariko()) {
|
||||||
|
std::vector<NamedValue> marikovmaxconf = {
|
||||||
|
NamedValue("Auto", 0),
|
||||||
|
NamedValue("1000 mV", 1000),
|
||||||
|
NamedValue("1025 mV", 1025),
|
||||||
|
NamedValue("1050 mV", 1050),
|
||||||
|
NamedValue("1075 mV", 1075),
|
||||||
|
NamedValue("1100 mV", 1100),
|
||||||
|
NamedValue("1125 mV", 1125),
|
||||||
|
NamedValue("1150 mV", 1150),
|
||||||
|
NamedValue("1175 mV", 1175),
|
||||||
|
NamedValue("1200 mV", 1200),
|
||||||
|
};
|
||||||
|
ValueThresholds marikovmaxT(1075, 1150);
|
||||||
|
|
||||||
|
addConfigButton(
|
||||||
|
KipConfigValue_marikoSocVmax,
|
||||||
|
"SoC Max Volt",
|
||||||
|
ValueRange(0, 12, 1, "", 0),
|
||||||
|
"SoC Max Volt",
|
||||||
|
&marikovmaxT,
|
||||||
|
{},
|
||||||
|
marikovmaxconf,
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
addConfigToggle(KipConfigValue_hpMode, "HP Mode", true);
|
addConfigToggle(KipConfigValue_hpMode, "HP Mode", true);
|
||||||
|
|
||||||
std::map<uint32_t, std::string> emc_voltage_label = {
|
std::map<uint32_t, std::string> emc_voltage_label = {
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ namespace kip {
|
|||||||
CUST_WRITE_FIELD_BATCH(&table, marikoEmcMaxClock, config::GetConfigValue(KipConfigValue_marikoEmcMaxClock));
|
CUST_WRITE_FIELD_BATCH(&table, marikoEmcMaxClock, config::GetConfigValue(KipConfigValue_marikoEmcMaxClock));
|
||||||
CUST_WRITE_FIELD_BATCH(&table, marikoEmcVddqVolt, config::GetConfigValue(KipConfigValue_marikoEmcVddqVolt));
|
CUST_WRITE_FIELD_BATCH(&table, marikoEmcVddqVolt, config::GetConfigValue(KipConfigValue_marikoEmcVddqVolt));
|
||||||
CUST_WRITE_FIELD_BATCH(&table, emcDvbShift, config::GetConfigValue(KipConfigValue_emcDvbShift));
|
CUST_WRITE_FIELD_BATCH(&table, emcDvbShift, config::GetConfigValue(KipConfigValue_emcDvbShift));
|
||||||
|
CUST_WRITE_FIELD_BATCH(&table, marikoSocVmax, config::GetConfigValue(KipConfigValue_marikoSocVmax));
|
||||||
|
|
||||||
CUST_WRITE_FIELD_BATCH(&table, t1_tRCD, config::GetConfigValue(KipConfigValue_t1_tRCD));
|
CUST_WRITE_FIELD_BATCH(&table, t1_tRCD, config::GetConfigValue(KipConfigValue_t1_tRCD));
|
||||||
CUST_WRITE_FIELD_BATCH(&table, t2_tRP, config::GetConfigValue(KipConfigValue_t2_tRP));
|
CUST_WRITE_FIELD_BATCH(&table, t2_tRP, config::GetConfigValue(KipConfigValue_t2_tRP));
|
||||||
@@ -208,6 +209,7 @@ namespace kip {
|
|||||||
configValues.values[KipConfigValue_marikoEmcMaxClock] = cust_get_mariko_emc_max(&table);
|
configValues.values[KipConfigValue_marikoEmcMaxClock] = cust_get_mariko_emc_max(&table);
|
||||||
configValues.values[KipConfigValue_marikoEmcVddqVolt] = cust_get_mariko_emc_vddq(&table);
|
configValues.values[KipConfigValue_marikoEmcVddqVolt] = cust_get_mariko_emc_vddq(&table);
|
||||||
configValues.values[KipConfigValue_emcDvbShift] = cust_get_emc_dvb_shift(&table);
|
configValues.values[KipConfigValue_emcDvbShift] = cust_get_emc_dvb_shift(&table);
|
||||||
|
configValues.values[KipConfigValue_marikoSocVmax] = cust_get_marikoSocVmax(&table);
|
||||||
|
|
||||||
configValues.values[KipConfigValue_t1_tRCD] = cust_get_tRCD(&table);
|
configValues.values[KipConfigValue_t1_tRCD] = cust_get_tRCD(&table);
|
||||||
configValues.values[KipConfigValue_t2_tRP] = cust_get_tRP(&table);
|
configValues.values[KipConfigValue_t2_tRP] = cust_get_tRP(&table);
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ namespace kip {
|
|||||||
u32 marikoEmcMaxClock;
|
u32 marikoEmcMaxClock;
|
||||||
u32 marikoEmcVddqVolt;
|
u32 marikoEmcVddqVolt;
|
||||||
u32 emcDvbShift;
|
u32 emcDvbShift;
|
||||||
|
u32 marikoSocVmax;
|
||||||
|
|
||||||
// advanced config
|
// advanced config
|
||||||
u32 t1_tRCD;
|
u32 t1_tRCD;
|
||||||
u32 t2_tRP;
|
u32 t2_tRP;
|
||||||
@@ -266,6 +268,7 @@ namespace kip {
|
|||||||
static inline bool cust_set_common_gpu_offset(const char* p, u32 v) { CUST_WRITE_FIELD(p, commonGpuVoltOffset, v); }
|
static inline bool cust_set_common_gpu_offset(const char* p, u32 v) { CUST_WRITE_FIELD(p, commonGpuVoltOffset, v); }
|
||||||
static inline bool cust_set_gpu_speedo(const char* p, u32 v) { CUST_WRITE_FIELD(p, gpuSpeedo, v); }
|
static inline bool cust_set_gpu_speedo(const char* p, u32 v) { CUST_WRITE_FIELD(p, gpuSpeedo, v); }
|
||||||
static inline bool cust_set_marikoCpuMaxClock(const char* p, u32 v) { CUST_WRITE_FIELD(p, marikoCpuMaxClock, v); }
|
static inline bool cust_set_marikoCpuMaxClock(const char* p, u32 v) { CUST_WRITE_FIELD(p, marikoCpuMaxClock, v); }
|
||||||
|
static inline bool cust_set_marikoSocVmax(const char* p, u32 v) { CUST_WRITE_FIELD(p, marikoSocVmax, v); }
|
||||||
|
|
||||||
/* GPU VOLT ARRAY HELPERS */
|
/* GPU VOLT ARRAY HELPERS */
|
||||||
static inline bool cust_set_erista_gpu_volt(const char* p, int idx, u32 v) {
|
static inline bool cust_set_erista_gpu_volt(const char* p, int idx, u32 v) {
|
||||||
@@ -354,6 +357,7 @@ namespace kip {
|
|||||||
static inline u32 cust_get_common_gpu_offset(const CustomizeTable* t) { return CUST_GET_FIELD(t, commonGpuVoltOffset); }
|
static inline u32 cust_get_common_gpu_offset(const CustomizeTable* t) { return CUST_GET_FIELD(t, commonGpuVoltOffset); }
|
||||||
static inline u32 cust_get_gpu_speedo(const CustomizeTable* t) { return CUST_GET_FIELD(t, gpuSpeedo); }
|
static inline u32 cust_get_gpu_speedo(const CustomizeTable* t) { return CUST_GET_FIELD(t, gpuSpeedo); }
|
||||||
static inline u32 cust_get_marikoCpuMaxClock(const CustomizeTable* t) { return CUST_GET_FIELD(t, marikoCpuMaxClock); }
|
static inline u32 cust_get_marikoCpuMaxClock(const CustomizeTable* t) { return CUST_GET_FIELD(t, marikoCpuMaxClock); }
|
||||||
|
static inline u32 cust_get_marikoSocVmax(const CustomizeTable* t) { return CUST_GET_FIELD(t, marikoSocVmax); }
|
||||||
|
|
||||||
static inline u32 cust_get_erista_gpu_volt(const CustomizeTable* t, int idx) {
|
static inline u32 cust_get_erista_gpu_volt(const CustomizeTable* t, int idx) {
|
||||||
if (!t || idx < 0 || idx >= 27) return 0;
|
if (!t || idx < 0 || idx >= 27) return 0;
|
||||||
|
|||||||
4
build.sh
4
build.sh
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
SRC="Source/Atmosphere/stratosphere/loader/source/oc"
|
SRC="Source/Atmosphere/stratosphere/loader/"
|
||||||
DEST="build/stratosphere/loader/source/oc"
|
DEST="build/stratosphere/loader/"
|
||||||
mkdir -p "dist/atmosphere/kips/"
|
mkdir -p "dist/atmosphere/kips/"
|
||||||
mkdir -p "$DEST"
|
mkdir -p "$DEST"
|
||||||
|
|
||||||
|
|||||||
BIN
dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp
vendored
BIN
dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp
vendored
Binary file not shown.
BIN
dist/atmosphere/kips/hoc.kip
vendored
BIN
dist/atmosphere/kips/hoc.kip
vendored
Binary file not shown.
BIN
dist/switch/.overlays/Horizon-OC-Monitor.ovl
vendored
BIN
dist/switch/.overlays/Horizon-OC-Monitor.ovl
vendored
Binary file not shown.
BIN
dist/switch/.overlays/horizon-oc-overlay.ovl
vendored
BIN
dist/switch/.overlays/horizon-oc-overlay.ovl
vendored
Binary file not shown.
Reference in New Issue
Block a user