Commit Graph
100 Commits
Author SHA1 Message Date
CTCaer ee3fc499cd bdk: bm92t36: add sanity checks
If bm92t i2c comms are broken, it can hang hekate. So sanitize buffer and max profile print supported.
2023-02-11 22:40:47 +02:00
CTCaer f9e99212fc Bump hekate to v6.0.1 and Nyx to v1.5.1 2022-12-22 12:39:51 +02:00
CTCaer 1666daf447 l4t: fix several issues
- Fixed an issue where cached data would not be flushed after setting the fw carveout. Now they are flushed before setting it.
- Fixed and off-by-one bug and setting incorrect number of mtc entries.
2022-12-22 12:37:56 +02:00
CTCaer cfbfe403c6 bdk: di: wait 8ms before setting window for vic 2022-12-22 12:32:05 +02:00
CTCaer 47784faab2 Bump hekate to v6.0.0 and Nyx to v1.5.0 2022-12-20 17:01:42 +02:00
CTCaer a2a302b9d5 l4t: Add L4T loader for T210 and T210B01 2022-12-20 17:00:33 +02:00
CTCaer 50dd458cfd bdk: ums: use emmc_end instead of sdmmc_storage_end 2022-12-20 16:55:16 +02:00
CTCaer 2218ae228f nyx: changes to partition manager 2022-12-20 16:50:04 +02:00
CTCaer 20915dd661 hekate: blink 3 times on OLED for auto hos pwr off
The OLED panel does not allow for variable PWM fade without sending DCS commands, so blink instead.
2022-12-19 06:03:53 +02:00
CTCaer 0ba9b49074 nyx: add nobox and hue combo for launch
`_hue_nobox` is now supported which colorizes the icon and also removes the border.
2022-12-19 05:53:31 +02:00
CTCaer 1582ef3a29 nyx: add sd card power info and more vendors 2022-12-19 05:50:08 +02:00
CTCaer 0a367b114c nyx: add missing HOS info on 17 burnt fuses 2022-12-19 05:45:41 +02:00
CTCaer f49aecad19 hekate: update to ini_check_special_section 2022-12-19 05:43:48 +02:00
CTCaer 0b1bb521d8 bdk: ini: add l4t key parsing 2022-12-19 05:38:03 +02:00
CTCaer 2e989c2338 hekate: increase battery enough limits 2022-12-19 05:35:45 +02:00
CTCaer 0e1eece04f bdk: hw-init: remove charger forced enable
Anything that doesn't manage it properly should fix itself.
(Like for example disabling charging on sleep or something. They should use the gpio equivalent.)
2022-12-19 05:35:04 +02:00
CTCaer 2119401b5c hekate: add T210B01 R2P 2022-12-19 05:31:35 +02:00
CTCaer c9ab6352f6 bdk: rtc: add T210B01 R2P 2022-12-19 05:30:23 +02:00
CTCaer 09ca75dd8c bdk: max77812: exit if RAM reg and not 211 phase 2022-12-19 05:28:35 +02:00
CTCaer 157464753f nyx: add the new dram chips
Still no solid info, only vendor, so "contact me".
2022-12-19 05:26:35 +02:00
CTCaer 560f077196 bdk: sdram: rename new dram chips 2022-12-19 05:25:26 +02:00
CTCaer 4d823d5909 bdk: slight refactor 2022-12-19 05:22:55 +02:00
CTCaer a1fde0d9b6 bdk: display: disable LCD DVDD on display deinit 2022-12-19 05:16:35 +02:00
CTCaer d0b22bf374 bdk: manage host1x only in hw init 2022-12-19 05:14:39 +02:00
CTCaer 4da1d10553 nyx: Force 4MiB eMMC boot0/1 on backup/restore
Simplify ops on big eMMC replacements.
2022-12-19 05:09:37 +02:00
CTCaer f16159542c hekate/nyx: slight refactor 2022-12-19 05:04:50 +02:00
CTCaer 6257d20db9 bdk: emmc: add emmc_set_partition
Additionally, add SDMMC index info to errors.
2022-12-19 04:53:50 +02:00
CTCaer 227fe9b7ea cfg: remove creation from hekate and move to Nyx
There's no reason for hekate to create the hekate config if missing, since Nyx is the sole manager of it.

So move the auto creation there to save binary space.
2022-12-19 04:41:21 +02:00
CTCaer 24795891ec loader: refactor 2022-12-19 04:31:54 +02:00
CTCaer c86554e954 Cleanup for years unused code
Compiler was also getting confused and actually not removing the unused functions.
So that also saves binary space.
2022-12-19 04:27:38 +02:00
CTCaer c0cc9c9f4f bdk: vic: ease stress to APB when enabling VIC clk 2022-10-13 00:16:08 +03:00
CTCaer 1bef259571 Bump hekate to v5.9.0 and Nyx to v1.4.0 2022-10-12 12:31:31 +03:00
CTCaer fe0bd89c4c bdk: pmc: extend pmc scratch locker 2022-10-11 14:41:42 +03:00
CTCaer f534d5e316 bdk: i2c: fix send packet mode 2022-10-11 14:40:58 +03:00
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