Commit Graph
100 Commits
Author SHA1 Message Date
CTCaer 8d2fac60ea nyx: info: remove unused dram ids 2022-10-11 10:39:19 +03:00
CTCaer 2ea595e98d bdk: sdram: add new dram ids/configs
On T210B01 dram ids 7 and 16 got removed.
29 to 34 were added.

Additionally, remove all deprecated and unused dram id enums.
2022-10-11 10:38:43 +03:00
CTCaer 7e7e86b713 hos: add HOS 15.0.0 support 2022-10-11 10:29:41 +03:00
CTCaer a6d0bf54cd hos: improve warmboot config
Add more checks, simplify it and allow it to be called on non-HOS code.
2022-10-11 08:53:46 +03:00
CTCaer e455fe043f nyx: add black theme option
New experimental black theme.
2022-10-11 08:32:32 +03:00
CTCaer 1a8075669d bdk: lvgl: allow theme to take a bg color value 2022-10-11 08:22:48 +03:00
CTCaer 31c8292f23 config: set default auto hos power off to enabled for T210B01
For new users, set Auto HOS Power Off feature to enabled if T210B01 based SoC.
2022-10-11 07:51:45 +03:00
CTCaer 414721a1ff bootloader: Add animated ticker for VOL- wait
Now an animated line is drawn while bootlogo wait is active.
This will remind user to press VOL- if needed and also give visible feedback.

A new config key was added to disable it for custom bootlogos. Set `noticker=1` in `[config]` section.
It always show for default hekate one.

For now now there's no GUI option for it.
2022-10-11 07:49:17 +03:00
CTCaer 9c1238f99d Update Warnings flags in makefiles 2022-10-11 07:25:21 +03:00
CTCaer c0b16320cc bootloader: improve launch code
- Fix error not showing if payload is missing or can't be read
- Move errors to their callee function to save binary space
- Refactor various parameters and comments
- Reduce size on some errors
- Do not read HOS specific config in case of payload launch
- Remove unneeded code
2022-10-11 07:21:41 +03:00
CTCaer e7866387cd bootloader: remove volatile from reloc
To save binary space, as it's not needed.
2022-10-11 07:00:24 +03:00
CTCaer 6739f03893 bootloader: remove rtc stop alarm from auto hos powerr off
It's done in power_set_state anyway.
2022-10-11 06:59:39 +03:00
CTCaer 0a9c71d5d6 bootloader: simplify emmcsn_path_impl 2022-10-11 06:58:22 +03:00
CTCaer 833f060c7b nyx: utilize VIC for hw rotation
It completely removes the waterfall-like slow rendering on T210B01 and speeds up even more rendering on T210.
2022-10-11 06:51:33 +03:00
CTCaer 9d889e2c3e bdk: Add driver for VIC
VIC is a HW engine that allows for frame/texture buffer manipulation.
2022-10-11 06:41:38 +03:00
CTCaer efe6e2f206 nyx: also backup payload.bin if full not possible
Partition manager does a backup on the following if it can't do a full backup:
- bootloader (existed)
- Mariko Warmboot Storage (MWS) (existed)
- payload.bin  (newly added)
2022-10-11 06:36:06 +03:00
CTCaer 5cdee01c05 nyx: part manager: rename twrp to recovery
And add support for both twrp.img and recovery.img.
2022-10-11 06:31:24 +03:00
CTCaer 6337b06212 nyx: Rename Nyx Options to Nyx Settings
In order to not be confused with the hekate general Options.
2022-10-11 06:27:50 +03:00
CTCaer f5fb0a1ee9 nyx: config: rename entries column var 2022-10-11 06:24:52 +03:00
CTCaer 7cac7fe095 nyx: info: warn for fuel gauge in init state
An icon and reason will be shown if design cap is 1000 mAh, which means that fuel gauge was reset and HOS not booted at least once.

