Commit Graph
100 Commits
Author SHA1 Message Date
CTCaer fc71e405d2 bdk: display: remove dependency to Nyx storage
display_get_verbose_panel_id should now be used to get the full panel id.
2025-11-27 11:13:54 +02:00
CTCaer e7783f0bd7 bdk: bpmp: add write commits
And deduplicate bpmp_clk_rate_relaxed in bpmp_clk_rate_set.
2025-11-26 16:53:19 +02:00
CTCaer e50ad58d61 bdk: clock: add sdmmc1 to the errata affected list 2025-11-26 16:47:29 +02:00
CTCaer 0a63fa19a3 bdk: clock: allow pll lock wait to timeout
Also enable PLLC4 p/f lock and reduce time waiting before disabling.
2025-11-26 16:46:11 +02:00
CTCaer 19285745b5 bdk: clock: improve PLLC init
- Use 6 as divm and div1 for OUT1 to avoid having very high frequency on OUT0
 There seems to be an undocumented silicon errata where PLLC OUT0 produces EMI
 to input mux logic in modules, even when not using it.
- Always check if PLL is enabled and disable first in order to avoid a silicon
 errata with hybrid PLLs
- Fix PLLC_FLL_LD_MEM value
2025-11-26 14:48:47 +02:00
CTCaer 9c028cd94a bdk: clock: streamline sdmmc func naming
Additionally, restored the pclock variable because of _clock_sdmmc_config_clock_host store order.
2025-11-26 14:37:14 +02:00
CTCaer a2ea3fb08e bdk: clock: use SET/CLR registers for all modules
This is not mandatory but removes unnecessary load-mask/or-stores.

On the other hand, due to an undocumented T210 silicon errata,
these are mandatory for SDMMC modules.
This is because a fraction of T210 chips can glitch out and cause SoC hang.
T210B01 is not affected.
2025-11-26 14:33:56 +02:00
CTCaer 50ac32fd40 Bump hekate to v6.4.1 and Nyx to v1.8.1 2025-11-16 22:11:31 +02:00
CTCaer 43dec3021f nyx: info: add hos version for 22 fuses burnt 2025-11-16 21:54:03 +02:00
CTCaer c72f97eef3 hos: fix 21.0.0 nogc FS patch and refactor patches
The NOGC sdmmc memio patch was incorrectly changing the register that keeps the value for HOS 21.0.0.
Refactored all patches to stop patching the whole op and just change the value from 0x200 to 0x400.
2025-11-16 21:53:26 +02:00
CTCaer 8e813ae8b6 Bump hekate to v6.4.0 and Nyx to v1.8.0 2025-11-15 22:37:09 +02:00
CTCaer 3eab7889bf nyx: parted: do not allow FULL on upgraded eMMC
It's not allowed on creation anyway because of unknown HOS USER size factors
2025-11-14 18:49:41 +02:00
CTCaer 69ac0292f0 hos: add 21.0.0 support 2025-11-11 14:17:04 +02:00
CTCaer 119fcdf9e8 nyx: extend bpmpclock
Add 2 more slower modes.
2025-11-11 13:54:33 +02:00
CTCaer 813346f796 bdk: bpmp: add binX clock defines 2025-11-11 13:52:00 +02:00
CTCaer 260e28e628 bdk: fuse: add sense function 2025-11-11 13:28:44 +02:00
CTCaer 602945d918 bdk: fuse: add extra info on regs 2025-11-11 13:27:36 +02:00
CTCaer 7e01438ed3 bdk: fuse: correct masking on array read cmd 2025-11-11 13:27:13 +02:00
CTCaer 2c66b17f42 bdk: t210: add mc channel macros 2025-11-11 13:24:06 +02:00
CTCaer e2f043a58a bdk: emc/mc: don't use [io]_rsvd naming for unused regs 2025-11-11 13:23:07 +02:00
CTCaer 0737f27ba0 bdk: lvgl: make sure task has a task to call 2025-11-11 13:17:34 +02:00
CTCaer 453ec18048 nyx: part: extend Fix Hybrid MBR/GPT functionality
- Allow invalid/out-of-bounds and empty partitions to be removed from GPT
- Add fix for wrong emuMMC offset because of older bugged Android Dynamic scheme
2025-11-10 15:28:41 +02:00
CTCaer b461bfc846 nyx: info: update SD errors after a bench session 2025-11-10 13:53:43 +02:00
CTCaer e38cff815b nyx: info: say when sbk fuses can't be read
Additionally, swap the IDDQ real with raw values.
2025-11-10 13:52:43 +02:00
CTCaer 5d75b01491 nyx: fix a mem leak on closing emummc change win 2025-11-10 13:50:07 +02:00
CTCaer 50d56c7b4b nyx: part: add support for max 24GB resized emuMMC
If a partition is added manually, 28GB is the max allowed to be created.
2025-11-07 13:33:34 +02:00
CTCaer 0aa35d16da Update template with ;/# and newline info 2025-08-27 16:02:42 +03:00
CTCaer 91e2f6d9db nyx: backup/restore UX improvements
- Fix the verification % and bar if restored backup is smaller than partition
- Use orange bar for restoring when writing to eMMC/emuMMC.
- Fix bar color on restoring after verification
- Allow verification to be aborted for all parts in partial mode (FAT32 or small card)
2025-08-27 15:56:04 +03:00
CTCaer 3896b7cb8f nyx: part mgr: remove gpt 126 entries check
It's done before to validate GPT anyway
2025-08-27 15:48:24 +03:00
CTCaer dad9abe93d minerva: update to v1.5
- "Perf" hack removal (match L4T mini Minerva)
 It's not a performance hack, it just kills low power modes.
 If wanted in L4T, use HP Mode in `ram_oc_opt`.
