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