A reason for the warning in battery voltage is now also given if low.
2022-10-11 06:20:19 +03:00
CTCaer fefa7d9149 nyx: correct error message for emummc creation 2022-10-11 06:18:02 +03:00
CTCaer bfad719fcd bdk: small refactor 2022-10-11 06:16:38 +03:00
CTCaer 4f2a6f16d3 nyx: fix use after free and a heap corruption
Fix use after free and a heap corruption on emummc config loading/freeing that could cause hangs when entering emummc window.
2022-10-11 04:37:17 +03:00
CTCaer f41d6be8d4 nyx: do not allow padding buttons to be pressed
So closing the window from a miss-touch can be avoided.
2022-10-11 04:32:53 +03:00
CTCaer 5392971c2c hekate/nyx: utilize emmc_end 2022-10-11 04:19:29 +03:00
CTCaer 07695196cb bdk: emmc: utilize emmc_end 2022-10-11 04:12:04 +03:00
CTCaer 8bbe403e41 bdk: util: replace strtol/atoi w/ custom versions
To get rid of reentrancy baggage (which is not needed) and save binary space
2022-10-11 04:11:21 +03:00
CTCaer d08fac5a08 bdk: xusb: improve clock deinit
Allows L4T to use XUSB on T210B01 after a UMS usage.
T210 somehow was fine.
2022-10-11 04:07:24 +03:00
CTCaer 197ce4c76f bdk: sdmmc: timing changes
- Correct HS102 naming to DDR100
- Fix clock for DDR50 (even if it's unused)
2022-10-11 04:05:12 +03:00
CTCaer eaa25114ad bdk: lvgl: do not do unneeded invalidations
A bug was fixed that was causing full parent object invalidations when tapping into a window.

Now if the object is already on top the invalidation is skipped and the whole rerender/draw is skipped, saving valuable cpu time.
2022-10-11 04:00:41 +03:00
CTCaer 0b2c2aa564 bdk: regulator 5V: improve management per SKU 2022-10-11 03:57:17 +03:00
CTCaer 2aa251c44f bdk: max77812: uncomment RAM regulator 2022-10-11 03:53:17 +03:00
CTCaer c52c11e7bc bdk: mem: improve emc MRR reading 2022-10-11 03:51:12 +03:00
CTCaer ff5ee9758d bdk: joycon: refactor some structs and comments 2022-10-11 03:49:18 +03:00
CTCaer a33663f759 nyx: Add info about Sharp LQ055T1SW10 panel 2022-10-11 03:47:05 +03:00
CTCaer 44b429d5cd bdk: display: Name panel 1040 to Sharp LQ055T1SW10 2022-10-11 03:45:49 +03:00
CTCaer b891657fb6 bdk: tsec: fix regression on HOS 6.2.0 not booting
With the latest BDK changes on enabling always on AHB redirect with a compile time flag, TSEC fw boot was regressed because it needs it off.

Always disable redirect and if the flag is enabled, enable it on exit.
2022-07-11 22:28:09 +03:00
CTCaer 801ebd3543 bdk: xusb: fully clear device mode ctrl register on deinit 2022-07-11 22:13:13 +03:00
CTCaer d259d6f6d6 bdk: watchdog: clear timer interrupt also in handling 2022-07-11 22:10:41 +03:00
CTCaer 70523e404f bdk: whitespace refactor 2022-07-11 22:10:11 +03:00
CTCaer 1499f958dd Bump hekate to v5.8.0 and Nyx to v1.3.0 2022-07-01 13:47:47 +03:00
CTCaer b787053c2d bdk: joycon: fixup hori pads
For Hori game pads:
- Restore the no power down fix
- Revert RTS signal back to active high
2022-07-01 13:47:41 +03:00
CTCaer fe7fd6370e hekate/nyx: push some missed changes 2022-07-01 11:33:43 +03:00
CTCaer 535ea95086 hekate/nyx: gfx: add text color defines
And reduce code size when using W/EPRINTF macros
2022-07-01 04:37:57 +03:00
CTCaer eba6b285ec hekate: utilize watchdog to catch sd based hangs
Utilize watchdog when configuring LP0/Minerva.
A problematic SD card connector can cause corrupted reads to happen and thus cause hekate to hang on a black screen.

By using a watchdog there, such issues can be avoided and the user can get notified visually.
2022-06-29 12:19:19 +03:00
CTCaer e921d8f51c bdk: update memory map with more used addresses 2022-06-29 12:13:04 +03:00
CTCaer 57c8fd1f8c bdk: fiq: watchdog handling
`BDK_WATCHDOG_FIQ_ENABLE` enables watchdog handling.
`BDK_RESTART_BL_ON_WDT` causes a reload of bootloader on FIQ

These 2 are useful when wanting to detect and handle hangs.
2022-06-29 12:12:03 +03:00
CTCaer d38ddad873 bdk: display: correct night mode value 2022-06-27 10:27:18 +03:00
CTCaer b0c0a86108 bdk: migrate timers/sleeps to timer driver 2022-06-27 10:22:19 +03:00
CTCaer 061e10152f bdk: timer: add timer/watchdog driver 2022-06-27 10:20:25 +03:00
CTCaer b65b2d7f71 bdk: se: do not use heap for linked lists 2022-06-27 09:14:43 +03:00
CTCaer 3369dcd110 nyx: if no full backup, backup MWS folder also
When full backup is not possible, together with bootloader folder, also backup mariko warmboot storage if it exists.
2022-06-25 06:47:12 +03:00
CTCaer 677770bfee nyx: offer wipe if partitioning can backup files 2022-06-25 06:41:34 +03:00
CTCaer 50886382bf bdk: list: add LIST_FOREACH_INVERSE and LIST_FOREACH_ENTRY_INVERSE 2022-06-25 05:59:53 +03:00
CTCaer 2378bf2863 bdk: ini: simplify kv free 2022-06-25 05:56:11 +03:00
CTCaer e5ddac5211 bdk: sdmmc: rename current limit to power limit 2022-06-25 05:53:04 +03:00
CTCaer 489e222aac bdk: sdmmc: expose csd/scr functions 2022-06-25 05:48:54 +03:00
CTCaer 16af97c79a uart: rename print to printf 2022-06-25 05:42:42 +03:00
CTCaer bdb8f6d352 ccplex: name some flow control values 2022-06-25 05:42:19 +03:00
CTCaer e2f6e925c4 nyx: info: show total size of fat partition 2022-06-19 12:39:02 +03:00
CTCaer 258a343e21 bdk: usb: support deconfiguration of endpoints
TODO: Signal that to userspace and manage it.
2022-06-14 18:48:21 +03:00
CTCaer f6c9e636d1 bdk: usb: improve USB2/XUSB power down
TODO: add more power downs on XUSB stack
2022-06-14 18:46:46 +03:00
CTCaer 605f270f98 bdk: usb: fix a race condition in USB2 stack
When RAM is slow (no training), it's possible to have the stack failing to negotiate configuration successfully.

The race condition is caused by not flushing cache before sending a configuration packet reply.
Although, cache is write-through, this needs to happen.
2022-06-14 18:41:33 +03:00
CTCaer 3fa01a1975 hekate: fix a bug in low battery monitor
Do not try to deinit display if it's not enabled.

Can happen if LBM disables display to reserve power while charging and user presses both VOL buttons to exit the mode.
2022-06-04 22:03:47 +03:00
CTCaer 0e526bf9e8 nyx: tools: fix hybrid mbr changes
- MBR is now checked if it has GPT partition, in order to avoid revival of a dead but valid GPT
- MBR secret attributes can now be cleared even if there's no GPT
2022-05-27 04:44:42 +03:00
CTCaer c77c741c07 bdk: sdmmc: correct lower speed mode checks
Both bus widths of 8 and 4 should be checked for HS200 support and host type support, instead of giving 8-bit bus width a free pass.
2022-05-26 03:04:27 +03:00
CTCaer 358896eb7d nyx: tools: inform user on erros in archive bit fixer 2022-05-21 14:24:43 +03:00
CTCaer 10205b17dd hekate: remove sd mount/unmout management for payload launch
Callers manage it anyway.
Fixes a case where missing the payload would result to Nyx not relaunching because sd was unmount.
2022-05-21 13:10:12 +03:00
CTCaer 75b7d91abf hekate: always init sublist on section creation
Even if there are no edge cases here
2022-05-21 13:08:46 +03:00
CTCaer 369df25cd3 nyx: fatfs: add failsafes for wrong mkfs usage 2022-05-19 15:17:54 +03:00
CTCaer af22085172 nyx: move emuMMC backup folder to {emmc_sn}/emummc 2022-05-19 15:15:36 +03:00
CTCaer 38010ce65e nyx: utilize ini free and fix various memleaks
With the new changes the heap and heap node usage drops 95% on boot. Subsequent accesses to Launch/More config keep the counter the same.
2022-05-19 15:14:05 +03:00
CTCaer 8428ce1a2e hekate/nyx: gfx: changes to putn 2022-05-19 15:06:37 +03:00
CTCaer bf00c79edb bdk: ini: add ini free
Additionally, fix a bug where a list could not be initialized if section type is comment or caption.
2022-05-19 15:03:00 +03:00
CTCaer 429074293a bdk: sprintf: no support for lower case hex and base that is not 10/16 2022-05-19 15:01:10 +03:00
CTCaer 2c768db542 bdk: heap: add nodes info 2022-05-19 14:53:02 +03:00
CTCaer 889317da58 bdk: sdmmc: add missing sd block size define 2022-05-16 13:34:36 +03:00
CTCaer e09710e3eb bdk: fatfs: mkfs alignment changes
- Default data alignment is now 1MB **when it's not set**
- Default volume alignment is now based on data alignment and not hardcoded to 16MB.
- Change max allowed alignment to 64MB.

The above changes allow selecting alignments for volume and data between 1MB and 64MB.
(From the previous 1 to 16MB for data and 16MB for volume).
2022-05-16 13:33:38 +03:00
CTCaer fb45804adf nyx: refactor various functions and add comments
Emphasis on partition manager deduplication and remove of some magic numbers.
2022-05-16 13:28:38 +03:00
CTCaer 796207a41b nyx: do not allow joycon pairing info dump on Hoag 2022-05-16 13:12:45 +03:00
CTCaer 1649d446cd nyx: options: set min year for clock offset to 2022 2022-05-16 13:12:11 +03:00
CTCaer 7459214fed nyx: info: add mov r1 print for patched t210 2022-05-16 13:06:40 +03:00
CTCaer e9587a325c bdk: fuse: add ipatch support for T210B01 2022-05-16 13:05:12 +03:00
CTCaer 331f1926d1 bdk: display: remove unneeded pinmuxing on Aula 2022-05-16 10:16:24 +03:00
CTCaer 87fe374b3b bdk: uart: use 2 STOP bits based on baudrate 2022-05-14 12:25:02 +03:00
CTCaer b56e788d12 bdk: pinmux: more proper uart pinmuxing 2022-05-14 12:20:57 +03:00
CTCaer abdf621ad5 nyx: simplify uart debug port path 2022-05-13 03:57:09 +03:00
CTCaer 9e613a7600 bdk: hwinit: simplify uart debug port paths 2022-05-13 03:56:59 +03:00
CTCaer c2ff5dbd1c nyx: add no box and 5 entries per line support
Icons that have `_nobox.bmp` in their name will make the grey background disappear.

Additionally a new option was added in Nyx Options called `Extended Boot Entries` that allows user to have a total of 10 entries showing up in Launch and More configs menus.
2022-05-13 03:49:32 +03:00
CTCaer b9cdf5d697 nyx: fix s_printf bugs pointed by format checker 2022-05-12 16:43:18 +03:00
CTCaer b6384d5da5 bdk: utils: Set format attribute for s_printf
This allows the custom sprintf to be recognized as printf by gcc and effectively doing format checking.

NOTE: 64bit formatting is not supported for now, even if gcc asks to be set.
2022-05-12 16:40:34 +03:00
CTCaer 7df76bff4a nyx: input: add Sio support (for Hoag) 2022-05-09 06:13:10 +03:00
CTCaer 54b054c940 bdk: usb: add Sio support to hid gadget 2022-05-09 06:10:49 +03:00
CTCaer f31170bb51 bdk: joycon: add Sio support (for Hoag) 2022-05-09 06:09:06 +03:00
CTCaer f452d916c9 bdk: clock: add ext peripheral clock control 2022-05-09 06:08:39 +03:00
CTCaer 47d06d0e8a bdk: joycon: use flow control to improve packet integrity 2022-05-09 05:55:06 +03:00
CTCaer 2aed1b3b83 bdk: joycon: add 3 mbaud support and full init
Additionally use states for proper init
2022-05-09 05:48:10 +03:00
CTCaer 12aac3a0fc bdk: clock: add 3 megabaud support for UART 2022-05-09 05:47:08 +03:00
CTCaer 833a115eb2 bdk: joycon: improve and streamline jc detect 2022-05-09 05:39:45 +03:00
CTCaer 9f30c51bd1 bdk: joycon: refactor driver 2022-05-09 05:32:32 +03:00