Sign in

username:

password:



Not a member?

Search Comp.Arch.Embedded



Search tips

embedded by Keywords

68HC11 | 68HC12 | 8051 | 8052 | ARM | ARM7 | Asic | AT91 | AT91RM9200 | Atmel | AVR | AVRStudio | Bootloader | CFP | CompactFlash | Cygnal | Cypress | Dataflash | DSP | eCos | EEPROM | Embedded Linux | Emulator | Endian | Ethernet | Firewire | FPGA | Freescale | GCC | GNUARM | GSM | H8 | HDLC | I2C | Infineon | Interrupts | Java | JTAG | LCD | LED | LPC2000 | MCU | Microchip | MMC | MPLAB | MSP430 | PC104 | PCB | PCI | PCMCIA | PowerPC | Rabbit | RS232 | RS485 | RTOS | SBC | SDRAM | Sensor | SPI | STK500 | UART | UML | USART | USB | Verilog | VHDL | VxWorks | Xilinx


Ads

Discussion Groups

See Also

DSPFPGAElectronics

Discussion Groups | Comp.Arch.Embedded | Error on Request interrupt on AT91SAM9260-EK


Advertise Here

There are 3 messages in this thread.

You are currently looking at messages 0 to 3.

Error on Request interrupt on AT91SAM9260-EK - =?ISO-8859-1?Q?Jo=E3o_Paulo_Bodanese?= - 2009-03-03 07:58:00

Hi,

I am trying to request an interrupt on IRQ 63, but when i load the
module i got the message:

setting trigger mode 2 for irq 63 failed (gpio_irq_type+0x0/0x2c)
IRQ 63 is not free.

The code is:

if (request_irq(gpio_to_irq
(AT91_PIN_PA31),interrupt_count,IRQF_TRIGGER_FALLING,"Reset_Fabrica",NULL))
    {
   printk(KERN_WARNING "IRQ %d is not free.\n", AT91_PIN_PA31);
        return -EBUSY;
    }


Actually, any IRQ i try to request i got the message that the IRQ
isn't free.

# cat /proc/interrupts
CPU0
1: 103537 AIC at91_tick, rtc0, ttyS0
9: 11 AIC mmc0
10: 0 AIC at91_udc
13: 15 AIC atmel_spi.1
14: 0 AIC at73c213
20: 0 AIC ohci_hcd:usb1
21: 1795 AIC eth0
62: 1 GPIO Button 3
101: 1 GPIO at91_udc
Err: 0

Any ideia?

Regards



Re: Error on Request interrupt on AT91SAM9260-EK - Not Really Me - 2009-03-03 10:43:00

Joćo Paulo Bodanese wrote:
> Hi,
>
> I am trying to request an interrupt on IRQ 63, but when i load the
> module i got the message:
>
> setting trigger mode 2 for irq 63 failed (gpio_irq_type+0x0/0x2c)
> IRQ 63 is not free.
>
> The code is:
>
> if (request_irq(gpio_to_irq
> (AT91_PIN_PA31),interrupt_count,IRQF_TRIGGER_FALLING,"Reset_Fabrica",NULL))
>    {
>   printk(KERN_WARNING "IRQ %d is not free.\n", AT91_PIN_PA31);
>        return -EBUSY;
>    }
>
>
> Actually, any IRQ i try to request i got the message that the IRQ
> isn't free.
>
> # cat /proc/interrupts
> CPU0
> 1: 103537 AIC at91_tick, rtc0, ttyS0
> 9: 11 AIC mmc0
> 10: 0 AIC at91_udc
> 13: 15 AIC atmel_spi.1
> 14: 0 AIC at73c213
> 20: 0 AIC ohci_hcd:usb1
> 21: 1795 AIC eth0
> 62: 1 GPIO Button 3
> 101: 1 GPIO at91_udc
> Err: 0
>
> Any ideia?
>
> Regards

I must be missing something here.  The AIC in the SAM9260 only has 32 
interrupts.  Are you using a linix implementation that supports a software 
interrupt mechanism?

-- 
Scott
Validated Software
Lafayette, CO 



Re: Error on Request interrupt on AT91SAM9260-EK - Boudewijn Dijkstra - 2009-03-09 07:06:00

Op Tue, 03 Mar 2009 16:43:08 +0100 schreef Not Really Me  
<s...@validatedqwertysoftware.xyzzy.com>:
> Joćo Paulo Bodanese wrote:
>> Hi,
>>
>> I am trying to request an interrupt on IRQ 63, but when i load the
>> module i got the message:
>>
>> setting trigger mode 2 for irq 63 failed (gpio_irq_type+0x0/0x2c)
>> IRQ 63 is not free.
>>
>> The code is:
>>
>> if (request_irq(gpio_to_irq
>> (AT91_PIN_PA31),interrupt_count,IRQF_TRIGGER_FALLING,"Reset_Fabrica",NULL))
>>    {
>>   printk(KERN_WARNING "IRQ %d is not free.\n", AT91_PIN_PA31);
>>        return -EBUSY;
>>    }
>>
>>
>> Actually, any IRQ i try to request i got the message that the IRQ
>> isn't free.
>>
>> # cat /proc/interrupts
>> CPU0
>> 1: 103537 AIC at91_tick, rtc0, ttyS0
>> 9: 11 AIC mmc0
>> 10: 0 AIC at91_udc
>> 13: 15 AIC atmel_spi.1
>> 14: 0 AIC at73c213
>> 20: 0 AIC ohci_hcd:usb1
>> 21: 1795 AIC eth0
>> 62: 1 GPIO Button 3
>> 101: 1 GPIO at91_udc
>> Err: 0
>>
>> Any ideia?
>>
>> Regards
>
> I must be missing something here.  The AIC in the SAM9260 only has 32
> interrupts.  Are you using a linix implementation that supports a  
> software interrupt mechanism?

Commonly, each individual GPIO pin interrupt is assigned a virtual
interrupt numbers cascaded from the GPIO block interrupt handler.

I guess that gpio_to_irq() converts the virtual interrupt number into the
GPIO block interrupt number, which is not free (duh).  Besides that, it
would only make sense to set a trigger mode on a GPIO interrupt if the
GPIO interrupt handler implements a mode filter in software, because the
hardware doesn't support mode setting on individual GPIO pins.



-- 
Gemaakt met Opera's revolutionaire e-mailprogramma:  
http://www.opera.com/mail/