changeset 264:e4a596bbb2bf

dsample-fw-disasm: ARMIO functions located
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 18 Jan 2018 05:39:53 +0000
parents 7b679943b57d
children d15f701b1434
files dsample-fw-disasm
diffstat 1 files changed, 176 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/dsample-fw-disasm	Thu Jan 18 05:10:18 2018 +0000
+++ b/dsample-fw-disasm	Thu Jan 18 05:39:53 2018 +0000
@@ -356,7 +356,7 @@
   245986:	8044		strh	r4, [r0, #2]
   245988:	2103		mov	r1, #3
   24598a:	8181		strh	r1, [r0, #12]	; 0xc
-  24598c:	f005 fc28	bl	0x24b1e0
+  24598c:	f005 fc28	bl	0x24b1e0	; $IQ_SetupInterrupts
   245990:	4846		ldr	r0, =0xfffffc00	; via 0x245aac
   245992:	2124		mov	r1, #36	; 0x24
   245994:	8001		strh	r1, [r0, #0]
@@ -420,15 +420,15 @@
   245a08:	8a48		ldrh	r0, [r1, #18]	; 0x12
   245a0a:	2800		cmp	r0, #0
   245a0c:	d0fc		beq	0x245a08
-  245a0e:	f006 fdbf	bl	0x24c590
-  245a12:	f006 fdc3	bl	0x24c59c
+  245a0e:	f006 fdbf	bl	0x24c590	; $AI_ClockEnable
+  245a12:	f006 fdc3	bl	0x24c59c	; $AI_InitIOConfig
   245a16:	2027		mov	r0, #39	; 0x27
   245a18:	0500		lsl	r0, r0, #20
   245a1a:	8004		strh	r4, [r0, #0]
   245a1c:	2001		mov	r0, #1
-  245a1e:	f006 fc80	bl	0x24c322
+  245a1e:	f006 fc80	bl	0x24c322	; $TM_EnableTimer
   245a22:	2002		mov	r0, #2
-  245a24:	f006 fc7d	bl	0x24c322
+  245a24:	f006 fc7d	bl	0x24c322	; $TM_EnableTimer
   245a28:	b001		add	sp, #4
   245a2a:	bd70		pop	{r4, r5, r6, pc}
 
@@ -473,6 +473,177 @@
   245a7c:	4770		bx	lr
   245a7e:	4770		bx	lr
 
+$AI_EnableBit:
+  24c4f4:	4a4e		ldr	r2, =0xfffef00a	; via 0x24c630
+  24c4f6:	2101		mov	r1, #1
+  24c4f8:	4081		lsl	r1, r0
+  24c4fa:	8810		ldrh	r0, [r2, #0]
+  24c4fc:	4301		orr	r1, r0
+  24c4fe:	8011		strh	r1, [r2, #0]
+  24c500:	4770		bx	lr
+
+$AI_DisableBit:
+  24c502:	4a4b		ldr	r2, =0xfffef00a	; via 0x24c630
+  24c504:	2101		mov	r1, #1
+  24c506:	4081		lsl	r1, r0
+  24c508:	8810		ldrh	r0, [r2, #0]
+  24c50a:	4388		bic	r0, r1
+  24c50c:	8010		strh	r0, [r2, #0]
+  24c50e:	4770		bx	lr
+
+$AI_SetBit:
+  24c510:	4a48		ldr	r2, =0xfffe4802	; via 0x24c634
+  24c512:	2101		mov	r1, #1
+  24c514:	4081		lsl	r1, r0
+  24c516:	8810		ldrh	r0, [r2, #0]
+  24c518:	4301		orr	r1, r0
+  24c51a:	8011		strh	r1, [r2, #0]
+  24c51c:	4770		bx	lr
+
+$AI_ResetBit:
+  24c51e:	4a45		ldr	r2, =0xfffe4802	; via 0x24c634
+  24c520:	2101		mov	r1, #1
+  24c522:	4081		lsl	r1, r0
+  24c524:	8810		ldrh	r0, [r2, #0]
+  24c526:	4388		bic	r0, r1
+  24c528:	8010		strh	r0, [r2, #0]
+  24c52a:	4770		bx	lr
+
+$AI_ConfigBitAsOutput:
+  24c52c:	4a42		ldr	r2, =0xfffe4804	; via 0x24c638
+  24c52e:	2101		mov	r1, #1
+  24c530:	4081		lsl	r1, r0
+  24c532:	8810		ldrh	r0, [r2, #0]
+  24c534:	4388		bic	r0, r1
+  24c536:	8010		strh	r0, [r2, #0]
+  24c538:	4770		bx	lr
+
+$AI_ConfigBitAsInput:
+  24c53a:	4a3f		ldr	r2, =0xfffe4804	; via 0x24c638
+  24c53c:	2101		mov	r1, #1
+  24c53e:	4081		lsl	r1, r0
+  24c540:	8810		ldrh	r0, [r2, #0]
+  24c542:	4301		orr	r1, r0
+  24c544:	8011		strh	r1, [r2, #0]
+  24c546:	4770		bx	lr
+
+$AI_ReadBit:
+  24c548:	493c		ldr	r1, =0xfffe4800	; via 0x24c63c
+  24c54a:	8809		ldrh	r1, [r1, #0]
+  24c54c:	4101		asr	r1, r0
+  24c54e:	07c8		lsl	r0, r1, #31
+  24c550:	0fc0		lsr	r0, r0, #31
+  24c552:	0600		lsl	r0, r0, #24
+  24c554:	0e00		lsr	r0, r0, #24
+  24c556:	4770		bx	lr
+
+$AI_Power:
+  24c558:	b500		push	{lr}
+  24c55a:	2800		cmp	r0, #0
+  24c55c:	d110		bne	0x24c580
+  24c55e:	f772 fcbf	bl	0x1beee0
+  24c562:	0940		lsr	r0, r0, #5
+  24c564:	d2fb		bcs	0x24c55e
+  24c566:	f004 fc89	bl	0x250e7c
+  24c56a:	4835		ldr	r0, =0xfffe3000	; via 0x24c640
+  24c56c:	217c		mov	r1, #124	; 0x7c
+  24c56e:	8141		strh	r1, [r0, #10]	; 0xa
+  24c570:	2131		mov	r1, #49	; 0x31
+  24c572:	8802		ldrh	r2, [r0, #0]
+  24c574:	4311		orr	r1, r2
+  24c576:	8001		strh	r1, [r0, #0]
+  24c578:	2102		mov	r1, #2
+  24c57a:	8882		ldrh	r2, [r0, #4]
+  24c57c:	4311		orr	r1, r2
+  24c57e:	8081		strh	r1, [r0, #4]
+  24c580:	bd00		pop	{pc}
+
+$AI_ResetIoConfig:
+  24c582:	492d		ldr	r1, =0xfffe4804	; via 0x24c638
+  24c584:	482f		ldr	r0, =0xffff	; via 0x24c644
+  24c586:	8008		strh	r0, [r1, #0]
+  24c588:	4829		ldr	r0, =0xfffef00a	; via 0x24c630
+  24c58a:	2100		mov	r1, #0
+  24c58c:	8001		strh	r1, [r0, #0]
+  24c58e:	4770		bx	lr
+
+$AI_ClockEnable:
+  24c590:	492d		ldr	r1, =0xfffe4806	; via 0x24c648
+  24c592:	2020		mov	r0, #32	; 0x20
+  24c594:	880a		ldrh	r2, [r1, #0]
+  24c596:	4310		orr	r0, r2
+  24c598:	8008		strh	r0, [r1, #0]
+  24c59a:	4770		bx	lr
+
+$AI_InitIOConfig:
+  24c59c:	b500		push	{lr}
+  24c59e:	f7ff fff0	bl	0x24c582	; $AI_ResetIoConfig
+  24c5a2:	2002		mov	r0, #2
+  24c5a4:	f7ff ffa6	bl	0x24c4f4	; $AI_EnableBit
+  24c5a8:	2004		mov	r0, #4
+  24c5aa:	f7ff ffa3	bl	0x24c4f4	; $AI_EnableBit
+  24c5ae:	2005		mov	r0, #5
+  24c5b0:	f7ff ffa0	bl	0x24c4f4	; $AI_EnableBit
+  24c5b4:	2006		mov	r0, #6
+  24c5b6:	f7ff ff9d	bl	0x24c4f4	; $AI_EnableBit
+  24c5ba:	2007		mov	r0, #7
+  24c5bc:	f7ff ff9a	bl	0x24c4f4	; $AI_EnableBit
+  24c5c0:	2008		mov	r0, #8
+  24c5c2:	f7ff ff97	bl	0x24c4f4	; $AI_EnableBit
+  24c5c6:	2009		mov	r0, #9
+  24c5c8:	f7ff ff94	bl	0x24c4f4	; $AI_EnableBit
+  24c5cc:	4919		ldr	r1, =0xfffe4802	; via 0x24c634
+  24c5ce:	481f		ldr	r0, =0x3f02	; via 0x24c64c
+  24c5d0:	8008		strh	r0, [r1, #0]
+  24c5d2:	2001		mov	r0, #1
+  24c5d4:	f7ff ffaa	bl	0x24c52c	; $AI_ConfigBitAsOutput
+  24c5d8:	2002		mov	r0, #2
+  24c5da:	f7ff ffa7	bl	0x24c52c	; $AI_ConfigBitAsOutput
+  24c5de:	2005		mov	r0, #5
+  24c5e0:	f7ff ffa4	bl	0x24c52c	; $AI_ConfigBitAsOutput
+  24c5e4:	2007		mov	r0, #7
+  24c5e6:	f7ff ffa1	bl	0x24c52c	; $AI_ConfigBitAsOutput
+  24c5ea:	2009		mov	r0, #9
+  24c5ec:	f7ff ff9e	bl	0x24c52c	; $AI_ConfigBitAsOutput
+  24c5f0:	200e		mov	r0, #14	; 0xe
+  24c5f2:	f7ff ff9b	bl	0x24c52c	; $AI_ConfigBitAsOutput
+  24c5f6:	200f		mov	r0, #15	; 0xf
+  24c5f8:	f7ff ff98	bl	0x24c52c	; $AI_ConfigBitAsOutput
+  24c5fc:	bd00		pop	{pc}
+
+$AI_SelectIOForIT:
+  24c5fe:	0109		lsl	r1, r1, #4
+  24c600:	1840		add	r0, r0, r1
+  24c602:	0040		lsl	r0, r0, #1
+  24c604:	3001		add	r0, #1
+  24c606:	4912		ldr	r1, =0xfffe4814	; via 0x24c650
+  24c608:	8008		strh	r0, [r1, #0]
+  24c60a:	4770		bx	lr
+
+$AI_CheckITSource:
+  24c60c:	2100		mov	r1, #0
+  24c60e:	4a11		ldr	r2, =0xfffe4816	; via 0x24c654
+  24c610:	8812		ldrh	r2, [r2, #0]
+  24c612:	4210		tst	r0, r2
+  24c614:	d000		beq	0x24c618
+  24c616:	2101		mov	r1, #1
+  24c618:	1c08		add	r0, r1, #0
+  24c61a:	4770		bx	lr
+
+$AI_UnmaskIT:
+  24c61c:	4a0e		ldr	r2, =0xfffe4818	; via 0x24c658
+  24c61e:	8811		ldrh	r1, [r2, #0]
+  24c620:	4381		bic	r1, r0
+  24c622:	8011		strh	r1, [r2, #0]
+  24c624:	4770		bx	lr
+
+$AI_MaskIT:
+  24c626:	4a0c		ldr	r2, =0xfffe4818	; via 0x24c658
+  24c628:	8811		ldrh	r1, [r2, #0]
+  24c62a:	4301		orr	r1, r0
+  24c62c:	8011		strh	r1, [r2, #0]
+  24c62e:	4770		bx	lr
+
 ; Appears to the old Thumb implementation of f_load_int_mem(),
 ; differs from TCS211 version which is ARM and appears to be assembly
   250408:	b5f0		push	{r4, r5, r6, r7, lr}