View Single Post
Old 12-09-2022, 10:54 AM   #35
denisuu
Zealot
denisuu has learned how to buy an e-book online
 
denisuu's Avatar
 
Posts: 120
Karma: 90
Join Date: Dec 2018
Device: Onyx Leaf 2 (White)
By reading the official spec sheet on Qualcomms website I figured out that QCS/QCM2290 are the same. (both are QCS_AGATTI)
Qualcomm spec-sheet: qcs-qcm2290-soc-product-brief_87-28731-1.pdf

When I searched a bit I found found some information on blog.csdn.net
There are 13 articles on QCM2290 on that website and a few on AGATTI.

This one looked interesting. From what I can make of it, you need to short Ground &U SB D+ (so the basic EDL cable) then press volume up + volume down while booting.

It would be nice to know if there's a key combination for Fastboot too!

Qualcomm QCM2290 platform key combination into 9008

Rough translation
Requirements: Customers need to press the VOL_UP and VOL_DOWN key combinations to enter forced download mode when powering on, especially RESIN_N is used for VOL_DOWN.



Qualcomm source code default is to have a forced download function, when pressing vol- and vol+ when the key value is SCAN_ESC, the abl stage obtains this key value and enters the EDL process, the customer because of VOL- to reset, the code is configured KEYPWR reset and KEYPWR_AND_RESIN reset, when pressing POWER and VOL- at the same time will always restart, because:

Code:
POWER ON by KPDPWR, POWER OFF by S3 reset KPDPWR_ANDOR_RESIN
Solution: Set the following function in pm_device_post_init() to set the s3 reset configuration: time is 16s

Code:
diff --git a/BOOT.XF.4.1/boot_images/QcomPkg/Library/PmicLib/target/Agatti_pmCocos/system/src/pm_sbl_boot_oem.c b/BOOT.XF.4.1/boot_images/QcomPkg/Library/PmicLib/target/Agatti_pmCocos/system/src/pm_sbl_boot_oem.c
 index 31fe073a4..509a8d61b 100755
 --- a/BOOT.XF.4.1/boot_images/QcomPkg/Library/PmicLib/target/Agatti_pmCocos/system/src/pm_sbl_boot_oem.c
 +++ b/BOOT.XF.4.1/boot_images/QcomPkg/Library/PmicLib/target/Agatti_pmCocos/system/src/pm_sbl_boot_oem.c
 @@ -1052,6 +1052,7 @@ pm_device_post_init ( void )
    err_flag |= pm_comm_write_byte(1, 0x5046, 0x80, 0);
    config_gpio_cam2_standby(INPUT);
    err_flag |= pm_comm_write_byte(0, 0x0880, 0xd4, 0);
 +  pm_pon_stage3_reset_source_cfg(0, PM_PON_RESET_SOURCE_RESIN, 32);
    
    return err_flag;
  }

Last edited by denisuu; 12-09-2022 at 11:08 AM.
denisuu is offline   Reply With Quote