Commit Graph

2024 Commits

Author SHA1 Message Date
CTCaer
928985ced1 bdk: joycon: use packed structs and bitfields 2026-01-10 13:39:06 +02:00
CTCaer
8123de714a bdk: joycon: correct crc8 offsets
By luck the current offset and length of the calculation always worked.
Correct it though because the function might be used fully in the future.
2026-01-10 13:36:34 +02:00
CTCaer
f05759e0f2 bdk: joycon: maintain consistent naming styles 2026-01-10 13:32:46 +02:00
CTCaer
02484ae3b7 nyx: always show console stats
When main Joy-Con or all are disconnected, always show Joy-Con debug info.
Additionally, always allow opening/closing console window with the secondary one,
in the same conditions.
2026-01-07 00:20:10 +02:00
CTCaer
01ffbeecd6 nyx: make sure ram is set to 1600 MHz
No matter how Nyx was launched.
2026-01-06 23:22:04 +02:00
CTCaer
e558d0c2c4 nyx: options: make sure var has a value in all -O# 2026-01-06 23:20:45 +02:00
CTCaer
76cb5422e3 bdk: joycon: optimize rumble enable 2026-01-06 23:14:11 +02:00
CTCaer
316650dda6 bdk: display: add OLED status pin
Code is commented out for now until it gets used.
Status is set when RST is enabled.
2026-01-06 23:10:42 +02:00
CTCaer
1d2a7631d9 nyx: update rng calls based on new bdk 2026-01-06 23:04:26 +02:00
CTCaer
afa9715cf4 bdk: se: support multiple/partial blocks for RNG 2026-01-06 23:02:33 +02:00
CTCaer
73f7d53572 hekate/nyx: update ctx keys calls based on new bdk 2026-01-06 23:01:54 +02:00
CTCaer
1696dd8ebf bdk: se: use proper naming for ctx keys 2026-01-06 23:00:46 +02:00
CTCaer
bb1087006a hekate/nyx: update sha calls based on new bdk 2026-01-06 22:59:53 +02:00
CTCaer
c9208593af bdk: se: refactor and optimize SHA256
- Simplify config and fix partial hashing
- Add partial function calls
- All partial state is handled internally
- All functions now use the classic naming convention.
2026-01-06 22:59:20 +02:00
CTCaer
607b19067a bdk: se: use classic naming convention for XTS 2026-01-06 22:52:21 +02:00
CTCaer
b7f1641bce bdk: se: add AES OFB encryption/decryption support 2026-01-06 22:49:57 +02:00
CTCaer
ee1b0db130 hekate/nyx: update aes calls based on new bdk 2026-01-06 22:49:09 +02:00
CTCaer
2fa1a6a4af bdk: se: remove dst/src size argument requirement
All operations expect the destination buffer to fit the selected size.
And for simplicity STATE_WAIT is not supported.

Additionally, remove single block ECB and just use the normal function.
2026-01-06 22:47:54 +02:00
CTCaer
3463623126 bdk: se: optimize and update aes cmac hashing
`se_aes_cmac_128` was also renamed to `se_aes_hash_cmac`.
By following the convention of 128bit functions not having size in their name.
2026-01-06 22:32:26 +02:00
CTCaer
b4ca6cae21 bdk: se: handle original and updated IV in one go
IV set now requires a size where the second block is updated IV
IV clear now clears both.
2026-01-06 22:28:18 +02:00
CTCaer
d442390e9b bdk: se: support partial blocks for all aes modes 2026-01-06 22:23:25 +02:00
CTCaer
ca307e78c8 bdk: se: do a trivial refactor pass 2026-01-06 22:18:45 +02:00
CTCaer
13c91d2848 bdk: heap: use ultra fast defragmentation
The defragmentation runs on every free and it only merges subsequent nodes.
So there's no point of looping all nodes.
So, just check if previous and next nodes are mergeable.
This makes free performant and achieves the same exact functionality.
2026-01-05 12:33:31 +02:00
CTCaer
1de3206e79 Restructure and refactor makefiles
- Allow rebuilds without rebuilding everything
 By detecting changes everywhere that matters (flags, objects and headers).
