[Armadillo:00414] Armadillo9 の GPIO について
Masaki Suzuki
email@hidden
2005年 7月 26日 (火) 15:30:53 JST
日興電気通信の鈴木と申します。
現在、Armadillo9 上で動作するテキストインターフェースを持っ
たオリジナルの GPIO ドライバを作成しようとしていますが、不明
点がありましたので、投稿させて頂きました。
GPIO から出力するために、CPU 内部の PADR レジスタにアクセスし
ます。
この際に、 PCMCIA-CS 対応版のカーネルでは問題なく動作するので
すが、通常版のカーネルでは暴走してしまうのです。
以下がテスト用ドライバのソースになります。
#define MODULE
#define __KERNEL__
#define PADR 0xff840000
#define PADDR 0xff840010
#define MODULE_NAME "test_gpio module"
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <asm/io.h>
static int init_test_gpio(void)
{
printk("<1>PADDR = 0x%08x\n", inb(PADDR));
/* これはOK */
outb(0xf0, PADDR);
printk("<1>PADDR = 0x%08x\n", inb(PADDR));
/* これを実行すると通常版カーネルは暴走する */
outb(0xf0, PADR);
/* 出力されない */
printk("<1>%s initialized\n", MODULE_NAME);
return 0;
}
static void cleanup_test_gpio(void)
{
printk("<1>%s removed\n", MODULE_NAME);
}
module_init(init_test_gpio);
module_exit(cleanup_test_gpio);
MODULE_LICENSE("GPL");
カーネルコンフィグ時に "EP93XX GPIO Support"を外したりもして
みましたが、結果は同じです。
ご教示の程、よろしくお願いします。
armadillo メーリングリストの案内