annotate gtm900/fw-disasm @ 333:f8a4a330d0e6

frbl/reconst/serial.c: 0x200 static function reconstructed
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 07 Mar 2020 02:10:27 +0000
parents d6b65114b82d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
288
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 ; This disassembly is a quick look at the firmware that has been read out
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 ; of a Huawei GTM900-B modem module. Unlike most other phone and modem
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 ; vendors' firmwares, this fw exhibits very few changes relative to TI's
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 ; reference version. Here I have only dug far enough to get to the
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 ; init module with the Init_Target() function and the ARMIO module with
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 ; the GPIO setup.
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 ; Flash boot mode 1 reset entry
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 0: ea0004b3 b 0x12d4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 4: ea00083d b 0x2100
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 8: ea00083d b 0x2104
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 c: ea00083d b 0x2108
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 10: ea00083d b 0x210c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 14: ea00083d b 0x2110
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 18: ea00083d b 0x2114
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 1c: ea00083d b 0x2118
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 _INT_Bootloader_Start:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 12d4: e51f101c ldr r1, =0xffff9800 ; via 0x12c0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 12d8: e15f21b2 ldrh r2, =0x2006 ; via 0x12ce
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 12dc: e1c120b0 strh r2, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 12e0: e5912000 ldr r2, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 12e4: e2022001 and r2, r2, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 12e8: e3520001 cmp r2, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 12ec: 0afffffb beq 0x12e0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 12f0: e51f103c ldr r1, =0xfffffd00 ; via 0x12bc
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 12f4: e15f23b0 ldrh r2, =0x1081 ; via 0x12cc
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 12f8: e1c120b0 strh r2, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 12fc: e51f1040 ldr r1, =0xfffffb10 ; via 0x12c4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 1300: e15f23b8 ldrh r2, =0x800 ; via 0x12d0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 1304: e1d100b0 ldrh r0, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 1308: e1800002 orr r0, r0, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 130c: e1c100b0 strh r0, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 1310: e51f1050 ldr r1, =0xffffff08 ; via 0x12c8
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 1314: e15f24ba ldrh r2, =0x0 ; via 0x12d2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 1318: e1c120b0 strh r2, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 ; MEMIF setup, nCS0 and nCS1 WS increased from TI's 0x2A1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 131c: e51f107c ldr r1, =0xfffffb00 ; via 0x12a8
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 1320: e15f27bc ldrh r2, =0x2a3 ; via 0x12ac
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 1324: e1c120b0 strh r2, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 1328: e15f28b2 ldrh r2, =0x2a4 ; via 0x12ae
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 132c: e1c120b2 strh r2, [r1, #2]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 1330: e15f28b8 ldrh r2, =0x2a1 ; via 0x12b0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 1334: e1c120b4 strh r2, [r1, #4]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 1338: e15f28be ldrh r2, =0x283 ; via 0x12b2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 133c: e1c120b6 strh r2, [r1, #6]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 1340: e15f29b4 ldrh r2, =0x281 ; via 0x12b4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 1344: e1c120ba strh r2, [r1, #10] ; 0xa
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 1348: e15f29ba ldrh r2, =0xc0 ; via 0x12b6
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 134c: e1c120bc strh r2, [r1, #12] ; 0xc
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 1350: e15f2ab0 ldrh r2, =0x40 ; via 0x12b8
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 1354: e1c120b8 strh r2, [r1, #8]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 1358: e15f2ab6 ldrh r2, =0x2a ; via 0x12ba
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 135c: e1c120be strh r2, [r1, #14] ; 0xe
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 1360: e59f0020 ldr r0, =0x10ab4cc ; via 0x1388
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 1364: e3a01b01 mov r1, #1024 ; 0x400
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 1368: e2411004 sub r1, r1, #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 136c: e0802001 add r2, r0, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 1370: e3c22003 bic r2, r2, #3
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 1374: e1a0d002 mov sp, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 1378: e92d100f stmdb sp!, {r0, r1, r2, r3, r12}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 137c: eb000043 bl 0x1490 ; _sta_select_application
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 1380: e8bd100f ldmia sp!, {r0, r1, r2, r3, r12}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 1384: ea000373 b 0x2158 ; _INT_Initialize
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 2000: 00000001
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 ; .inttext exception vectors
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 2100: ea0000cb b 0x2434
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 2104: ea0000cd b 0x2440
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 2108: ea0000cf b 0x244c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 210c: ea0000d1 b 0x2458
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 2110: ea0000d3 b 0x2464
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 2114: ea0000b7 b 0x23f8
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 2118: ea0000c0 b 0x2420
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 211c: 02a102a1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 2120: 028302a1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 2124: 02c00e85
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 2128: 002a0040
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 212c: fffffb00
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 2130: fffef006
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 2134: 00000008
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 2138: fffffd00
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 213c: ffff9800
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 2140: fffffb10
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 2144: ffffff08
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 2148: 20021081
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 214c: f7ff0800
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 2150: 00000000
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 2154: 002041a0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 _INT_Initialize:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 2158: e51f1024 ldr r1, =0xffff9800 ; via 0x213c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 215c: e15f21ba ldrh r2, =0x2002 ; via 0x214a
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 2160: e1c120b0 strh r2, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 2164: e5912000 ldr r2, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 2168: e2022001 and r2, r2, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 216c: e3520001 cmp r2, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 2170: 0afffffb beq 0x2164
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 2174: e51f1044 ldr r1, =0xfffffd00 ; via 0x2138
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 2178: e15f23b8 ldrh r2, =0x1081 ; via 0x2148
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 217c: e1c120b0 strh r2, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 2180: e51f1048 ldr r1, =0xfffffb10 ; via 0x2140
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 2184: e15f23be ldrh r2, =0xf7ff ; via 0x214e
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 2188: e1d100b0 ldrh r0, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 218c: e0000002 and r0, r0, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 2190: e1c100b0 strh r0, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 2194: e51f1058 ldr r1, =0xffffff08 ; via 0x2144
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 2198: e15f25b0 ldrh r2, =0x0 ; via 0x2150
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 219c: e1c120b0 strh r2, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 ; MEMIF setup same as TI's original, no increased WS
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 21a0: e51f107c ldr r1, =0xfffffb00 ; via 0x212c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 21a4: e15f29b0 ldrh r2, =0x2a1 ; via 0x211c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 21a8: e1c120b0 strh r2, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 21ac: e15f29b6 ldrh r2, =0x2a1 ; via 0x211e
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 21b0: e1c120b2 strh r2, [r1, #2]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 21b4: e15f29bc ldrh r2, =0x2a1 ; via 0x2120
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 21b8: e1c120b4 strh r2, [r1, #4]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 21bc: e15f2ab2 ldrh r2, =0x283 ; via 0x2122
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 21c0: e1c120b6 strh r2, [r1, #6]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 21c4: e15f2ab8 ldrh r2, =0xe85 ; via 0x2124
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 21c8: e1c120ba strh r2, [r1, #10] ; 0xa
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 21cc: e15f2abe ldrh r2, =0x2c0 ; via 0x2126
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 21d0: e1c120bc strh r2, [r1, #12] ; 0xc
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 21d4: e15f2bb4 ldrh r2, =0x40 ; via 0x2128
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 21d8: e1c120b8 strh r2, [r1, #8]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 21dc: e15f2bba ldrh r2, =0x2a ; via 0x212a
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 21e0: e1c120be strh r2, [r1, #14] ; 0xe
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 21e4: e51f10bc ldr r1, =0xfffef006 ; via 0x2130
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131 21e8: e1d120b0 ldrh r2, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 21ec: e51f00c0 ldr r0, =0x8 ; via 0x2134
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 21f0: e1800002 orr r0, r0, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 21f4: e1c100b0 strh r0, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 21f8: e10f0000 mrs r0, CPSR
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136 21fc: e3c0001f bic r0, r0, #31 ; 0x1f
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 2200: e3800013 orr r0, r0, #19 ; 0x13
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 2204: e38000c0 orr r0, r0, #192 ; 0xc0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 2208: e129f000 msr CPSR_fc, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 ; inline bss clearing, not like in our TCS211 reference
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 220c: e59f031c ldr r0, =0x1000cf8 ; via 0x2530
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 2210: e3a02000 mov r2, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 2214: e59f1318 ldr r1, =0x10ab4cc ; via 0x2534
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 2218: e4802004 str r2, [r0], #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 221c: e1500001 cmp r0, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 2220: 1afffffc bne 0x2218
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147 2224: e59f030c ldr r0, =0x800000 ; via 0x2538
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148 2228: e3a02000 mov r2, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149 222c: e59f1308 ldr r1, =0x82027c ; via 0x253c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 2230: e4802004 str r2, [r0], #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 2234: e1500001 cmp r0, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152 2238: 1afffffc bne 0x2230
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153 ; INT_Loaded_Flag setting, familiar code continues
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 223c: e3a00001 mov r0, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 2240: e59f12fc ldr r1, =0x10ab3e4 ; via 0x2544
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 2244: e5810000 str r0, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 2248: e59f02f0 ldr r0, =0x10ab5b8 ; via 0x2540
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 224c: e3a01b01 mov r1, #1024 ; 0x400
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159 2250: e2411004 sub r1, r1, #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 2254: e0802001 add r2, r0, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161 2258: e1a0a000 mov r10, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 225c: e59f32e4 ldr r3, =0x804950 ; via 0x2548
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163 2260: e583a000 str r10, [r3]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 2264: e1a0d002 mov sp, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165 2268: e59f32dc ldr r3, =0x804a74 ; via 0x254c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 226c: e583d000 str sp, [r3]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167 2270: e3a01080 mov r1, #128 ; 0x80
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 2274: e0822001 add r2, r2, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 2278: e10f0000 mrs r0, CPSR
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 227c: e3c0001f bic r0, r0, #31 ; 0x1f
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171 2280: e3800012 orr r0, r0, #18 ; 0x12
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 2284: e129f000 msr CPSR_fc, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 2288: e1a0d002 mov sp, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174 228c: e3a01c02 mov r1, #512 ; 0x200
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175 2290: e0822001 add r2, r2, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176 2294: e10f0000 mrs r0, CPSR
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177 2298: e3c0001f bic r0, r0, #31 ; 0x1f
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178 229c: e3800011 orr r0, r0, #17 ; 0x11
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179 22a0: e129f000 msr CPSR_fc, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180 22a4: e1a0d002 mov sp, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181 22a8: e10f0000 mrs r0, CPSR
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182 22ac: e3c0001f bic r0, r0, #31 ; 0x1f
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183 22b0: e3800017 orr r0, r0, #23 ; 0x17
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184 22b4: e129f000 msr CPSR_fc, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185 22b8: e59fd29c ldr sp, =0x10ab520 ; via 0x255c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 22bc: e10f0000 mrs r0, CPSR
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
187 22c0: e3c0001f bic r0, r0, #31 ; 0x1f
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
188 22c4: e380001b orr r0, r0, #27 ; 0x1b
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
189 22c8: e129f000 msr CPSR_fc, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
190 22cc: e59fd288 ldr sp, =0x10ab520 ; via 0x255c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
191 22d0: e10f0000 mrs r0, CPSR
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
192 22d4: e3c0001f bic r0, r0, #31 ; 0x1f
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
193 22d8: e3800013 orr r0, r0, #19 ; 0x13
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
194 22dc: e129f000 msr CPSR_fc, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
195 22e0: e59f3268 ldr r3, =0x8048b8 ; via 0x2550
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
196 22e4: e2822004 add r2, r2, #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
197 22e8: e5832000 str r2, [r3]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
198 22ec: e3a01b01 mov r1, #1024 ; 0x400
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
199 22f0: e3c11003 bic r1, r1, #3
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
200 22f4: e0822001 add r2, r2, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
201 22f8: e59f3254 ldr r3, =0x80493c ; via 0x2554
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
202 22fc: e5831000 str r1, [r3]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
203 2300: e3a01002 mov r1, #2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
204 2304: e59f324c ldr r3, =0x80494c ; via 0x2558
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
205 2308: e5831000 str r1, [r3]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
206 230c: e1a04002 mov r4, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
207 2310: eb080707 bl 0x203f34 ; _f_load_int_mem
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
208 2314: e1a02004 mov r2, r4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
209 2318: e59f1228 ldr r1, =0x804950 ; via 0x2548
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
210 231c: e5910000 ldr r0, [r1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
211 2320: e3a030fe mov r3, #254 ; 0xfe
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
212 2324: e5c03000 strb r3, [r0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
213 2328: e5c03001 strb r3, [r0, #1]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
214 232c: e5c03002 strb r3, [r0, #2]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
215 2330: e5c03003 strb r3, [r0, #3]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
216 2334: e4903004 ldr r3, [r0], #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
217 2338: e4803004 str r3, [r0], #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
218 233c: e1500002 cmp r0, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
219 2340: bafffffc blt 0x2338
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
220 2344: e51f01f8 ldr r0, =0x2041a0 ; via 0x2154
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
221 2348: e3700001 cmn r0, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
222 234c: 1b000084 blne 0x2564
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
223 2350: e1a00002 mov r0, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
224 2354: ea0806ea b 0x203f04 ; _INC_Initialize
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
225
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
226 $Init_Target:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
227 1f30a4: b570 push {r4, r5, r6, lr}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
228 1f30a6: b081 sub sp, #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
229 1f30a8: 4d62 ldr r5, =0xfffef008 ; via 0x1f3234
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
230 1f30aa: 2003 mov r0, #3
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
231 1f30ac: 0340 lsl r0, r0, #13
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
232 1f30ae: 8028 strh r0, [r5, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
233 1f30b0: f008 fc40 bl 0x1fb934 ; $TM_DisableWatchdog
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
234 1f30b4: 4860 ldr r0, =0xfffffd02 ; via 0x1f3238
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
235 1f30b6: 2105 mov r1, #5
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
236 1f30b8: 8802 ldrh r2, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
237 1f30ba: 4311 orr r1, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
238 1f30bc: 8001 strh r1, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
239 1f30be: 495f ldr r1, =0xff3f ; via 0x1f323c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
240 1f30c0: 8802 ldrh r2, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
241 1f30c2: 4011 and r1, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
242 1f30c4: 8001 strh r1, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
243 1f30c6: 2180 mov r1, #128 ; 0x80
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
244 1f30c8: 8802 ldrh r2, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
245 1f30ca: 4311 orr r1, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
246 1f30cc: 8001 strh r1, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
247 1f30ce: 495c ldr r1, =0xffdf ; via 0x1f3240
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
248 1f30d0: 8802 ldrh r2, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
249 1f30d2: 4011 and r1, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
250 1f30d4: 8001 strh r1, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
251 1f30d6: 4e5b ldr r6, =0xfffff900 ; via 0x1f3244
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
252 1f30d8: 20ff mov r0, #255 ; 0xff
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
253 1f30da: 0200 lsl r0, r0, #8
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
254 1f30dc: 8030 strh r0, [r6, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
255 1f30de: 4c5a ldr r4, =0xffff9800 ; via 0x1f3248
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
256 1f30e0: 485a ldr r0, =0xfff3 ; via 0x1f324c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
257 1f30e2: 8821 ldrh r1, [r4, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
258 1f30e4: 4008 and r0, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
259 1f30e6: 8020 strh r0, [r4, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
260 1f30e8: 8820 ldrh r0, [r4, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
261 1f30ea: 8020 strh r0, [r4, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
262 1f30ec: 4858 ldr r0, =0xf01f ; via 0x1f3250
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
263 1f30ee: 8821 ldrh r1, [r4, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
264 1f30f0: 4008 and r0, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
265 1f30f2: 8020 strh r0, [r4, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
266 1f30f4: 2001 mov r0, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
267 1f30f6: 0280 lsl r0, r0, #10
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
268 1f30f8: 8821 ldrh r1, [r4, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
269 1f30fa: 4308 orr r0, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
270 1f30fc: 8020 strh r0, [r4, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
271 1f30fe: 2000 mov r0, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
272 1f3100: 2102 mov r1, #2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
273 1f3102: 2200 mov r2, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
274 1f3104: f009 f84e bl 0x1fc1a4 ; $CLKM_InitARMClock
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
275 ; MEMIF setup, diff from reference version is nCS1 setting with WS=4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
276 1f3108: 4952 ldr r1, =0xfffffb00 ; via 0x1f3254
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
277 1f310a: 20a3 mov r0, #163 ; 0xa3
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
278 1f310c: 8008 strh r0, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
279 1f310e: 22a4 mov r2, #164 ; 0xa4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
280 1f3110: 804a strh r2, [r1, #2]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
281 1f3112: 22a5 mov r2, #165 ; 0xa5
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
282 1f3114: 808a strh r2, [r1, #4]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
283 1f3116: 80c8 strh r0, [r1, #6]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
284 1f3118: 2080 mov r0, #128 ; 0x80
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
285 1f311a: 8148 strh r0, [r1, #10] ; 0xa
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
286 1f311c: 20c0 mov r0, #192 ; 0xc0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
287 1f311e: 8188 strh r0, [r1, #12] ; 0xc
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
288 1f3120: 2040 mov r0, #64 ; 0x40
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
289 1f3122: 8108 strh r0, [r1, #8]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
290 1f3124: 2020 mov r0, #32 ; 0x20
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
291 1f3126: 8070 strh r0, [r6, #2]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
292 1f3128: 2000 mov r0, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
293 1f312a: 80b0 strh r0, [r6, #4]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
294 1f312c: 2010 mov r0, #16 ; 0x10
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
295 1f312e: 8821 ldrh r1, [r4, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
296 1f3130: 4308 orr r0, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
297 1f3132: 8020 strh r0, [r4, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
298 1f3134: 4848 ldr r0, =0xfffffa08 ; via 0x1f3258
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
299 1f3136: 4949 ldr r1, =0xffff ; via 0x1f325c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
300 1f3138: 8001 strh r1, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
301 1f313a: 8041 strh r1, [r0, #2]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
302 1f313c: 2103 mov r1, #3
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
303 1f313e: 8181 strh r1, [r0, #12] ; 0xc
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
304 1f3140: f007 f980 bl 0x1fa444 ; $IQ_SetupInterrupts
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
305 1f3144: 4846 ldr r0, =0xfffffc00 ; via 0x1f3260
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
306 1f3146: 2124 mov r1, #36 ; 0x24
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
307 1f3148: 8001 strh r1, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
308 1f314a: 210d mov r1, #13 ; 0xd
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
309 1f314c: 8041 strh r1, [r0, #2]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
310 1f314e: 2400 mov r4, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
311 1f3150: 4844 ldr r0, =0xfffe2016 ; via 0x1f3264
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
312 1f3152: 8004 strh r4, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
313 1f3154: 4944 ldr r1, =0xfffe2014 ; via 0x1f3268
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
314 1f3156: 2002 mov r0, #2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
315 1f3158: 8008 strh r0, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
316 1f315a: 4944 ldr r1, =0xfffe2002 ; via 0x1f326c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
317 1f315c: 2084 mov r0, #132 ; 0x84
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
318 1f315e: 8008 strh r0, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
319 1f3160: 4843 ldr r0, =0xfffe2000 ; via 0x1f3270
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
320 1f3162: 4944 ldr r1, =0x3de0 ; via 0x1f3274
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
321 1f3164: 8001 strh r1, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
322 1f3166: 4a44 ldr r2, =0xfffe2022 ; via 0x1f3278
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
323 1f3168: 210c mov r1, #12 ; 0xc
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
324 1f316a: 8011 strh r1, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
325 1f316c: 4a43 ldr r2, =0xfffe2020 ; via 0x1f327c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
326 1f316e: 4944 ldr r1, =0x45a ; via 0x1f3280
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
327 1f3170: 8011 strh r1, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
328 1f3172: 4a44 ldr r2, =0xfffe201e ; via 0x1f3284
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
329 1f3174: 21a5 mov r1, #165 ; 0xa5
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
330 1f3176: 0089 lsl r1, r1, #2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
331 1f3178: 8011 strh r1, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
332 1f317a: 4a43 ldr r2, =0xfffe201c ; via 0x1f3288
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
333 1f317c: 211f mov r1, #31 ; 0x1f
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
334 1f317e: 8011 strh r1, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
335 1f3180: 4942 ldr r1, =0xfffe2024 ; via 0x1f328c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
336 1f3182: 800c strh r4, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
337 1f3184: 4b42 ldr r3, =0xfffe2010 ; via 0x1f3290
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
338 1f3186: 2202 mov r2, #2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
339 1f3188: 8819 ldrh r1, [r3, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
340 1f318a: 430a orr r2, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
341 1f318c: 801a strh r2, [r3, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
342 1f318e: 4a40 ldr r2, =0xfffe2010 ; via 0x1f3290
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
343 1f3190: 2104 mov r1, #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
344 1f3192: 8813 ldrh r3, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
345 1f3194: 4319 orr r1, r3
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
346 1f3196: 8011 strh r1, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
347 1f3198: 2127 mov r1, #39 ; 0x27
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
348 1f319a: 80a9 strh r1, [r5, #4]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
349 1f319c: 8a01 ldrh r1, [r0, #16] ; 0x10
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
350 1f319e: 0849 lsr r1, r1, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
351 1f31a0: d30f bcc 0x1f31c2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
352 1f31a2: 8a01 ldrh r1, [r0, #16] ; 0x10
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
353 1f31a4: 0409 lsl r1, r1, #16
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
354 1f31a6: 0c49 lsr r1, r1, #17
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
355 1f31a8: 0049 lsl r1, r1, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
356 1f31aa: 8201 strh r1, [r0, #16] ; 0x10
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
357 1f31ac: 2101 mov r1, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
358 1f31ae: e001 b 0x1f31b4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
359 1f31b0: 9900 ldr r1, [sp, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
360 1f31b2: 3101 add r1, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
361 1f31b4: 9100 str r1, [sp, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
362 1f31b6: 9900 ldr r1, [sp, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
363 1f31b8: 2932 cmp r1, #50 ; 0x32
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
364 1f31ba: d3f9 bcc 0x1f31b0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
365 1f31bc: 8a41 ldrh r1, [r0, #18] ; 0x12
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
366 1f31be: 2900 cmp r1, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
367 1f31c0: d0fc beq 0x1f31bc
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
368 1f31c2: f009 f8d4 bl 0x1fc36e ; $AI_ClockEnable
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
369 1f31c6: f009 f8d8 bl 0x1fc37a ; $AI_InitIOConfig
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
370 ; Huawei's added LPG setup function
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
371 1f31ca: f009 fa5e bl 0x1fc68a
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
372 1f31ce: 2027 mov r0, #39 ; 0x27
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
373 1f31d0: 0500 lsl r0, r0, #20
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
374 1f31d2: 8004 strh r4, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
375 1f31d4: 2001 mov r0, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
376 1f31d6: f008 fbbb bl 0x1fb950 ; $TM_EnableTimer
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
377 1f31da: 2002 mov r0, #2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
378 1f31dc: f008 fbb8 bl 0x1fb950 ; $TM_EnableTimer
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
379 1f31e0: b001 add sp, #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
380 1f31e2: bd70 pop {r4, r5, r6, pc}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
381
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
382 $Init_Drivers:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
383 1f31e4: b500 push {lr}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
384 1f31e6: f7b4 f9a5 bl 0x1a7534
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
385 1f31ea: f7c9 fe00 bl 0x1bcdee
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
386 1f31ee: f74e ffd6 bl 0x14219e
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
387 1f31f2: f767 f9c7 bl 0x15a584
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
388 1f31f6: f7d7 fd26 bl 0x1cac46
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
389 1f31fa: f735 f841 bl 0x128280
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
390 1f31fe: bd00 pop {pc}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
391
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
392 $Init_Serial_Flows:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
393 1f3200: b500 push {lr}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
394 1f3202: 4824 ldr r0, =0x10aa938 ; via 0x1f3294
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
395 1f3204: f7b2 fa8a bl 0x1a571c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
396 1f3208: 2000 mov r0, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
397 1f320a: 2103 mov r1, #3
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
398 1f320c: 2200 mov r2, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
399 1f320e: f7b2 fb26 bl 0x1a585e
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
400 1f3212: f7b2 fb80 bl 0x1a5916
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
401 1f3216: bd00 pop {pc}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
402
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
403 $Init_Unmask_IT:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
404 1f3218: b500 push {lr}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
405 1f321a: 2004 mov r0, #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
406 1f321c: f007 f973 bl 0x1fa506
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
407 1f3220: 2012 mov r0, #18 ; 0x12
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
408 1f3222: f007 f970 bl 0x1fa506
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
409 1f3226: 2007 mov r0, #7
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
410 1f3228: f007 f96d bl 0x1fa506
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
411 1f322c: 2008 mov r0, #8
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
412 1f322e: f007 f96a bl 0x1fa506
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
413 1f3232: bd00 pop {pc}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
414
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
415 $AI_EnableBit:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
416 1fc2f0: 4a48 ldr r2, =0xfffef00a ; via 0x1fc414
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
417 1fc2f2: 2101 mov r1, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
418 1fc2f4: 4081 lsl r1, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
419 1fc2f6: 8810 ldrh r0, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
420 1fc2f8: 4301 orr r1, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
421 1fc2fa: 8011 strh r1, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
422 1fc2fc: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
423
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
424 $AI_DisableBit:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
425 1fc2fe: 4a45 ldr r2, =0xfffef00a ; via 0x1fc414
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
426 1fc300: 2101 mov r1, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
427 1fc302: 4081 lsl r1, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
428 1fc304: 8810 ldrh r0, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
429 1fc306: 4388 bic r0, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
430 1fc308: 8010 strh r0, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
431 1fc30a: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
432
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
433 $AI_SetBit:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
434 1fc30c: 4a42 ldr r2, =0xfffe4802 ; via 0x1fc418
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
435 1fc30e: 2101 mov r1, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
436 1fc310: 4081 lsl r1, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
437 1fc312: 8810 ldrh r0, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
438 1fc314: 4301 orr r1, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
439 1fc316: 8011 strh r1, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
440 1fc318: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
441
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
442 $AI_ResetBit:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
443 1fc31a: 4a3f ldr r2, =0xfffe4802 ; via 0x1fc418
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
444 1fc31c: 2101 mov r1, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
445 1fc31e: 4081 lsl r1, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
446 1fc320: 8810 ldrh r0, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
447 1fc322: 4388 bic r0, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
448 1fc324: 8010 strh r0, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
449 1fc326: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
450
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
451 $AI_ConfigBitAsOutput:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
452 1fc328: 4a3c ldr r2, =0xfffe4804 ; via 0x1fc41c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
453 1fc32a: 2101 mov r1, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
454 1fc32c: 4081 lsl r1, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
455 1fc32e: 8810 ldrh r0, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
456 1fc330: 4388 bic r0, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
457 1fc332: 8010 strh r0, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
458 1fc334: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
459
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
460 $AI_ConfigBitAsInput:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
461 1fc336: 4a39 ldr r2, =0xfffe4804 ; via 0x1fc41c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
462 1fc338: 2101 mov r1, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
463 1fc33a: 4081 lsl r1, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
464 1fc33c: 8810 ldrh r0, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
465 1fc33e: 4301 orr r1, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
466 1fc340: 8011 strh r1, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
467 1fc342: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
468
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
469 $AI_ReadBit:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
470 1fc344: 4936 ldr r1, =0xfffe4800 ; via 0x1fc420
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
471 1fc346: 8809 ldrh r1, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
472 1fc348: 4101 asr r1, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
473 1fc34a: 07c8 lsl r0, r1, #31
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
474 1fc34c: 0fc0 lsr r0, r0, #31
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
475 1fc34e: 0600 lsl r0, r0, #24
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
476 1fc350: 0e00 lsr r0, r0, #24
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
477 1fc352: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
478
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
479 $AI_Power:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
480 1fc354: b500 push {lr}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
481 1fc356: 2800 cmp r0, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
482 1fc358: d101 bne 0x1fc35e
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
483 1fc35a: f7ab fc1b bl 0x1a7b94 ; $ABB_Power_Off
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
484 1fc35e: bd00 pop {pc}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
485
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
486 $AI_ResetIoConfig:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
487 1fc360: 492e ldr r1, =0xfffe4804 ; via 0x1fc41c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
488 1fc362: 4830 ldr r0, =0xffff ; via 0x1fc424
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
489 1fc364: 8008 strh r0, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
490 1fc366: 482b ldr r0, =0xfffef00a ; via 0x1fc414
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
491 1fc368: 2100 mov r1, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
492 1fc36a: 8001 strh r1, [r0, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
493 1fc36c: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
494
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
495 $AI_ClockEnable:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
496 1fc36e: 492e ldr r1, =0xfffe4806 ; via 0x1fc428
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
497 1fc370: 2020 mov r0, #32 ; 0x20
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
498 1fc372: 880a ldrh r2, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
499 1fc374: 4310 orr r0, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
500 1fc376: 8008 strh r0, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
501 1fc378: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
502
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
503 $AI_InitIOConfig:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
504 1fc37a: b500 push {lr}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
505 1fc37c: f7ff fff0 bl 0x1fc360 ; $AI_ResetIoConfig
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
506 1fc380: 2002 mov r0, #2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
507 1fc382: f7ff ffb5 bl 0x1fc2f0 ; $AI_EnableBit
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
508 1fc386: 2004 mov r0, #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
509 1fc388: f7ff ffb2 bl 0x1fc2f0 ; $AI_EnableBit
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
510 1fc38c: 2005 mov r0, #5
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
511 1fc38e: f7ff ffaf bl 0x1fc2f0 ; $AI_EnableBit
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
512 1fc392: 2006 mov r0, #6
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
513 1fc394: f7ff ffac bl 0x1fc2f0 ; $AI_EnableBit
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
514 1fc398: 2007 mov r0, #7
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
515 1fc39a: f7ff ffa9 bl 0x1fc2f0 ; $AI_EnableBit
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
516 1fc39e: 2008 mov r0, #8
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
517 1fc3a0: f7ff ffa6 bl 0x1fc2f0 ; $AI_EnableBit
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
518 1fc3a4: 2009 mov r0, #9
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
519 1fc3a6: f7ff ffa3 bl 0x1fc2f0 ; $AI_EnableBit
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
520 1fc3aa: 491b ldr r1, =0xfffe4802 ; via 0x1fc418
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
521 1fc3ac: 481f ldr r0, =0x3f02 ; via 0x1fc42c
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
522 1fc3ae: 8008 strh r0, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
523 1fc3b0: 2000 mov r0, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
524 1fc3b2: f7ff ffb9 bl 0x1fc328 ; $AI_ConfigBitAsOutput
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
525 1fc3b6: 2001 mov r0, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
526 1fc3b8: f7ff ffb6 bl 0x1fc328 ; $AI_ConfigBitAsOutput
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
527 1fc3bc: 2002 mov r0, #2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
528 1fc3be: f7ff ffb3 bl 0x1fc328 ; $AI_ConfigBitAsOutput
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
529 1fc3c2: 2005 mov r0, #5
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
530 1fc3c4: f7ff ffb0 bl 0x1fc328 ; $AI_ConfigBitAsOutput
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
531 1fc3c8: 2007 mov r0, #7
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
532 1fc3ca: f7ff ffad bl 0x1fc328 ; $AI_ConfigBitAsOutput
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
533 1fc3ce: 2009 mov r0, #9
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
534 1fc3d0: f7ff ffaa bl 0x1fc328 ; $AI_ConfigBitAsOutput
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
535 1fc3d4: 200e mov r0, #14 ; 0xe
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
536 1fc3d6: f7ff ffa7 bl 0x1fc328 ; $AI_ConfigBitAsOutput
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
537 1fc3da: 200f mov r0, #15 ; 0xf
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
538 1fc3dc: f7ff ffa4 bl 0x1fc328 ; $AI_ConfigBitAsOutput
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
539 1fc3e0: bd00 pop {pc}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
540
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
541 $AI_SelectIOForIT:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
542 1fc3e2: 0109 lsl r1, r1, #4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
543 1fc3e4: 1840 add r0, r0, r1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
544 1fc3e6: 0040 lsl r0, r0, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
545 1fc3e8: 3001 add r0, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
546 1fc3ea: 4911 ldr r1, =0xfffe4814 ; via 0x1fc430
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
547 1fc3ec: 8008 strh r0, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
548 1fc3ee: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
549
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
550 $AI_CheckITSource:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
551 1fc3f0: 2100 mov r1, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
552 1fc3f2: 4a10 ldr r2, =0xfffe4816 ; via 0x1fc434
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
553 1fc3f4: 8812 ldrh r2, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
554 1fc3f6: 4210 tst r0, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
555 1fc3f8: d000 beq 0x1fc3fc
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
556 1fc3fa: 2101 mov r1, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
557 1fc3fc: 1c08 add r0, r1, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
558 1fc3fe: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
559
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
560 $AI_UnmaskIT:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
561 1fc400: 4a0d ldr r2, =0xfffe4818 ; via 0x1fc438
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
562 1fc402: 8811 ldrh r1, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
563 1fc404: 4381 bic r1, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
564 1fc406: 8011 strh r1, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
565 1fc408: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
566
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
567 $AI_MaskIT:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
568 1fc40a: 4a0b ldr r2, =0xfffe4818 ; via 0x1fc438
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
569 1fc40c: 8811 ldrh r1, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
570 1fc40e: 4301 orr r1, r0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
571 1fc410: 8011 strh r1, [r2, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
572 1fc412: 4770 bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
573
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
574 ; Huawei's added LPG setup function
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
575 1fc68a: b500 push {lr}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
576 1fc68c: 490e ldr r1, =0xfffef008 ; via 0x1fc6c8
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
577 1fc68e: 2040 mov r0, #64 ; 0x40
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
578 1fc690: 880a ldrh r2, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
579 1fc692: 4310 orr r0, r2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
580 1fc694: 8008 strh r0, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
581 1fc696: 490d ldr r1, =0xfffe7801 ; via 0x1fc6cc
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
582 1fc698: 2001 mov r0, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
583 1fc69a: 7008 strb r0, [r1, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
584 1fc69c: 2000 mov r0, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
585 1fc69e: f7ff ffcb bl 0x1fc638
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
586 1fc6a2: bd00 pop {pc}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
587
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
588 $INC_Initialize:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
589 202fbc: b530 push {r4, r5, lr}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
590 202fbe: 1c05 add r5, r0, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
591 202fc0: 4c13 ldr r4, =0x10ab3cc ; via 0x203010
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
592 202fc2: 2001 mov r0, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
593 202fc4: 6020 str r0, [r4, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
594 202fc6: f001 f8e3 bl 0x204190
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
595 202fca: f001 f8e5 bl 0x204198
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
596 202fce: f001 f8b3 bl 0x204138
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
597 202fd2: f000 fc21 bl 0x203818
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
598 202fd6: f7fc f8e9 bl 0x1ff1ac
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
599 202fda: f000 fe2b bl 0x203c34
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
600 202fde: f000 fdf9 bl 0x203bd4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
601 202fe2: f000 fe17 bl 0x203c14
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
602 202fe6: f000 fde5 bl 0x203bb4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
603 202fea: f000 fe43 bl 0x203c74
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
604 202fee: f000 fe01 bl 0x203bf4
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
605 202ff2: f000 fe4f bl 0x203c94
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
606 202ff6: f7fe fa33 bl 0x201460
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
607 202ffa: f000 fe2b bl 0x203c54
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
608 202ffe: 1c28 add r0, r5, #0
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
609 203000: f000 fea8 bl 0x203d54 ; $Application_Initialize
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
610 203004: 2002 mov r0, #2
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
611 203006: 6020 str r0, [r4, #0]
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
612 203008: f782 ff04 bl 0x185e14
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
613 20300c: bd30 pop {r4, r5, pc}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
614 20300e: 46c0 nop (mov r8, r8)
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
615
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
616 $Application_Initialize:
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
617 203d54: b500 push {lr}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
618 203d56: f7ef f9a5 bl 0x1f30a4 ; $Init_Target
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
619 203d5a: f7ef fa43 bl 0x1f31e4 ; $Init_Drivers
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
620 203d5e: f077 fed5 bl 0x27bb0c ; $Cust_Init_Layer1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
621 203d62: f7ef fa4d bl 0x1f3200 ; $Init_Serial_Flows
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
622 203d66: f766 fb73 bl 0x16a450 ; $StartFrame
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
623 203d6a: f7ef fa55 bl 0x1f3218 ; $Init_Unmask_IT
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
624 203d6e: bd00 pop {pc}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
625
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
626 _INC_Initialize: ; ARM->Thumb call veneer
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
627 203f04: e92d4000 stmdb sp!, {lr}
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
628 203f08: e28fe001 add lr, pc, #1
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
629 203f0c: e12fff1e bx lr
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
630 203f10: f7ff f854 bl 0x202fbc
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
631 203f14: 4778 bx pc
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
632 203f16: 46c0 nop (mov r8, r8)
a679cff990bf gtm900-fw-disasm created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
633 203f18: e8bd8000 ldmia sp!, {pc}