Commit graph

396 commits

Author SHA1 Message Date
CTCaer
28f2fb1468 emummc: Fix issue with emu_path corrupting bss 2020-06-14 13:32:04 +03:00
CTCaer
ad5a50ecd9 emummc: Bail if emummc is not enabled 2020-06-14 13:31:16 +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
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
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
1c213d73c9 hos: Remove some unneeded secmon patches 2020-06-14 02:24:18 +03:00
CTCaer
3dcd2ad15f hos: Header for pkg2 is now more proper 2020-06-14 02:23:02 +03:00
CTCaer
accf226214 hos: Fix bct clear 2020-06-14 02:19:55 +03:00
CTCaer
71df1e2da1 hos: Initialize eMMC only once. Saves half second. 2020-06-14 02:13:18 +03:00
CTCaer
d49a40b0da hekate: Better error prints for failed launching 2020-06-14 02:09:48 +03:00
CTCaer
75c6b01696 power: Always enable low battery protect 2020-06-14 02:05:57 +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
780d17e61c tui: Remove menu logo and ifdefs 2020-06-13 18:35:07 +03:00
CTCaer
c613acb31d tui: Localize status bar time keeping 2020-06-13 18:33:44 +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
f085cbc4a4 Bump hekate to v5.2.1 and Nyx to v0.9.1 2020-05-05 20:40:22 +03:00
CTCaer
7543234401 emummc: Fix emupath folder and add more checks
The checks are checking if the emuMMC was found. If it didn't  and error will be show.
2020-05-05 19:23:31 +03:00
CTCaer
5b91c54936 fatfs: Backport some fixes 2020-05-05 19:21:07 +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
c7ab404fc1 exo: Fix prodinfo blanking overriding 2020-05-05 18:58:53 +03:00
CTCaer
da8c040c08 hos: Fix exosphere.ini parsing 2020-05-01 20:30:17 +03:00
CTCaer
ee8854fa14 So it has come to this. (hekate v5.2.0, Nyx v0.9.0) 2020-05-01 17:33:31 +03:00
CTCaer
3794c61ab2 Mitigate a L4T Joy-Cond driver issue 2020-05-01 17:28:24 +03:00
CTCaer
9850dc305c sept: Make parsing more readable 2020-04-30 16:34:24 +03:00
CTCaer
1a89246e7f Remove emmc tools from TUI. You will not be missed.
Now that Nyx has Joy-Con support as a fallback, the eMMC backup/restore tools can now be removed from TUI.
2020-04-30 16:25:35 +03:00
CTCaer
2094ac2bba exo: Add exosphere.ini support and cal0 blanking
exosphere.ini will always be loaded and the values set by it.

User can still choose to override them with the `cal0blank` and `cal0writesys` in a boot entry.

Override keys get a 0 or 1.
2020-04-30 16:21:38 +03:00
CTCaer
f9b0ff70f7 hos: Disallow Auto NOGC for stock
If you still want to use it, you must use `kip1patch=nogc` in your boot entry to force it.
2020-04-30 16:15:49 +03:00
CTCaer
a2bb576c03 fatfs: Add Ramdisk support 2020-04-30 15:03:25 +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
4dcbaa8c2b Update Clocks and Fuses for USB 2020-04-30 14:25:58 +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
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
7e96a4dd3a nyx: Keep last close button to a var 2020-04-30 04:25:51 +03:00
CTCaer
279b67fa49 i2c: Update driver in hekate main also 2020-04-30 03:54:24 +03:00
CTCaer
11f1f65ed1 rtc: Fix hour parsing 2020-04-30 03:53:29 +03:00
CTCaer
91b4c86bbe minerva: Fix emc table corruption 2020-04-30 03:47:23 +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
a00f25d2f9 l4t: Clear payload mode from scratch0 reg 2020-04-30 03:31:42 +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
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
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
cadb95e3ce hos: Add emummcforce key
This disallows booting if emummc.ini is missing or emuMMC is disabled. Useful when sysmmc must be avoided at all cases.
2020-04-27 09:44:06 +03:00
CTCaer
f148757110 hos: Disallow booting CFW if normal FS and exFAT sd
This will stop black screens when user boots CFW with an exFAT sd card and without having the exFAT microupdate.
2020-04-27 09:41:13 +03:00
CTCaer
6e538cd291 hos: Improve kip patching
Allows more kip names to be added. To use it on them you will need to dump the kips via the Dump pkg1/2 function and then sha256 to get the hash.
The name must be used as is, otherwise the name compare will fail.

Because of that, also allow unordered parsing and gluing.
2020-04-27 09:38:09 +03:00
CTCaer
62a73ee612 ini: Always clear the section allocations 2020-04-27 09:33:21 +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
ae656a0f81 types: User a proper struct for MBR partition table 2020-04-27 08:58:37 +03:00
CTCaer
a4c90aeff3 Bump hekate to v5.1.4 and Nyx to v0.8.7 2020-04-14 21:34:59 +03:00
CTCaer
bfe13981bc Disable some options from TUI to lessen codesize v2 2020-04-14 18:11:34 +03:00
CTCaer
ef11dd883a Allow bypassing empty battery charging 2020-04-14 17:55:31 +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
52c506af9a tools: Force sparse verification on TUI
Additionally, because the tool relies 100% on sd card, it will become a Nyx only. Remove the config also, as it will be moved to nyx configuration.
2020-04-06 05:36:09 +03:00
CTCaer
9c2202fa39 Bump hekate to v5.1.3 and Nyx to v0.8.6 2020-03-21 22:30:39 +02:00