- Simplify of burst regs config
- Refactor of several bit defines and variables
2025-08-27 15:45:58 +03:00
CTCaer aa4d0678d3 l4t: add some missing carveout configs
Mostly relevant for CARVEOUT_NVDEC_TSEC_ENABLE.
2025-08-27 15:30:47 +03:00
CTCaer ded26332c6 bdk: ini: switch back to ASCII ordering
For combining multiple inis.
2025-08-27 15:22:54 +03:00
CTCaer 21c9e3f81f hekate: use the new dirlist 2025-08-27 15:21:46 +03:00
CTCaer 9309b53054 bdk: dirlist: use flags instead of arguments
A new flag was also added that forces an ASCII ordering instead of Alphabetical one.
2025-08-27 15:18:41 +03:00
CTCaer 9368a780cd bdk: minerva: allow sdmmc la to be skipped on L4T 2025-08-27 15:16:42 +03:00
CTCaer 20fa8382e6 bdk: hwinit: refactor MBIST WAR & add description
The biggest take here is that the split approach of having it in Bootrom and
Bootloader is that it's only for boot. Any later powerdown must rerun the WAR
for that particular power domain.
2025-08-27 15:13:56 +03:00
CTCaer 3cde8b7d58 bdk: hwinit: fix RAM_SVOP_PDP try no 2
Previously the correct reg name was used but register address was not fixed.
So finally fix it.
2025-08-27 15:10:47 +03:00
CTCaer bdf556fd36 bdk: storage: small mmc refactoring
- Correct some Response Type names
- And use _def for mmc defines similarly to sd_def
2025-08-27 15:08:11 +03:00
CTCaer b8e246248f hos: use the renamed mc carveout function 2025-08-27 15:03:09 +03:00
CTCaer fee7571135 bdk: mc: carveouts are not set by cfg so fix them
For HOS <= 3.0.2 the carveouts are set by bootloader and sdram config actually does not set them.
So add which need different value from reset and also make sure that data is flushed for WPR config.
2025-08-27 15:02:27 +03:00
CTCaer 459fe8c19c bdk: make use of new MC/EMC defines 2025-08-27 14:57:12 +03:00
CTCaer a1e4549c29 bdk: rework MC/EMC register defines from scratch
And add register structs also.
2025-08-27 14:52:36 +03:00
CTCaer f354f0e5bd bdk: add some t210 and fuses defines
PGUP tag register can be used to identify which cpu we are running on.
2025-08-27 14:48:35 +03:00
CTCaer ea3a60f516 bdk: clock: simplify logic
Simplify logic for clock enable and sdmmc clock management
2025-08-27 14:44:41 +03:00
CTCaer b4b3133570 bdk: clock: remove non existent module ids
And add comments to special handling ones
2025-08-27 14:41:27 +03:00
CTCaer c63ccd0cdc bdk: pmc: rename pmc_enable_partition 2025-08-27 14:39:44 +03:00
CTCaer 34a6cf3936 Update readme with timeoffset and timedst 2025-08-08 16:00:01 +03:00
CTCaer 8be2c5506e bdk: clock: wait for PLLD to lock when set 2025-08-08 15:58:32 +03:00
CTCaer b8655a2f60 hekate: reorder some checks & add load nyx in TUI 2025-08-08 15:57:07 +03:00
CTCaer 87b1eef598 hos: simplify warmboot pa id calculation 2025-08-08 15:55:01 +03:00
CTCaer 3a9689b46e hos: add NX BIT/BC structures and utilize them
These are used to communicate between bootloader stages and pass config.
The NX Boot Config is now passed as is from PKG2 partition.
2025-08-08 15:49:47 +03:00
CTCaer 216f579527 nyx: tools: correct the backup tool description 2025-08-08 15:37:58 +03:00
CTCaer de91ab507e hos: simple refactor of defines 2025-08-08 15:36:59 +03:00
CTCaer b33ab240f2 nyx: boost dump pkg1/2 functionality
The tool can now dump main and safe pkg1/2.
Additionally, it can identify if FS is exfat or not and set the proper filename.
(FAT32 only FS will still use FS.kip1)
Lastly, this will also dump and decrypt the main/safe BCT structures.
2025-08-08 15:34:17 +03:00
CTCaer 885cc195c0 hos: refactor keyblob to eks and kb to mkey
Use the official name for keyblob which is EKS.
For that reason the keyblob version enum is renamed to master key version.
2025-08-08 15:29:02 +03:00
CTCaer f083dcd280 bdk: add tegra BCT/BIT headers for T210/T210B01 2025-08-08 15:12:30 +03:00
CTCaer db5cc323f2 nyx: do communication checks in battery info
If communication with an IC fails, an error will show up.
2025-08-08 15:11:32 +03:00
CTCaer f013c54a23 nyx: show warning colors if sd vendor is fake 2025-08-08 15:10:01 +03:00
CTCaer af71f46b12 config: utilize devmode variable
This holds the NX hw state.
2025-08-08 15:07:48 +03:00
CTCaer 2ea496d9d1 config: move externs into header 2025-08-08 15:03:56 +03:00
CTCaer 081f8b9664 nyx: deduplicate jc bt pairing dumping 2025-08-08 14:56:02 +03:00
CTCaer 75993938d0 nyx: invalidate time and add dst support
The invalidation is needed for dst to work as we don't know when user
set the clock.
2025-08-08 14:54:58 +03:00
CTCaer 28594c8777 bdk: rtc: add auto dst support and fix an off-by-one 2025-08-08 14:47:47 +03:00
CTCaer aa65e368ba nyx: part mgr: add eMMC partition manager
The eMMC partition manager allows user the following:
- Resize HOS USER partition
- Add and flash Linux partitions
- Add and flash Android partitions

