CTCaer
5a6608dff4
Bump hekate to v5.3.4 and Nyx to v0.9.5
2020-10-27 21:28:06 +02:00
CTCaer
8f222fd0bd
main: Fix update.bin creation on first boot
2020-10-27 21:27:51 +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
9d1c0ce308
Create update.bin if missing
...
This will allow l4t/Android to always use latest hekate in case of old r2p.
2020-10-20 10:34:33 +03:00
CTCaer
27b1f0e843
Various small fixes
2020-10-20 10:32:32 +03:00
CTCaer
2f5b52223c
config: Add bootloader protection
...
`bootprotect=1` enables protection of the `bootloader` folder inside HOS.
This disallows any reading/writing of the folder and its contents inside HOS, preventing any corruption of it.
This of course has the side-effect of homebrew that depend on it (e.g. hekate Toolbox) to not work fully.
2020-10-20 10:16:12 +03:00
CTCaer
bf222290b8
hos: Add support for mesosphere
...
The change adds support for mesosphere loading from fss0 or sd (kernel=).
2020-10-17 23:18:48 +03:00
CTCaer
d825be5eb2
hos: Tiny refactoring
2020-10-17 23:16:16 +03:00
Aurora Wright
216d97aada
Push changes as requested
2020-10-17 21:11:21 +02:00
Aurora Wright
e3421fd44e
hos: Prevent sysmmc boot on emummc patch failure if emummc is forced
2020-10-14 19:37:36 +02:00
CTCaer
85d43147ee
Bump hekate to v5.3.3 and Nyx to v0.9.4
2020-09-15 20:24:56 +03:00
CTCaer
8f7bdd45b1
hos: Report exFAT compatible if missing FS kip hashes
2020-09-15 19:07:16 +03:00
CTCaer
0142ac1697
Add TUI reload in case of missing bootloader files
2020-09-15 18:57:49 +03:00
Nichole Mattera
bdb21ce3fd
Added new FS patches for 10.2.0.
2020-09-15 07:26:27 -04:00
CTCaer
926bd5d2fb
Add SD error report on first boot
2020-08-28 09:37:48 +03:00
CTCaer
9686eaf3f1
info: Add better SD error debugging on hekate main
...
Now the SD Card info function on hekate main will not rely on proper FAT partition, allowing for SDMMC init and FAT mounting to be separate for debugging issues with each one.
Additionally, add SDMMC error counters info.
2020-08-15 13:23:11 +03:00
CTCaer
98555b24f8
l4t: Clear boot mode if user canceled autoboot
2020-08-15 13:12:41 +03:00
CTCaer
15b46ddb27
hos: Hold more devices in Reset for secmon launch
2020-08-15 12:31:44 +03:00
CTCaer
78c4e6510d
hos: Add backup bootloader support
2020-08-15 12:30:18 +03:00
CTCaer
fb7c83a66c
exo: Fix exo fatal dump's header
2020-08-02 03:51:36 +03:00
CTCaer
f021665089
Bump hekate to v5.3.2
2020-07-19 23:26:05 +03:00
CTCaer
6c887c15be
l4t: Disable kernel panic dumping for now
2020-07-19 23:25:49 +03:00
CTCaer
2b7722da7d
hos: Fix hold usbd in reset
2020-07-19 23:10:21 +03:00
CTCaer
4f65697522
Bump hekate to v5.3.1 and Nyx to v0.9.3
2020-07-19 20:56:22 +03:00
CTCaer
af0cd34f92
l4t: Add panic dump (PSTORE)
2020-07-19 20:32:22 +03:00
CTCaer
b8ca88ee0a
exo: Change fatal names and add stack overflow
2020-07-18 12:53:05 +03:00
CTCaer
11df6030f9
Various fixes
2020-07-18 00:54:35 +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
e158d9bc00
clk: Refactor CLK devices bits
2020-07-17 16:50:17 +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
ddc89c9f49
hos: Reduce size of pkg1 id array
2020-06-22 12:04:49 +03:00
CTCaer
9673d5524a
hos: Fix pkg2 re-encryption for exo2 & 8.1.0/9.0.X
2020-06-20 21:31:58 +03:00
CTCaer
98e05d941d
Bump hekate to v5.3.0 and Nyx to v0.9.2
2020-06-15 17:33:20 +03:00
CTCaer
90ab1e5656
hos: Hold USBD in reset before booting
2020-06-15 17:33:13 +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
1369d66043
exo: Use exo new instead of fss ver for new versioning
2020-06-15 10:57:15 +03:00
CTCaer
9e48d64b27
hos: Clear secmon mailbox where appropriate
2020-06-15 10:54:52 +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
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
9489eca487
hos: Add secmon/warmboot base selection
2020-06-14 14:00:07 +03:00
CTCaer
3aa195943d
hos: Add identification for hos 5.1.0
2020-06-14 13:58:03 +03:00
CTCaer
3c6c92aa9c
exo: Add support for exo2
2020-06-14 13:57:11 +03:00
CTCaer
c2160ae367
hos: Fix a long standing bug with kip1 patches
...
The kip1 patcher since its inception was checking for patches wrongly.
This would create an edge case scenario, where up to 1 patch could be skipped.
2020-06-14 13:55:41 +03:00
CTCaer
d607a8830b
hos: Support new sept/exo keyslots
2020-06-14 13:53:21 +03:00
CTCaer
f7f99bddab
hos: Remove emmc reinit for grabbing rsa modulus
2020-06-14 13:49:59 +03:00
CTCaer
4564db0b6d
exo: Support new fw versioning
2020-06-14 13:49:03 +03:00
CTCaer
0a44a31f2c
hos: Allow booting when kip1 patches failed
...
This can lead to a hanged boot if kip was corrupted or it can lead to unforeseen results if emummc or nogc patches fail and user chooses to continue.
2020-06-14 13:47:47 +03:00
CTCaer
0692e4de8d
hos: Fix some keyslot bugs
2020-06-14 13:45:01 +03:00
CTCaer
92d013dd65
eks: Upgrade to new version and support BIS keys
2020-06-14 13:42:48 +03:00
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
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
d50af46b03
chnldr: Support variable sizes of coreboot.rom
2020-03-21 22:18:40 +02:00
CTCaer
3405910f4c
hwinit: Disable SD Card power on boot
...
Fixes issues with warmboot based reboots.
2020-03-21 22:13:18 +02:00
CTCaer
52874f9113
minerva: More protections
2020-03-21 22:10:06 +02:00
CTCaer
a8db070755
fss: Fix launching CFW on sys for < 7.0.0
2020-03-21 13:15:24 +02:00
CTCaer
f5040f1e41
Update and add missing copyrights
...
Probably more need to change.
2020-03-14 09:24:24 +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
8b74c487eb
exo: Add support for fatal version AFE2
2020-03-09 09:09:25 +02:00
CTCaer
8abda7f259
fss0: Support experimental content
...
Use key `fss0experimental=1` in a boot entry with `fss0=` defined to enable experimental content.
(Older versions of hekate will just skip any experimental content.)
2020-03-09 08:58:12 +02:00
CTCaer
3f10cc774b
Bump hekate to v5.1.2 and Nyx to v0.8.5
...
Additionally disable archive bit fix tool in hekate main to shave binary size.
The archive bit fix in Nyx is the only maintained one and so the only one that should be used.
2020-03-03 04:42:01 +02:00
CTCaer
f3802ec464
lists: Fix list member iteration with no entries
2020-03-03 04:24:38 +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
c474e35732
hos: 9.2.0 support
2020-03-03 03:32:45 +02:00
CTCaer
4c1f67d022
Fix build errors
2020-01-19 15:22:59 +02:00
CTCaer
91759aba95
r2p/update: Fix check for the 'if not forced' case
...
This fixes the following case:
When force is 0 and the payload is not hekate, the function jumps to the 'is old' check.
This skips the is magic value check and only does the version check.
In case the foreign payload has a low value on that offset, it causes an overwrite which is unneeded.
2020-01-17 09:35:16 +02:00
CTCaer
5a9bbaf900
fss0: Fix parsing Sept from fusee-secondary
2020-01-17 09:27:53 +02:00
CTCaer
01a767cbfa
fss0: Fix heap corruption when sept is loaded from fss
2020-01-17 09:26:13 +02:00
CTCaer
8552a7282c
ini: Fix heap corruption caused by backlight option
...
Additionally, name all text size values so it doesn't happen again in the future.
2020-01-17 09:22:28 +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
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
8584493c7f
sept: Add support for loading sept from fss0
...
If `fss0=` key is detected, sept will be loaded from fusee-secondary.bin instead of `sept/sept_*`.
This will negate missing sept and failed to decrypt pkg2 errors, when booting HOS, for users that forget to update sept folder.
2019-12-16 00:53:22 +02:00
CTCaer
9b2d906648
hos: Add message for possible cause of unk pkg1
2019-12-14 22:43:00 +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
562a6fb61d
Bump hekate to v5.1.1 and Nyx to v0.8.4
2019-12-12 00:24:13 +02:00
CTCaer
8ff01301cb
btn: Fix bootwait=0 for real
2019-12-12 00:15:08 +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
87d376654b
util: Update update.bin if old
2019-12-12 00:07:18 +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
ae283aef59
util: Always return result if not a single press req
...
This also fixes issues with 0 time out.
2019-12-10 13:49:28 +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
97d3b745d9
exo: Add support for user access to PMU flag
2019-12-08 03:02:17 +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
6734513d47
Add missing dependencies for 2 previous commits
...
- hos/mtc: Add FSP WAR and boost HOS booting times
- autoboot: Support VOL-+ combo for fastboot
2019-12-08 01:15:35 +02:00
CTCaer
dbe6ed4060
autoboot: Fix custom bootlogo for boot via id
2019-12-08 01:11:13 +02:00
CTCaer
943477fdde
autoboot: Support VOL-+ combo for fastboot
...
This is conditional:
In order to not cancel booting while trying to enter fastboot in android, the combo MUST be initiated with `VOL+` (hold) -> `VOL-` (hold)
2019-12-07 23:37:07 +02:00
Kostas Missos
edc2b12f0f
chainloader: Only unmount if trying to update
...
This will speed up boot times for some sd cards up to 500ms when running update.bin is not needed (old or same version).
2019-12-07 02:40:56 +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
c24d943122
tui: Always print an error when Nyx is missing
2019-12-04 19:39:15 +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
9476e0ab45
kip patches: Allow double defined patchset names
...
This fixes an issue when NOGC patch was defined 2 times when user wants it forced via `kip1patch=nogc` and AutoNOGC was also procced via fuses.
2019-12-04 18:48:00 +02:00
CTCaer
ccf36fd2cb
ext kip patches: Disallow empty patches
...
Allow the patch loop to end via empty source data as per original spec and error out on 0 length if source data is not null.
emuMMC force decompression patch safely avoids that.
2019-12-04 18:44:59 +02:00
CTCaer
9a082c1b18
hos: Improve errors more for HOS launch
2019-12-04 17:46:12 +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
9104b85143
hos: Improve boot error display
2019-10-09 00:42:13 +03:00
CTCaer
2857fcca52
pmic: Restore forced power off timeout back to 5s
2019-09-23 16:41:37 +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
6a261e356f
hos: Update NOGC for LAFW v3
...
And also add emuMMC reverse protection by disabling GC when 9.0.0 fuses are burnt and emuMMC is lower than this.
This avoids fatals on boot.
2019-09-12 23:53:46 +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
3b16b086f8
pkg2: Remove duplicate patches
2019-09-12 23:29:25 +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
4dcb2c6343
autoboot: Allow critical info to be shown
...
This is part of the big refactoring which had all HOS fatal errors.
2019-09-12 23:22:42 +03:00
CTCaer
95a6f2b763
sdram: Support fully burnt ODM fuses
2019-09-12 23:21:12 +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
Kostas Missos
b74b449601
hos: Add exosphere no user exceptions handle cfg
2019-09-09 17:00:13 +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
d0b0164077
ianos: Remove error unneeded printing
2019-08-28 02:09:05 +03:00
CTCaer
f3d071ca69
mem: Remove memalign
...
It doesn't do what it should anyway.
2019-08-28 02:08:12 +03:00
CTCaer
565956482a
hos: Fix SaltyNX on emuMMC
...
This actually fixes the send process id patch that SaltyNX depends on.
Why it only breaks on emuMMC is unknown.
2019-08-28 01:55:19 +03:00
CTCaer
f622d57f6b
utils: Fix ms timer accuracy
...
Additionally add BPMP delay timers for future use.
2019-08-28 01:33:38 +03:00
CTCaer
6cc0711382
autoboot: Fix force boot from ID
2019-08-28 01:12:34 +03:00
CTCaer
3472e7e7fb
Various bugfixes
2019-08-28 01:08:57 +03:00
CTCaer
31db2735ce
autoboot: Add forced boot from ID
...
By using the key `id=` with a max 7 ASCII id, hekate will search all inis automatically and pinpoint the boot entry with that id.
After that it forces a boot from this one.
2019-08-16 22:00:32 +03:00
ctcaer@gmail.com
101c8bc1d0
Bump hekate to v5.0.1 and Nyx to v0.8.1
2019-07-06 22:43:53 +03:00
ctcaer@gmail.com
2bb0dba724
[Nyx] Add button to force HOS boot screen logs
2019-07-06 22:34:03 +03:00
ctcaer@gmail.com
078ef1c4f1
Remove backup hash mode from main to reduce bin size.
2019-07-06 22:32:49 +03:00
ctcaer@gmail.com
c40c125462
[emuMMC] Disable stock emuMMC unti it's fixed
2019-07-06 22:30:22 +03:00
ctcaer@gmail.com
138da26a9a
[BPMP] Fix cache coherency issues
...
+ Fix framebuffer memfetcher for some SoC revisions.
2019-07-06 22:22:47 +03:00
ctcaer@gmail.com
18a29c641c
[HOS] Easier kip patching update from release
...
Kip patches will be loaded from patches.ini.
If that's not found, then patches_template.ini will be used.
2019-07-06 22:18:32 +03:00
ctcaer@gmail.com
0862cb1e7e
[HOS] Fixed 6.0.x/6.1.0 stock
2019-07-06 22:16:42 +03:00
ctcaer@gmail.com
f26cfac10d
[HOS] Add CFW custom keygen for 6.2.0
2019-07-06 22:10:23 +03:00
ctcaer@gmail.com
08b84384a6
Bugfixes and cleanup
2019-07-06 22:08:37 +03:00
ctcaer@gmail.com
01e2302f84
Bump version to v5.0.0
2019-06-30 04:03:42 +03:00
ctcaer@gmail.com
a1a0d8db49
[Exo] Add support for new panic format
2019-06-30 03:55:52 +03:00
ctcaer@gmail.com
03872e814a
[Nyx] Prep hekate main for nyx
2019-06-30 03:55:19 +03:00
ctcaer@gmail.com
52478833de
[MTC] Utilize Minerva Training Cell
2019-06-30 03:49:33 +03:00
ctcaer@gmail.com
ba0f29bc5c
[PKG2] Add external kip1 patches support via .ini
...
The format is described in patches.ini.
For now it only supports the kips defined in hekate's code.
Next versions will add support for defining other kips.
2019-06-30 03:45:18 +03:00
ctcaer@gmail.com
f3dcfab095
More bugfixes
2019-06-30 03:40:37 +03:00
ctcaer@gmail.com
12f8f055eb
[HOS] Add 8.1.0 support
2019-06-30 03:29:46 +03:00
ctcaer@gmail.com
bd7f572989
[emuMMC] Add support
2019-06-30 03:24:58 +03:00
ctcaer@gmail.com
8101fd3f7f
Various bugfixes
2019-06-30 03:15:46 +03:00
CTCaer
c5ab4d6abd
Merge pull request #216 from speed47/se_sha1_parts
...
[Tools] implement hash file generation on backup (#101 ).
2019-05-19 22:36:55 +03:00
Stéphane Lesimple
ee884add8c
[Tools] implement hashfile generation on backup
...
Add a configuration option "Full w/ hashfile" to
the "verification" option menu, to enable hashfile
generation when doing full verification of a backup.
When enabled, during full backup verification we save the
chunk's SHA256 digest in a hashfile next to the output file
we're currently verifying.
The performance impact is negligible between "Full verify"
and "Full verify w/ hashfile", because we already
compute the SHA256 of the chunks when verifying.
We save the SHA256 per chunks (4 MB) because due to
SE limitations, we can't compute the SHA256 of the
whole partition (or rawnand).
On the other hand a pure software implementation
is way too slow to be bearable, even asm-optimized:
between 15 and 90 seconds per 4 MB chunk for
crc32/sha1/sha256, depending on the optimizations
and the actual algorithm.
The output hash file format is as follows:
# chunksize: <CHUNKSIZE_IN_BYTES>
sha256_of_chunk_1
sha256_of_chunk_2
...
sha256_of_chunk_N
2019-04-26 17:53:24 +02:00
ctcaer@gmail.com
03268c4655
Bump version to v4.10.1
2019-04-23 18:23:17 +03:00
ctcaer@gmail.com
072bbcabf4
[HOS] Use sha256 for kernel hashing
2019-04-23 18:17:55 +03:00
ctcaer@gmail.com
7c877c5bce
[HOS] Normalize new pkg2 identification
2019-04-23 03:41:07 +03:00
ctcaer@gmail.com
6aa1bdd1c6
[HOS] Fix pk2 decr after running 2nd time on 7.x+
...
This could happen after a pkg1/2 dump or a failed hos launch.
The 2nd time a dump or launch would be attempted, it would fail.
2019-04-23 03:38:35 +03:00
ctcaer@gmail.com
91606334c4
[sdmmc] Revert 204MHz sd device clock
...
Again some Sandisk U1 cards do not behave at all at speeds like that (204MHz / 102MB/s).
Revert back to 163.2MHz / 81.6MB/s.
2019-04-23 03:34:39 +03:00
ctcaer@gmail.com
25f6e91677
[sdmmc] Fix Sandisk U1 fast power cycle
...
Some Sandisk U1 sd cards do not behave nicely if they power cycle too fast. A min 100ms wait, is enough to mitigate that.
Fortunately, because of how the code paths are structured, this was never hit.
2019-04-23 03:31:16 +03:00
ctcaer@gmail.com
36d2da5d79
Bump version to v4.10.0
2019-04-21 17:38:29 +03:00
ctcaer@gmail.com
fd0dc04953
[HOS] Add full 8.0.0 support
...
Additionally, allow pkg1 to be dumped if unknown fw version.
2019-04-21 17:37:12 +03:00
ctcaer@gmail.com
8eb5ee867d
[GFX] Finish ctxt global usage
...
Plus:
- Some whitespace fixes
- Allow UHS bus to reach max 102MB/s from 81.6MB/s
2019-04-21 17:33:39 +03:00
shchmue
e34a7543b1
[TSEC] Fix tsec timeout
...
Without increasing probability of a race condition
2019-04-19 11:54:09 -04:00
ctcaer@gmail.com
c80fecd080
[main] Add brick protection for RCM patched units
...
- If AutoRCM was found enabled, force disable it.
(In case of chainloading.)
- Additionally disable AutoRCM function.
2019-04-16 20:09:04 +03:00
ctcaer@gmail.com
ed047ef5f5
[Tool] Support AutoRCM on devkits
2019-04-16 20:05:35 +03:00
ctcaer@gmail.com
a2ba2ecf26
Battery "desync" fix is now applied on boot
2019-04-16 19:58:12 +03:00
ctcaer@gmail.com
07fe94b6d4
[exo] Add exosphere panic report save to sd
2019-04-14 04:24:37 +03:00
ctcaer@gmail.com
ca0c0f786c
[Tools] Add status bar update while fixing arc bit
2019-04-14 02:41:29 +03:00
ctcaer@gmail.com
b0af57f98a
[GFX] Refactor gfx to utilize global contexts
2019-04-14 02:30:14 +03:00
ctcaer@gmail.com
5ba4848571
Various bugfixes
...
- Add error msg for what fails in a particular ini boot entry
- Fix wrongly defined s8 type
- Change raw fuse dump to correct size
2019-04-14 02:19:04 +03:00
TehPsychedelic
2a2db6cb2f
Added autoboot_list to README ( #205 )
...
* Added autoboot_list to README
2019-03-30 19:10:49 +02:00
ctcaer@gmail.com
961768e14e
[sd tools] Utilize sd_file_read better
...
Additionally fix a long standing fread/fwrite bug, via a FatFS fix.
(Doesn't affect Tegra arch though)
2019-03-16 23:35:43 +02:00
Kostas Missos
491c4efe9c
[FatFS] Update to R0.13c (p3)
2019-03-13 12:27:43 +02:00
Kostas Missos
ff9671c481
Bump version to v4.9.1
2019-03-10 00:38:18 +02:00
Kostas Missos
14c50ed7f8
[Stock] Add cleaner stock
...
[Stock]
fss0={sd path}
stock=1
Can now work for both older and new HOS versions.
- <= 6.2.0 loads nothing and removes kernel patching.
- >= 7.0.0 loads exo, wb and removes kernel patching.
This requires that fss0 {sd path} is valid. Otherwise it will fail on ini cfg parsing.
If <= 6.2.0 and no FSS0
[Stock]
stock=1
will provide a cleaner stock with no kernel patching.
2019-03-09 20:49:00 +02:00