view target-utils/tf-breakin/payload.S @ 505:7bf0d909c87e

fc-loadtool flash ID check: change of reset after the check logic This change only affects those flash configurations that have ID checks enabled. The logic for resetting the flash after the ID check has been changed as follows: 1) If the check fails, we return without attempting to reset the flash. 2) If the check is successful, we reset the flash using the configured method (could be AMD or Intel or Intel W30) instead of always doing an AMD flash reset as the original code did.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 27 May 2019 19:58:01 +0000
parents e7502631a0f9
children
line wrap: on
line source

	.text
	.org	0

@ allow entry in Thumb state
	.code	16
	bx	pc
	nop

	.code	32

@ set CPSR like mot931c payload does
	msr	CPSR_c, #0xd3
@ disable the watchdog
	ldr	r1, =0xfffff802
	mov	r0, #0xf5
	strh	r0, [r1, #2]
	mov	r0, #0xa0
	strh	r0, [r1, #2]
@ MODEM UART
	ldr	r6, =0xffff5800
@ wait for any previous output to flush out
1:	ldrb	r0, [r6, #5]
	tst	r0, #0x20
	beq	1b
@ send our indication
	adr	r1, outstr
	mov	r2, #6
1:	ldrb	r0, [r1], #1
	strb	r0, [r6]
	subs	r2, r2, #1
	bne	1b
@ wait for this output to go out to the TxD pin
1:	ldrb	r0, [r6, #5]
	tst	r0, #0x40
	beq	1b
@ enable the Calypso boot ROM
	ldr	r1, =0xFFFFFB10
	mov	r2, #0x0100
	strh	r2, [r1]
@ jump to it!
	mov	pc, #0
	.ltorg
outstr:	.byte	2,2,2,'O','K',2