custom soc table: fix in (never) years
This commit is contained in:
@@ -30,7 +30,7 @@ LIBNAMES := minIni
|
||||
# major minor patch
|
||||
TARGET_VERSION := 2.2.0
|
||||
KIP_VERSION := 220
|
||||
CUST_REV := 2
|
||||
CUST_REV := 3
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
# options for code generation
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace kip {
|
||||
}
|
||||
|
||||
u32 custRev = cust_get_cust_rev(&table);
|
||||
u32 kipVersion = cust_get_kip_version(&table)
|
||||
u32 kipVersion = cust_get_kip_version(&table);
|
||||
if (custRev < CUST_REV || kipVersion < KIP_VERSION) {
|
||||
notification::writeNotification("Horizon OC\nOutdated kip detected!\nPlease update Horizon OC");
|
||||
fileUtils::LogLine("Cust revision: %u", custRev);
|
||||
@@ -77,6 +77,11 @@ namespace kip {
|
||||
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, emcDvbShift, config::GetConfigValue(KipConfigValue_emcDvbShift));
|
||||
|
||||
for (u32 i = 0; i < 28; i++) {
|
||||
table.marikoSocVoltArray[i] = config::GetConfigValue((HocClkConfigValue)(KipConfigValue_s_volt_1666000 + i));
|
||||
}
|
||||
|
||||
CUST_WRITE_FIELD_BATCH(&table, marikoSocVmax, config::GetConfigValue(KipConfigValue_marikoSocVmax));
|
||||
|
||||
CUST_WRITE_FIELD_BATCH(&table, t1_tRCD, config::GetConfigValue(KipConfigValue_t1_tRCD));
|
||||
@@ -210,7 +215,7 @@ namespace kip {
|
||||
clockManager::gContext.custRev = cust_get_cust_rev(&table);
|
||||
|
||||
u32 custRev = cust_get_cust_rev(&table);
|
||||
u32 kipVersion = cust_get_kip_version(&table)
|
||||
u32 kipVersion = cust_get_kip_version(&table);
|
||||
if (custRev < CUST_REV || kipVersion < KIP_VERSION) {
|
||||
notification::writeNotification("Horizon OC\nOutdated kip detected!\nPlease update Horizon OC");
|
||||
fileUtils::LogLine("Cust revision: %u", custRev);
|
||||
@@ -295,6 +300,10 @@ namespace kip {
|
||||
configValues.values[KipConfigValue_g_volt_e_76800 + i] = cust_get_erista_gpu_volt(&table, i);
|
||||
}
|
||||
|
||||
for (u32 i = 0; i < 28; i++) {
|
||||
configValues.values[KipConfigValue_s_volt_1666000 + i] = cust_get_mariko_soc_volt(&table, i);
|
||||
}
|
||||
|
||||
configValues.values[KipConfigValue_t7_tWTR_fine_tune] = cust_get_tWTR_fine_tune(&table);
|
||||
configValues.values[KipConfigValue_t6_tRTW_fine_tune] = cust_get_tRTW_fine_tune(&table);
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ namespace kip {
|
||||
u32 marikoEmcMaxClock;
|
||||
u32 marikoEmcVddqVolt;
|
||||
u32 emcDvbShift;
|
||||
u32 marikoSocVoltArray[31 - 3]; /* LUT Limit - 3 stock entries. */
|
||||
u32 marikoSocVmax;
|
||||
|
||||
// advanced config
|
||||
@@ -287,6 +288,14 @@ namespace kip {
|
||||
return cust_write_table(p, &t);
|
||||
}
|
||||
|
||||
static inline bool cust_set_mariko_soc_volt(const char* p, int idx, u32 v) {
|
||||
if (idx < 0 || idx >= 24) return false;
|
||||
CustomizeTable t;
|
||||
if (!cust_read_table(p, &t)) return false;
|
||||
t.marikoSocVoltArray[idx] = v;
|
||||
return cust_write_table(p, &t);
|
||||
}
|
||||
|
||||
static inline u32 cust_get_field(const CustomizeTable* t, u32 offset) {
|
||||
if (!t) return 0;
|
||||
return *(u32*)((u8*)t + offset);
|
||||
@@ -370,6 +379,11 @@ namespace kip {
|
||||
return t->marikoGpuVoltArray[idx];
|
||||
}
|
||||
|
||||
static inline u32 cust_get_mariko_soc_volt(const CustomizeTable* t, int idx) {
|
||||
if (!t || idx < 0 || idx >= 24) return 0;
|
||||
return t->marikoSocVoltArray[idx];
|
||||
}
|
||||
|
||||
#define DECL_ERISTA_GPU_VOLT_HELPER(freq, idx) \
|
||||
static inline bool cust_set_erista_gpu_volt_##freq( \
|
||||
const char* p, u32 v) { \
|
||||
@@ -382,6 +396,12 @@ namespace kip {
|
||||
return cust_set_mariko_gpu_volt(p, idx, v); \
|
||||
}
|
||||
|
||||
#define DECL_MARIKO_SOC_VOLT_HELPER(freq, idx) \
|
||||
static inline bool cust_set_mariko_soc_volt_##freq( \
|
||||
const char* p, u32 v) { \
|
||||
return cust_set_mariko_soc_volt(p, idx, v); \
|
||||
}
|
||||
|
||||
DECL_ERISTA_GPU_VOLT_HELPER(76800, 0)
|
||||
DECL_ERISTA_GPU_VOLT_HELPER(115200, 1)
|
||||
DECL_ERISTA_GPU_VOLT_HELPER(153600, 2)
|
||||
@@ -501,6 +521,35 @@ namespace kip {
|
||||
DECL_MARIKO_GPU_VOLT_GET(1497600, 22)
|
||||
DECL_MARIKO_GPU_VOLT_GET(1536000, 23)
|
||||
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(1666000, 10)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(1733000, 11)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(1800000, 12)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(1866000, 13)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(1933000, 14)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2000000, 15)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2066000, 16)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2133000, 17)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2200000, 18)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2266000, 19)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2333000, 10)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2400000, 11)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2466000, 12)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2533000, 13)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2600000, 14)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2666000, 15)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2733000, 16)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2800000, 17)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2866000, 18)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(2933000, 19)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(3000000, 20)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(3066000, 21)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(3133000, 22)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(3200000, 23)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(3266000, 24)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(3333000, 25)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(3400000, 26)
|
||||
DECL_MARIKO_SOC_VOLT_HELPER(3466000, 27)
|
||||
|
||||
void SetKipData();
|
||||
void GetKipData();
|
||||
}
|
||||
Reference in New Issue
Block a user