Commit Graph

44 Commits

Author SHA1 Message Date
KazushiM
a5e63bc034 Save 5KiB heap space from pcv; Separate configurator entries with tabs 2023-01-31 22:24:06 +08:00
KazushiM
f47e7604fe - pages: Drop cust v2 support; Show update time in download section
- oc_loader: Separate Vddq and Vdd2 DRAM voltage for Mariko

- sys-clk-OC: Fix wrong regulator ID; Auto CPU Boost for Erista
2023-01-27 10:45:06 +08:00
KazushiM
cdbd0b0045 Release: 1.4.1 2023-01-25 21:01:04 +08:00
KazushiM
f33a59370a Introduce redesigned project homepage; Fix #64 #65
- loaderConfigurator now renamed to pages, with configurator section supporting both v2 and v3 Cust
2023-01-25 18:58:43 +08:00
KazushiM
120367cf7c EMC voltage for Mariko; Fix #60; Show battery & voltage info in overlay on Erista
- From previous analysis, EMC voltage is set before AMS loads on Mariko, and will not be set again or changed afterwards.

- sys-clk-OC will take care of setting emc voltage on Mariko once it loads.

- OS will not hang at boot as it always boots with EMC @ 1600 MHz.
2023-01-24 23:24:58 +08:00
KazushiM
139c7dfcad - oc_loader: pcv_erista: use 1963.5 MHz instead of 1989
- sys-clk-OC: update safe/unsafe frequencies (Erista CPU 1785/2091, Mariko CPU 1963/2397, Mariko GPU 998/1305); add 408/510 MHz CPU clocks; add unsafe toggle for Erista
2022-12-30 20:58:33 +08:00
KazushiM
b0b80c8458 - oc_loader: major refactoring 2022-12-29 19:41:50 +08:00
KazushiM
b52bef3c31 Updated: Sys-clk-OC, Loader, System_settings
- Sys-clk-OC

  - Major cleanup in clock_manager, preparing to add basic Erista support.

  - Added an experimental CPU & GPU frequency governor.

    - Known issue:

      - Occasional stuttering is expected: GPU load% metric PMU_GET_GPU_LOAD does not reflect real utilization precisely. Use another metric, some interpolation algo or add min frequency option for improvement.

- Loader

  - Addressed an issue for Erista variants: Boot with unmodified Fusee or Hekate, nn::pcv::EmcDvfsPeriodicCompHandler will fail with rc 0x8C5. Fixed by removing 40.8 MHz while retaining 1600.0 MHz MEM table -- however, this means user has to use modified sys-clk.
