# HG changeset patch # User Mychaela Falconia # Date 1514017646 0 # Node ID 83715e0c65de1fd67b0a38d89dcb27a8aa201c01 # Parent 5eca9fccd70620779f1805fdf11820452f8622f1 pirelli/fw-disasm: first round of ABB functions diff -r 5eca9fccd706 -r 83715e0c65de pirelli/fw-disasm --- a/pirelli/fw-disasm Sat Dec 23 03:56:02 2017 +0000 +++ b/pirelli/fw-disasm Sat Dec 23 08:27:26 2017 +0000 @@ -481,6 +481,294 @@ 406d0: 1afffffb bne 0x406c4 406d4: e8bd8001 ldmia sp!, {r0, pc} +$ABB_Sem_Create: + 3491ee: b500 push {lr} + 3491f0: 48f2 ldr r0, =0x17741e0 ; via 0x3495bc + 3491f2: a1f0 add r1, pc, #960 ; 0x3c0 + 3491f4: 2201 mov r2, #1 + 3491f6: 2306 mov r3, #6 + 3491f8: f0b0 fb88 bl 0x3f990c ; $SMCE_Create_Semaphore + 3491fc: bd00 pop {pc} + +$ABB_Wait_IBIC_Access: + 3491fe: b500 push {lr} + 349200: 48ef ldr r0, =0x33450 ; via 0x3495c0 + 349202: f099 fe6c bl 0x3e2ede ; $convert_nanosec_to_cycles + 349206: f099 fee4 bl 0x3e2fd2 ; $wait_ARM_cycles + 34920a: bd00 pop {pc} + +$ABB_Write_Register_on_page: + 34920c: b500 push {lr} + 34920e: b082 sub sp, #8 + 349210: 466b mov r3, sp + 349212: 809a strh r2, [r3, #4] + 349214: 466a mov r2, sp + 349216: 8051 strh r1, [r2, #2] + 349218: 4669 mov r1, sp + 34921a: 8008 strh r0, [r1, #0] + 34921c: 48e7 ldr r0, =0x17741e0 ; via 0x3495bc + 34921e: 2100 mov r1, #0 + 349220: 43c9 mvn r1, r1 + 349222: f0b0 fb63 bl 0x3f98ec ; $SMCE_Obtain_Semaphore + 349226: 49f9 ldr r1, =0xfffe3000 ; via 0x34960c + 349228: 2011 mov r0, #17 ; 0x11 + 34922a: 880a ldrh r2, [r1, #0] + 34922c: 4310 orr r0, r2 + 34922e: 8008 strh r0, [r1, #0] + 349230: 4668 mov r0, sp + 349232: 4995 ldr r1, =0xfffe3006 ; via 0x349488 + 349234: 8809 ldrh r1, [r1, #0] + 349236: 80c1 strh r1, [r0, #6] + 349238: 8800 ldrh r0, [r0, #0] + 34923a: f7ff ff4c bl 0x3490d6 + 34923e: 4668 mov r0, sp + 349240: 8840 ldrh r0, [r0, #2] + 349242: 4669 mov r1, sp + 349244: 8889 ldrh r1, [r1, #4] + 349246: f7ff ff6a bl 0x34911e + 34924a: 2001 mov r0, #1 + 34924c: f7ff ff43 bl 0x3490d6 + 349250: 48da ldr r0, =0x17741e0 ; via 0x3495bc + 349252: f0b0 fb43 bl 0x3f98dc ; $SMCE_Release_Semaphore + 349256: b002 add sp, #8 + 349258: bd00 pop {pc} + +$ABB_Read_Register_on_page: + 34925a: b500 push {lr} + 34925c: b082 sub sp, #8 + 34925e: 466a mov r2, sp + 349260: 8051 strh r1, [r2, #2] + 349262: 4669 mov r1, sp + 349264: 8008 strh r0, [r1, #0] + 349266: 48d5 ldr r0, =0x17741e0 ; via 0x3495bc + 349268: 2100 mov r1, #0 + 34926a: 43c9 mvn r1, r1 + 34926c: f0b0 fb3e bl 0x3f98ec + 349270: 49e6 ldr r1, =0xfffe3000 ; via 0x34960c + 349272: 2031 mov r0, #49 ; 0x31 + 349274: 880a ldrh r2, [r1, #0] + 349276: 4310 orr r0, r2 + 349278: 8008 strh r0, [r1, #0] + 34927a: 4668 mov r0, sp + 34927c: 4982 ldr r1, =0xfffe3006 ; via 0x349488 + 34927e: 8809 ldrh r1, [r1, #0] + 349280: 8081 strh r1, [r0, #4] + 349282: 8800 ldrh r0, [r0, #0] + 349284: f7ff ff27 bl 0x3490d6 + 349288: 4668 mov r0, sp + 34928a: 8840 ldrh r0, [r0, #2] + 34928c: f7ff ff6d bl 0x34916a + 349290: 4669 mov r1, sp + 349292: 80c8 strh r0, [r1, #6] + 349294: 2001 mov r0, #1 + 349296: f7ff ff1e bl 0x3490d6 + 34929a: 48c8 ldr r0, =0x17741e0 ; via 0x3495bc + 34929c: f0b0 fb1e bl 0x3f98dc + 3492a0: 4668 mov r0, sp + 3492a2: 88c0 ldrh r0, [r0, #6] + 3492a4: b002 add sp, #8 + 3492a6: bd00 pop {pc} + +$ABB_free_13M: + 3492a8: b500 push {lr} + 3492aa: b081 sub sp, #4 + 3492ac: 49d7 ldr r1, =0xfffe3000 ; via 0x34960c + 3492ae: 2011 mov r0, #17 ; 0x11 + 3492b0: 880a ldrh r2, [r1, #0] + 3492b2: 4310 orr r0, r2 + 3492b4: 8008 strh r0, [r1, #0] + 3492b6: 4669 mov r1, sp + 3492b8: 4873 ldr r0, =0xfffe3006 ; via 0x349488 + 3492ba: 8800 ldrh r0, [r0, #0] + 3492bc: 8008 strh r0, [r1, #0] + 3492be: 2001 mov r0, #1 + 3492c0: f7ff ff09 bl 0x3490d6 + 3492c4: 200a mov r0, #10 ; 0xa + 3492c6: 2108 mov r1, #8 + 3492c8: f7ff ff29 bl 0x34911e + 3492cc: f7ff ff97 bl 0x3491fe + 3492d0: 200a mov r0, #10 ; 0xa + 3492d2: 2108 mov r1, #8 + 3492d4: f7ff ff23 bl 0x34911e + 3492d8: f7ff ff91 bl 0x3491fe + 3492dc: b001 add sp, #4 + 3492de: bd00 pop {pc} + +$ABB_stop_13M: + 3492e0: b500 push {lr} + 3492e2: b081 sub sp, #4 + 3492e4: 49c9 ldr r1, =0xfffe3000 ; via 0x34960c + 3492e6: 2011 mov r0, #17 ; 0x11 + 3492e8: 880a ldrh r2, [r1, #0] + 3492ea: 4310 orr r0, r2 + 3492ec: 8008 strh r0, [r1, #0] + 3492ee: 4669 mov r1, sp + 3492f0: 4865 ldr r0, =0xfffe3006 ; via 0x349488 + 3492f2: 8800 ldrh r0, [r0, #0] + 3492f4: 8008 strh r0, [r1, #0] + 3492f6: 2001 mov r0, #1 + 3492f8: f7ff feed bl 0x3490d6 + 3492fc: 200a mov r0, #10 ; 0xa + 3492fe: 2104 mov r1, #4 + 349300: f7ff ff0d bl 0x34911e + 349304: f7ff ff7b bl 0x3491fe + 349308: b001 add sp, #4 + 34930a: bd00 pop {pc} + +$ABB_Read_Status: + 34930c: b500 push {lr} + 34930e: b081 sub sp, #4 + 349310: 48aa ldr r0, =0x17741e0 ; via 0x3495bc + 349312: 2100 mov r1, #0 + 349314: 43c9 mvn r1, r1 + 349316: f0b0 fae9 bl 0x3f98ec ; $SMCE_Obtain_Semaphore + 34931a: 49bc ldr r1, =0xfffe3000 ; via 0x34960c + 34931c: 2011 mov r0, #17 ; 0x11 + 34931e: 880a ldrh r2, [r1, #0] + 349320: 4310 orr r0, r2 + 349322: 8008 strh r0, [r1, #0] + 349324: 4669 mov r1, sp + 349326: 4858 ldr r0, =0xfffe3006 ; via 0x349488 + 349328: 8800 ldrh r0, [r0, #0] + 34932a: 8008 strh r0, [r1, #0] + 34932c: 2001 mov r0, #1 + 34932e: f7ff fed2 bl 0x3490d6 + 349332: 2001 mov r0, #1 + 349334: f7ff fecf bl 0x3490d6 + 349338: 203e mov r0, #62 ; 0x3e + 34933a: f7ff ff16 bl 0x34916a + 34933e: 4669 mov r1, sp + 349340: 8048 strh r0, [r1, #2] + 349342: 489e ldr r0, =0x17741e0 ; via 0x3495bc + 349344: f0b0 faca bl 0x3f98dc ; $SMCE_Release_Semaphore + 349348: 4668 mov r0, sp + 34934a: 8840 ldrh r0, [r0, #2] + 34934c: b001 add sp, #4 + 34934e: bd00 pop {pc} + +$ABB_on: + 349350: b500 push {lr} + 349352: b083 sub sp, #12 ; 0xc + 349354: 466a mov r2, sp + 349356: 7091 strb r1, [r2, #2] + 349358: 4669 mov r1, sp + 34935a: 8008 strh r0, [r1, #0] + 34935c: 4897 ldr r0, =0x17741e0 ; via 0x3495bc + 34935e: 2100 mov r1, #0 + 349360: 43c9 mvn r1, r1 + 349362: f0b0 fac3 bl 0x3f98ec + 349366: 4668 mov r0, sp + 349368: 7880 ldrb r0, [r0, #2] + 34936a: 2800 cmp r0, #0 + 34936c: d003 beq 0x349376 + 34936e: f7ff ff9b bl 0x3492a8 + 349372: f7ff ff99 bl 0x3492a8 + 349376: 49a5 ldr r1, =0xfffe3000 ; via 0x34960c + 349378: 2031 mov r0, #49 ; 0x31 + 34937a: 880a ldrh r2, [r1, #0] + 34937c: 4310 orr r0, r2 + 34937e: 8008 strh r0, [r1, #0] + 349380: 4669 mov r1, sp + 349382: 4841 ldr r0, =0xfffe3006 ; via 0x349488 + 349384: 8800 ldrh r0, [r0, #0] + 349386: 8088 strh r0, [r1, #4] + 349388: 2001 mov r0, #1 + 34938a: f7ff fea4 bl 0x3490d6 + 34938e: 2008 mov r0, #8 + 349390: 21ff mov r1, #255 ; 0xff + 349392: 3156 add r1, #86 ; 0x56 + 349394: f7ff fec3 bl 0x34911e + 349398: 2002 mov r0, #2 + 34939a: f7ff fe9c bl 0x3490d6 + 34939e: 202a mov r0, #42 ; 0x2a + 3493a0: 2101 mov r1, #1 + 3493a2: f7ff febc bl 0x34911e + 3493a6: 2026 mov r0, #38 ; 0x26 + 3493a8: 2101 mov r1, #1 + 3493aa: f7ff feb8 bl 0x34911e + 3493ae: 2028 mov r0, #40 ; 0x28 + 3493b0: 211b mov r1, #27 ; 0x1b + 3493b2: f7ff feb4 bl 0x34911e + 3493b6: 2010 mov r0, #16 ; 0x10 + 3493b8: f7ff fe8d bl 0x3490d6 + 3493bc: 203c mov r0, #60 ; 0x3c + 3493be: 2107 mov r1, #7 + 3493c0: f7ff fead bl 0x34911e + 3493c4: 2002 mov r0, #2 + 3493c6: f7ff fe86 bl 0x3490d6 + 3493ca: 2028 mov r0, #40 ; 0x28 + 3493cc: 2101 mov r1, #1 + 3493ce: f7ff fea6 bl 0x34911e + 3493d2: 2026 mov r0, #38 ; 0x26 + 3493d4: 2100 mov r1, #0 + 3493d6: f7ff fea2 bl 0x34911e + 3493da: 201a mov r0, #26 ; 0x1a + 3493dc: 2160 mov r1, #96 ; 0x60 + 3493de: f7ff fe9e bl 0x34911e + 3493e2: 2026 mov r0, #38 ; 0x26 + 3493e4: 2101 mov r1, #1 + 3493e6: f7ff fe9a bl 0x34911e + 3493ea: 2028 mov r0, #40 ; 0x28 + 3493ec: 211a mov r1, #26 ; 0x1a + 3493ee: f7ff fe96 bl 0x34911e + 3493f2: 2001 mov r0, #1 + 3493f4: f7ff fe6f bl 0x3490d6 + 3493f8: 4668 mov r0, sp + 3493fa: 8800 ldrh r0, [r0, #0] + 3493fc: 0980 lsr r0, r0, #6 + 3493fe: 0400 lsl r0, r0, #16 + 349400: 0c01 lsr r1, r0, #16 + 349402: 2008 mov r0, #8 + 349404: f7ff fe8b bl 0x34911e + 349408: 4668 mov r0, sp + 34940a: 8800 ldrh r0, [r0, #0] + 34940c: 0c00 lsr r0, r0, #16 + 34940e: d303 bcc 0x349418 + 349410: 2038 mov r0, #56 ; 0x38 + 349412: 2101 mov r1, #1 + 349414: f7ff fe83 bl 0x34911e + 349418: 2002 mov r0, #2 + 34941a: f7ff fe5c bl 0x3490d6 + 34941e: 203c mov r0, #60 ; 0x3c + 349420: f7ff fea3 bl 0x34916a + 349424: 05c0 lsl r0, r0, #23 + 349426: 0f00 lsr r0, r0, #28 + 349428: 0140 lsl r0, r0, #5 + 34942a: 9002 str r0, [sp, #8] + 34942c: 201f mov r0, #31 ; 0x1f + 34942e: 9902 ldr r1, [sp, #8] + 349430: 4308 orr r0, r1 + 349432: 0400 lsl r0, r0, #16 + 349434: 0c01 lsr r1, r0, #16 + 349436: 203c mov r0, #60 ; 0x3c + 349438: f7ff fe71 bl 0x34911e + 34943c: 203e mov r0, #62 ; 0x3e + 34943e: f7ff fe94 bl 0x34916a + 349442: 05c0 lsl r0, r0, #23 + 349444: 0f00 lsr r0, r0, #28 + 349446: 0140 lsl r0, r0, #5 + 349448: 9002 str r0, [sp, #8] + 34944a: 4668 mov r0, sp + 34944c: 8901 ldrh r1, [r0, #8] + 34944e: 203e mov r0, #62 ; 0x3e + 349450: f7ff fe65 bl 0x34911e + 349454: 2001 mov r0, #1 + 349456: f7ff fe3e bl 0x3490d6 + 34945a: 2008 mov r0, #8 + 34945c: 210a mov r1, #10 ; 0xa + 34945e: f7ff fe5e bl 0x34911e + 349462: 48e5 ldr r0, =0xf4240 ; via 0x3497f8 + 349464: f099 fd3b bl 0x3e2ede + 349468: f099 fdb3 bl 0x3e2fd2 + 34946c: 2008 mov r0, #8 + 34946e: 2105 mov r1, #5 + 349470: f7ff fe55 bl 0x34911e + 349474: 4851 ldr r0, =0x17741e0 ; via 0x3495bc + 349476: f0b0 fa31 bl 0x3f98dc + 34947a: b003 add sp, #12 ; 0xc + 34947c: bd00 pop {pc} + 34947e: 46c0 nop (mov r8, r8) + $Init_Target: 3bb7d4: b570 push {r4, r5, r6, lr} 3bb7d6: b081 sub sp, #4 @@ -724,7 +1012,7 @@ $Init_Drivers: 3bb9ca: b500 push {lr} - 3bb9cc: f78d fc0f bl 0x3491ee + 3bb9cc: f78d fc0f bl 0x3491ee ; $ABB_Sem_Create 3bb9d0: f5a6 fa25 bl 0x161e1e 3bb9d4: f7ad fda3 bl 0x36951e 3bb9d8: f039 fb95 bl 0x3f5106 @@ -1641,6 +1929,8 @@ XRAM data: +0x17741e0: abb_sem + 0x1774e38: SPI_GBL_INFO_PTR 0x1774e3c: spi_error_ft