diff options
author | Damien Zammit <damien@zamaudio.com> | 2015-09-17 22:56:21 +1000 |
---|---|---|
committer | Damien Zammit <damien@zamaudio.com> | 2015-09-17 22:56:21 +1000 |
commit | 8325e4acf5ff64b1a1a66d9f5031b3aaa4e1e9d6 (patch) | |
tree | 5dffad89bec4b831d5f2f7fbe78ac466d125c1ca | |
parent | fae1841be5d0be78586e8e8666ea79f21dbf52d8 (diff) |
Added another function
Signed-off-by: Damien Zammit <damien@zamaudio.com>
-rw-r--r-- | firmware/servicereq.c | 210 |
1 files changed, 206 insertions, 4 deletions
diff --git a/firmware/servicereq.c b/firmware/servicereq.c index a8d5bf8..37f1585 100644 --- a/firmware/servicereq.c +++ b/firmware/servicereq.c @@ -748,9 +748,9 @@ end: return; } -static void x17bdc(u32 r2) +static void x17bdc(u32 r1, u32 r2) { - u32 r1, r3, r4, r5, r6, r7, r8, r9, r10; + u32 r3, r4, r5, r6, r7, r8, r9, r10; u32 r11, r12, r13; r5 = r2 >> 16; @@ -1169,6 +1169,208 @@ x19678: return; } +static void x17e94(u32 r1) +{ + u32 r2, r3; + u32 r11, r12, r13, r14, r15, r16, r17, r18, r19, r20; + r19 = 0; + r20 = r1; + r17 = r19; +x17ed0: + r1 = r20 + r19; + r1 = read8(r1); + if (r1 == 0) + goto x180ac; + r18 = 0x00010000; + r1 = 0xe0001000; + r2 = r18; + r2 = r2 | 0xdfd8; + r12 = read32(r2); + r1 = read32(r1); + r2 = 0x00010000; + r12 |= 9; + r1 &= 0x4000; + if (r1 == 0) + goto x17f3c; + r2 |= 0xd844; + r1 = r17 + r2; + r11 = read32(r1); + r12 |= 0x10; + r2 = r12; + r1 = r11 + 0x11; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r1 = r11 + 1; + r2 = 0x200; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r1 = r11 + 2; + r2 = 0x200; + goto x17f50; + +x17f3c: + r2 |= 0xd844; + r1 = r17 + r2; + r1 = read32(r1); + r2 = r12; + r1 = r1 + 0x11; +x17f50: + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r16 = 0x00010000; + r1 = r16; + r1 |= 0xd844; + r1 = r17 + r1; + r11 = read32(r1); + r2 = r12 | 0x20; + r15 = 0; + r1 = r11 + 0x11; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r1 = r11 + 1; + r2 = 0x621f; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r1 = r11 + 2; + r2 = 0x621f; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + +x17f90: + r1 = r15 << 2; + r2 = r16; + r2 |= 0xd844; + r1 = r1 + r2; + r1 = read32(r1); + r2 = 0; + r15++; + r1 = r1 + 13; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r1 = (r15 > 4); + if (r1 == 0) + goto x17f90; + r15 = 0; +x17fc0: + r1 = r15 << 2; + r11 = r16; + r11 |= 0xd844; + r1 += r11; + r1 = read32(r1); + r12 = 0x8000; + r2 = 0; + r1 += r12; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r15++; + r1 = (r15 > 4); + if (r1 == 0) + goto x17fc0; + r1 = r17 + r11; + r11 = read32(r1); + r2 = 8; + r18 |= 0xdfd8; + r12 = r11 + r12; + r1 = r12; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r1 = 3000; + x1c300(r1); + + r1 = r12; + r2 = 0; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r14 = r11 + 1; + r1 = r14; + r2 = 0x200; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r13 = r11 + 2; + r1 = r13; + r2 = 0x200; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r1 = r12; + r2 = 8; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r2 = read32(r18); + r1 = r11 + 0x11; + r15 = 0; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r1 = r14; + r2 = r15; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r1 = r13; + r2 = r15; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r1 = r12; + r2 = r15; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + +x18080: + r1 = r15 << 2; + r2 = r16; + r2 |= 0xd844; + r1 += r2; + r2 = 1; + r15 += r2; + r1 += 13; + r3 = 0x80080000; + write32(r3+160, r1); + write32(r3+164, r2); + + r1 = (r15 > 4); + if (r1 == 0) + goto x18080; + +x180ac: + r19++; + r1 = (r19 > 4); + r17 += 4; + if (r1 == 0) + goto x17ed0; + + return; +} + static void set_phyln(int onoff) { u32 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16; @@ -1186,7 +1388,7 @@ static void set_phyln(int onoff) goto x1a9a0; r11 = 0; r1 = r11; - x17bdc(r2); + x17bdc(r1, r2); r2 = read32(0x1f39c); r1 = r11; @@ -1388,7 +1590,7 @@ x17e74: x18490(); r1 = r12; - x17e94(); + x17e94(r1); r1 = 0x01318014; r2 = r11; |