X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=irq.c;h=fad24848b1ca26813e7e4c933ddd02b73679e366;hb=ca06f937be380b944745e795ea57bbd3a5563f55;hp=7288be0224a890c9058ac3b70e8dc7ff2c7d9334;hpb=6c7f1b47248745511987036b3aa20b5055c39c22;p=ppcskel.git diff --git a/irq.c b/irq.c index 7288be0..fad2484 100644 --- a/irq.c +++ b/irq.c @@ -14,8 +14,7 @@ Copyright (C) 2009 Andre Heider "dhewg" #include "hollywood.h" #include "ipc.h" #include "bootmii_ppc.h" -//debug only -#include "printf.h" +#include "ohci.h" void irq_initialize(void) { @@ -27,12 +26,19 @@ void irq_initialize(void) write32(HW_PPCIRQMASK, 0); write32(HW_PPCIRQFLAG, 0xffffffff); - printf("PPCIRQMASK: 0x%08X\n", read32(HW_PPCIRQMASK)); - - - //??? -- needed?! - //write32(HW_ARMIRQFLAG, 0); // this does nothing? - write32(HW_PPCIRQMASK+0x20, 0); + /* ??? -- needed?! + * in mini they do + * + * write32(HW_ARMIRQMASK+0x04, 0); + * write32(HW_ARMIRQMASK+0x20, 0); + * + * + * may it's here following; on the other + * hand it's already done by mini... + * + * write32(HW_PPCIRQMASK+0x04+0x08, 0); + * write32(HW_PPCIRQMASK+0x20+0x08, 0); + */ _CPU_ISR_Enable() } @@ -48,7 +54,6 @@ void irq_handler(void) { u32 enabled = read32(BW_PI_IRQMASK); u32 flags = read32(BW_PI_IRQFLAG); - printf("flags1: 0x%08X\n", flags); flags = flags & enabled; @@ -60,7 +65,7 @@ void irq_handler(void) u32 hw_enabled = read32(HW_PPCIRQMASK); u32 hw_flags = read32(HW_PPCIRQFLAG); - printf("In IRQ handler: 0x%08x 0x%08x 0x%08x\n", hw_enabled, hw_flags, hw_flags & hw_enabled); + //printf("In IRQ handler: 0x%08x 0x%08x 0x%08x\n", hw_enabled, hw_flags, hw_flags & hw_enabled); hw_flags = hw_flags & hw_enabled; @@ -106,12 +111,10 @@ void irq_handler(void) //sdhc_irq(); } if (hw_flags & IRQF_OHCI0) { - printf("IRQ: OHCI0\n"); + ohci0_irq(); write32(HW_PPCIRQFLAG, IRQF_OHCI0); - //TODO: ohci0_irq(); } if (hw_flags & IRQF_OHCI1) { - printf("IRQ: OHCI1\n"); write32(HW_PPCIRQFLAG, IRQF_OHCI1); //TODO: ohci1_irq(); } @@ -122,15 +125,8 @@ void irq_handler(void) write32(HW_PPCIRQFLAG, hw_flags); } - printf("hw_flags1: 0x%08x\n", read32(HW_PPCIRQFLAG)); - - // quirk for flipper pic? TODO :/ - write32(HW_PPCIRQMASK, 0); - + // not necessary here, but "cleaner"? write32(BW_PI_IRQFLAG, 1<