IRQ request dm6467

Stankiewicz Bredkjaer stan.bred at yahoo.com
Mon Sep 1 04:00:11 CDT 2008


I could find out what the issue was, so no need for help anymore.
I had a bug in my ISR.

Stan.

--- On Mon, 9/1/08, Stankiewicz Bredkjaer <stan.bred at yahoo.com> wrote:
From: Stankiewicz Bredkjaer <stan.bred at yahoo.com>
Subject: IRQ request dm6467
To: davinci-linux-open-source at linux.davincidsp.com
Date: Monday, September 1, 2008, 5:52 PM

Hi all,

I have some issues with IRQs for the gpio 12 configured as input. The aforementioned gpio is used as an IRQ triggering source. Whenever i load my module everything goes well, but when i start triggering interrupts with a pulse generator, everything hang and  there is no possibility to do anything anymore. Since I'm using two console to see what is happening (by reading kernel messages) i could notice that the IRQ installation succeed but the ISR is never called. Besides that, there is no other kernel message, so that i could not find out what went wrong. I'm using the mvl 2.6.10 Kernel on the DM6467 evm.
As follows you can take a look to a code snippet and maybe help me with that.

 //gpio configuration
      gpio_input = 12;
      gpio_output =
 11;
      gpio_irq = gpio_to_irq(gpio_input);


// Not sure if necessary, but once again switch gpios on 
  board_setup_psc(DAVINCI_ARMDOMAIN, DAVINCI_DM646X_LPSC_GPIO, 1);

// Set pinmux to enable gpios
   __REG(PINMUX0) &= ~(1<<2);
   __REG(PINMUX0) |= (1<<1);
   __REG(PINMUX0) &= ~(1<<0);
   
    gpio_direction_output(gpio_output, 1);
    gpio_direction_input(gpio_input);

/* Enable irq on falling edge*/
  struct gpio_controller *__iomem g = gpio2controller(gpio_input);
    u32 mask = __gpio_mask(gpio_input);
        __raw_writel(mask, &g->set_falling);
        __raw_writel(mask, &g->clr_rising);

  //set BINTEN for bank0
   
 __raw_writel(0x1f, (void *__iomem)IO_ADDRESS(DAVINCI_GPIO_BASE + 0x08));

  /* Request interrupt line for bank 2 */
    if (ret = request_irq(gpio_irq, gpio_driver_isr, SA_SHIRQ , "davinci_gpio_ir", &dev_gpio)) {
             printk(KERN_INFO "GPIO: Interrupt %i request can't get assigned!\n", gpio_irq);
            goto clean;
    }
   
Thanks in advance

Regards

Stan.
 





      _______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source at linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://linux.omap.com/pipermail/davinci-linux-open-source/attachments/20080901/382aee79/attachment.htm


More information about the Davinci-linux-open-source mailing list