[Armadillo:03521] Armadilo-500 GPIOピンを利用した割り込みについて

g-kihara email@hidden
2008年 10月 8日 (水) 19:51:43 JST


お世話になっています。

首記の件ですが、Armadillo500ボードのCON16の30番ピン(CSI_D13 / GPIO3_13)
で立ち上がりエッジが検出されたら、割り込みが入るようなプログラムを
作りたいのです。
12番ピン(電源+3V)にコードを接続し、これを30番ピンに
つけたり、はなしたりして割り込みを発生させます。

メーリングリストを検索したところ、[Armadillo:02001]のnakaiさん
のコードがヒット
http://lists.atmark-techno.com/pipermail/armadillo/2007-September/002001.html
したので、これを参考に
以下のようなコードを作成しました。
しかし、割り込み関数が呼ばれません。

他になにか設定が必要なのでしょうか?
ご教示のほど宜しくお願い申し上げます。

-----------------------------------------------------------------------------
[テストドライバ]

#include <asm/arch/mx31_pins.h>
#include <asm/arch/gpio.h>

#define AUTHOR          "Atmark Techno, Inc."
#define DESCRIPTION     "Armadillo-5x0 Ext-Bus test driver"
#define LICENSE         "GPL v2"

static irqreturn_t
irq_handler(int irq, void *dev_id, struct pt_regs *regs)
{
    static int n=0;
    printk("interrupt occur!!  %02dkai\n", n);
    n++;

    return IRQ_HANDLED;
}

static int __init
a500_extbus_init(void)
{
    printk("init start!\n");

    gpio_ext_bus_active();
    mxc_set_gpio_direction(MX31_PIN_CSI_D13 , GPIO_DIR_INPUT);

    request_irq(INT_GPIO3_13, irq_handler, SA_INTERRUPT, "inttest", NULL);
    set_irq_type(INT_GPIO3_13, IRQT_RISING);

    return 0;
}

static void __exit
a500_extbus_exit(void)
{
    free_irq(INT_GPIO3_13, NULL);
}

MODULE_AUTHOR(AUTHOR);
MODULE_DESCRIPTION(DESCRIPTION);
MODULE_LICENSE(LICENSE);

module_init(a500_extbus_init);
module_exit(a500_extbus_exit);

-----------------------------------------------------------------------------






armadillo メーリングリストの案内