diff pirelli/fw-disasm @ 253:6f9969cf55a1

pirelli/fw-disasm: rvf_stop_timer() call confirmed
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 25 Dec 2017 21:15:23 +0000
parents 2eae53bb4a4e
children f3f9dd04567e
line wrap: on
line diff
--- a/pirelli/fw-disasm	Mon Dec 25 20:50:30 2017 +0000
+++ b/pirelli/fw-disasm	Mon Dec 25 21:15:23 2017 +0000
@@ -638,6 +638,105 @@
   31c752:	f0dc fccb	bl	0x3f90ec	; $initialize_l1pvar
   31c756:	bd30		pop	{r4, r5, pc}
 
+$rvf_start_timer:
+  32ae78:	b500		push	{lr}
+  32ae7a:	b085		sub	sp, #20	; 0x14
+  32ae7c:	466b		mov	r3, sp
+  32ae7e:	741a		strb	r2, [r3, #16]	; 0x10
+  32ae80:	9103		str	r1, [sp, #12]	; 0xc
+  32ae82:	4669		mov	r1, sp
+  32ae84:	7208		strb	r0, [r1, #8]
+  32ae86:	f786 fd4c	bl	0x2b1922	; $rvf_get_taskid
+  32ae8a:	4669		mov	r1, sp
+  32ae8c:	7448		strb	r0, [r1, #17]	; 0x11
+  32ae8e:	4668		mov	r0, sp
+  32ae90:	7a00		ldrb	r0, [r0, #8]
+  32ae92:	2803		cmp	r0, #3
+  32ae94:	d003		beq	0x32ae9e
+  32ae96:	4668		mov	r0, sp
+  32ae98:	7a00		ldrb	r0, [r0, #8]
+  32ae9a:	2802		cmp	r0, #2
+  32ae9c:	d108		bne	0x32aeb0
+  32ae9e:	2000		mov	r0, #0
+  32aea0:	9000		str	r0, [sp, #0]
+  32aea2:	a0b3		add	r0, pc, #716	; 0x2cc
+  32aea4:	2125		mov	r1, #37	; 0x25
+  32aea6:	2200		mov	r2, #0
+  32aea8:	43d2		mvn	r2, r2
+  32aeaa:	2305		mov	r3, #5
+  32aeac:	f0af fec2	bl	0x3dac34
+  32aeb0:	9803		ldr	r0, [sp, #12]	; 0xc
+  32aeb2:	2800		cmp	r0, #0
+  32aeb4:	d101		bne	0x32aeba
+  32aeb6:	2001		mov	r0, #1
+  32aeb8:	9003		str	r0, [sp, #12]	; 0xc
+  32aeba:	2044		mov	r0, #68	; 0x44
+  32aebc:	4669		mov	r1, sp
+  32aebe:	7a09		ldrb	r1, [r1, #8]
+  32aec0:	4348		mul	r0, r1
+  32aec2:	21ff		mov	r1, #255	; 0xff
+  32aec4:	3111		add	r1, #17	; 0x11
+  32aec6:	466a		mov	r2, sp
+  32aec8:	7c52		ldrb	r2, [r2, #17]	; 0x11
+  32aeca:	4351		mul	r1, r2
+  32aecc:	1840		add	r0, r0, r1
+  32aece:	496d		ldr	r1, =0x1701dbc	; via 0x32b084
+  32aed0:	1808		add	r0, r1, r0
+  32aed2:	2104		mov	r1, #4
+  32aed4:	f0ce fba2	bl	0x3f961c	; $TMSE_Control_Timer
+  32aed8:	2244		mov	r2, #68	; 0x44
+  32aeda:	4668		mov	r0, sp
+  32aedc:	7a00		ldrb	r0, [r0, #8]
+  32aede:	4342		mul	r2, r0
+  32aee0:	20ff		mov	r0, #255	; 0xff
+  32aee2:	3011		add	r0, #17	; 0x11
+  32aee4:	4669		mov	r1, sp
+  32aee6:	7c49		ldrb	r1, [r1, #17]	; 0x11
+  32aee8:	4348		mul	r0, r1
+  32aeea:	1810		add	r0, r2, r0
+  32aeec:	4965		ldr	r1, =0x1701dbc	; via 0x32b084
+  32aeee:	1808		add	r0, r1, r0
+  32aef0:	4669		mov	r1, sp
+  32aef2:	7c09		ldrb	r1, [r1, #16]	; 0x10
+  32aef4:	2900		cmp	r1, #0
+  32aef6:	d001		beq	0x32aefc
+  32aef8:	9b03		ldr	r3, [sp, #12]	; 0xc
+  32aefa:	e000		b	0x32aefe
+  32aefc:	2300		mov	r3, #0
+  32aefe:	4669		mov	r1, sp
+  32af00:	2205		mov	r2, #5
+  32af02:	700a		strb	r2, [r1, #0]
+  32af04:	4960		ldr	r1, =0x32aad1	; via 0x32b088
+  32af06:	9a03		ldr	r2, [sp, #12]	; 0xc
+  32af08:	f0ce fb70	bl	0x3f95ec	; $TMSE_Reset_Timer
+  32af0c:	b005		add	sp, #20	; 0x14
+  32af0e:	bd00		pop	{pc}
+
+$rvf_stop_timer:
+  32af64:	b500		push	{lr}
+  32af66:	b081		sub	sp, #4
+  32af68:	4669		mov	r1, sp
+  32af6a:	7008		strb	r0, [r1, #0]
+  32af6c:	f786 fcd9	bl	0x2b1922	; $rvf_get_taskid
+  32af70:	4669		mov	r1, sp
+  32af72:	7048		strb	r0, [r1, #1]
+  32af74:	2144		mov	r1, #68	; 0x44
+  32af76:	4668		mov	r0, sp
+  32af78:	7800		ldrb	r0, [r0, #0]
+  32af7a:	4341		mul	r1, r0
+  32af7c:	20ff		mov	r0, #255	; 0xff
+  32af7e:	3011		add	r0, #17	; 0x11
+  32af80:	466a		mov	r2, sp
+  32af82:	7852		ldrb	r2, [r2, #1]
+  32af84:	4350		mul	r0, r2
+  32af86:	1808		add	r0, r1, r0
+  32af88:	493e		ldr	r1, =0x1701dbc	; via 0x32b084
+  32af8a:	1808		add	r0, r1, r0
+  32af8c:	2104		mov	r1, #4
+  32af8e:	f0ce fb45	bl	0x3f961c	; $TMSE_Control_Timer
+  32af92:	b001		add	sp, #4
+  32af94:	bd00		pop	{pc}
+
 ; The following function takes a raw ADC VBAT measurement
 ; as input (R0) and returns the mV value per the calibration.
   32dae8:	498b		ldr	r1, =0x801734	; via 0x32dd18
@@ -1965,7 +2064,7 @@
   3a15c6:	30b2		add	r0, #178	; 0xb2
   3a15c8:	f710 f969	bl	0x2b189e	; rvf_delay()
   3a15cc:	2003		mov	r0, #3
-  3a15ce:	f789 fcc9	bl	0x32af64	; $rvf_stop_timer ?
+  3a15ce:	f789 fcc9	bl	0x32af64	; $rvf_stop_timer
   3a15d2:	f7f3 fb5d	bl	0x394c90	; $pwr_send_charger_plug_event ?
   3a15d6:	f78c fc1b	bl	0x32de10	; $pwr_get_battery_type ?
   3a15da:	bd00		pop	{pc}