CTCaer
ffc0aa2c3d
bdk: fuse: return array size with fuse_read_array
2026-03-27 09:57:23 +01:00
CTCaer
bb20eabea2
nyx: parted: remove invisible btns in eMMC mode
2026-03-27 09:57:23 +01:00
CTCaer
330b463110
nyx: add a small stall in lvgl loop
...
EMC CC should not run in less than 20us.
2026-03-27 09:56:31 +01:00
CTCaer
4af99c9f78
hos/l4t: deduplicate sc7exit-b01 load
...
And remove obsolete MWS (L4T one deprecated it 3 years ago).
2026-03-27 09:56:31 +01:00
CTCaer
4c2f8f14dc
hos: reflect minerva changes
2026-03-27 09:55:59 +01:00
CTCaer
fd8c2ef56d
lp0 cfg: use a more appropriate entry name
2026-03-27 09:55:12 +01:00
CTCaer
6b66b7f079
minerva: update tov1.6_T210/v0.1_T21X
...
T21X v0.1:
- Add IRB/no table support
T210 v1.6/Common:
- Add a proper table for 8GB T210 config instead of editing a 4GB one
- Increase timeout to 2ms
- Generally improve checks and guard against unknown SoCs/SKUs
- Remove the long ago obsolete OVERCLOCK_FREQ/OVERCLOCK_VOLTAGE ifdefs
2026-03-27 09:55:12 +01:00
CTCaer
76922b7b87
bdk: minerva: add IRB support
...
Aka no table support.
2026-03-27 09:55:12 +01:00
CTCaer
2bc4000acc
hekate: gfx: correct a very very very old typo
2026-03-27 09:55:12 +01:00
CTCaer
892dba3a71
hekate: exo: simplify fatal screen to save space
...
And remove an obsolete message.
2026-03-27 09:55:12 +01:00
CTCaer
851bf05841
hekate: remove precise free clusters calc in TUI
2026-03-27 09:55:12 +01:00
CTCaer
03cb1aac29
bdk: clock: update some defines
2026-03-27 09:54:06 +01:00
CTCaer
61cb77a016
bdk: sdmmc: add defines for max block number
2026-03-27 09:54:06 +01:00
CTCaer
facd5c9ae9
Bump hekate to v6.4.2 and Nyx to v1.8.2
2026-03-27 09:53:33 +01:00
CTCaer
5c04530bfc
nyx: options: add month/date checks for roller
...
Now the roller will return back automatically if day can't be set for selected month.
Additionally, fix the check when saving.
2026-03-27 09:53:33 +01:00
CTCaer
ef5033fb0e
nyx: info: add wafer graph with die x/y placement
2026-03-27 09:53:33 +01:00
CTCaer
952a7e8aa2
nyx: info: streamline hw info from fuses
...
- Compact and group relevant values together
- Use actual value name instead of register name where possible
- Fix LOT code masking
- Fully parse and show LOT code (it's the same marking on die)
- Correct X coordinate parsing (9bit 2s complement)
- Add product code
2026-03-27 09:53:33 +01:00
CTCaer
4430833d28
hekate: write rsvd cfg to update.bin if different
2026-03-27 09:53:33 +01:00
CTCaer
3af536f954
nyx: do init always with lowest clock boost
2026-03-27 09:52:34 +01:00
CTCaer
5bc98c4b19
nyx: fix bt pairing dumping
2026-03-27 09:52:34 +01:00
CTCaer
2b353c1336
nyx: info: add forced 8GB ram info
2026-03-27 09:52:34 +01:00
CTCaer
32c374aff5
hekate: show errors before parsing R2C
2026-03-27 09:52:34 +01:00
CTCaer
1af22f6c45
hekate: add force 8GB ram config mode
2026-03-27 09:52:34 +01:00
CTCaer
4b796ab63f
loader/hekate/nyx: utilize the new rsvd cfg
2026-03-27 09:52:34 +01:00
CTCaer
8d525a3c50
bdk: add reserved cfg to ipl meta and nyx storage
2026-03-27 09:51:47 +01:00
CTCaer
ef0ab0b0f1
bdk: sdmmc: correct drive ohms comment
2026-03-27 09:51:47 +01:00
CTCaer
7b7906efc2
bdk: clock: add i2c to the errata affected list
2026-03-27 09:51:47 +01:00
CTCaer
e29d139946
bdk: fuse: allow overriding dram id fuses
...
This should be set before running sdram init.
fuse_read_dramid(true) will still return the real id.
2026-03-27 09:51:47 +01:00
CTCaer
cfcbb62768
hekate/nyx: use minerva storage and panel id
2026-03-27 09:51:47 +01:00
CTCaer
b862311c0c
bdl: minerva: add deinit function
...
Removes dependency to Nyx storage for hw init too.
2026-03-27 09:51:46 +01:00
CTCaer
11b49e3bbc
bdk: nyx: rename disp_id to panel_id
2026-03-27 09:51:46 +01:00
CTCaer
ac245a0b6f
bdk: minerva: remove dependency to Nyx storage
...
minerva_str_t must be used now and passed directly to minerva_init.
2026-03-27 09:51:46 +01:00
CTCaer
c0300b1cee
bdk: display: remove dependency to Nyx storage
...
display_get_verbose_panel_id should now be used to get the full panel id.
2026-03-27 09:51:46 +01:00
CTCaer
1eaa801d6a
bdk: bpmp: add write commits
...
And deduplicate bpmp_clk_rate_relaxed in bpmp_clk_rate_set.
2026-03-27 09:51:46 +01:00
CTCaer
25359b23b9
bdk: clock: add sdmmc1 to the errata affected list
2026-03-27 09:51:46 +01:00
CTCaer
db08514ff0
bdk: clock: allow pll lock wait to timeout
...
Also enable PLLC4 p/f lock and reduce time waiting before disabling.
2026-03-27 09:51:46 +01:00
CTCaer
877e2c7c2e
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
2026-03-27 09:51:46 +01:00
CTCaer
fa2d7854d3
bdk: clock: streamline sdmmc func naming
...
Additionally, restored the pclock variable because of _clock_sdmmc_config_clock_host store order.
2026-03-27 09:51:46 +01:00
CTCaer
ac0d98ad29
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.
2026-03-27 09:51:46 +01:00
CTCaer
9b216efddf
Bump hekate to v6.4.1 and Nyx to v1.8.1
2026-03-27 09:49:29 +01:00
CTCaer
911b170b4d
nyx: info: add hos version for 22 fuses burnt
2026-03-27 09:49:29 +01:00
CTCaer
c026b1db3d
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.
2026-03-27 09:49:29 +01:00
CTCaer
dc1ad1a5a7
Bump hekate to v6.4.0 and Nyx to v1.8.0
2026-03-27 09:49:29 +01:00
CTCaer
36aa1b21ad
nyx: parted: do not allow FULL on upgraded eMMC
...
It's not allowed on creation anyway because of unknown HOS USER size factors
2026-03-27 09:49:29 +01:00
CTCaer
10521a32d3
hos: add 21.0.0 support
2026-03-27 09:48:54 +01:00
CTCaer
82a97aae53
nyx: extend bpmpclock
...
Add 2 more slower modes.
2026-03-27 09:48:54 +01:00
CTCaer
a365af0492
bdk: bpmp: add binX clock defines
2026-03-27 09:48:54 +01:00
CTCaer
28dce16877
bdk: fuse: add sense function
2026-03-27 09:48:54 +01:00
CTCaer
f541f14699
bdk: fuse: add extra info on regs
2026-03-27 09:48:54 +01:00
CTCaer
518cfd401a
bdk: fuse: correct masking on array read cmd
2026-03-27 09:48:54 +01:00
CTCaer
44dd00c29a
bdk: t210: add mc channel macros
2026-03-27 09:48:54 +01:00
CTCaer
0fa5db1d74
bdk: emc/mc: don't use [io]_rsvd naming for unused regs
2026-03-27 09:48:53 +01:00
CTCaer
76d5cf591f
bdk: lvgl: make sure task has a task to call
2026-03-27 09:48:53 +01:00
CTCaer
daf832971e
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
2026-03-27 09:48:53 +01:00
CTCaer
3c260b1918
nyx: info: update SD errors after a bench session
2026-03-27 09:48:07 +01:00
CTCaer
6b4b20e0ac
nyx: info: say when sbk fuses can't be read
...
Additionally, swap the IDDQ real with raw values.
2026-03-27 09:48:07 +01:00
CTCaer
0468877136
nyx: fix a mem leak on closing emummc change win
2026-03-27 09:48:07 +01:00
CTCaer
fba05d4e7a
nyx: part: add support for max 24GB resized emuMMC
...
If a partition is added manually, 28GB is the max allowed to be created.
2026-03-27 09:46:51 +01:00
CTCaer
b70fcb77e2
Update template with ;/# and newline info
2026-03-27 09:44:58 +01:00
CTCaer
5437f9ce2c
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)
2026-03-27 09:44:58 +01:00
CTCaer
87e3ddadf7
nyx: part mgr: remove gpt 126 entries check
...
It's done before to validate GPT anyway
2026-03-27 09:44:58 +01:00
CTCaer
8b7777f25b
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
2026-03-27 09:44:07 +01:00
CTCaer
b0ec8a1e64
l4t: add some missing carveout configs
...
Mostly relevant for CARVEOUT_NVDEC_TSEC_ENABLE.
2026-03-27 09:44:07 +01:00
CTCaer
67157b1867
bdk: ini: switch back to ASCII ordering
...
For combining multiple inis.
2026-03-27 09:44:07 +01:00
CTCaer
23ac454b1d
hekate: use the new dirlist
2026-03-27 09:44:07 +01:00
CTCaer
af72bb5b94
bdk: dirlist: use flags instead of arguments
...
A new flag was also added that forces an ASCII ordering instead of Alphabetical one.
2026-03-27 09:44:07 +01:00
CTCaer
e19cf3038b
bdk: minerva: allow sdmmc la to be skipped on L4T
2026-03-27 09:44:07 +01:00
CTCaer
b52f5edce6
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.
2026-03-27 09:44:07 +01:00
CTCaer
393d135105
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.
2026-03-27 09:44:07 +01:00
CTCaer
6cc3aee389
bdk: storage: small mmc refactoring
...
- Correct some Response Type names
- And use _def for mmc defines similarly to sd_def
2026-03-27 09:44:07 +01:00
CTCaer
7b4b26bb38
hos: use the renamed mc carveout function
2026-03-27 09:44:07 +01:00
CTCaer
030576ff3f
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.
2026-03-27 09:44:07 +01:00
CTCaer
44e4c0ab21
bdk: make use of new MC/EMC defines
2026-03-27 09:44:07 +01:00
CTCaer
f45adfd92f
bdk: rework MC/EMC register defines from scratch
...
And add register structs also.
2026-03-27 09:44:06 +01:00
CTCaer
2fda4115aa
bdk: add some t210 and fuses defines
...
PGUP tag register can be used to identify which cpu we are running on.
2026-03-27 09:44:06 +01:00
CTCaer
d289224653
bdk: clock: simplify logic
...
Simplify logic for clock enable and sdmmc clock management
2026-03-27 09:44:06 +01:00
CTCaer
0647fd06d8
bdk: clock: remove non existent module ids
...
And add comments to special handling ones
2026-03-27 09:44:06 +01:00
CTCaer
d33ded5f6d
bdk: pmc: rename pmc_enable_partition
2026-03-27 09:44:06 +01:00
CTCaer
d0cb4f54a5
Update readme with timeoffset and timedst
2026-03-27 09:44:06 +01:00
CTCaer
b70932cfaa
bdk: clock: wait for PLLD to lock when set
2026-03-27 09:44:06 +01:00
CTCaer
1cf9cdc390
hekate: reorder some checks & add load nyx in TUI
2026-03-27 09:44:06 +01:00
CTCaer
a532353682
hos: simplify warmboot pa id calculation
2026-03-27 09:43:28 +01:00
CTCaer
3c02710192
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.
2026-03-27 09:43:28 +01:00
CTCaer
b91ee67521
nyx: tools: correct the backup tool description
2026-03-27 09:43:28 +01:00
CTCaer
961acef306
hos: simple refactor of defines
2026-03-27 09:43:28 +01:00
CTCaer
86a70c3431
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.
2026-03-27 09:43:28 +01:00
CTCaer
8bb483f20a
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.
2026-03-27 09:42:41 +01:00
CTCaer
c83bd247dd
bdk: add tegra BCT/BIT headers for T210/T210B01
2026-03-27 09:42:41 +01:00
CTCaer
e484986c8f
nyx: do communication checks in battery info
...
If communication with an IC fails, an error will show up.
2026-03-27 09:42:41 +01:00
CTCaer
ba9863cca7
nyx: show warning colors if sd vendor is fake
2026-03-27 09:42:41 +01:00
CTCaer
760c93e92f
config: utilize devmode variable
...
This holds the NX hw state.
2026-03-27 09:42:40 +01:00
CTCaer
48b2f20c88
config: move externs into header
2026-03-27 09:41:57 +01:00
CTCaer
d13088f177
nyx: deduplicate jc bt pairing dumping
2026-03-27 09:41:57 +01:00
CTCaer
f6a32b538f
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.
2026-03-27 09:41:57 +01:00
CTCaer
3874b025a9
bdk: rtc: add auto dst support and fix an off-by-one
2026-03-27 09:41:57 +01:00
CTCaer
dd3b7d3ceb
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.
2026-03-27 09:41:57 +01:00
CTCaer
a2d35fb90e
nyx: simplify HOS bis key validation and export it
2026-03-27 09:30:05 +01:00
CTCaer
cca4f4c1fa
nyx: fix resized emummc backup GPT
...
Additionally, fix resized emuMMC GPT partition size
2026-03-27 09:25:40 +01:00
CTCaer
0d3df99f76
nyx: part mgr: fix 64GB emuMMC size
...
Fix size so the emuMMC data can be aligned properly.
2026-03-27 09:23:37 +01:00
CTCaer
93e3aa7830
nyx: part mgr: fix android super partition size
...
The size was incorrectly set before and it would cause unalignment of later partitions.
2026-03-27 09:22:49 +01:00