[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 メーリングリストの案内