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