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