diff options
Diffstat (limited to 'board/xilinx/ml401/ml401.c')
| -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 b48103fdc..955936d90 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 |