CTCaer
b7789f1edb
xusb: Increase performance up to 96%
...
The default interrupt moderation on XUSB controller was causing 4.62ms latency, hurting performance tremendously, especially in smaller usb packets (which are the norm).
This change brings it to parity with USB2 controller.
2020-12-30 13:40:16 +02:00
CTCaer
4949331f4c
usb: Rework timeouts
...
- Rework all timeouts to be more relaxed when doing big data transfers.
- Fix a bug where async transfer would timeout sooner instead of infinite tries.
Both showed up in Arch Linux, because of it's huge latency USB stack latency that can reach 1-2s.
The rework will let every OS work without adding additional wait time in the gadget loops.
2020-12-30 13:37:36 +02:00
CTCaer
2c695e9a96
ums: Refactor errors
2020-12-30 13:29:29 +02:00
CTCaer
ed916360eb
display: Add new panel revision
2020-12-28 05:24:42 +02:00
CTCaer
e4bc5c41ce
display: Add fifo draining before requesting info
...
In case we got loaded from bad chainloader.
Fixes issues with incorrect display ID when fifo has left overs.
2020-12-28 05:23:33 +02:00
CTCaer
d0d943c9c3
display: Make dsi write buffer bigger
2020-12-28 05:21:21 +02:00
CTCaer
60b629e57f
Move display related objects to display parrent
2020-12-28 05:19:23 +02:00
CTCaer
df80339060
mc: Simplify clock enable/reset
...
Additionally utilize the redirect flag.
2020-12-27 12:50:20 +02:00
CTCaer
11ca6caf5f
clock: Add more defines and simplify some logic
2020-12-26 17:28:08 +02:00
CTCaer
15afdf53e4
clock: Add module actual frequency getter
2020-12-26 17:25:23 +02:00
CTCaer
d15f958b48
irq: Disable irq if not handled.
2020-12-26 17:22:56 +02:00
CTCaer
5fd3bdede7
pmc: Add defines for power rails
2020-12-26 17:20:26 +02:00
CTCaer
e2dd218f33
pmc: Add latest pmc secure scratch lock
2020-12-26 16:48:00 +02:00
CTCaer
2628044ba8
fuse: Move more parsing into its specific object
2020-12-26 16:34:12 +02:00
CTCaer
601c85c23e
util: Refactor power management (reboot/power off)
2020-12-15 19:33:46 +02:00
CTCaer
b6ec217484
exo: Support uart logging
...
This can be enabled via compile time flags or exosphere.ini.
Compile time flags override exosphere.ini
2020-12-11 18:14:00 +02:00
CTCaer
ad560b650e
nyx: di: Set display id we got from bootloader
2020-12-11 17:49:06 +02:00
CTCaer
14a048a496
nyx: Add SD init info from bootloader
...
This shows info about the sd initialization process that happened on hekate main
2020-12-11 17:46:44 +02:00
CTCaer
ba984d02eb
sdmmc: Mitigate some Phison SDs which think they are SDSC
2020-12-11 17:43:01 +02:00
CTCaer
fce59fba43
nyx: Add SD card AU info
2020-12-11 17:41:09 +02:00
CTCaer
5b8fb9fb6b
Various refactoring and addition of comments
2020-12-11 17:25:59 +02:00
CTCaer
8249d9e1a2
se: Ensure aligned key/iv/ctr/hash copy
2020-12-05 20:39:17 +02:00
CTCaer
cf1f94662c
sdram: Correct some dram names
2020-12-02 22:26:06 +02:00
CTCaer
aaaf470dcf
display: Provide dsi command reading/writing to user
...
These work while video stream is either disabled or enabled.
2020-12-02 02:09:49 +02:00
CTCaer
c13eabcde8
sdmmc: Add T210B01 support
...
The driver was working before this, but adding the changes provides a proper and better sdmmc controller inner state.
2020-12-02 02:07:15 +02:00
CTCaer
d1e3a0fdff
display: Add new Switch Lite panel support
2020-12-02 01:53:00 +02:00
CTCaer
0954eb2b09
nyx: Use full shutdown based reboot on T210B01
...
That's because of how the system is exploited.
2020-12-02 01:45:12 +02:00
CTCaer
0ccea3aa83
usb: Improve UMS ejection heuristic
2020-12-02 01:16:45 +02:00
CTCaer
a1188505e8
usb: Add XUSB support mainly for T210B01
2020-12-02 01:13:52 +02:00
CTCaer
202540c7f7
joycon: Disable driver for Switch Lite
2020-12-02 00:51:29 +02:00
CTCaer
da0cdf1bd0
hos: Add stock secmon support for Mariko
2020-07-04 21:58:21 +03:00
CTCaer
5ffbbf40a5
hos: Add Mariko keygen
2020-07-04 21:13:25 +03:00
CTCaer
a36fec5696
clock: Lock clock to always enabled for SE in T210B01
2020-07-04 21:07:25 +03:00
CTCaer
8d2230dc51
fuse: Correct fuse array size for T210B01
2020-07-04 21:04:20 +03:00
CTCaer
528ddbe12c
minerva: Disable for T210B01
...
Minerva is currently unsupported for Mariko LPDDR4X.
2020-07-04 21:02:45 +03:00
CTCaer
fbbfeb2d1c
se: Add a T210B01 only register
2020-06-26 22:31:23 +03:00
CTCaer
ccaf49bece
display: Add T210B01 support
2020-06-26 22:29:52 +03:00
CTCaer
147fed39c8
ccplex: Add regulator for T210B01
2020-06-26 19:02:37 +03:00
CTCaer
d0a73bdc72
sc7: Add T210B01 SC7/LP0 (deep sleep) support
...
Note to future self: Almost a month passed and nothing changed, have fun cleaning that in the end...
2020-06-26 19:00:30 +03:00
CTCaer
29dc122dd4
sdram: Add T210B01 support & new LPDDR4X tables
2020-06-26 18:53:12 +03:00
CTCaer
293c47774d
fuse: Add NX hw type getter
2020-06-26 18:45:21 +03:00
CTCaer
795ed8aadc
hwinit: Add T210B01 support
2020-06-26 18:42:31 +03:00
CTCaer
377825d4fb
usb gadgets: Replace error status labels with error label and color
2020-11-26 01:58:13 +02:00
CTCaer
b89bb35054
usb: Refactor some variables
2020-11-26 01:55:33 +02:00
CTCaer
caae685fab
usb: Add buffer alignment checks
...
EDCI/EHCI controllers only allow 0x1000 aligned buffers.
So reply with a specific error type instead of a EP xfer error.
2020-11-26 01:54:10 +02:00
CTCaer
bd4517abab
usb: Name all controller errors
2020-11-26 01:50:49 +02:00
CTCaer
095b234fce
max17050: Be explicit about hardcoded calculations
2020-11-26 01:44:04 +02:00
CTCaer
b1c09f8a9c
max77620: Change try set to just retry if i2c xfer failed
2020-11-26 01:43:19 +02:00
CTCaer
cabaa6cfb8
Utilize BIT macro everywhere
2020-11-26 01:41:45 +02:00
CTCaer
94486873c1
di: Skip panel deinit if DI was not properly deinit'ed
2020-11-26 01:12:44 +02:00
CTCaer
89a4eadab0
sdmmc: Refactor some names
2020-11-26 01:08:42 +02:00
CTCaer
55395ea4fd
sdmmc: Correct bus speed for SDR25
...
Fix bus speed on SDR25 even if all UHS cards support SDR50 and SDR104.
2020-11-15 15:11:19 +02:00
CTCaer
4166a3c128
sdmmc: Add more debugging
2020-11-15 15:08:53 +02:00
CTCaer
ab7a81081c
t210: Refactor AHB Gizmo registers
2020-11-15 14:46:42 +02:00
CTCaer
8a352bdfe2
usb: Split init into PHY init and device init
2020-11-15 14:45:48 +02:00
CTCaer
721e926a75
usb: Do proper UTMIPLL_HW_PWRDN_CFG0 config
2020-11-15 14:44:35 +02:00
CTCaer
0b314d7f21
clock: Move UTMIPLL init from USB to clock
2020-11-15 14:43:36 +02:00
CTCaer
8305058cf5
clock: Move PLLU init/deinit from USB to clock
2020-11-15 14:42:01 +02:00
CTCaer
6dddb968fa
usb: Fix various descriptor transfers in order to not rely on quirks
2020-11-15 14:38:18 +02:00
CTCaer
d3c318d0c9
usb: Correct latencies for HID gadgets
2020-11-15 14:37:14 +02:00
CTCaer
604ec4416d
usb: Refactor driver names and defines
2020-11-15 14:36:20 +02:00
CTCaer
c7fcea5f35
usb: Rfactor driver/gadgets in prep for XUSB
...
Allow gadgets using different USB controllers on demand.
This will allow plugging in XUSB for Mariko usage.
2020-11-15 14:30:25 +02:00
CTCaer
a84f1e5ee5
usb: Split descriptors to object and header
2020-11-15 14:10:00 +02:00
CTCaer
6a4161fdc4
usb: Move lang/serial descriptors to header
2020-11-15 14:04:10 +02:00
CTCaer
669e42960c
Utilize ARRAY_SIZE macro
2020-11-15 13:56:45 +02:00
CTCaer
93b4514343
minerva: Return failed if module not found inside Nyx
2020-11-15 13:40:13 +02:00
CTCaer
68d57861cd
Add missing guard from some macros
...
Guard them for future usage, as none of these macros had a non-preset variable used with them yet.
2020-11-15 13:39:27 +02:00
CTCaer
485edb4883
emc: Rename Device to Rank
2020-11-15 13:23:37 +02:00
CTCaer
bbc3f41493
joycon: Fix controller button masking
...
Previously if the Right JC was missing it would clear the Capture button that's on the Left one
2020-11-15 13:10:44 +02:00
CTCaer
1f5b371608
Refactor some names
...
Additionally:
- Do not retry to init sd if all modes failed in Nyx.
- Do not try to read/write if sdmmc controller and card are not initialized.
2020-10-23 06:32:24 +03:00
CTCaer
ce156ab4e7
hos: Automate some eks and bis checks
2020-10-20 11:53:28 +03:00
CTCaer
94235dd005
bm92t30: Add proper info
...
The driver will now show more charger supported profiles and will also show selected profile.
2020-10-20 10:42:57 +03:00
CTCaer
cb471162d2
i2c: Fix packet mode
2020-10-20 10:37:33 +03:00
CTCaer
dae7be8ec4
nyx: Allow disabling of Joycon
...
Setting `jcdisable=1` in nyx.ini disables the usage of Joycon completely.
This also disables the BT pairing data dumping tool.
2020-10-20 10:21:48 +03:00
CTCaer
8b837dd81b
bm92t30 Add USB-PD driver stub
...
TODO:
This driver is a stub and relies on incorrect I2C requests.
The I2C driver needs to be updated with proper multi-xfer support.
For now it replies its whole register range, according to request size.
That's because the IC does not support the classic single transfer request-response style.
2020-09-15 20:13:29 +03:00
CTCaer
d71f6d0b99
sdmmc: Restart xfer on Read/Write error
2020-08-28 09:39:06 +03:00
CTCaer
926bd5d2fb
Add SD error report on first boot
2020-08-28 09:37:48 +03:00
CTCaer
461d14c39a
di: Correct panel id for AUO A062TAN02
2020-08-28 05:26:18 +03:00
CTCaer
6714cae498
i2c: Add packet mode support (32 bytes)
2020-08-27 10:04:52 +03:00
CTCaer
b20a0e74c2
i2c: Refactor
2020-08-27 10:04:26 +03:00
CTCaer
7b03a24196
sdmmc: Add extra error printing
2020-08-15 13:16:37 +03:00
CTCaer
98555b24f8
l4t: Clear boot mode if user canceled autoboot
2020-08-15 13:12:41 +03:00
CTCaer
0652d6b3f1
util: sprintf: Fix pointer printing
2020-08-15 12:16:25 +03:00
CTCaer
1111125aab
usb: Invalidate cache on ep1_out_reading_finish
2020-08-15 12:15:02 +03:00
CTCaer
4fc420616d
nyx: Control UART debug completely via makefile
...
Also enables LvGL log.
2020-08-13 10:21:00 +03:00
CTCaer
af0cd34f92
l4t: Add panic dump (PSTORE)
2020-07-19 20:32:22 +03:00
CTCaer
fac1884a43
i2c: Reduce timeout to proper levels (100ms)
2020-07-18 02:33:46 +03:00
CTCaer
adfa7c0780
fuse: Use fuse count function for burnt fuses
2020-07-18 01:15:28 +03:00
CTCaer
11df6030f9
Various fixes
2020-07-18 00:54:35 +03:00
CTCaer
45ca2938f5
pmc: Move rail power function to its own object
2020-07-18 00:42:53 +03:00
CTCaer
88fa4fa861
se: Add set/clear IV and aes key get
2020-07-18 00:36:51 +03:00
CTCaer
100d6cc4a5
lz: Return uncompressed size
2020-07-18 00:35:04 +03:00
CTCaer
32e58d2bb3
hw init: Cosmetic refactoring
2020-07-17 18:08:27 +03:00
CTCaer
638a3909c5
Refactor various variables and names
2020-07-17 18:00:32 +03:00
CTCaer
82da1aaf2a
sdmmc: Correct name of bus speed 14
2020-07-17 17:38:01 +03:00
CTCaer
3c2d86ef7b
sdmmc: Add protected area info (Content Protection)
2020-07-17 17:01:40 +03:00
CTCaer
f559017aeb
di: Update display panels and info
2020-07-17 16:57:45 +03:00
CTCaer
e158d9bc00
clk: Refactor CLK devices bits
2020-07-17 16:50:17 +03:00
CTCaer
f689bb253e
nyx: Add simple CAL0 info
2020-06-15 15:03:14 +03:00
CTCaer
2aa9055fae
Various fixes
2020-06-15 14:58:50 +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