FreeCalypso > hg > freecalypso-reveng
comparison pirelli/fw-disasm @ 248:73039e3416c7
pirelli/fw-disasm: abb_inth located
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 24 Dec 2017 04:43:48 +0000 |
parents | 1e1191fbdf90 |
children | b84fa089a560 |
comparison
equal
deleted
inserted
replaced
247:1e1191fbdf90 | 248:73039e3416c7 |
---|---|
1059 3495a6: f7ff fdba bl 0x34911e | 1059 3495a6: f7ff fdba bl 0x34911e |
1060 3495aa: 4804 ldr r0, =0x17741e0 ; via 0x3495bc | 1060 3495aa: 4804 ldr r0, =0x17741e0 ; via 0x3495bc |
1061 3495ac: f0b0 f996 bl 0x3f98dc | 1061 3495ac: f0b0 f996 bl 0x3f98dc |
1062 3495b0: b002 add sp, #8 | 1062 3495b0: b002 add sp, #8 |
1063 3495b2: bd00 pop {pc} | 1063 3495b2: bd00 pop {pc} |
1064 | |
1065 $spi_abb_read_int_reg_callback: | |
1066 39efc4: b510 push {r4, lr} | |
1067 39efc6: b089 sub sp, #36 ; 0x24 | |
1068 39efc8: 9002 str r0, [sp, #8] | |
1069 39efca: 9802 ldr r0, [sp, #8] | |
1070 39efcc: 8800 ldrh r0, [r0, #0] | |
1071 39efce: 08c0 lsr r0, r0, #3 | |
1072 39efd0: d344 bcc 0x39f05c | |
1073 39efd2: 2014 mov r0, #20 ; 0x14 | |
1074 39efd4: f05a fbba bl 0x3f974c | |
1075 39efd8: f7aa f998 bl 0x34930c | |
1076 39efdc: 2110 mov r1, #16 ; 0x10 | |
1077 39efde: 4001 and r1, r0 | |
1078 39efe0: 4668 mov r0, sp | |
1079 39efe2: 81c1 strh r1, [r0, #14] ; 0xe | |
1080 39efe4: 89c0 ldrh r0, [r0, #14] ; 0xe | |
1081 39efe6: 2800 cmp r0, #0 | |
1082 39efe8: d000 beq 0x39efec | |
1083 39efea: e15d b 0x39f2a8 | |
1084 39efec: f04b fa6a bl 0x3ea4c4 | |
1085 39eff0: 4669 mov r1, sp | |
1086 39eff2: 2000 mov r0, #0 | |
1087 39eff4: 8188 strh r0, [r1, #12] ; 0xc | |
1088 39eff6: 4668 mov r0, sp | |
1089 39eff8: 8980 ldrh r0, [r0, #12] ; 0xc | |
1090 39effa: 2808 cmp r0, #8 | |
1091 39effc: da18 bge 0x39f030 | |
1092 39effe: 4668 mov r0, sp | |
1093 39f000: 89c0 ldrh r0, [r0, #14] ; 0xe | |
1094 39f002: 2800 cmp r0, #0 | |
1095 39f004: d114 bne 0x39f030 | |
1096 39f006: 2036 mov r0, #54 ; 0x36 | |
1097 39f008: f05a fba0 bl 0x3f974c | |
1098 39f00c: f7aa f97e bl 0x34930c | |
1099 39f010: 2110 mov r1, #16 ; 0x10 | |
1100 39f012: 4001 and r1, r0 | |
1101 39f014: 4668 mov r0, sp | |
1102 39f016: 81c1 strh r1, [r0, #14] ; 0xe | |
1103 39f018: 4669 mov r1, sp | |
1104 39f01a: 8980 ldrh r0, [r0, #12] ; 0xc | |
1105 39f01c: 3001 add r0, #1 | |
1106 39f01e: 8188 strh r0, [r1, #12] ; 0xc | |
1107 39f020: 4668 mov r0, sp | |
1108 39f022: 8980 ldrh r0, [r0, #12] ; 0xc | |
1109 39f024: 2808 cmp r0, #8 | |
1110 39f026: da03 bge 0x39f030 | |
1111 39f028: 4668 mov r0, sp | |
1112 39f02a: 89c0 ldrh r0, [r0, #14] ; 0xe | |
1113 39f02c: 2800 cmp r0, #0 | |
1114 39f02e: d0ea beq 0x39f006 | |
1115 39f030: 4668 mov r0, sp | |
1116 39f032: 89c0 ldrh r0, [r0, #14] ; 0xe | |
1117 39f034: 2800 cmp r0, #0 | |
1118 39f036: d000 beq 0x39f03a | |
1119 39f038: e136 b 0x39f2a8 | |
1120 39f03a: 48d9 ldr r0, =0x1774ccf ; via 0x39f3a0 | |
1121 39f03c: 7800 ldrb r0, [r0, #0] | |
1122 39f03e: 2800 cmp r0, #0 | |
1123 39f040: d100 bne 0x39f044 | |
1124 39f042: e131 b 0x39f2a8 | |
1125 39f044: 48d7 ldr r0, =0xa0010 ; via 0x39f3a4 | |
1126 39f046: 9000 str r0, [sp, #0] | |
1127 39f048: a09a add r0, pc, #616 ; 0x268 | |
1128 39f04a: 2119 mov r1, #25 ; 0x19 | |
1129 39f04c: 2200 mov r2, #0 | |
1130 39f04e: 43d2 mvn r2, r2 | |
1131 39f050: 2305 mov r3, #5 | |
1132 39f052: f03b fdef bl 0x3dac34 | |
1133 39f056: f002 f9f1 bl 0x3a143c | |
1134 39f05a: e125 b 0x39f2a8 | |
1135 ; end of PUSHOFF_IT_STS handling | |
1136 39f05c: 9802 ldr r0, [sp, #8] | |
1137 39f05e: 8800 ldrh r0, [r0, #0] | |
1138 39f060: 0880 lsr r0, r0, #2 | |
1139 39f062: d30b bcc 0x39f07c | |
1140 39f064: 48cf ldr r0, =0xa0010 ; via 0x39f3a4 | |
1141 39f066: 9000 str r0, [sp, #0] | |
1142 39f068: a099 add r0, pc, #612 ; 0x264 | |
1143 39f06a: 2120 mov r1, #32 ; 0x20 | |
1144 39f06c: 2200 mov r2, #0 | |
1145 39f06e: 43d2 mvn r2, r2 | |
1146 39f070: 2305 mov r3, #5 | |
1147 39f072: f03b fddf bl 0x3dac34 | |
1148 39f076: f002 fa9c bl 0x3a15b2 | |
1149 39f07a: e115 b 0x39f2a8 | |
1150 ; end of REMOT_IT_STS handling | |
1151 39f07c: 9802 ldr r0, [sp, #8] | |
1152 39f07e: 8800 ldrh r0, [r0, #0] | |
1153 39f080: 0980 lsr r0, r0, #6 | |
1154 39f082: d200 bcs 0x39f086 | |
1155 39f084: e0ed b 0x39f262 | |
1156 ; The following write of 0 into byte var at 0x1775041 | |
1157 ; is a Foxconn/Pirelli addition. | |
1158 39f086: 49c8 ldr r1, =0x1775041 ; via 0x39f3a8 | |
1159 39f088: 2000 mov r0, #0 | |
1160 39f08a: 7008 strb r0, [r1, #0] | |
1161 39f08c: 48c5 ldr r0, =0xa0010 ; via 0x39f3a4 | |
1162 39f08e: 9000 str r0, [sp, #0] | |
1163 39f090: a098 add r0, pc, #608 ; 0x260 | |
1164 39f092: 210f mov r1, #15 ; 0xf | |
1165 39f094: 2200 mov r2, #0 | |
1166 39f096: 43d2 mvn r2, r2 | |
1167 39f098: 2305 mov r3, #5 | |
1168 39f09a: f03b fdcb bl 0x3dac34 ; rvf_send_trace() | |
1169 39f09e: 48c3 ldr r0, =0x1774e38 ; via 0x39f3ac | |
1170 39f0a0: 6800 ldr r0, [r0, #0] | |
1171 39f0a2: 3004 add r0, #4 | |
1172 39f0a4: f7aa f9f8 bl 0x349498 ; $ABB_Read_ADC | |
1173 39f0a8: 48c0 ldr r0, =0x1774e38 ; via 0x39f3ac | |
1174 39f0aa: 6800 ldr r0, [r0, #0] | |
1175 39f0ac: 8dc0 ldrh r0, [r0, #46] ; 0x2e | |
1176 39f0ae: 2806 cmp r0, #6 | |
1177 39f0b0: db03 blt 0x39f0ba | |
1178 39f0b2: 48be ldr r0, =0x1774e38 ; via 0x39f3ac | |
1179 39f0b4: 6801 ldr r1, [r0, #0] | |
1180 39f0b6: 2000 mov r0, #0 | |
1181 39f0b8: 85c8 strh r0, [r1, #46] ; 0x2e | |
1182 39f0ba: 48bc ldr r0, =0x1774e38 ; via 0x39f3ac | |
1183 39f0bc: 6800 ldr r0, [r0, #0] | |
1184 39f0be: 8dc0 ldrh r0, [r0, #46] ; 0x2e | |
1185 39f0c0: 0040 lsl r0, r0, #1 | |
1186 39f0c2: 49ba ldr r1, =0x1774e38 ; via 0x39f3ac | |
1187 39f0c4: 6809 ldr r1, [r1, #0] | |
1188 39f0c6: 1840 add r0, r0, r1 | |
1189 39f0c8: 49b8 ldr r1, =0x1774e38 ; via 0x39f3ac | |
1190 39f0ca: 6809 ldr r1, [r1, #0] | |
1191 39f0cc: 8889 ldrh r1, [r1, #4] | |
1192 39f0ce: 8281 strh r1, [r0, #20] ; 0x14 | |
1193 39f0d0: 48b6 ldr r0, =0x1774e38 ; via 0x39f3ac | |
1194 39f0d2: 6800 ldr r0, [r0, #0] | |
1195 39f0d4: 302e add r0, #46 ; 0x2e | |
1196 39f0d6: 8801 ldrh r1, [r0, #0] | |
1197 39f0d8: 3101 add r1, #1 | |
1198 39f0da: 8001 strh r1, [r0, #0] | |
1199 39f0dc: 2133 mov r1, #51 ; 0x33 | |
1200 39f0de: 48b3 ldr r0, =0x1774e38 ; via 0x39f3ac | |
1201 39f0e0: 6800 ldr r0, [r0, #0] | |
1202 39f0e2: 5c08 ldrb r0, [r1, r0] | |
1203 39f0e4: 2801 cmp r0, #1 | |
1204 39f0e6: d000 beq 0x39f0ea | |
1205 39f0e8: e0de b 0x39f2a8 | |
1206 39f0ea: 2010 mov r0, #16 ; 0x10 | |
1207 39f0ec: f7f8 ff53 bl 0x397f96 ; $osx_alloc_prim | |
1208 39f0f0: 9004 str r0, [sp, #16] ; 0x10 | |
1209 39f0f2: 9804 ldr r0, [sp, #16] ; 0x10 | |
1210 39f0f4: 2800 cmp r0, #0 | |
1211 39f0f6: d022 beq 0x39f13e | |
1212 39f0f8: 9904 ldr r1, [sp, #16] ; 0x10 | |
1213 39f0fa: 2069 mov r0, #105 ; 0x69 | |
1214 39f0fc: 6008 str r0, [r1, #0] | |
1215 39f0fe: 4669 mov r1, sp | |
1216 39f100: 2000 mov r0, #0 | |
1217 39f102: 7508 strb r0, [r1, #20] ; 0x14 | |
1218 39f104: 4668 mov r0, sp | |
1219 39f106: 7d00 ldrb r0, [r0, #20] ; 0x14 | |
1220 39f108: 2808 cmp r0, #8 | |
1221 39f10a: da14 bge 0x39f136 | |
1222 39f10c: 4668 mov r0, sp | |
1223 39f10e: 7d00 ldrb r0, [r0, #20] ; 0x14 | |
1224 39f110: 0042 lsl r2, r0, #1 | |
1225 39f112: 9804 ldr r0, [sp, #16] ; 0x10 | |
1226 39f114: 6901 ldr r1, [r0, #16] ; 0x10 | |
1227 39f116: 4668 mov r0, sp | |
1228 39f118: 7d00 ldrb r0, [r0, #20] ; 0x14 | |
1229 39f11a: 0043 lsl r3, r0, #1 | |
1230 39f11c: 48a3 ldr r0, =0x1774e38 ; via 0x39f3ac | |
1231 39f11e: 6800 ldr r0, [r0, #0] | |
1232 39f120: 1818 add r0, r3, r0 | |
1233 39f122: 8880 ldrh r0, [r0, #4] | |
1234 39f124: 5250 strh r0, [r2, r1] | |
1235 39f126: 4668 mov r0, sp | |
1236 39f128: 4669 mov r1, sp | |
1237 39f12a: 7d09 ldrb r1, [r1, #20] ; 0x14 | |
1238 39f12c: 3101 add r1, #1 | |
1239 39f12e: 7501 strb r1, [r0, #20] ; 0x14 | |
1240 39f130: 7d00 ldrb r0, [r0, #20] ; 0x14 | |
1241 39f132: 2808 cmp r0, #8 | |
1242 39f134: dbea blt 0x39f10c | |
1243 39f136: 9804 ldr r0, [sp, #16] ; 0x10 | |
1244 39f138: 2102 mov r1, #2 | |
1245 39f13a: f7f8 fe9a bl 0x397e72 ; $osx_send_prim | |
1246 ; checking GPIO 6 input | |
1247 39f13e: 2400 mov r4, #0 | |
1248 39f140: 2005 mov r0, #5 | |
1249 39f142: f030 fed8 bl 0x3cfef6 | |
1250 39f146: 2800 cmp r0, #0 | |
1251 39f148: d100 bne 0x39f14c | |
1252 39f14a: 2401 mov r4, #1 | |
1253 39f14c: a808 add r0, sp, #32 ; 0x20 | |
1254 39f14e: 7004 strb r4, [r0, #0] | |
1255 39f150: 4897 ldr r0, =0x17750fc ; via 0x39f3b0 | |
1256 39f152: 7800 ldrb r0, [r0, #0] | |
1257 39f154: a908 add r1, sp, #32 ; 0x20 | |
1258 39f156: 7809 ldrb r1, [r1, #0] | |
1259 39f158: 4288 cmp r0, r1 | |
1260 39f15a: d017 beq 0x39f18c | |
1261 39f15c: f7b0 ffc4 bl 0x3500e8 | |
1262 39f160: 2801 cmp r0, #1 | |
1263 39f162: d10a bne 0x39f17a | |
1264 39f164: 4893 ldr r0, =0x17750fe ; via 0x39f3b4 | |
1265 39f166: 2101 mov r1, #1 | |
1266 39f168: 7001 strb r1, [r0, #0] | |
1267 39f16a: 4991 ldr r1, =0x17750fc ; via 0x39f3b0 | |
1268 39f16c: a808 add r0, sp, #32 ; 0x20 | |
1269 39f16e: 7800 ldrb r0, [r0, #0] | |
1270 39f170: 7008 strb r0, [r1, #0] | |
1271 39f172: 488c ldr r0, =0xa0010 ; via 0x39f3a4 | |
1272 39f174: 9000 str r0, [sp, #0] | |
1273 39f176: a063 add r0, pc, #396 ; 0x18c | |
1274 39f178: e002 b 0x39f180 | |
1275 39f17a: 488a ldr r0, =0xa0010 ; via 0x39f3a4 | |
1276 39f17c: 9000 str r0, [sp, #0] | |
1277 39f17e: a063 add r0, pc, #396 ; 0x18c | |
1278 39f180: 2107 mov r1, #7 | |
1279 39f182: 2200 mov r2, #0 | |
1280 39f184: 43d2 mvn r2, r2 | |
1281 39f186: 2305 mov r3, #5 | |
1282 39f188: f03b fd54 bl 0x3dac34 | |
1283 ; end of GPIO 6 check code | |
1284 39f18c: 488a ldr r0, =0x17751e8 ; via 0x39f3b8 | |
1285 39f18e: 7800 ldrb r0, [r0, #0] | |
1286 39f190: 2800 cmp r0, #0 | |
1287 39f192: d019 beq 0x39f1c8 | |
1288 39f194: f69e f9ce bl 0x23d534 | |
1289 39f198: 2802 cmp r0, #2 | |
1290 39f19a: dd15 ble 0x39f1c8 | |
1291 39f19c: 4883 ldr r0, =0x1774e38 ; via 0x39f3ac | |
1292 39f19e: 6800 ldr r0, [r0, #0] | |
1293 39f1a0: 8a41 ldrh r1, [r0, #18] ; 0x12 | |
1294 39f1a2: 2049 mov r0, #73 ; 0x49 | |
1295 39f1a4: 00c0 lsl r0, r0, #3 | |
1296 39f1a6: 4281 cmp r1, r0 | |
1297 39f1a8: dd0e ble 0x39f1c8 | |
1298 39f1aa: 4983 ldr r1, =0x17751e8 ; via 0x39f3b8 | |
1299 39f1ac: 2000 mov r0, #0 | |
1300 39f1ae: 7008 strb r0, [r1, #0] | |
1301 39f1b0: 4882 ldr r0, =0x17751e9 ; via 0x39f3bc | |
1302 39f1b2: 2101 mov r1, #1 | |
1303 39f1b4: 7001 strb r1, [r0, #0] | |
1304 39f1b6: 487b ldr r0, =0xa0010 ; via 0x39f3a4 | |
1305 39f1b8: 9000 str r0, [sp, #0] | |
1306 39f1ba: a060 add r0, pc, #384 ; 0x180 | |
1307 39f1bc: 2103 mov r1, #3 | |
1308 39f1be: 2200 mov r2, #0 | |
1309 39f1c0: 43d2 mvn r2, r2 | |
1310 39f1c2: 2305 mov r3, #5 | |
1311 39f1c4: f03b fd36 bl 0x3dac34 | |
1312 39f1c8: 4879 ldr r0, =0x17750fc ; via 0x39f3b0 | |
1313 39f1ca: 7800 ldrb r0, [r0, #0] | |
1314 39f1cc: 2800 cmp r0, #0 | |
1315 39f1ce: d110 bne 0x39f1f2 | |
1316 39f1d0: 487b ldr r0, =0x1774db8 ; via 0x39f3c0 | |
1317 39f1d2: 6800 ldr r0, [r0, #0] | |
1318 39f1d4: 2801 cmp r0, #1 | |
1319 39f1d6: d003 beq 0x39f1e0 | |
1320 39f1d8: 4879 ldr r0, =0x1774db8 ; via 0x39f3c0 | |
1321 39f1da: 6800 ldr r0, [r0, #0] | |
1322 39f1dc: 2802 cmp r0, #2 | |
1323 39f1de: d108 bne 0x39f1f2 | |
1324 39f1e0: 4872 ldr r0, =0x1774e38 ; via 0x39f3ac | |
1325 39f1e2: 6800 ldr r0, [r0, #0] | |
1326 39f1e4: 8a41 ldrh r1, [r0, #18] ; 0x12 | |
1327 39f1e6: 2049 mov r0, #73 ; 0x49 | |
1328 39f1e8: 00c0 lsl r0, r0, #3 | |
1329 39f1ea: 4281 cmp r1, r0 | |
1330 39f1ec: dc04 bgt 0x39f1f8 | |
1331 39f1ee: 2101 mov r1, #1 | |
1332 39f1f0: e000 b 0x39f1f4 | |
1333 39f1f2: 2100 mov r1, #0 | |
1334 39f1f4: 4870 ldr r0, =0x17751e8 ; via 0x39f3b8 | |
1335 39f1f6: 7001 strb r1, [r0, #0] | |
1336 39f1f8: 486e ldr r0, =0x17750fe ; via 0x39f3b4 | |
1337 39f1fa: 7800 ldrb r0, [r0, #0] | |
1338 39f1fc: 2800 cmp r0, #0 | |
1339 39f1fe: d103 bne 0x39f208 | |
1340 39f200: 486e ldr r0, =0x17751e9 ; via 0x39f3bc | |
1341 39f202: 7800 ldrb r0, [r0, #0] | |
1342 39f204: 2800 cmp r0, #0 | |
1343 39f206: d04f beq 0x39f2a8 | |
1344 39f208: 486e ldr r0, =0x1775098 ; via 0x39f3c4 | |
1345 39f20a: 6800 ldr r0, [r0, #0] | |
1346 39f20c: 8800 ldrh r0, [r0, #0] | |
1347 39f20e: 2110 mov r1, #16 ; 0x10 | |
1348 39f210: aa07 add r2, sp, #28 ; 0x1c | |
1349 39f212: f625 fbd9 bl 0x1c49c8 | |
1350 39f216: 9006 str r0, [sp, #24] ; 0x18 | |
1351 39f218: 9806 ldr r0, [sp, #24] ; 0x18 | |
1352 39f21a: 2802 cmp r0, #2 | |
1353 39f21c: d015 beq 0x39f24a | |
1354 39f21e: 9907 ldr r1, [sp, #28] ; 0x1c | |
1355 39f220: 4869 ldr r0, =0xd809 ; via 0x39f3c8 | |
1356 39f222: 6008 str r0, [r1, #0] | |
1357 39f224: 9907 ldr r1, [sp, #28] ; 0x1c | |
1358 39f226: 2000 mov r0, #0 | |
1359 39f228: 43c0 mvn r0, r0 | |
1360 39f22a: 7308 strb r0, [r1, #12] ; 0xc | |
1361 39f22c: 9806 ldr r0, [sp, #24] ; 0x18 | |
1362 39f22e: 2800 cmp r0, #0 | |
1363 39f230: d101 bne 0x39f236 | |
1364 39f232: 2101 mov r1, #1 | |
1365 39f234: e000 b 0x39f238 | |
1366 39f236: 2100 mov r1, #0 | |
1367 39f238: 9807 ldr r0, [sp, #28] ; 0x1c | |
1368 39f23a: 7341 strb r1, [r0, #13] ; 0xd | |
1369 39f23c: 4861 ldr r0, =0x1775098 ; via 0x39f3c4 | |
1370 39f23e: 6800 ldr r0, [r0, #0] | |
1371 39f240: 7880 ldrb r0, [r0, #2] | |
1372 39f242: 9907 ldr r1, [sp, #28] ; 0x1c | |
1373 39f244: f019 feac bl 0x3b8fa0 | |
1374 39f248: e02e b 0x39f2a8 | |
1375 39f24a: 4860 ldr r0, =0xa0008 ; via 0x39f3cc | |
1376 39f24c: 9000 str r0, [sp, #0] | |
1377 39f24e: a03c add r0, pc, #240 ; 0xf0 | |
1378 39f250: 212e mov r1, #46 ; 0x2e | |
1379 39f252: 2200 mov r2, #0 | |
1380 39f254: 43d2 mvn r2, r2 | |
1381 39f256: 2301 mov r3, #1 | |
1382 39f258: f03b fcec bl 0x3dac34 | |
1383 39f25c: f00f fe8b bl 0x3aef76 | |
1384 39f260: e022 b 0x39f2a8 | |
1385 39f262: 9802 ldr r0, [sp, #8] | |
1386 39f264: 8800 ldrh r0, [r0, #0] | |
1387 39f266: 0900 lsr r0, r0, #4 | |
1388 39f268: d31e bcc 0x39f2a8 | |
1389 39f26a: f7aa f84f bl 0x34930c | |
1390 39f26e: 4669 mov r1, sp | |
1391 39f270: 81c8 strh r0, [r1, #14] ; 0xe | |
1392 39f272: 4668 mov r0, sp | |
1393 39f274: 89c0 ldrh r0, [r0, #14] ; 0xe | |
1394 39f276: 09c0 lsr r0, r0, #7 | |
1395 39f278: d30b bcc 0x39f292 | |
1396 39f27a: 484a ldr r0, =0xa0010 ; via 0x39f3a4 | |
1397 39f27c: 9000 str r0, [sp, #0] | |
1398 39f27e: a03c add r0, pc, #240 ; 0xf0 | |
1399 39f280: 2114 mov r1, #20 ; 0x14 | |
1400 39f282: 2200 mov r2, #0 | |
1401 39f284: 43d2 mvn r2, r2 | |
1402 39f286: 2305 mov r3, #5 | |
1403 39f288: f03b fcd4 bl 0x3dac34 | |
1404 39f28c: f002 f993 bl 0x3a15b6 | |
1405 39f290: e00a b 0x39f2a8 | |
1406 39f292: 4844 ldr r0, =0xa0010 ; via 0x39f3a4 | |
1407 39f294: 9000 str r0, [sp, #0] | |
1408 39f296: a03c add r0, pc, #240 ; 0xf0 | |
1409 39f298: 2116 mov r1, #22 ; 0x16 | |
1410 39f29a: 2200 mov r2, #0 | |
1411 39f29c: 43d2 mvn r2, r2 | |
1412 39f29e: 2305 mov r3, #5 | |
1413 39f2a0: f03b fcc8 bl 0x3dac34 | |
1414 39f2a4: f002 f99a bl 0x3a15dc | |
1415 39f2a8: 200c mov r0, #12 ; 0xc | |
1416 39f2aa: f040 fd00 bl 0x3dfcae | |
1417 39f2ae: b009 add sp, #36 ; 0x24 | |
1418 39f2b0: bd10 pop {r4, pc} | |
1419 39f2b2: 46c0 nop (mov r8, r8) | |
1064 | 1420 |
1065 $Init_Target: | 1421 $Init_Target: |
1066 3bb7d4: b570 push {r4, r5, r6, lr} | 1422 3bb7d4: b570 push {r4, r5, r6, lr} |
1067 3bb7d6: b081 sub sp, #4 | 1423 3bb7d6: b081 sub sp, #4 |
1068 3bb7d8: 4c96 ldr r4, =0xfffef008 ; via 0x3bba34 | 1424 3bb7d8: 4c96 ldr r4, =0xfffef008 ; via 0x3bba34 |
1424 T_SPI_GBL_INFO structure: | 1780 T_SPI_GBL_INFO structure: |
1425 | 1781 |
1426 0x00: prim_id like in TCS211 | 1782 0x00: prim_id like in TCS211 |
1427 0x02: addr_id (ditto) | 1783 0x02: addr_id (ditto) |
1428 0x04: adc_result[8] array (ditto) | 1784 0x04: adc_result[8] array (ditto) |
1429 0x14: Foxconn/Pirelli's unknown insertions | 1785 0x14: array of 6 16-bit words storing consecutive VBAT ADC readings |
1786 0x2E: 16-bit var write pointer for the array at offset 0x14 | |
1430 0x32: assumed is_gsm_on | 1787 0x32: assumed is_gsm_on |
1431 0x33: assumed is_adc_on | 1788 0x33: assumed is_adc_on |
1432 0x34: assumed SpiTaskReady | 1789 0x34: assumed SpiTaskReady |
1433 | 1790 |
1434 $spi_set_info: | 1791 $spi_set_info: |
1730 3cda9a: 6800 ldr r0, [r0, #0] | 2087 3cda9a: 6800 ldr r0, [r0, #0] |
1731 3cda9c: f5f7 f92c bl 0x1c4cf8 | 2088 3cda9c: f5f7 f92c bl 0x1c4cf8 |
1732 3cdaa0: 2000 mov r0, #0 | 2089 3cdaa0: 2000 mov r0, #0 |
1733 3cdaa2: bd00 pop {pc} | 2090 3cdaa2: bd00 pop {pc} |
1734 | 2091 |
2092 ; function called from the ADC end handler | |
2093 3cfef6: b510 push {r4, lr} | |
2094 3cfef8: 2400 mov r4, #0 | |
2095 3cfefa: 2105 mov r1, #5 | |
2096 3cfefc: 1a40 sub r0, r0, r1 | |
2097 3cfefe: 2800 cmp r0, #0 | |
2098 3cff00: d008 beq 0x3cff14 | |
2099 3cff02: 3803 sub r0, #3 | |
2100 3cff04: 2800 cmp r0, #0 | |
2101 3cff06: d10b bne 0x3cff20 | |
2102 3cff08: 200d mov r0, #13 ; 0xd | |
2103 3cff0a: f013 f8a9 bl 0x3e3060 ; $AI_ReadBit | |
2104 3cff0e: 2801 cmp r0, #1 | |
2105 3cff10: d005 beq 0x3cff1e | |
2106 3cff12: e005 b 0x3cff20 | |
2107 3cff14: 2006 mov r0, #6 | |
2108 3cff16: f013 f8a3 bl 0x3e3060 ; $AI_ReadBit | |
2109 3cff1a: 2801 cmp r0, #1 | |
2110 3cff1c: d100 bne 0x3cff20 | |
2111 3cff1e: 2401 mov r4, #1 | |
2112 3cff20: 1c20 add r0, r4, #0 | |
2113 3cff22: bd10 pop {r4, pc} | |
2114 | |
1735 $Create_ABB_HISR: | 2115 $Create_ABB_HISR: |
1736 3dc928: b500 push {lr} | 2116 3dc928: b500 push {lr} |
1737 3dc92a: b083 sub sp, #12 ; 0xc | 2117 3dc92a: b083 sub sp, #12 ; 0xc |
1738 3dc92c: 485d ldr r0, =0x1764a10 ; via 0x3dcaa4 | 2118 3dc92c: 485d ldr r0, =0x1764a10 ; via 0x3dcaa4 |
1739 3dc92e: 21fe mov r1, #254 ; 0xfe | 2119 3dc92e: 21fe mov r1, #254 ; 0xfe |
1823 3dc9d6: f7fe f92d bl 0x3dac34 | 2203 3dc9d6: f7fe f92d bl 0x3dac34 |
1824 3dc9da: 200c mov r0, #12 ; 0xc | 2204 3dc9da: 200c mov r0, #12 ; 0xc |
1825 3dc9dc: f003 f967 bl 0x3dfcae | 2205 3dc9dc: f003 f967 bl 0x3dfcae |
1826 3dc9e0: b003 add sp, #12 ; 0xc | 2206 3dc9e0: b003 add sp, #12 ; 0xc |
1827 3dc9e2: bd00 pop {pc} | 2207 3dc9e2: bd00 pop {pc} |
2208 | |
2209 $AI_EnableBit: | |
2210 3e300c: 4a44 ldr r2, =0xfffef00a ; via 0x3e3120 | |
2211 3e300e: 2101 mov r1, #1 | |
2212 3e3010: 4081 lsl r1, r0 | |
2213 3e3012: 8810 ldrh r0, [r2, #0] | |
2214 3e3014: 4301 orr r1, r0 | |
2215 3e3016: 8011 strh r1, [r2, #0] | |
2216 3e3018: 4770 bx lr | |
2217 | |
2218 $AI_DisableBit: | |
2219 3e301a: 4a41 ldr r2, =0xfffef00a ; via 0x3e3120 | |
2220 3e301c: 2101 mov r1, #1 | |
2221 3e301e: 4081 lsl r1, r0 | |
2222 3e3020: 8810 ldrh r0, [r2, #0] | |
2223 3e3022: 4388 bic r0, r1 | |
2224 3e3024: 8010 strh r0, [r2, #0] | |
2225 3e3026: 4770 bx lr | |
2226 | |
2227 $AI_SetBit: | |
2228 3e3028: 4a3e ldr r2, =0xfffe4802 ; via 0x3e3124 | |
2229 3e302a: 2101 mov r1, #1 | |
2230 3e302c: 4081 lsl r1, r0 | |
2231 3e302e: 8810 ldrh r0, [r2, #0] | |
2232 3e3030: 4301 orr r1, r0 | |
2233 3e3032: 8011 strh r1, [r2, #0] | |
2234 3e3034: 4770 bx lr | |
2235 | |
2236 $AI_ResetBit: | |
2237 3e3036: 4a3b ldr r2, =0xfffe4802 ; via 0x3e3124 | |
2238 3e3038: 2101 mov r1, #1 | |
2239 3e303a: 4081 lsl r1, r0 | |
2240 3e303c: 8810 ldrh r0, [r2, #0] | |
2241 3e303e: 4388 bic r0, r1 | |
2242 3e3040: 8010 strh r0, [r2, #0] | |
2243 3e3042: 4770 bx lr | |
2244 | |
2245 $AI_ConfigBitAsOutput: | |
2246 3e3044: 4a38 ldr r2, =0xfffe4804 ; via 0x3e3128 | |
2247 3e3046: 2101 mov r1, #1 | |
2248 3e3048: 4081 lsl r1, r0 | |
2249 3e304a: 8810 ldrh r0, [r2, #0] | |
2250 3e304c: 4388 bic r0, r1 | |
2251 3e304e: 8010 strh r0, [r2, #0] | |
2252 3e3050: 4770 bx lr | |
2253 | |
2254 $AI_ConfigBitAsInput: | |
2255 3e3052: 4a35 ldr r2, =0xfffe4804 ; via 0x3e3128 | |
2256 3e3054: 2101 mov r1, #1 | |
2257 3e3056: 4081 lsl r1, r0 | |
2258 3e3058: 8810 ldrh r0, [r2, #0] | |
2259 3e305a: 4301 orr r1, r0 | |
2260 3e305c: 8011 strh r1, [r2, #0] | |
2261 3e305e: 4770 bx lr | |
2262 | |
2263 $AI_ReadBit: | |
2264 3e3060: 4932 ldr r1, =0xfffe4800 ; via 0x3e312c | |
2265 3e3062: 8809 ldrh r1, [r1, #0] | |
2266 3e3064: 4101 asr r1, r0 | |
2267 3e3066: 07c8 lsl r0, r1, #31 | |
2268 3e3068: 0fc0 lsr r0, r0, #31 | |
2269 3e306a: 0600 lsl r0, r0, #24 | |
2270 3e306c: 0e00 lsr r0, r0, #24 | |
2271 3e306e: 4770 bx lr | |
2272 | |
2273 $AI_Power: | |
2274 3e3070: b500 push {lr} | |
2275 3e3072: 2800 cmp r0, #0 | |
2276 3e3074: d101 bne 0x3e307a | |
2277 3e3076: f766 fbff bl 0x349878 ; $ABB_Power_Off | |
2278 3e307a: bd00 pop {pc} | |
2279 | |
2280 $AI_ResetIoConfig: | |
2281 3e307c: 492a ldr r1, =0xfffe4804 ; via 0x3e3128 | |
2282 3e307e: 482c ldr r0, =0xffff ; via 0x3e3130 | |
2283 3e3080: 8008 strh r0, [r1, #0] | |
2284 3e3082: 4827 ldr r0, =0xfffef00a ; via 0x3e3120 | |
2285 3e3084: 2100 mov r1, #0 | |
2286 3e3086: 8001 strh r1, [r0, #0] | |
2287 3e3088: 4770 bx lr | |
2288 | |
2289 $AI_ClockEnable: | |
2290 3e308a: 492a ldr r1, =0xfffe4806 ; via 0x3e3134 | |
2291 3e308c: 2020 mov r0, #32 ; 0x20 | |
2292 3e308e: 880a ldrh r2, [r1, #0] | |
2293 3e3090: 4310 orr r0, r2 | |
2294 3e3092: 8008 strh r0, [r1, #0] | |
2295 3e3094: 4770 bx lr | |
2296 | |
2297 $AI_InitIOConfig: | |
2298 3e3096: b500 push {lr} | |
2299 3e3098: f7ec fe54 bl 0x3cfd44 | |
2300 3e309c: 2000 mov r0, #0 | |
2301 3e309e: 4926 ldr r1, =0x1773f8a ; via 0x3e3138 | |
2302 3e30a0: 7008 strb r0, [r1, #0] | |
2303 3e30a2: 4926 ldr r1, =0x17750fd ; via 0x3e313c | |
2304 3e30a4: 7008 strb r0, [r1, #0] | |
2305 3e30a6: 4926 ldr r1, =0x17750ff ; via 0x3e3140 | |
2306 3e30a8: 2201 mov r2, #1 | |
2307 3e30aa: 700a strb r2, [r1, #0] | |
2308 3e30ac: 4925 ldr r1, =0x17750fe ; via 0x3e3144 | |
2309 3e30ae: 7008 strb r0, [r1, #0] | |
2310 3e30b0: 4825 ldr r0, =0x17750fc ; via 0x3e3148 | |
2311 3e30b2: 21ff mov r1, #255 ; 0xff | |
2312 3e30b4: 7001 strb r1, [r0, #0] | |
2313 3e30b6: bd00 pop {pc} | |
2314 | |
2315 $AI_SelectIOForIT: | |
2316 3e30b8: 0109 lsl r1, r1, #4 | |
2317 3e30ba: 1840 add r0, r0, r1 | |
2318 3e30bc: 0040 lsl r0, r0, #1 | |
2319 3e30be: 3001 add r0, #1 | |
2320 3e30c0: 4922 ldr r1, =0xfffe4814 ; via 0x3e314c | |
2321 3e30c2: 8008 strh r0, [r1, #0] | |
2322 3e30c4: 4770 bx lr | |
2323 | |
2324 $AI_CheckITSource: | |
2325 3e30c6: 2100 mov r1, #0 | |
2326 3e30c8: 4a21 ldr r2, =0xfffe4816 ; via 0x3e3150 | |
2327 3e30ca: 8812 ldrh r2, [r2, #0] | |
2328 3e30cc: 4210 tst r0, r2 | |
2329 3e30ce: d000 beq 0x3e30d2 | |
2330 3e30d0: 2101 mov r1, #1 | |
2331 3e30d2: 1c08 add r0, r1, #0 | |
2332 3e30d4: 4770 bx lr | |
2333 | |
2334 $AI_UnmaskIT: | |
2335 3e30d6: 4a1f ldr r2, =0xfffe4818 ; via 0x3e3154 | |
2336 3e30d8: 8811 ldrh r1, [r2, #0] | |
2337 3e30da: 4381 bic r1, r0 | |
2338 3e30dc: 8011 strh r1, [r2, #0] | |
2339 3e30de: 4770 bx lr | |
2340 | |
2341 $AI_MaskIT: | |
2342 3e30e0: 4a1c ldr r2, =0xfffe4818 ; via 0x3e3154 | |
2343 3e30e2: 8811 ldrh r1, [r2, #0] | |
2344 3e30e4: 4301 orr r1, r0 | |
2345 3e30e6: 8011 strh r1, [r2, #0] | |
2346 3e30e8: 4770 bx lr | |
2347 | |
2348 3e30ea: 2130 mov r1, #48 ; 0x30 | |
2349 3e30ec: 7001 strb r1, [r0, #0] | |
2350 3e30ee: 3001 add r0, #1 | |
2351 3e30f0: 2231 mov r2, #49 ; 0x31 | |
2352 3e30f2: 7002 strb r2, [r0, #0] | |
2353 3e30f4: 3001 add r0, #1 | |
2354 3e30f6: 222e mov r2, #46 ; 0x2e | |
2355 3e30f8: 7002 strb r2, [r0, #0] | |
2356 3e30fa: 3001 add r0, #1 | |
2357 3e30fc: 7001 strb r1, [r0, #0] | |
2358 3e30fe: 3001 add r0, #1 | |
2359 3e3100: 7001 strb r1, [r0, #0] | |
2360 3e3102: 3001 add r0, #1 | |
2361 3e3104: 2100 mov r1, #0 | |
2362 3e3106: 7001 strb r1, [r0, #0] | |
2363 3e3108: 4770 bx lr | |
2364 | |
2365 3e310a: b500 push {lr} | |
2366 3e310c: 2801 cmp r0, #1 | |
2367 3e310e: d103 bne 0x3e3118 | |
2368 3e3110: 2001 mov r0, #1 | |
2369 3e3112: f7ff ff90 bl 0x3e3036 ; $AI_ResetBit | |
2370 3e3116: bd00 pop {pc} | |
2371 3e3118: 2001 mov r0, #1 | |
2372 3e311a: f7ff ff85 bl 0x3e3028 ; $AI_SetBit | |
2373 3e311e: bd00 pop {pc} | |
1828 | 2374 |
1829 _f_checksum: | 2375 _f_checksum: |
1830 3e6990: e1a0c000 mov r12, r0 | 2376 3e6990: e1a0c000 mov r12, r0 |
1831 3e6994: e3a00000 mov r0, #0 | 2377 3e6994: e3a00000 mov r0, #0 |
1832 3e6998: e3510000 cmp r1, #0 | 2378 3e6998: e3510000 cmp r1, #0 |
2333 0x1774e38: SPI_GBL_INFO_PTR | 2879 0x1774e38: SPI_GBL_INFO_PTR |
2334 0x1774e3c: spi_error_ft | 2880 0x1774e3c: spi_error_ft |
2335 | 2881 |
2336 0x1774e70: pwr_env_ctrl_blk | 2882 0x1774e70: pwr_env_ctrl_blk |
2337 0x1774e74: pwr_error_ft | 2883 0x1774e74: pwr_error_ft |
2884 | |
2885 0x1775041: byte var set to 0 in spi_abb_read_int_reg_callback() | |
2886 in ADC end processing |