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;
}