new: fsl interrupt support
authorMichal Simek <monstr@monstr.eu>
Mon, 7 May 2007 17:33:51 +0000 (19:33 +0200)
committerMichal Simek <monstr@monstr.eu>
Mon, 7 May 2007 17:33:51 +0000 (19:33 +0200)
FSL_Has_data is connected to INTC.

board/xilinx/ml401/ml401.c
include/configs/ml401.h

index b48103fdc028e522eba9f742b3026da2398e0e40..955936d907e507a900c14277d7a88f3199f0d705 100644 (file)
@@ -27,6 +27,8 @@
 
 #include <common.h>
 #include <config.h>
+#include <asm/microblaze_intc.h>
+#include <asm/asm.h>
 
 void do_reset (void)
 {
@@ -43,7 +45,25 @@ void do_reset (void)
 int gpio_init (void)
 {
 #ifdef CFG_GPIO_0
-       *((unsigned long *)(CFG_GPIO_0_ADDR)) = 0x0;
+       *((unsigned long *)(CFG_GPIO_0_ADDR)) = 0xFFFFFFFF;
 #endif
        return 0;
 }
+
+#ifdef CFG_FSL_2
+void fsl_isr2 (void *arg) {
+       volatile int num;
+       *((unsigned int *)(CFG_GPIO_0_ADDR + 0x4)) =
+           ++(*((unsigned int *)(CFG_GPIO_0_ADDR + 0x4)));
+       GET (num, 2);
+       NGET (num, 2);
+       puts("*");
+}
+
+void fsl_init2 (void) {
+       puts("fsl_init2\n");
+       install_interrupt_handler (FSL_INTR_2,\
+ fsl_isr2,\
+ NULL);
+}
+#endif
index f3ef962a78571124caa2b5e931158ee998d1a684..327d31c103a99358e90410792bfb08c3dc5ed404 100644 (file)
 #define        FREQUENCE               XILINX_CLOCK_FREQ
 #define        CFG_TIMER_0_PRELOAD     ( FREQUENCE/1000 )
 
+/* FSL */
+#define        CFG_FSL_2
+#define        FSL_INTR_2      1
+
 /*
  * memory layout - Example
  * TEXT_BASE = 0x1200_0000;