Commit Graph

111 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
012cd40a68 - sys-clk-OC: force disable charging, a temporary toggle that will be reset once power state changes (#57) 2023-01-04 14:25:33 +08:00
KazushiM
277f8d48e5 - sys-clk-OC: Charging current limit 2023-01-02 16:12:13 +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
b50899f4d1 [sys-clk-OC] Governor: Improve utility responsiveness 2022-12-02 20:22:09 +08:00
KazushiM
a360904ac0 Save cust config to localStorage 2022-11-09 12:01:24 +08:00
KazushiM
d884077db8 Online loader_configurator for web browser 2022-11-08 17:21:45 +08:00
KazushiM
523d2dc45a Fix maxMemFreq detection; Add some other alternative governor logic 2022-11-01 23:13:53 +08:00
KazushiM
72a8421df6 Create config dir if it does not exist; Fixed maxMemFreq detection 2022-10-31 17:22:39 +08:00
KazushiM
6a1ac29733 AutoCPUBoost for governor 2022-10-31 13:16:57 +08:00
KazushiM
f1225c9ed1 Revert IpcService thread stack size (#47) 2022-10-31 11:49:34 +08:00
KazushiM
2962163f19 Fix memory leaks; Adjust heap & thread stack size (#47) 2022-10-31 11:20:24 +08:00
KazushiM
859841ab8e - Fixed gpu_hz_list typo in governor (#46)
- Parse loader.kip config from { "/", "/atmosphere/", "/atmosphere/kips/", "/bootloader/" } (#44)
2022-10-31 00:43:40 +08:00
KazushiM
524247955f spl: is unavailable in overlay (ovlloader specifically) 2022-10-29 03:11:52 +08:00
KazushiM
4eed01f458 Fixed SplConfigItem_HardwareType detection 2022-10-30 01:46:02 +08:00
KazushiM
c808daa51f Config directory -> /config/sysclk/ #42 2022-10-30 00:40:56 +08:00
KazushiM
1dcd8cc1bb sys-clk-OC manager 2022-10-29 22:29:30 +08:00
KazushiM
26c0bff4dd Sys-clk-OC: Fixed #41; Erista support added; Manager is deprecated 2022-10-29 18:38:57 +08:00
KazushiM
a6dcf1da5c [Sys-clk-OC] Added an governor toggle per title in overlay (default: governor enabled) (#37); Fixed an issue where governor does not bump CPU frequency immediately to max when some non-system core (Core0/1/2) util is 100%. 2022-10-28 22:18:20 +08:00
KazushiM
851839be0a Schedutil-like governor with proper load_avg calculation; Fixed #36 2022-10-27 01:41:38 +08:00
KazushiM
0f6fb06e53 Boost mode typo; uplift sample rate to 200/s; GPU boost mode = GPU throttled mode 2022-10-24 12:22:23 +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
d596016c84 Fix ReverseNX RT/Tool mode synchronization 2022-10-16 11:38:21 +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
1063022b65 Sys-clk-OC: remove temp. charging toggle, add charging limiter 2022-10-01 20:47:27 +08:00
KazushiM
ff0dcb5ece git subrepo clone --force https://github.com/WerWolv/libtesla Source/sys-clk-OC/overlay/lib/tesla
subrepo:
  subdir:   "Source/sys-clk-OC/overlay/lib/tesla"
  merged:   "930ce85"
upstream:
  origin:   "https://github.com/WerWolv/libtesla"
  branch:   "master"
  commit:   "930ce85"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/Homebrew/brew"
  commit:   "7a14ae618"
2022-10-01 17:09:03 +08:00
KazushiM
6f5de53382 [sys-clk-OC] Disable unsafe frequencies by default; Remove emulator-mode; Move fast-charging handler to sysmodule 2022-05-15 19:37:50 +08:00
KazushiM
fd77dfa6eb Add lbl screen backlight control toggle for overlay (in misc submenu) and memtester (press minus button) 2022-05-08 19:54:23 +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
ac43237b13 Sys-clk-OC: fix emulator-mode detection 2022-04-01 08:38:01 +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
406b2df944 - Add emulator mode (GPU-only freq capping) for handheld profile
- HOS 14.0.0+ removed ts:GetTemperatureMilliC · retronx-team/sys-clk@dcd0d5d
2022-03-24 11:01:14 +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
eaed085697 Read PTO (PLL test output) regs; Prevent CPU clock from being stuck at boost freq when "Auto CPU Boost" is toggled off 2022-02-12 20:02:48 +08:00
KazushiM
4ff20f15f1 - IPC service for handling ReverseNX-RT communication, reducing I/O requests
- Set config for "Auto CPU Boost"/"Sync ReverseNX Mode" in overlay

- Apply hardened freq cap to handheld mode (CPU@1963MHz, GPU@921MHz)
2022-02-11 01:42:57 +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