CTCaer
925b6e22bb
bdk: se: add T210 SHA256 silicon errata WAR
...
Apparently, some T210 silicon have an undocumented errata where the MSG_LEFT2/3
registers are not ignored as they should.
When they have random data in POR they cause a hang as long as the message and
SHA calculation speed. So always clear them.
Additionally, clear MSG_LENGTH2/3 registers too even though they do not matter.
2026-03-27 10:02:21 +01:00
CTCaer
5a35a61753
bdk: se: adjust T210 silicon errata coherency WAR
...
Add a 15us worst case scenario delay after OP done for T210.
Practically, because of 1600 MHz RAM, less than 1us delay is needed.
(204 MHz: 15us, 408 MHz: 5us, etc).
2026-03-27 10:02:21 +01:00
CTCaer
e649d1df8e
bdk: se: correct result for < block size aes
2026-03-27 10:02:21 +01:00
CTCaer
154d8b114c
hos: store wb anyway even if unused
...
Partially reverts 73d96b7ca8bd4360b288e53d95295fd98d1655e5.
This should be completely removed at some point.
2026-03-27 10:02:21 +01:00
CTCaer
a8d3018e83
hos: refactor ctr/hash vars in pkg2 header
2026-03-27 10:01:38 +01:00
CTCaer
ef2247a3f0
Bump hekate to v6.5.0 and Nyx to v1.9.0
2026-03-27 10:01:21 +01:00
CTCaer
0f4636546c
hos: add 21.2.0 support
2026-03-27 10:01:20 +01:00
CTCaer
22dd1a42c7
hekate/nyx: remove coreboot support
...
Everything external is finally updated and beyond parity with old things that needed it.
2026-03-27 10:01:20 +01:00
CTCaer
4daa02fe85
bdk: hwinit: remove coreboot support
...
Everything external is finally updated and beyond parity with old things that needed it.
2026-03-27 10:00:26 +01:00
CTCaer
8c8ca53ab7
bdk: joycon: more refactoring
2026-03-27 10:00:26 +01:00
CTCaer
e6a3c80f4d
bdk: joycon: generalize _jc_packet_add_uart_hdr
...
Correct its header construction in case it's used in the future.
Plus some unhardcoding of lengths.
2026-03-27 10:00:26 +01:00
CTCaer
2a0617dbf6
bdk: joycon: increase connection timeout to 1.8s
2026-03-27 10:00:26 +01:00
CTCaer
690beb0de7
bdk: joycon: refactor some fields
...
And add better comments.
2026-03-27 10:00:26 +01:00
CTCaer
6bcc2e082f
bdk: joycon: use packed structs and bitfields
2026-03-27 10:00:26 +01:00
CTCaer
c605e924ed
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-03-27 10:00:26 +01:00
CTCaer
d252dd7e52
bdk: joycon: maintain consistent naming styles
2026-03-27 10:00:26 +01:00
CTCaer
2d3b6e1a39
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-03-27 10:00:26 +01:00
CTCaer
b414e6b35f
nyx: make sure ram is set to 1600 MHz
...
No matter how Nyx was launched.
2026-03-27 10:00:26 +01:00
CTCaer
1651316f72
nyx: options: make sure var has a value in all -O#
2026-03-27 10:00:26 +01:00
CTCaer
c200ef3f4a
bdk: joycon: optimize rumble enable
2026-03-27 10:00:26 +01:00
CTCaer
5fe649d7dd
bdk: display: add OLED status pin
...
Code is commented out for now until it gets used.
Status is set when RST is enabled.
2026-03-27 10:00:26 +01:00
CTCaer
d5a1bdf9bf
nyx: update rng calls based on new bdk
2026-03-27 10:00:26 +01:00
CTCaer
8e2a776e73
bdk: se: support multiple/partial blocks for RNG
2026-03-27 09:59:42 +01:00
CTCaer
57e6875b42
hekate/nyx: update ctx keys calls based on new bdk
2026-03-27 09:59:42 +01:00
CTCaer
d0dcfd0008
bdk: se: use proper naming for ctx keys
2026-03-27 09:59:42 +01:00
CTCaer
0cd9a5c80e
hekate/nyx: update sha calls based on new bdk
2026-03-27 09:59:42 +01:00
CTCaer
a258c726dc
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-03-27 09:59:42 +01:00
CTCaer
89795a4c96
bdk: se: use classic naming convention for XTS
2026-03-27 09:59:42 +01:00
CTCaer
5a40f26010
bdk: se: add AES OFB encryption/decryption support
2026-03-27 09:59:42 +01:00
CTCaer
ab794bc61d
hekate/nyx: update aes calls based on new bdk
2026-03-27 09:59:42 +01:00
CTCaer
6c7370bec3
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-03-27 09:59:42 +01:00
CTCaer
ba71fb0dba
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-03-27 09:59:42 +01:00
CTCaer
d1066da9fa
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-03-27 09:59:42 +01:00
CTCaer
542fba6fbd
bdk: se: support partial blocks for all aes modes
2026-03-27 09:59:42 +01:00
CTCaer
1295152f20
bdk: se: do a trivial refactor pass
2026-03-27 09:59:42 +01:00
CTCaer
9ebd03802f
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-03-27 09:59:42 +01:00
CTCaer
07229f1002
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
2026-03-27 09:59:42 +01:00
CTCaer
d391ef3b0f
bdk: max17050: simplify calculations
...
And make current readings a tiny bit (±0.16%) more accurate.
2026-03-27 09:58:48 +01:00
CTCaer
18a3dd6374
nyx: add joycon charging debug info
2026-03-27 09:58:48 +01:00
CTCaer
8a25c8294f
minerva: update rate_from if clock the same
2026-03-27 09:58:48 +01:00
CTCaer
9ef684037b
bdk: max17050: remove unused cached batt voltage
2026-03-27 09:58:48 +01:00
CTCaer
19279fa57d
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.
2026-03-27 09:58:48 +01:00
CTCaer
0edd5295d6
fatfs: set default date to 1/1/2026
2026-03-27 09:58:48 +01:00
CTCaer
992245f044
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.
2026-03-27 09:57:59 +01:00
CTCaer
2004b38f41
bdk: ccplex: do not disable mselect on cpu pwrgate
2026-03-27 09:57:59 +01:00
CTCaer
64a4f9db16
hekate/nyx: remove last calloc references
2026-03-27 09:57:59 +01:00
CTCaer
8220466523
bdk: heap: add more safe guards
...
- Use magic for used regions
- Deduplicate calloc
Enable a print/abort in _heap_free() for debugging.
2026-03-27 09:57:59 +01:00
CTCaer
d379a17444
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
2026-03-27 09:57:59 +01:00
CTCaer
db4c6a0b69
bdk: util: use volatile base for reg_write_array
2026-03-27 09:57:59 +01:00
CTCaer
8b86bf3808
bdk: display: use a scratch reg for backlight
...
Spare registers normally have hidden hw config usage, so avoid them just in case.
2026-03-27 09:57:59 +01:00