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 |