It is hidden and is accessible by holding the `Partition SD Card` button for
5 seconds.
2025-06-22 14:44:43 +03:00
CTCaer 97707e3401 nyx: simplify HOS bis key validation and export it 2025-06-22 14:30:27 +03:00
CTCaer dc744b2ff8 nyx: fix resized emummc backup GPT
Additionally, fix resized emuMMC GPT partition size
2025-06-22 14:28:07 +03:00
CTCaer f990190765 nyx: part mgr: fix 64GB emuMMC size
Fix size so the emuMMC data can be aligned properly.
2025-06-22 14:25:39 +03:00
CTCaer f3e248c0a7 nyx: part mgr: fix android super partition size
The size was incorrectly set before and it would cause unalignment of later partitions.
2025-06-22 14:22:12 +03:00
CTCaer 2fd7163e0d nyx: part mgr: only copy metadata in mbr if they exist 2025-06-22 14:19:34 +03:00
CTCaer 6e93cc42c1 nyx: part mgr: improve layout 2025-06-22 14:18:16 +03:00
CTCaer d01362539a nyx: use correct warning for emummc backup/restore 2025-06-22 14:11:59 +03:00
CTCaer 525746e968 nyx: part mgr: use globals for storage and minsize
Allow setting these dynamically depending on application.
2025-06-22 14:10:07 +03:00
CTCaer 905c83b568 nyx: part mgr: disable next step if already done 2025-06-22 14:03:36 +03:00
CTCaer a3f1ae4a06 nyx: part manager: use u16 for names
Simplify logic and have readable partition names.
2025-06-22 13:51:10 +03:00
CTCaer a1a6111819 bdk: lvgl: set long press to 5s 2025-06-22 13:39:37 +03:00
CTCaer 01c414a180 bdk: fatfs: optimize format and fix PrFILE2 SAFE
The FAT tables are now always aligned 1MB which can increase the FAT traversing
speed. Additionally, always aligning the FAT tables to minimum 16KB fixes a case
where PrFILE2 SAFE could be disabled because of unaligned FAT.
2025-06-22 13:38:56 +03:00
CTCaer 9fe953bee1 bdk: use f_unmount instead of null f_mount 2025-06-22 13:34:42 +03:00
CTCaer 05cc9b6985 bdk: refactor several comments and defines 2025-06-22 13:32:32 +03:00
CTCaer d9fda9411b bdk: update memory map to increase ramdisk size
From 1040 to 1280MB.
2025-06-22 13:27:25 +03:00
CTCaer 40b05ea5ea bdk: usb: revamp hid logic
- Add support for GET REPORT. Allows OS to get a single input report.
- Add support for SET_IDLE. Allows OS to control when to send input reports