2022-10-23 23:36:52 +08:00
KazushiM
1d7395da56 - [Sys-clk-OC] (#31) Fix the inverted priority of per-app and global settings in clocks and patches detection
- [loader] Bump to 1.4.0-pre

- [system_settings] Add possible entries introduced in HOS 15.0.0
2022-10-13 02:11:24 +08:00
KazushiM
c8587ce441 Misc gui in sys-clk overlay updated, HOS 15.0.0 test passed
Extracting nca...
79c6b910fe436a85496d3b822f23b8b9.nca (ptm) -> /Volumes/RAMDISK/ptm/
e11685a3958d1f25a8f44f54126b10ff.nca (pcv) -> /Volumes/RAMDISK/pcv/

Converting nca to elf...

Building...

Patching...
Patching pcv for Erista...
CpuClkOSLimit   Count: 1
CpuVoltLimit*   Count: 14
MemClkOSLimit   Count: 32
MemVoltHOS      Count: 2
MemClkPllmLimit Count: 2
	in void ams::ldr::oc::pcv::Erista::Patch(uintptr_t, size_t)
Saving to "/Volumes/RAMDISK/pcv/main.elf.erista"...
Patching pcv for Mariko...
CpuClkOSLimit   Count: 1
CpuClkOfficial  Count: 1
GpuClkOfficial  Count: 1
CpuVoltOfficial Count: 13
MemClkOSLimit   Count: 32
GpuClkPllLimit  Count: 1
MemClkPllmLimit Count: 2
GpuAsmPattern   Count: 2
	in void ams::ldr::oc::pcv::Mariko::Patch(uintptr_t, size_t)
Saving to "/Volumes/RAMDISK/pcv/main.elf.mariko"...
Passed!

Patching ptm (Mariko Only)...
cpuPtmBoost Count: 2
memPtmMax   Count: 9
memPtmAlt   Count: 7
	in void ams::ldr::oc::ptm::Patch(uintptr_t, size_t)
Saving to "/Volumes/RAMDISK/ptm/main.elf.mariko"...
Passed!
2022-10-11 15:28:09 +08:00
KazushiM
9509455291 README.md; loader updated for AMS 1.3.2 2022-04-30 10:56:15 +08:00
KazushiM
c369641229 - [Sys-clk-OC]: Avoid conflicts with ptm module setting boost clocks
- [Sys-clk-OC]: Reduce sensitivity of Auto CPU Boost (≥95%)
- [test_patch]: Throw error if no patching entries were found.
2022-04-14 23:06:39 +08:00
KazushiM
926b9016b1 ldr_oc_suite: adopt ams style return code; test is now clang compatible; loader.kip will not crash if pcv/ptm sysmodules is manually patched. 2022-04-02 22:20:21 +08:00
KazushiM
0bb4249a5f Add info and script on patching sysmodules manually 2022-03-31 23:53:01 +08:00
KazushiM
3daff1b712 ldr_process_creation.cpp: pull from upstream (1.3.0-pre) 2022-03-24 14:34:35 +08:00
KazushiM
d6e2ac2527 HOS 14.0.0 passed:
Extracting nca...
./43772e89bbf8147fef94a4e8d81f4810.nca (pcv) -> /Volumes/RAM/pcv/
./5110ceed5e759af52d8ad3efcd005580.nca (ptm) -> /Volumes/RAM/ptm/

Converting nca to elf...

Building and testing...
Patching pcv...
CpuClkOSLimit   Count: 1
CpuVoltLimit*   Count: 14
MemClkOSLimit   Count: 32
MemVoltHOS      Count: 2
MemClkPllmLimit Count: 2
	in void ams::ldr::oc::pcv::Erista::Patch(uintptr_t, size_t)
CpuClkOSLimit   Count: 1
CpuClkOfficial  Count: 1
GpuClkOfficial  Count: 1
CpuVoltOfficial Count: 13
MemClkOSLimit   Count: 32
GpuClkPllLimit  Count: 1
MemClkPllmLimit Count: 2
GpuAsmPattern   Count: 2
	in void ams::ldr::oc::pcv::Mariko::Patch(uintptr_t, size_t)
Passed!

Patching ptm...
cpuPtmBoost Count: 2
memPtmMax   Count: 9
memPtmAlt   Count: 7
	in void ams::ldr::oc::ptm::Patch(uintptr_t, size_t)
Passed!
2022-03-23 13:51:48 +08:00
KazushiM
6585abfcb8 Configurable CPU Boost Freq 2022-03-17 12:21:06 +08:00
KazushiM
94ac52e80b homebrew to query clkrst registers, requires rebuilding nx-hbloader to allow access; emc pllm(b) divm accepts 1/2/4 only 2022-02-09 19:06:55 +08:00
KazushiM
c701de9ca5 Match pattern before check configuration 2022-02-08 11:48:18 +08:00
KazushiM
7fd47ce576 Add loader configurator in python script 2022-02-08 00:35:05 +08:00
KazushiM
1421586391 Erista EMC volt in uV; Add safety checks (voltage and cust) 2022-02-07 02:25:18 +08:00
KazushiM
c3432281da Cleanup and add self-test 2022-02-07 01:22:14 +08:00
KazushiM
eed44be28b - Remove PLL clock limit (Mariko GPU 1300MHz, MEM 2133MHz; Erista MEM 1866MHz)
- Remove partial DRAM timing customization (waste of time & mem space, import and edit from ams fusee mtc_table instead)
2022-02-06 14:22:01 +08:00
KazushiM
2a08a6f714 - CPU OC for Erista (does NOT work out of the box)
- DRAM Bus voltage for Erista
- Mariko DRAM timing customization
2022-02-05 17:01:33 +08:00
KazushiM
03d2ded202 Customizable clock/volt/mtc_table without recompiling (requires uncompressed loader.kip) 2022-01-26 21:58:41 +08:00
KazushiM
a251178b4c use erista mtc table as tmp buffer for copying and referencing mariko mtc table 2022-01-25 18:54:12 +08:00
KazushiM
0049ffbf7f cleanup 2022-01-21 18:01:43 +08:00
KazushiM
dcaafe6ea0 Refactor auto-patching 2022-01-21 17:20:45 +08:00
KazushiM
2778d29c43 [WIP] Auto patching without finding offsets manually, including EMC OC offsets for Erista 2022-01-21 01:50:54 +08:00
KazushiM
9815684152 [GPU OC] Max freq: 1305 MHz, tested with FP32 compute shaders; Disable GPU overvolting 2022-01-08 06:19:35 +08:00
KazushiM
4373f4fda8 - [loader] revised cpu coefficients
- [misc] report max77812 voltage reg
2022-01-03 04:10:33 +08:00
KazushiM
4f922a1615 - [MEM] Replace 1331.2 MHz with 1600 MHz
- [MEM] Update timings

- [CPU] (Auto-)Boost freq is now 1785 MHz

- [Sys-clk-OC] Add charging and fast charging toggles in overlay
2021-12-25 19:01:55 +08:00
KazushiM
f2215a25ed More precise timing params (accounting for 8Gb density) 2021-12-24 03:09:26 +08:00
KazushiM
cf6ef64d99 No binaries released for now:
- [Sys-clk-OC] Add permanent override for overlay and manager, will add more toggles later and therefore deprecates InfoNX

- [MEM] Replace 1331 MHz table with 1600 MHz (idea by 3DSBricker)

- [MEM] Add more info on SDRAM and tips for timing calculation
2021-12-21 22:52:32 +08:00
KazushiM
e6b608fa43 - [Sys-clk-OC] Partial rewrite, general performance & stability improvement
- [ReverseNX-RT] Notify user if profile is synced with sys-clk
2021-12-18 23:11:26 +08:00
KazushiM
5a63431088 Add extra mtc parameters (untested) and notes on unlocking 2nd DRAM sub-partition to double RAM bandwidth 2021-12-16 00:08:03 +08:00
KazushiM
c4d825102d Add some MC registers and reference 2021-12-15 01:49:44 +08:00
KazushiM
314b769708 [Sys-clk-OC] Add RAM freq selection 2021-12-11 20:21:20 +08:00
KazushiM
46c0cb88c3 [RAM@2131.2MHz] Add DRAM timing adjusment, 2131.2 MHz should work for all ram chips and achieves higher bandwidth;
[Fix] Revert to permanent RAM clock (ptm-patch);
No longer actively maintained next year.
2021-12-11 13:19:41 +08:00
KazushiM
c66c836ae3 GPU Max frequency is now 1497.6MHz; RAM clocks could be set in sys-clk-OC (1331 and Max); DRAM manu as suffixes in loader.kip file names for references; README 2021-12-03 23:46:43 +08:00
KazushiM
6826fafe16 AMS-1.2.5 HOS-13.2.0; prelim mtc patching 2021-12-03 03:16:34 +08:00
KazushiM
7dd0b78e15 - [Fix] CPU@2397MHz and GPU@1344MHz can be set on all consoles
- README

- Add more RAM freqs as overvolting is now available
2021-11-28 19:28:58 +08:00
KazushiM
8bd7fa6f99 coefficients struct; gpu overvolt 2021-11-28 02:07:31 +08:00
KazushiM
b41946799e emc overvolt 2021-11-26 15:42:43 +08:00