X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=irq.c;h=4f15bb8b9f4e63e5f8114954125f3f043bf1c5f7;hb=05b758504d4d87cdba9d14c52c06b3be6347bf4d;hp=da2456b7084e9e6361fbf47a7ab9113e5252bc11;hpb=3a17a5742283d2510b6bdcf42dcb76cdb66d3770;p=ppcskel.git diff --git a/irq.c b/irq.c index da2456b..4f15bb8 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 "usb/host/host.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_PPCIRQMASK+0x04, 0); - 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,14 +111,12 @@ void irq_handler(void) //sdhc_irq(); } if (hw_flags & IRQF_OHCI0) { - printf("IRQ: OHCI0\n"); + hcdi_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(); + write32(HW_PPCIRQFLAG, IRQF_OHCI1); } hw_flags &= ~IRQF_ALL; @@ -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<