killed the ohci_init FM_INTERVAL fail
[ppcskel.git] / main.c
diff --git a/main.c b/main.c
index 4303241a7430baad434e3d21f297ed5b464043ab..c8193f4b874b9e33252975a505b19357808f848d 100644 (file)
--- a/main.c
+++ b/main.c
@@ -24,6 +24,8 @@ Copyright (C) 2009              John Kelley <wiidev@kelley.ca>
 #include "video_low.h"
 #include "input.h"
 #include "console.h"
+#include "ohci.h"
+#include "irq.h"
 
 #define MINIMUM_MINI_VERSION 0x00010001
 
@@ -82,8 +84,10 @@ int main(void)
        exception_init();
        dsp_reset();
 
-       // clear interrupt mask
-       write32(0x0c003004, 0);
+       irq_initialize();
+       irq_bw_enable(BW_PI_IRQ_RESET);
+       irq_bw_enable(BW_PI_IRQ_HW); //hollywood pic
+       irq_hw_enable(IRQ_OHCI0);
 
        ipc_initialize();
        ipc_slowping();
@@ -96,6 +100,8 @@ int main(void)
        VIDEO_SetFrameBuffer(get_xfb());
        VISetupEncoder();
 
+       ohci_init();
+
        u32 version = ipc_getvers();
        u16 mini_version_major = version >> 16 & 0xFFFF;
        u16 mini_version_minor = version & 0xFFFF;
@@ -109,26 +115,18 @@ int main(void)
                        ; // better ideas welcome!
        }
 
+       /*
     print_str_noscroll(112, 112, "ohai, world!\n");
-
        testOTP();
-
        printf("bye, world!\n");
+       */
 
-       // enable RESET interrupt 
-       write32(0x0c003004, 1<<1);
-#define _CPU_ISR_Enable() \
-       { register u32 _val = 0; \
-         __asm__ __volatile__ ( \
-               "mfmsr %0\n" \
-               "ori %0,%0,0x8000\n" \
-               "mtmsr %0" \
-               : "=&r" ((_val)) : "0" ((_val)) \
-         ); \
+       while(1) {
+               // just to get sure we are still in this loop
+               //_CPU_ISR_Enable() // don't know why this is needed...
+               //udelay(100000);
+               //printf("x");
        }
-       _CPU_ISR_Enable()
-
-       while(1) {}
 
        return 0;
 }