summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2015-09-17 22:56:21 +1000
committerDamien Zammit <damien@zamaudio.com>2015-09-17 22:56:21 +1000
commit8325e4acf5ff64b1a1a66d9f5031b3aaa4e1e9d6 (patch)
tree5dffad89bec4b831d5f2f7fbe78ac466d125c1ca
parentfae1841be5d0be78586e8e8666ea79f21dbf52d8 (diff)
Added another function
Signed-off-by: Damien Zammit <damien@zamaudio.com>
-rw-r--r--firmware/servicereq.c210
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;