The SET IDLE and the underlying logic change fixes several things:
- The old issue of congestion in some systems.
- The new bug that would not allow setup packets to be received because mode
 was set to only send when there are changes.
- Now this starts properly as the old code but allows to be changed by OS on
 demand, while continuing servicing setup packets.
2025-06-22 13:24:47 +03:00
CTCaer e1ea05d53a bdk: usb: small refactor 2025-06-22 13:16:10 +03:00
CTCaer 88c0d13f0b bdk: usb: remove unused endpoint from hid 2025-06-22 13:10:47 +03:00
CTCaer a1e8ddb2a7 bdk: max17050: add version check 2025-06-22 13:00:50 +03:00
CTCaer 39de4464ee bdk: bq24193: add version check 2025-06-22 13:00:27 +03:00
CTCaer 835dba384b bdk: bm92t: add version check 2025-06-22 13:00:01 +03:00
CTCaer f365dd40f4 bdk: smmu: add smmu disable 2025-06-22 12:52:55 +03:00
CTCaer 1fbecfc76a bdk: display: update comments
And also set WinD reg updating to HSYNC
2025-06-22 12:50:27 +03:00
CTCaer d851c16ce7 bdk: clock: refactor common PLL defines 2025-06-22 12:47:26 +03:00
CTCaer 5e8b01f727 Bump hekate to v6.3.1 2025-05-28 04:54:14 +03:00
CTCaer 95fede4418 hos: bail if requested emummc patch is not applied 2025-05-28 04:53:58 +03:00
CTCaer f27934388e hos: 20.1.0 FS support 2025-05-28 04:51:34 +03:00
CTCaer 47f8f3d6da Bump hekate to v6.3.0 and Nyx to v1.7.0 2025-04-30 09:28:34 +03:00
CTCaer ff2b275794 Update readme
Add sys/l4t folder description, simplify some wording and also add `sld_type` key.
2025-04-30 09:28:24 +03:00
CTCaer 85fa62cafc l4t: use strtol for sld_type 2025-04-30 09:27:34 +03:00
CTCaer 75bac23d01 Change several makefile prints
Silence some, fix newline to others.
2025-04-30 09:24:42 +03:00
CTCaer 466beedb28 hos: add 20.0.0 support 2025-04-30 09:22:04 +03:00
CTCaer 57e31c09f9 nyx: info: move sd FAT info after showing errors 2025-04-30 09:15:52 +03:00
CTCaer b3194f6379 bdk: mc: fix warning for arbiter check 2025-04-30 09:14:32 +03:00
CTCaer 129a70c32d bdk: se: heap is not used anymore 2025-04-30 09:13:55 +03:00
CTCaer 811971dfa0 bdk: als: no need to check above 255 with u8 2025-04-30 09:13:19 +03:00