1
0
mirror of https://github.com/CTCaer/hekate.git synced 2024-10-03 13:12:05 +00:00
Commit Graph

382 Commits

Author SHA1 Message Date
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
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
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
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