- Add progress bar
- Fully clean everything when clean goal is used
2025-12-31 14:19:56 +02:00
CTCaer
800bec2ec2 bdk: max17050: simplify calculations
And make current readings a tiny bit (±0.16%) more accurate.
2025-12-31 03:44:44 +02:00
CTCaer
520bce08cf nyx: add joycon charging debug info 2025-12-27 06:30:36 +02:00
CTCaer
ee22d660dc minerva: update rate_from if clock the same 2025-12-27 06:16:59 +02:00
CTCaer
067c12655b bdk: max17050: remove unused cached batt voltage 2025-12-27 06:06:56 +02:00
CTCaer
c03757e73d bdk: joycon: improve charger config
Utilize charger config set command which allows for supplement mode.
Additionally, remove ping config when SIO and parse buttons/sticks on subcmd reports.
2025-12-27 06:06:17 +02:00
CTCaer
acb50dad7b fatfs: set default date to 1/1/2026 2025-12-25 12:58:32 +02:00
CTCaer
9bc878e85d l4t: make mselect config common for t210/t210b01
It's already handled in soc powerdown exit in ATF but it doesn't hurt to have it generally.
2025-12-25 12:55:04 +02:00
CTCaer
0cab56293d bdk: ccplex: do not disable mselect on cpu pwrgate 2025-12-25 12:51:37 +02:00
CTCaer
69ab954119 hekate/nyx: remove last calloc references 2025-12-25 12:50:24 +02:00
CTCaer
ae7c5fdfdb bdk: heap: add more safe guards
- Use magic for used regions
- Deduplicate calloc
Enable a print/abort in _heap_free() for debugging.
2025-12-25 12:33:41 +02:00
CTCaer
a7ad3d4984 bdk: display: improve and deduplicate more
- Add delay after a DSI soft reset
- Remove more duplicated configs
- Improve code to save code size
- Improve comments
- Do not allow display_backlight to be used with OLED
2025-12-25 11:36:06 +02:00
CTCaer
67140d026c bdk: util: use volatile base for reg_write_array 2025-12-18 11:50:00 +02:00
CTCaer
998053f8db bdk: display: use a scratch reg for backlight
Spare registers normally have hidden hw config usage, so avoid them just in case.
2025-12-18 11:48:53 +02:00
CTCaer
b5a6c8eb64 bdk: display: simplify macros
Expand register index in parent macro and remove _DI/_DSIREG macros.
2025-12-18 11:17:43 +02:00
CTCaer
8faa1a6690 bdk: display: use spare reg to store dcs bl duty
And also remove backlight pwm restoring from coreboot hw deinit path.
2025-12-18 09:54:26 +02:00
CTCaer
ba95bb7494 bdk: fatfs: improve fat read/write
- Convert access from min cluster size to block size
  Also allow read/writes to less than cluster size
- In case of intercluster access throw an error
- Do not error on zero size

On reads buffer still needs to be block (instead of cluster) aligned.
On writes, buffer still needs to be readable out of bounds.
2025-12-17 07:11:51 +02:00
CTCaer
b90935ac16 nyx: info: update 20nm wafer bounds 2025-12-17 06:54:57 +02:00
CTCaer
c78b94b0ac nyx: info: unlocked T210B01 fuses dumping support 2025-12-17 06:51:04 +02:00
CTCaer
20a50988c5 bdk: fuse: return array size with fuse_read_array 2025-12-17 06:41:52 +02:00
CTCaer
ac60695b24 nyx: parted: remove invisible btns in eMMC mode 2025-12-17 06:34:42 +02:00
CTCaer
468544ce1e nyx: add a small stall in lvgl loop
EMC CC should not run in less than 20us.
2025-12-17 06:33:05 +02:00
CTCaer
73d96b7ca8 hos/l4t: deduplicate sc7exit-b01 load
And remove obsolete MWS (L4T one deprecated it 3 years ago).
2025-12-17 06:28:36 +02:00
CTCaer
4af4692710 hos: reflect minerva changes 2025-12-17 06:07:58 +02:00
CTCaer
4229a43818 lp0 cfg: use a more appropriate entry name 2025-12-17 06:00:02 +02:00
CTCaer
b6ec6a8f6e 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
2025-12-17 05:58:09 +02:00
CTCaer
0db758592a bdk: minerva: add IRB support
Aka no table support.
2025-12-17 05:24:16 +02:00