28 Commits

Author SHA1 Message Date
CTCaer
f2c2a77bc4 touch: increase max allowed touched area 2026-03-18 22:35:01 +02:00
CTCaer
1b8aa8a97b bdk: touch: add clone support
From LCD on OLED sku.
2026-02-22 08:51:54 +02:00
CTCaer
9b2026ac6e bdk: touch: homogenize return values 2026-02-22 02:50:45 +02:00
CTCaer
cb81aaecdb bdk: i2c: homogenize return values 2026-02-22 02:42:53 +02:00
CTCaer
2824dff8f0 bdk: touch: check event count for wait event
And increase checks during autotune execution.
2026-02-21 09:15:15 +02:00
CTCaer
3e141fba20 bdk: touch: simplify input reporting
Additionally, touch polling now returns 1 for no event result.
2026-02-20 02:50:18 +02:00
CTCaer
c067c113e6 bdk: touch: switch to custom chip info cmd
And also check if chip id is correct on init.
2026-02-20 02:39:54 +02:00
CTCaer
98c14fd3c1 bdk: touch: use packet i2c for all transfers
The repeating byte doesn't exist in i2c packet mode.
Additionally, adjust split transfers to one.
2026-02-20 02:36:38 +02:00
CTCaer
f6bf40b903 bdk: touch: refactor
And also use packet mode for big tx/rx combo i2c trasnfers.
2026-02-20 00:43:58 +02:00
CTCaer
0a55598ab6 bdk: touch: refactor/improve
- Remove useless poll wait
- Use more defines
- Deduplicate code
- Add more checks
- Add switch sense mode
2026-02-15 02:32:38 +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
05cc9b6985 bdk: refactor several comments and defines 2025-06-22 13:32:32 +03:00
CTCaer
eff55ff378 bdk: touch: rename samsung touch panel
BH2109 is the board model and not the touch panel.
2023-12-25 02:41:42 +02:00
CTCaer
50811aacfa bdk: touch: reorder power on
So touch IC reset can be properly done on a fast power cycle.
2023-03-31 09:08:20 +03:00
CTCaer
9a98c1afb9 bdk: stylistic corrections
And update copyrights
2023-02-11 23:46:38 +02:00
CTCaer
5bb9a244ea bdk: utilize new gpio functions 2023-02-11 23:08:32 +02:00
CTCaer
70523e404f bdk: whitespace refactor 2022-07-11 22:10:11 +03:00
CTCaer
b0c0a86108 bdk: migrate timers/sleeps to timer driver 2022-06-27 10:22:19 +03:00
CTCaer
70504c295e bdk: various functionality independent changes 2022-01-16 01:03:24 +02:00
CTCaer
09b3e47ac8 bdk: touch: rename samsung touch panel 2021-10-19 09:11:58 +03:00
CTCaer
6992ece762 bdk: touch: add samsung touch model name 2021-10-15 16:09:25 +03:00
CTCaer
3e15eb44ab touch: rename 4th panel so it's not confused with errors 2021-08-28 16:39:38 +03:00
CTCaer
dbe431095a touch: report gpio info in case of unknown panel 2021-03-17 08:53:23 +02:00
CTCaer
0959dc3a2d nyx: Add touch panel info
This can probably also show if the panel is paired to the firmware.
In case it's not, an error will show up.
2021-01-04 02:49:07 +02:00
CTCaer
745ac609d2 max7762x: Update everything to use the improved pmic management 2021-01-04 02:41:15 +02:00
CTCaer
638a3909c5 Refactor various variables and names 2020-07-17 18:00:32 +03:00
CTCaer
6e256d29c7 Utilize hekate's BDK for hekate main and Nyx 2020-06-14 16:45:45 +03:00
CTCaer
185526d134 Introducing Bootloader Development Kit (BDK)
BDK will allow developers to use the full collection of drivers,
with limited editing, if any, for making payloads for Nintendo Switch.

Using a single source for everything will also help decoupling
Switch specific code and easily port it to other Tegra X1/X1+ platforms.
And maybe even to lower targets.

Everything is now centrilized into bdk folder.
Every module or project can utilize it by simply including it.

This is just the start and it will continue to improve.
2020-06-14 15:25:21 +03:00