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