Commit Graph

1965 Commits

Author SHA1 Message Date
CTCaer
38e73d6492 bdk: clk: reduce i2c freq input to save power 2026-02-14 23:59:39 +02:00
CTCaer
efebd2887e readme: add which are ini only and adjust defaults 2026-02-12 22:12:08 +02:00
CTCaer
38210a08d1 bdk: vic: add hw version that this driver aims for
Also TRM lies about best cache width, like always.
The higher the faster. The lower the simpler alignment.
A balanced one is used by default.
2026-02-12 22:04:56 +02:00
CTCaer
634d96ea66 nyx: fix launch rolling boot entry names
Somehow this broke half a decade ago and it went unnoticed... which is good.
Fix it and make measurements fully proper.
2026-02-12 22:02:04 +02:00
CTCaer
cc94573dcb nyx: use renamed bm92t function 2026-02-12 21:59:03 +02:00
CTCaer
ca8717d4a7 bdk: bm92t: do not parse non fixed pdos 2026-02-12 21:56:39 +02:00
CTCaer
e6984a149b bdk: sdmmc: remove dependency to ram for init 2026-02-12 21:53:59 +02:00
CTCaer
5cb44753fc nyx: adjust sdmmc dma buffer name 2026-02-12 21:41:21 +02:00
CTCaer
9171fa70c9 bdk: mem: rename sdmmc dma buffer 2026-02-12 21:38:56 +02:00
CTCaer
3052df722b hekate/nyx: adjust exception storage based on bdk 2026-02-12 21:35:32 +02:00
CTCaer
d14a1fb7d6 bdk: move exception type base away from IRQ stack
Allow a more heavy stack usage by IRQ handlers.
2026-02-12 21:32:43 +02:00
CTCaer
6c820067a7 nyx: lvgl: complete black theme and add options
Since, this has the side-effect to make any theme color component from 0x0B to 0xC7
work, add theme background controls in Nyx Options.
Additionally, set shadow color to black and fix inactive buttons on transparent styles.
2026-02-12 05:59:16 +02:00
CTCaer
5cca9025b0 nyx: deduplicate window creation functions
Also rename mbox_action and fix a double lv obj deletion in partition manager.
2026-02-07 00:36:19 +02:00
CTCaer
380bbe77a5 bdk: lvgl: complete black theme
This has the side-effect to make any theme color component from 0x0B to 0xC7 work.
2026-02-07 00:04:44 +02:00
CTCaer
b297e58bc8 bdk: add missing header guards 2026-01-29 09:07:22 +02:00
CTCaer
0b41f8129c modules: set page size to 256 bytes
Since this runs on BPMP a meaningful alignment is 32 bytes, so use a nicer 256.
Reduces size of libs of up to 64KB.

If libs are compiled for armv7/8, 4KB should be used if missing from compiler.
2026-01-29 09:02:56 +02:00
CTCaer
55bd217ad1 modules: adjust for ianos changes 2026-01-29 08:58:46 +02:00
CTCaer
5cee484534 hekate: adjust for ianos changes 2026-01-29 08:58:31 +02:00
CTCaer
2014a72774 bdk: ianos: restructure for future expansion 2026-01-29 08:58:19 +02:00
CTCaer
1edb18a217 modules: lp0: refactor t210b01 to use the macros
This actually makes it faster too.
Additionally, remove support for DDR in T210 function.
2026-01-29 08:38:16 +02:00
CTCaer
183cc2d569 l4t: use the updated pmc defines/struct 2026-01-29 08:33:40 +02:00
CTCaer
55330b1bf5 bdk: pmc: refactor register defines and structs 2026-01-29 08:33:01 +02:00
CTCaer
0da69efd07 bdk: pinmux: always detach I2C4 pins from I2C3 pm
Generally I2C3 communication can work via I2C3 or I2C4 pins.
Defaults are fine as long as one of the pin groups are floating or grounded or
both share I2C traces.

In NX boards I2C4 SDA is used for GC and connected to 1V8.
So if a GC is slotted, I2C3 works, if not, no communication is possible.

This config was done previously inside I2C3 consumer driver (touchscreen).
Now it's moved inside pinmux_config_i2c.
2026-01-21 23:49:59 +02:00
CTCaer
9c62a590f0 Bump hekate to v6.5.1 and Nyx to v1.9.1 2026-01-20 20:27:38 +02:00
CTCaer
74972a68df bdk: joycon: make init stricter but relax timings
Additionally, if both Joy-Con are found, try to send rumble simultaneously.
2026-01-20 20:03:38 +02:00
CTCaer
3134af6e92 bdk: display: reduce display off waiting time
And align oled panel inside vblank.
Assumes display deinit happens before the rest of deinit.
2026-01-20 06:13:02 +02:00
CTCaer
28ebdc213e nyx: handle exFAT truncation in stat/backup
It's possible for the overflow check to fail if exFAT and file size is big enough.
(4GB + total_size)

So check it properly.
This avoids unnecessary copying before RAM disk gets filled and copy errors out.

No other check is needed since max capacity is RAM disk size.
2026-01-18 21:01:54 +02:00
CTCaer
af0f957ddd nyx: constrain reboot to OFW a bit
Disable if T210 and real dram id is 7 since this will fatal nx bootloader.
If T210B01 and fake id is dual rank and higher density than real id, show a warning.
Booting HOS like that can cause performance degradation and sometimes crashes.
How worse it is, depends on ram chips and selected unmatched config.
2026-01-15 20:14:30 +02:00
CTCaer
5936d9bad4 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-01-15 19:09:34 +02:00
CTCaer
68281d3051 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-01-15 19:02:36 +02:00
CTCaer
e3267d1db7 bdk: se: correct result for < block size aes 2026-01-15 17:40:52 +02:00
CTCaer
accc9aa7b0 hos: store wb anyway even if unused
Partially reverts 73d96b7ca8.
This should be completely removed at some point.
2026-01-15 17:39:05 +02:00
CTCaer
116d4042c2 hos: refactor ctr/hash vars in pkg2 header 2026-01-15 17:32:00 +02:00
CTCaer
3af777f839 Bump hekate to v6.5.0 and Nyx to v1.9.0 2026-01-14 05:10:05 +02:00
CTCaer
8b8c9e8dd8 hos: add 21.2.0 support 2026-01-14 04:58:34 +02:00
CTCaer
f0dde780f4 hekate/nyx: remove coreboot support
Everything external is finally updated and beyond parity with old things that needed it.
2026-01-12 04:04:08 +02:00
CTCaer
8ab6f04243 bdk: hwinit: remove coreboot support
Everything external is finally updated and beyond parity with old things that needed it.
2026-01-12 03:57:39 +02:00
CTCaer
bf5a7b1a12 bdk: joycon: more refactoring 2026-01-12 03:08:20 +02:00
CTCaer
d94f356bf5 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-01-11 17:24:18 +02:00
CTCaer
876d6adbe7 bdk: joycon: increase connection timeout to 1.8s 2026-01-11 17:06:48 +02:00
CTCaer
b4fcc72b6b bdk: joycon: refactor some fields
And add better comments.
2026-01-11 17:05:37 +02:00
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