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
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
3ddd1c26ad
pkg1: Fix PK11 component split in pkg1/2 dump tool
2020-07-14 23:29:48 +03:00
CTCaer
ab5b59e10d
Refactor fatal/hard error names
2020-07-14 22:41:48 +03:00
CTCaer
1f67251331
nyx: Use strcat whenever possible
2020-07-14 22:26:40 +03:00
CTCaer
4eecdfa553
nyx: Add decrypted CAL0 dumping
2020-07-14 21:16:52 +03:00
CTCaer
80dd0f1580
joycon: Skip first 4 packets for calibration
2020-07-14 21:13:37 +03:00
CTCaer
4e0c70a402
nyx: Do not timeout joycon with screenshot
...
Additionally, screenshots are allowed only every 2s instead per second.
2020-07-14 21:12:09 +03:00
CTCaer
ffd5a198f9
Beautify make size prints
2020-07-14 20:56:56 +03:00
CTCaer
ddc89c9f49
hos: Reduce size of pkg1 id array
2020-06-22 12:04:49 +03:00
CTCaer
3214fc2f93
nyx: Fix validation check for emuMMC restore
...
When checking a partition for enough size for emuMMC restore, always check against the extra 16MB.
2020-06-18 01:23:06 +03:00
CTCaer
3b0925b912
touch: Check if init failed and stop parsing if yes
2020-06-17 00:41:37 +03:00
CTCaer
c5f032fcb2
Fix building on msys2
2020-06-16 12:41:42 +03:00
CTCaer
564f36fc8b
hos: Fix mkey validation on BIS derivation
2020-06-15 17:31:29 +03:00
CTCaer
6159284be6
nyx: Check for huge files in part manager backup
2020-06-15 15:05:47 +03:00
CTCaer
9afc6f0a4e
joycon: Add bigger deadzone for virtual mouse
2020-06-15 15:04:46 +03:00
CTCaer
f689bb253e
nyx: Add simple CAL0 info
2020-06-15 15:03:14 +03:00
CTCaer
0738c96867
nyx: Fix pkg1/2 dumping with new changes
2020-06-15 15:01:18 +03:00
CTCaer
edba8ca986
hos: Add BIS keys derivation
2020-06-15 14:59:45 +03:00
CTCaer
2aa9055fae
Various fixes
2020-06-15 14:58:50 +03:00
CTCaer
029d66bd95
Fix build for lvgl UART log
2020-06-14 17:33:57 +03:00
CTCaer
c73b4ad6ba
nyx: Include Hoag as Mariko in fuses info
2020-06-14 16:51:06 +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
CTCaer
9b1c61fbcf
storage: Add cal0 struct
2020-06-14 14:11:15 +03:00
CTCaer
ae7ef7d79a
fuse: Add get odm keygen type
2020-06-14 14:10:29 +03:00
CTCaer
273f11cd59
sdram: Extend sdram id
2020-06-14 14:07:21 +03:00
CTCaer
f5092bc981
heap: Add heap object copy
2020-06-14 14:02:13 +03:00
CTCaer
d607a8830b
hos: Support new sept/exo keyslots
2020-06-14 13:53:21 +03:00
CTCaer
92d013dd65
eks: Upgrade to new version and support BIS keys
2020-06-14 13:42:48 +03:00
CTCaer
242bbdada5
storage: Better BIS support
...
It now supports more than one crypto block and keys are expected to slot 0 and up to slot 5.
2020-06-14 13:36:36 +03:00
CTCaer
d90f5b7e7c
ccplex: Renable cluster object to ccplex in makefile
2020-06-14 13:34:13 +03:00
CTCaer
d95449c22d
usb: Fix some issues with usb descriptors
2020-06-14 13:33:13 +03:00
CTCaer
4d8dbe068d
sept: Remove support for obsolete no _00/01 suffix
2020-06-14 13:25:08 +03:00
CTCaer
157e415636
uart: Decreases timeouts to reduce latency
2020-06-14 13:21:59 +03:00
CTCaer
48f84c5cf4
gpio: Remove dependency to irq driver
2020-06-14 13:20:56 +03:00
CTCaer
1d3d1c8454
clock: Prevent PLLC4 from glitching
2020-06-14 13:19:53 +03:00
CTCaer
bb2b339b54
ianos: Remove sd (un)mount usage
2020-06-14 13:17:26 +03:00
CTCaer
5790c585f5
nyx: Reduce idle power draw by 280mW
2020-06-14 13:14:32 +03:00
CTCaer
a2655912d4
nyx: Auto center cursor based on its size
2020-06-14 13:13:27 +03:00
CTCaer
e2c905e9b2
joycon: More robust spi dumping for bd addr/ltk
2020-06-14 13:13:04 +03:00
CTCaer
9619417b07
nyx: Allow arc bits tool to work on all compat folders
2020-06-14 13:09:10 +03:00
CTCaer
b0bcdeafac
nyx: Find best cluster size automatically
2020-06-14 13:07:42 +03:00
CTCaer
7b76015fd1
nyx: Fix an issue with hos partition initial size
2020-06-14 13:07:21 +03:00
CTCaer
465955c8f5
nyx: Use sd actual size for partition making
2020-06-14 13:06:43 +03:00
CTCaer
90a759b98e
Use reconfig workaround for power off and reboots
2020-06-14 13:05:51 +03:00
CTCaer
0096b91146
Add corrupted bmp protection
2020-06-14 13:04:13 +03:00
CTCaer
125f000894
nyx: Use date/time for screenshot names
...
Now that RTC clock can be offset in software it's good to have actual dates on screenshots.
2020-06-14 13:02:54 +03:00
CTCaer
f9a0e6ce4f
nyx: Show clock edit on boot if 0 offset
2020-06-14 13:00:55 +03:00
CTCaer
0d5a1416d0
nyx: Show SD card total blocks in info
2020-06-14 12:59:41 +03:00
CTCaer
43f3132069
nyx: Do not show SFD partitions as valid for emuMMC
2020-06-14 12:53:35 +03:00
CTCaer
3d00a1be21
nyx: Support multiple backup based emuMMC
2020-06-14 12:52:54 +03:00
CTCaer
87ce09f4b1
Some fixes
2020-06-14 12:50:54 +03:00
CTCaer
31f90a0a47
se: Fix CBC encryption
2020-06-14 03:10:30 +03:00
CTCaer
af30904624
se: Simplify oneshot execute calls
2020-06-14 03:10:04 +03:00
CTCaer
f2f995af17
se: Allow sha256 continuation without saving the msg
2020-06-14 03:08:27 +03:00
CTCaer
3dcd2ad15f
hos: Header for pkg2 is now more proper
2020-06-14 02:23:02 +03:00
CTCaer
eb2c8a032f
power: Enable charger unconditionally
2020-06-14 02:04:50 +03:00
CTCaer
416db840ec
power: Refactor max17050 driver
2020-06-14 02:03:43 +03:00
CTCaer
b0c4cef077
power: Fix max77621 DVS voltage reg names
2020-06-14 02:02:26 +03:00
CTCaer
58d12e5754
power: Refactor bq24193 driver
2020-06-14 02:01:26 +03:00
CTCaer
bcda64a5df
tsec: Decouple hos header dependency
2020-06-14 01:32:54 +03:00
CTCaer
ba77de3dc5
exo: Refactor exo_cfg context to exo_ctx
2020-06-14 01:29:41 +03:00
CTCaer
53325617bb
hos: Small refactoring
2020-06-14 01:27:08 +03:00
CTCaer
8e836d958f
Rename cluster to ccplex
2020-06-14 01:09:17 +03:00
CTCaer
8ce6bf82a9
Minimize make info noise during building
2020-06-13 18:39:17 +03:00
CTCaer
21548545fc
Equalize hekate main and Nyx sd based functions
2020-06-13 18:32:40 +03:00
CTCaer
7dd3178d48
Equalize hekate main and Nyx common functions
2020-06-13 18:16:29 +03:00
Dave Murphy
cc54df87d7
fixes for compiling with gcc 10
...
gcc 10 no longer lets you get away with not externing global variables in header files. This adds the necessary extern and adds defines in appropriate c files
2020-05-08 23:32:44 +01:00
CTCaer
9698cbc9d7
nyx: Fix archive bits fixer and extention folders
2020-05-05 21:24:28 +03:00
CTCaer
d8b6aa3831
nyx: Correct the error message for format
2020-05-05 19:28:34 +03:00
CTCaer
3e5ef39686
nyx: Fix emummc slider when there's not enough space
2020-05-05 19:28:15 +03:00
CTCaer
bc7c65447d
nyx: Add start clearing for ext4 partitions
2020-05-05 19:27:45 +03:00
CTCaer
a91378b9c1
nyx: Allow always writeable emmc via config
...
The key is `umsemmcrw` and resides in nyx.ini
2020-05-05 19:26:10 +03:00
CTCaer
5b91c54936
fatfs: Backport some fixes
2020-05-05 19:21:07 +03:00
CTCaer
322280757f
nyx: Fix time offset parsing
2020-05-05 19:20:04 +03:00
CTCaer
b1636fbb96
nyx: Add unsaved config changes pop up
2020-05-05 19:19:12 +03:00
CTCaer
cc18a7b146
nyx: Allow changing Date/Time via tickers
2020-05-05 19:17:29 +03:00
CTCaer
5fe84a78ac
rtc: Remove custom encoding
2020-05-05 19:16:16 +03:00
CTCaer
822e0dcd98
Various small fixes
2020-05-05 19:11:39 +03:00
CTCaer
a6be3714a3
ums: Update Nyx status bar during UMS
2020-05-05 19:02:01 +03:00
CTCaer
f56d1bad04
nyx: Allow hue icons from section names
2020-05-05 19:01:08 +03:00
CTCaer
e8f41a03f3
res: Fix name of colorized lakka icon
2020-05-03 02:52:51 +03:00
CTCaer
8edc9971f9
nyx: Refactor launch icon colorization
...
The Switch and Payload icons will be colorized by default, because they are system icons.
Users can still replace them with icons named `icon_switch_custom.bmp` and `icon_payload_custom.bmp` that do not get colorized.
2020-05-03 01:57:15 +03:00
Nichole Mattera
afb820202d
Small fix to make sure icon_path is long enough.
2020-05-02 16:34:06 -04:00
Nichole Mattera
0ce973966f
Add support for launch icons changing color with theme.
2020-05-02 16:16:38 -04:00
CTCaer
11ca71cbc7
joycon: Wait for disconnect cmd reply
2020-05-01 17:29:05 +03:00
CTCaer
3794c61ab2
Mitigate a L4T Joy-Cond driver issue
2020-05-01 17:28:24 +03:00
CTCaer
dde3ca2d73
sdmmc: Properly disable parent clock
2020-05-01 03:41:00 +03:00
CTCaer
4d1b59c05b
Update Readme
2020-04-30 16:33:14 +03:00
CTCaer
a0c3323b7c
nyx: Allow emuMMC backup now that is working
2020-04-30 16:29:03 +03:00
CTCaer
c9e53d4b1d
nyx: Decrease idle power drain
2020-04-30 16:27:40 +03:00
CTCaer
4b62b1f69f
nyx: Introducing Partition Manager for SD Card
...
Allow you to select up to 2 emuMMC + Linux + Android.
Any combo is allowed, even if you just want to repartition it back to one FAT partition.
The procedure is automatic on selecting sizes and offsets.
The tool is also able to backup your SD Card into Ramdisk and then get restored, if the total used size is less than 1GB.
If you have more files than that, you will be asked to copy your files to your PC via UMS.
It also allows you to flash L4T Linux images and Android Twrp images.
The Flash Android can be also used to reboot into Twrp if a file to flash is not found.
2020-04-30 16:12:55 +03:00
CTCaer
91c2c891fd
nyx: Fix verification bar/percent not updating
2020-04-30 15:13:12 +03:00
CTCaer
1ba0a7d264
nyx: Allow restoring eMMC backup of different size
...
You will get a warn. If you choose to skip without reading it, then you are toasted.
2020-04-30 15:12:34 +03:00
CTCaer
5f6bf332d3
nyx: Add emuMMC partition backup
...
For now it will automatically dump the first found and the size will be based on its GPT.
2020-04-30 15:11:18 +03:00
CTCaer
448cc49cff
hwinit: Add proper deinit for new components
2020-04-30 15:09:25 +03:00
CTCaer
81f0c0a0dc
touch: Add FB SRAM read function
2020-04-30 15:06:31 +03:00
CTCaer
95c1046765
nyx: Add eMMC and SD read benchmarks
2020-04-30 15:05:41 +03:00
CTCaer
2a8c27115c
fatfs: Use RTC clock for date/time
2020-04-30 15:04:52 +03:00
CTCaer
b6933013be
storage: Add primitive BIS support
2020-04-30 15:04:20 +03:00
CTCaer
a2bb576c03
fatfs: Add Ramdisk support
2020-04-30 15:03:25 +03:00
CTCaer
c8d6da5a23
storage: Add Ramdisk driver
2020-04-30 14:58:53 +03:00
CTCaer
f09263d3be
nyx: Add Update r2p option
2020-04-30 14:56:44 +03:00
CTCaer
fdfd383c34
nyx: Add Joy-Con Bluetooth pair info dump
2020-04-30 14:55:51 +03:00
CTCaer
39a32fc83d
nyx: Add Nyx Options (Theme, Homescreen, Time)
2020-04-30 14:55:15 +03:00
CTCaer
c072041039
nyx: Add time offset
...
The epoch is based on HOS format.
An automatic time set will be implemented in a later version.
2020-04-30 14:51:48 +03:00
CTCaer
6d75f96ed5
nyx: Add Home Screen selection
...
You can now choose between Main menu and Launch/More Cfg as home screens.
2020-04-30 14:49:28 +03:00
CTCaer
ab304c9178
nyx: Small fixes in init
2020-04-30 14:45:59 +03:00
CTCaer
abcb1dec46
boot cfg: Allow Launching UMS from boot.
...
By using `BOOT_CFG_AUTOBOOT_EN` in `boot_cfg` and `EXTRA_CFG_NYX_UMS` in `extra_cfg` you can launch UMS from boot.
The `ums` variable must be populated with one of the following:
```
NYX_UMS_SD_CARD 0
NYX_UMS_EMMC_BOOT0 1
NYX_UMS_EMMC_BOOT1 2
NYX_UMS_EMMC_GPP 3
NYX_UMS_EMUMMC_BOOT0 4
NYX_UMS_EMUMMC_BOOT1 5
NYX_UMS_EMUMMC_GPP 6
```
2020-04-30 14:44:27 +03:00
CTCaer
ac4bf9cf2c
nyx: Add tab separator for Tools tabs
2020-04-30 14:32:52 +03:00
CTCaer
72a51f9506
nyx: Add Touch Panel Calibration tool
2020-04-30 14:31:32 +03:00
CTCaer
d50a77f861
nyx: Fix Archive bits tool v3
2020-04-30 14:30:37 +03:00
CTCaer
0ecd6b16b0
nyx: USB Gamepad emulation (Joy-Con)
...
This allows you to use your joycon as a free gamepad for your PC. Often paired with tools like x360ce.
2020-04-30 14:28:16 +03:00
CTCaer
4dcbaa8c2b
Update Clocks and Fuses for USB
2020-04-30 14:25:58 +03:00
CTCaer
2261dbce83
nyx: USB Mass Storage support (SD/eMMC/emuMMC)
2020-04-30 14:25:43 +03:00
CTCaer
53ff1102df
usbd: Add device descriptors
2020-04-30 14:15:50 +03:00
CTCaer
b01b49aff4
usbd: Add USB Gadget HID driver
2020-04-30 14:15:26 +03:00
CTCaer
c9a7659d93
usbd: Add USB Gadget UMS driver
2020-04-30 14:14:58 +03:00
CTCaer
4f75cd62e5
usb: Add USB Device driver
2020-04-30 14:14:16 +03:00
CTCaer
2a74715c3c
Update some copyrights
2020-04-30 14:10:08 +03:00
CTCaer
1210c3e689
nyx: Add log window screenshots for debugging
2020-04-30 14:09:11 +03:00
CTCaer
a3f430c224
nyx: Add capture effect on screenshots
2020-04-30 14:08:25 +03:00
CTCaer
2f7be43ccb
nyx: Allow screenshots only every 2s
2020-04-30 14:08:06 +03:00
CTCaer
f5432c734c
nyx: Utilize Log Window
...
- or + on Joy-Con displays the log screen.
If there are errors somewhere, they are normally also logged in there.
2020-04-30 14:07:26 +03:00
CTCaer
5ca35aa4fc
memory map: Repartition RAM based on new needs
2020-04-30 14:03:57 +03:00
CTCaer
2dd474ad26
gfx: Switch Nyx gfx prints to landscape
2020-04-30 14:01:10 +03:00
CTCaer
97e45346ea
display v2: Utilize Window D as log window
2020-04-30 13:58:41 +03:00
CTCaer
6c1ce41900
display v2: Add Cursor Window
2020-04-30 13:57:43 +03:00
CTCaer
4a57901746
display v2: Always check if already initialized
2020-04-30 13:55:26 +03:00
CTCaer
c32636b8cb
nyx: Fuses info is now HW and Fuses info
...
Additionally add chip revision info
2020-04-30 13:54:11 +03:00
CTCaer
190ffdaa5a
nyx: Add DRAM modules info
2020-04-30 13:51:46 +03:00
CTCaer
bdd2b40c96
nyx: Add Touch panel info
2020-04-30 13:51:25 +03:00
CTCaer
53f54cf23b
nyx: Add display panel info
2020-04-30 13:50:58 +03:00
CTCaer
474d531788
display v2: Add multiple panel support
2020-04-30 13:49:03 +03:00
CTCaer
3db55df0a6
display v2: Refactor everything
2020-04-30 13:45:28 +03:00
CTCaer
1483a61f11
nyx: Add joycon fallback support as a virtual mouse
...
Cursor Movement: Left Stick
Click: A / ZL / ZR
Back: B
2020-04-30 13:16:30 +03:00
CTCaer
7b715f7be9
input: Add Joy-Con UART driver
2020-04-30 13:02:14 +03:00
CTCaer
56034f9aac
nyx: Ensure that close button var always gets nulled
2020-04-30 04:32:55 +03:00
CTCaer
7e96a4dd3a
nyx: Keep last close button to a var
2020-04-30 04:25:51 +03:00
CTCaer
523c81f797
nyx: Add theme colors for highlight text
2020-04-30 04:04:24 +03:00
CTCaer
f540c8250b
nyx: Disallow eMMC ops with low battery
2020-04-30 03:59:16 +03:00
CTCaer
e89b7f12dd
nyx: Update hekate theme
2020-04-30 03:57:10 +03:00
CTCaer
11f1f65ed1
rtc: Fix hour parsing
2020-04-30 03:53:29 +03:00
CTCaer
071dfa9792
lvgl: Enable keyboard and add HEX mode
2020-04-30 03:53:04 +03:00
CTCaer
3cecb03dac
nyx: Fix a long standing heap corruption issue
2020-04-30 03:51:13 +03:00
CTCaer
a7c64f8ba2
lvgl: Better heap alignment
2020-04-30 03:49:40 +03:00
CTCaer
6749dad1a4
lvgl: Fix HSV to RGB calculation
2020-04-30 03:49:10 +03:00
CTCaer
aadb88eeea
regulators: Enable 5V to missing GPIO AO IO rails
2020-04-30 03:46:21 +03:00
CTCaer
2c4d6552e9
Fixes to battery charger and fuel gauge ICs
2020-04-30 03:45:19 +03:00
CTCaer
c2e8d51115
hos: Add EKS
2020-04-30 03:43:29 +03:00
CTCaer
1d69809022
sdram: Allow killing ram clock source if desired
2020-04-30 03:39:18 +03:00
CTCaer
093f14923c
sdram: Document cfg and use vendor patches
2020-04-30 03:37:40 +03:00
CTCaer
63768ccc99
uart: Add rounded clocking for 1 mbaud
2020-04-30 03:34:05 +03:00
CTCaer
54faa38920
utils: Add normal CRC32
2020-04-30 03:30:51 +03:00
CTCaer
ae1bb909b6
se: Add prng128 generator and get aes keys
2020-04-30 03:29:05 +03:00
CTCaer
ecb616e411
sdram: Add MR read request
2020-04-30 03:27:39 +03:00
CTCaer
8c762c52e2
Various fixes and whitespace removal
2020-04-30 03:25:22 +03:00
CTCaer
e14a7d1d4d
nyx: Clear partition start when creating emuMMC
2020-04-30 02:05:24 +03:00
CTCaer
08c81fe1f8
Move verification config to nyx config
2020-04-30 02:00:33 +03:00
CTCaer
63be93be64
nyx: Use a static color for verifying bar indicator
2020-04-30 01:35:18 +03:00
CTCaer
de4891e133
nyx: Correct label styles set
2020-04-30 01:33:14 +03:00
CTCaer
8fd398f213
nyx: Fix heap corruption while parsing emmc gpt
2020-04-30 01:31:01 +03:00
CTCaer
ec53aa86dd
emmc: Use gpt struct and only add valid entries
...
Additionally keep track of partition index
2020-04-30 01:29:58 +03:00
CTCaer
51985ed2ca
sdmmc v2: Bus/IO clock refactoring and fixes
...
Use the exact same clocks with HOS and utilize low jitter clock parents.
Add back our compatibility mode and the missing timeout clock parent.
Hekate main will continue to use PLLP clock parent for all.
2020-04-30 01:26:55 +03:00
CTCaer
67ae7b9dcb
nyx: Add SD Card error report in Console Info
2020-04-30 01:09:48 +03:00
CTCaer
96654d9620
nyx: Throw a warning if SD Card in 1 bit mode
2020-04-30 01:05:22 +03:00
CTCaer
ce97b97c8d
sdmmc v2: Add full SD card fallback initialization
...
hekate main always runs in compatibility mode (SDR82).
This ensures speed on boot process.
Nyx will first try SDR104.
If the sd card is a sandisk U1 and fails, it will try the compatibility mode.
After that it fallbacks to lower bus speeds.
Both support 1bit mode for broken sd card readers.
Having the new error checking in the sdmmc driver, allows for all that to work.
It can now fail instead of continuing, like how HOS reacts.
2020-04-30 00:00:00 +03:00
CTCaer
034f680a8e
sd fs: Move sd init/mount/helpers to their own object
2020-04-29 23:20:18 +03:00
CTCaer
7d17e34dee
sdmmc v2: Add eMMC overclocking
2020-04-29 22:11:23 +03:00
CTCaer
d0a16a49b6
sdmmc v2: Add error checking for all cases
2020-04-29 22:09:36 +03:00
CTCaer
5442547a59
sdmmc v2: Name eMMC physical partitions
2020-04-29 22:06:33 +03:00
CTCaer
10e7e06048
sdmmc v2: Move address alignment check in driver
2020-04-29 21:46:25 +03:00
CTCaer
eac6426125
sdmmc v2: Driver fixes
2020-04-29 21:43:07 +03:00
CTCaer
88b01994bd
sdmmc v2: HW driver fixes
2020-04-29 21:39:03 +03:00
CTCaer
66780bb4c2
sdmmc v2: Refactor and fix registers
2020-04-29 21:23:28 +03:00
CTCaer
7f26981fa1
sdmmc v2: Refactor function names and vars
2020-04-29 21:16:44 +03:00
CTCaer
5b0a0070c7
sdmmc v2: Refactor everything
2020-04-29 18:53:29 +03:00
CTCaer
0462f3b252
Add simple exception handling
...
This adds support for exception handling.
It should provide simple and fast reporting of crucial info and full restoration without powering off.
2020-04-27 09:56:19 +03:00
CTCaer
9a5cfdff4c
gpio: Upgrade GPIO driver
...
Use macros to get bank addresses and add full configuration support.
2020-04-27 09:51:25 +03:00
CTCaer
cb3b1bf6e1
irq: Add Legacy Interrupt Controller driver
2020-04-27 09:49:00 +03:00
CTCaer
b4d2df8111
Name various t210 registers
2020-04-27 09:47:47 +03:00
CTCaer
4160037c81
emummc: Add boot entry emuMMC selection
...
Using the key `emupath` on a boot entry will load the selected emuMMC.
This can also be forced by using the correct boot cfg storage bit and writing the path at the emummc path offset. Check readme for these.
This can only be used if the emuMMC was created via Nyx. because of the raw_based and file_based files that have emuMMC info.
(emupath=emuMMC/RAW1, emupath=emuMMC/SD00, etc)
2020-04-27 09:30:53 +03:00
CTCaer
3fa537e54a
nyx: Move emummc cfg load function
2020-04-27 09:18:31 +03:00
CTCaer
f35c18a0c2
nyx: Refresh emuMMC status after a creation
2020-04-27 09:13:22 +03:00
CTCaer
aff137ac34
nyx: Allow partition selection for emuMMC raw
2020-04-27 09:09:52 +03:00
CTCaer
6236b0ab00
nyx: Use mbr context for emuMMC partition
2020-04-27 09:06:53 +03:00
CTCaer
ae656a0f81
types: User a proper struct for MBR partition table
2020-04-27 08:58:37 +03:00
CTCaer
6a6648d3b3
nyx: Change many lvgl static labels to dynamic
2020-04-27 08:47:00 +03:00
CTCaer
da149c296f
touch: Reinitialize up to 3 times if failed
2020-04-14 17:52:22 +03:00
CTCaer
9af4c717a8
util: Add btn_read_vol
2020-04-14 17:51:42 +03:00
CTCaer
281e5a138e
sept: Create sept folder if missing
2020-04-14 17:45:34 +03:00
CTCaer
e7f8b2c6c2
hos: Add HOS 10.0.0 support
2020-04-14 17:43:43 +03:00
CTCaer
3d9c64d548
hos: Use a new method to get kernel/ini1 offsets
2020-04-14 17:40:41 +03:00
CTCaer
5f142b4c86
main: Add empty battery screen
...
This disables low battery monitor shutdown (LBM shutdown) on boot and checks if battery is enough.
The logic is as follows:
If battery is not enough:
- If not charging and 15s pass, it will re enable LBM shutdown and power off.
- If charging, it will wait until it is charged above the limit.
Screen will auto turn off to save power. A press on Power button or a change on charger, will enable it for another 15s.
If battery is enough:
- Enables LBM shutdown and continues with the boot process.
2020-04-06 05:54:45 +03:00
CTCaer
dc9c7fd95c
touch: Do a panel HW test before calibration
...
In case the panel or the panel connection has issues, abort the calibration.
2020-03-25 01:38:16 +02:00
CTCaer
4ec7befe82
touch: Small refactor
2020-03-25 01:31:58 +02:00
CTCaer
a39ba2cd71
lvgl: Fix edge case in lv_label_set_text
...
This fixes an edge case where the original label set was done with set_static_text, the next one with set_text and the text is at the same address.
The incomplete check would think that the text resides on heap and it would reallocate it as such, effectively corrupting .data on the next sets.
2020-03-22 04:48:50 +02:00
CTCaer
9c6931a17c
Bugfixes
...
The fan driver change ensures power off in any situation where a chainload software re-enables the 5V regulator.
2020-03-21 22:28:50 +02:00
CTCaer
976925c697
nyx: Allow cancellation of emuMMC creation
2020-03-21 22:27:17 +02:00
CTCaer
d50af46b03
chnldr: Support variable sizes of coreboot.rom
2020-03-21 22:18:40 +02:00
CTCaer
52874f9113
minerva: More protections
2020-03-21 22:10:06 +02:00
CTCaer
91a241dafa
touch: Add Tuning Calibration
...
This, for now, can be done at Nyx boot by holding VOL- and VOL+.
Make sure that you don't touch the touchscreen.
2020-03-21 22:03:51 +02:00
CTCaer
76676f3a2e
nyx: Allow for big filepaths for archive bit fixer
...
It also fixes corruptions/hangs when path is bigger than 255 chars
2020-03-18 06:30:11 +02:00
CTCaer
f5040f1e41
Update and add missing copyrights
...
Probably more need to change.
2020-03-14 09:24:24 +02:00
CTCaer
c9c3c8f716
touch: Add context based ready checks on init
2020-03-13 17:36:44 +02:00
CTCaer
144d6fd3f6
i2c: Update drivers
...
Adds support for 8 byte transfers needed by touch driver changes.
2020-03-13 10:25:27 +02:00
CTCaer
9697067466
touch: Add fw info
2020-03-13 08:48:20 +02:00
CTCaer
8539095bdb
touch: Proper init
...
This patch applies the simpler init from HOS driver.
The most important change is enabling a feature that the fw supports:
Automatic tuning and calibration based on saved tuning values (running HOS only once saves these).
2020-03-13 08:39:38 +02:00
CTCaer
95e3159fe9
touch: Correct pressure calculation
...
Fingertip S for Nintendo Switch uses a custom spatial calculation. It now allows to identify area of touch.
2020-03-13 08:34:16 +02:00
CTCaer
8d5c52f087
lvgl heap: Fix critical issue with node header size
...
This fixes a critical issue where the node header was 28 bytes instead of 32, causing misalignment and heap corruption.
2020-03-09 08:39:31 +02:00
CTCaer
e6c1d9bf66
nyx: Simplify label sets
...
- Use only lv_label_set_text to simplify label sets
- Fix an issue with a label cut
- Add more maintenance functions for DRAM training
2020-03-09 08:37:41 +02:00
CTCaer
a52af1bf41
Fix building on make 4.3
2020-03-04 01:34:35 +02:00
CTCaer
ac92ca220f
fan: Better thermal logic based on HOS patterns
2020-03-03 04:37:59 +02:00
CTCaer
ab8801d0de
touch: Add edge compensation
...
Switch touch panels have a 10-15px offset around the edges.
(10-1269, 10-709) / (15-1264, 15-704)
This allows touch driver to report a max of 0-1279, 0-719.
2020-03-03 04:28:12 +02:00
CTCaer
f3802ec464
lists: Fix list member iteration with no entries
2020-03-03 04:24:38 +02:00
CTCaer
bc7a7bcfa0
info: Allow dumping of battery characterization table
2020-03-03 04:22:59 +02:00
CTCaer
6a52d44da6
heap: Fix edge case of reusing first node
...
There is an edge case fixed where the whole would be freed and this would make use of a nullptr.
Additionally, remove usage of reserved names for vars and add comments on how it works.
2020-03-03 04:16:20 +02:00
CTCaer
03a8a11933
Small fixes and changes
...
- Allow printing of more log on HOS boot when LOGS are OFF.
- A small name refactoring
- Add battery warning symbol when battery < 3200mV
2020-03-03 04:11:13 +02:00
CTCaer
4c1f67d022
Fix build errors
2020-01-19 15:22:59 +02:00
CTCaer
2a161b572b
sdmmc: Set power cycle wait to 0 at boot
2020-01-17 09:19:58 +02:00
CTCaer
422852795f
ini: Remove \r stripping as is done by FatFS
2020-01-17 09:18:31 +02:00
CTCaer
4d53f21387
mtc: Clear init magic on chainload
...
Fixes a hang caused when rebooting 2 payload from L4T with old hekate in vendor partition.
L4T does not overwrite the nyx storage where the Minerva configuration is stored.
This makes new Minerva parse the wrong tables from old hekate and eventually hang the RAM, which causes an exception on BPMP.
2020-01-14 23:41:15 +02:00
CTCaer
9263e2192f
nyx: Fix low battery voltage color
2020-01-07 06:50:33 +02:00
CTCaer
c99a87dd09
clock: Move PLLC config from bpmp.c to clock.c
2020-01-07 06:46:22 +02:00
CTCaer
009db77426
bpmp: Switch to PLLC for SCLK/BPMP clock source
2020-01-07 06:26:29 +02:00
CTCaer
2f43145131
uart: Add invert, get/set IIR and fifo empty functions
2019-12-16 22:16:40 +02:00
CTCaer
e3fca2bce5
uart: Add timeout and len report to uart receive
2019-12-16 22:15:21 +02:00
CTCaer
da112a0ae9
uart: Proper uart init
2019-12-16 22:12:09 +02:00
CTCaer
90060d1d83
mtc: Don't rely on clean BSS for Minerva lib
2019-12-16 22:06:13 +02:00
CTCaer
1ccce5f1a2
gfx: Fix off-by-one in right half of 16px rendering
2019-12-16 21:49:54 +02:00
CTCaer
2aaa0331ac
rtc: Add epoch convertion functions
...
Thanks @shchmue for the HOS conversion
2019-12-14 22:27:07 +02:00
CTCaer
7604239237
bpmp: Update driver to latest
2019-12-14 22:21:42 +02:00
CTCaer
1e4d63731b
nyx: Fix about screen 2nd pane left margin
2019-12-12 00:20:14 +02:00
CTCaer
a664118fc7
r2p: Update r2p payload
...
2 modes:
- With updater2p; Forces the reboot to payload binary to be hekate
- Without; Checks if hekate and then if old
2019-12-12 00:13:32 +02:00
CTCaer
c6e92311f9
Add error printing for issues with libraries
...
It will now show erros for the following:
- Missing or old libsys_minerva.bso (DRAM training).
- Missing libsys_lp0.bso (LP0 sleep mode).
- Missing or old Nyx version
2019-12-11 11:22:11 +02:00
CTCaer
24d30a40f9
hos: Add Atmosphere's system mem increase patches
2019-12-10 19:20:02 +02:00
CTCaer
e4f7928513
minerva: Fix compatibility check for hekate main
...
Init now also returns status.
2019-12-09 22:27:01 +02:00
CTCaer
bd8a5ece58
heap: Fix type for heap monitor memset size
2019-12-09 19:30:45 +02:00
CTCaer
d0850516ab
Bump hekate to v5.1.0 and Nyx to v0.8.3
2019-12-08 18:59:00 +02:00
CTCaer
4c5a78de6f
hos: Fix pkg2 keygen with newer sept
...
This change also adds support for older sept binaries.
2019-12-08 18:32:09 +02:00
CTCaer
c12c696e53
hos: Add 9.1.0 support
2019-12-08 03:01:21 +02:00
CTCaer
f256bd5909
Move all I/DRAM addresses into a memory map
...
Many addresses were moved around to pack the memory usage!
2019-12-08 02:23:03 +02:00
CTCaer
0290892b23
nyx hw reconfig: Add fan and 5V regulators deinit
...
Additionally re-arrange minerva and mmu after these.
2019-12-08 01:41:57 +02:00
CTCaer
643a8ea8f9
fan: Update driver
...
Make use of 5V regulator driver and fixe some bugs
2019-12-08 01:38:12 +02:00
CTCaer
a6d8854499
power: Add 5V regulator driver
2019-12-08 01:36:35 +02:00
CTCaer
96bafd8bd7
nyx: Use color when battery voltage < 3200mV
...
For status bar and Battery Info.
2019-12-08 01:32:26 +02:00
CTCaer
65ee728939
nyx: Enable fan when temps are high
2019-12-08 01:26:26 +02:00
CTCaer
e1748a0727
nyx: Boost eMMC backup/restore verification times
...
This change allows SE to start verifying the first buffer while the 2nd is populated. Effectively cutting verification down to almost half.
2019-12-08 01:20:05 +02:00
CTCaer
35e853fd03
touch: Change I2C4 pinmuxing as per HOS
2019-12-07 23:23:01 +02:00
CTCaer
7e26be6587
lvgl: Optimize color blending
...
The manual optimization done dramatically increases performance in software color blending.
Isolated gains reach 20-30%.
Color blending calculates 2 +1 color channels instead of the expensive 1+1+1 calculations.
This is as best as it gets without going in asm optimizations.
2019-12-07 20:47:19 +02:00
CTCaer
733da0f4d5
nyx: Remove compiler flags to gain extra perf
...
- Removing no-inline produces 30-50% performance gains on specific real time sensitive functions used for rendering.
On overall, this will give 5-10% observed performance gains.
- Strict aliasing produces some extra small gains.
2019-12-07 20:35:17 +02:00
Kostas Missos
a357395cc6
nyx: Remove LTO in order to increase performance
...
Perf gains from removing LTO linker flag amounts to actually more than 5% average in real usage scenarios in Nyx.
(These include overall timings with static waits included. So basically as observed by user.)
Gains observed, on many isolated cases, were between 15-35%.
Additionally, this will make compiling fast again.
2019-12-07 20:26:51 +02:00
Kostas Missos
48c15a8fde
nyx: Release the shackles
2019-12-07 20:16:38 +02:00
Kostas Missos
0b45a5a11a
bpmp: Reduce freq to 589MHz
...
3 users had issues with 602MHz.
This will probably bring the SoC binning compatibility to 100%.
Additionally, make it easy to change default boost frequency.
The tiny loss in perf, will be mitigated in Nyx. (It's actually even faster)
2019-12-07 02:01:29 +02:00
Kostas Missos
bc7dec2e61
bpmp: Add forcable maintenance
...
+ Fix build issues
2019-12-07 01:47:44 +02:00
CTCaer
9811ba53e0
pmic: Enable Low Battery Shutdown for 2.8V
...
There's an increasing ammount of users that kill their batteries when forgetting their devices into AutoRCM / RCM mode.
This will now force a shutdown the moment the battery reaches 2.8V. Even if device is inside RCM mode.
Notice: We might need to increase the limit.
2019-12-04 22:06:34 +02:00
CTCaer
a16b1af698
pmic: Always ensure that values were written
2019-12-04 22:02:17 +02:00
CTCaer
641a57a4f6
hos/mtc: Add FSP WAR and boost HOS booting times
...
By implementing FSP WAR we can allow HOS to boot in 1600MHz and be able to switch frequency without hanging.
2019-12-04 21:59:58 +02:00
CTCaer
84328aa676
minerva: Make use of new minerva
...
- Training and switch is now faster
- Compatibility checks: New Minerva does not allow old binaries. New binaries do not allow old Minerva
- MTC table is now in a safe region
- Periodic training period increased to every 250ms
2019-12-04 21:56:45 +02:00
CTCaer
dd8ec0d28b
clock: Always wait 2us before deasserting reset
2019-12-04 21:32:51 +02:00
CTCaer
0b1eebefe1
Small refactor and bugfixes
2019-12-04 21:31:39 +02:00
CTCaer
168de9ddd8
sdmmc: Ensure aligned DMA buffers
2019-12-04 19:42:25 +02:00
CTCaer
b61b212218
lvgl heap: Align addresses & sizes to cache line size
2019-12-04 19:04:11 +02:00
CTCaer
ec10b572d1
heap: Quality updates to heap management
...
- Allow reuse of unused sections that fit exactly to selected allocation size. Decreases fragmentation dramatically.
- Always allocate and align mapped memory to selected alignment. Avoids having fragmented unused maps that are not aligned.
- Use a static alignment based on BPMP and generally average cache line size. Boosts performance when MMU is used.
2019-12-04 19:02:28 +02:00
CTCaer
d1e50c558e
sdram: Refactor and fix some bugs in init
2019-12-04 18:53:36 +02:00
CTCaer
2c1da3a97d
se: Upgrade SE and allow SHA calc continue
...
- Allow SHA to calculate sizes > 16MB and refactor sha function
- Name various registers and magic numbers
- Fix various key access bugs
In a later commit this new design will boost verification times significantly and also allow full SHA256 hashes.
2019-12-04 17:18:16 +02:00
CTCaer
29a51124fd
Simplify string ops with already compiled-in functions
2019-12-04 15:56:53 +02:00
Kostas Missos
598073e50c
ext patches: Remove patches_template.ini load
...
Remove patches_template.ini load.
- It has useless patches, which some times, users confuse them for "bad" patches, even though they aren't.
- No one reads on how it works and it's constantly mishandled when there's no patches.ini (which completely overrides it).
- It was not supposed to be edited.
Also release will not include it anymore.
Template will still exist for demonstrating the syntax of `patches.ini`
This commit also corrects the patches.ini encoding note as ASCII.
2019-10-31 16:26:46 +02:00
shchmue
426c86182d
heap: Prevent node chain collapse on free
2019-10-25 11:20:38 -06:00
CTCaer
65fbdfddbf
kfuse: Ensure that kfuse is ready 100% for tsec
2019-10-22 18:57:51 +03:00
Kostas Missos
7c42f72b8a
refactor: Remove all unwanted whitespace
2019-10-18 18:02:06 +03:00
CTCaer
fe339120e2
Bump hekate to v5.0.2 and Nyx to v0.8.2
...
Also rip hekate main's menu logo.
(It will be back :P)
2019-09-12 23:55:48 +03:00
CTCaer
e24bb44adf
hos: Add full 9.0.0 support
2019-09-12 23:41:08 +03:00
CTCaer
40afcfd686
hos: Support pkg2 encrypted with newer mkeys
2019-09-12 23:39:47 +03:00
CTCaer
658c3c112f
hos: automatically find new kernel ini1 offset
2019-09-12 23:37:00 +03:00
CTCaer
8033ba461f
SE: Boost its speed while BPMP cache is on
...
Plus add se_aes_crypt_ecb().
Thanks @shchmue for pointing out that speed bump
2019-09-12 23:27:04 +03:00
CTCaer
8cef81c901
nyx: Fix some inconsistencies with transparency
2019-09-12 23:20:38 +03:00
CTCaer
08d212d4da
FatFS: Update to R0.13c (p4) and fix some crit issues
2019-09-12 23:18:39 +03:00
CTCaer
252a57ef6a
util: Utilize BPMP sleep when usleep is out of bounds
2019-09-12 23:12:17 +03:00
CTCaer
23e246f224
i2c: Add missing clocks + more refactoring
2019-09-12 23:11:17 +03:00
CTCaer
3028568019
pmc-ccplex: Have proper Power Domain toggling
2019-09-12 23:09:38 +03:00
CTCaer
a8d529cf6a
Refactoring and comment adding
2019-09-12 23:08:38 +03:00
CTCaer
c5b64a2b58
tsec: Don't disable HOST1x clock because it's used
...
Tsec keys function always disabled host1x clock after running.
This interferes with display interface and disables further window frame syncing.
Display_end code already handles disable and reset of said clock.
It also fixes an ancient bug that was mitigated by removing the 5 frame sync on HOST1X_SYNC_SYNCPT_9 at channel 0:
5fd9daa364 (diff-6b0c56eab8515465d559ff0ea73a22c3L152)
2019-09-11 02:19:41 +03:00
CTCaer
4c09454bca
nyx options: Do not hide delay time if AutoBoot is off
2019-09-10 23:53:45 +03:00
CTCaer
29b86ce92b
nyx: Refactor Options to a separate object
2019-09-10 23:35:17 +03:00
Kostas Missos
50ebcee45d
nyx: Fix stray color tags (lvgl heap corruption)
2019-09-10 17:05:52 +03:00
Kostas Missos
718e502983
Add more register names + refactoring
2019-09-09 16:56:37 +03:00
Kostas Missos
c1e072986d
Fix build issues
2019-09-09 15:48:49 +03:00
CTCaer
8045d7992b
hwinit: FIx CPU/GPU on warmboot reboot from Linux
...
Thanks @Stary2001 for all the testing!
2019-09-01 03:55:43 +03:00
CTCaer
02826dd9a6
sdmmc: Streamline power cycle wait for Sandisks U1
2019-08-28 02:39:43 +03:00
CTCaer
c50e61f961
nyx: Support fixing archive bits for emuMMC
2019-08-28 02:27:13 +03:00
CTCaer
deb9c94bcd
nyx: Check if split restore files are 4MB aligned
...
This is a mitigation for cluster version of FastFS.
During a split restore, it is allowed only once to write a cluster that is not full.
2019-08-28 02:25:48 +03:00
CTCaer
6cc3d9df67
nyx: Fix eMMC split restore when < 10 parts
...
Now it properly follows the double digit scheme.
(rawnand.bin.##)
2019-08-28 02:23:46 +03:00
CTCaer
92a60a1e89
nyx: Various fixes
2019-08-28 02:20:48 +03:00
CTCaer
f3d071ca69
mem: Remove memalign
...
It doesn't do what it should anyway.
2019-08-28 02:08:12 +03:00
CTCaer
9533dea124
nyx: Update AutoRCM status on eMMC restore
2019-08-28 02:06:19 +03:00
CTCaer
6159d94e5d
nyx: Fix autoboot list for inis
2019-08-28 01:58:12 +03:00