Код
ROM:100012D8 Check_OTP_values ; CODE XREF: start_flash_normal+Ap
ROM:100012D8 ; pu_main+32p ...
ROM:100012D8 PUSH {R4,R7,LR}
ROM:100012DA SUB SP, SP, #0x24
ROM:100012DC MOV R4, #0xA
ROM:100012DE;
ROM:100012DE LDR R0, =long_FFFFFFFFFFFFFFFF
ROM:100012E0 LDR R1, [R0]
ROM:100012E2 LDR R0, [R0,#4] ; long -1
ROM:100012E4 STR R1, [SP]
ROM:100012E6 STR R0, [SP,#4]
ROM:100012E8;
ROM:100012E8 LDR R0, =long_FFFFFFFFFFFFFFFF
ROM:100012EA LDR R1, [R0]
ROM:100012EC LDR R0, [R0,#4]
ROM:100012EE STR R1, [SP,#8]
ROM:100012F0 STR R0, [SP,#0xC]
ROM:100012F2;
ROM:100012F2 MOV R0, #0
ROM:100012F4 ADD R3, SP, #0
ROM:100012F6 STRB R0, [R3,#0x10]
ROM:100012F8 MOV R0, SP
ROM:100012FA BL OTP_Check_1 ; reads OTPlow64 to arg0+8, OTPhi64 to arg0+0, sets OTPlow64 bit 64 to arg0+10, sets to 1 bit64 of OTPlow64
ROM:100012FE CMP R0, #0xD0 ; was device ready?
ROM:10001300 BNE __answ_0A ; dev was busy
ROM:10001302 LDR R0, =0x10092000
ROM:10001304 LDRH R0, [R0,#0x1A]
ROM:10001306 LSL R2, R0, #0x18
ROM:10001308 LSR R2, R2, #0x18 ; low byte of core-ver
ROM:1000130A LDR R0, =long_FFFFFFFFFFFFFFFF
ROM:1000130C LDMIA R0!, {R0,R1}
ROM:1000130E BL _ll_shift_l
ROM:10001312 STR R0, [SP,#0x1C]
ROM:10001314 STR R1, [SP,#0x20]
ROM:10001316;
ROM:10001316 LDR R0, =off_10000000
ROM:10001318 LDRB R2, [R0,#0x14] ; 4 - boot-ver?
ROM:1000131A LDR R0, =long_FFFFFFFFFFFFFFFF; -1
ROM:1000131C LDMIA R0!, {R0,R1}
ROM:1000131E BL _ll_shift_l
ROM:10001322 STR R0, [SP,#0x14]
ROM:10001324 STR R1, [SP,#0x18]
ROM:10001326;
ROM:10001326 ADD R1, SP, #0x1C
ROM:10001328 LDMIA R1!, {R0,R1}
ROM:1000132A ADD R3, SP, #0
ROM:1000132C LDMIA R3!, {R2,R3}
ROM:1000132E BL _ll_cmpu
ROM:10001332 BNE __coreseq_ne_OTPhi64
ROM:10001334 ADD R1, SP, #0x14
ROM:10001336 LDMIA R1!, {R0,R1}
ROM:10001338 ADD R3, SP, #8
ROM:1000133A LDMIA R3!, {R2,R3}
ROM:1000133C BL _ll_cmpu
ROM:10001340 BEQ __ok_check_OTP ; coreseq_eq_OTPlow64
ROM:10001342
ROM:10001342 __coreseq_ne_OTPhi64 ; CODE XREF: Check_OTP_values+5Aj
ROM:10001342 ADD R1, SP, #8
ROM:10001344 LDMIA R1!, {R0,R1}
ROM:10001346 ADD R3, SP, #0x14
ROM:10001348 LDMIA R3!, {R2,R3}
ROM:1000134A BL _ll_cmpu
ROM:1000134E BCS __not_FA ; bootver higher than in otp
ROM:10001350 MOV R4, #0xFA
ROM:10001352 B __check_otp_final
ROM:10001354; ---------------------------------------------------------------------------
ROM:10001354
ROM:10001354 __not_FA ; CODE XREF: Check_OTP_values+76j
ROM:10001354 ADD R1, SP, #0
ROM:10001356 LDMIA R1!, {R0,R1}
ROM:10001358 ADD R3, SP, #0x1C
ROM:1000135A LDMIA R3!, {R2,R3}
ROM:1000135C BL _ll_cmpu
ROM:10001360 BCS __ok_check_OTP_; corever higher than in otp
ROM:10001362 MOV R4, #0xEA
ROM:10001364 B __check_otp_final
ROM:10001366; ---------------------------------------------------------------------------
ROM:10001366
ROM:10001366 __ok_check_OTP_ ; CODE XREF: Check_OTP_values+88j
ROM:10001366 MOV R4, #0xA0
ROM:10001368 B __check_otp_final
ROM:1000136A; ---------------------------------------------------------------------------
ROM:1000136A
ROM:1000136A __ok_check_OTP ; CODE XREF: Check_OTP_values+68j
ROM:1000136A MOV R4, #0xA0
ROM:1000136C B __check_otp_final
ROM:1000136E; ---------------------------------------------------------------------------
ROM:1000136E
ROM:1000136E __answ_0A ; CODE XREF: Check_OTP_values+28j
ROM:1000136E MOV R4, #0xA
ROM:10001370
ROM:10001370 __check_otp_final ; CODE XREF: Check_OTP_values+7Aj
ROM:10001370 ; Check_OTP_values+8Cj ...
ROM:10001370 BL check_OTP_for_something
ROM:10001374 LDR R1, =0x5677
ROM:10001376 CMP R0, R1
ROM:10001378 BNE __exit
ROM:1000137A MOV R4, #0xA0
ROM:1000137C
ROM:1000137C __exit ; CODE XREF: Check_OTP_values+A0j
ROM:1000137C ADD R0, R4, #0
ROM:1000137E ADD SP, SP, #0x24
ROM:10001380 POP {R4,R7}
ROM:10001382 POP {R3}
ROM:10001384 BX R3
ROM:10001384; End of function Check_OTP_values
эта процедурка запускается в буте при включении телефона, контролирует поколения(версии) прошивки и бута. если версии меньше прописанных в отп- бут не даст запустить прошивку и выдаст на экран Critical error
версия прошивкии - соответственно это dсw CG1+1A
версия бута - dcb бут+14
рекомендую сравнивать с текущей при обновлении и сильно думать если отличия есть