diff options
author | Damien Zammit <damien@zamaudio.com> | 2015-09-17 23:14:43 +1000 |
---|---|---|
committer | Damien Zammit <damien@zamaudio.com> | 2015-09-17 23:14:43 +1000 |
commit | 95dff6517289be00ea0de72ac0c8e5c0c302d78d (patch) | |
tree | a64f6a0b6b6dc69cfc772ff65efe65116cf6bf2b | |
parent | 8325e4acf5ff64b1a1a66d9f5031b3aaa4e1e9d6 (diff) |
No interrupts
Signed-off-by: Damien Zammit <damien@zamaudio.com>
-rw-r--r-- | firmware/servicereq.c | 27 | ||||
-rw-r--r-- | firmware/servicereq.h | 2 | ||||
-rw-r--r-- | firmware/smu.c | 18 |
3 files changed, 25 insertions, 22 deletions
diff --git a/firmware/servicereq.c b/firmware/servicereq.c index 37f1585..b697b85 100644 --- a/firmware/servicereq.c +++ b/firmware/servicereq.c @@ -1371,6 +1371,21 @@ x180ac: return; } +static void x18d04(void) +{ + +} + +static void x18490(void) +{ + +} + +static void x180f0(void) +{ + +} + static void set_phyln(int onoff) { u32 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16; @@ -1866,7 +1881,7 @@ static void set_bapm(int onoff) { } -void smu_service_request(unsigned int level, void* empty) +void smu_service_request(void) { int requestid; write32(0xe0003004, 1); @@ -1968,20 +1983,12 @@ void smu_service_request(unsigned int level, void* empty) void MicoISRHandler(void) { - /* - * If an interrupt-handler exists for the relevant interrupt (as detected - * from ip and im cpu registers), then invoke the handler else disable the - * interrupt in the im. - */ unsigned int ip, im, Mask, IntLevel; asm volatile ("rcsr %0,im":"=r"(im)); - /* Inform that we've entered main ISR */ //OSIntEnter(); - /* Service all interrupts */ do { - /* read ip and calculate effective ip */ asm volatile ("rcsr %0,ip":"=r"(ip)); ip &= im; Mask = 0x1; @@ -2012,9 +2019,7 @@ void MicoISRHandler(void) } while(1); - /* Inform that we're done with servicing interrupts */ //OSIntExit(); return; } - diff --git a/firmware/servicereq.h b/firmware/servicereq.h index c67233b..60a969c 100644 --- a/firmware/servicereq.h +++ b/firmware/servicereq.h @@ -23,4 +23,4 @@ typedef struct ISREntry{ static ISREntry_t ISREntryTable[32]; void MicoISRHandler(void); -void smu_service_request(unsigned int, void*); +void smu_service_request(void); diff --git a/firmware/smu.c b/firmware/smu.c index 6973745..595fcc0 100644 --- a/firmware/smu.c +++ b/firmware/smu.c @@ -19,32 +19,30 @@ void main(void) { - int ie, mask, im; + int ie; +// int mask, im; +// int irq = 1; +// mask = 0x1 << irq; // << irq - int irq = 1; - - mask = 0x1 << irq; // << irq - - /* disable peripheral interrupts */ + /* disable interrupts */ asm volatile ("rcsr %0,ie":"=r"(ie)); ie &= (~0x1); asm volatile ("wcsr ie, %0"::"r"(ie)); +/**** Enable interrupts and handler ISREntryTable[irq].Callback = &smu_service_request; ISREntryTable[irq].Context = 0; //? - /* enable mask in the im */ asm volatile ("rcsr %0, im":"=r"(im)); im |= mask; asm volatile ("wcsr im, %0"::"r"(im)); - /* enable interrupts */ ie |= 0x1; asm volatile ("wcsr ie, %0"::"r"(ie)); - +*/ while (1) { mdelay(10); - MicoISRHandler(); + smu_service_request(); } } |