diff options
author | Michal Simek <monstr@monstr.eu> | 2007-05-07 19:33:51 +0200 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2007-05-07 19:33:51 +0200 |
commit | 19bf1fbad7f19d5a120be9b1daf136e052fcab39 (patch) | |
tree | ff51502fe07ca13cf8d245ed58706c8bbfa4e9b5 /board/xilinx | |
parent | 792032baa7d625e34c981ab6df521911bd8dc861 (diff) | |
download | u-boot-19bf1fbad7f19d5a120be9b1daf136e052fcab39.zip u-boot-19bf1fbad7f19d5a120be9b1daf136e052fcab39.tar.gz u-boot-19bf1fbad7f19d5a120be9b1daf136e052fcab39.tar.bz2 |
new: fsl interrupt support
FSL_Has_data is connected to INTC.
Diffstat (limited to 'board/xilinx')
-rw-r--r-- | board/xilinx/ml401/ml401.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/board/xilinx/ml401/ml401.c b/board/xilinx/ml401/ml401.c index b48103f..955936d 100644 --- a/board/xilinx/ml401/ml401.c +++ b/board/xilinx/ml401/ml401.c @@ -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 |