[Armadillo:06600] Re: Armadillo440におけるGPIO制御について

松山 email@hidden
2011年 1月 20日 (木) 18:57:42 JST


竹之下様

いつもお世話になっております。スマットの松山です。

ご返答ありがとうございます。

>> 質問:
>> (1)CON9_16の出力を変化させるために、上記以外の何らかの設定は必要でしょう
>> か?
>いいえ。必要ないはずです。

了解しました。ありがとうございます。

>実際の設定がどのようになっているか、sysfsファイルを読み出して確認していただけ
>ますか?
>以下のコマンドで確認できます。
>
>[armadillo ~]# echo high > /sys/class/gpio/CON9_16/direction
>[armadillo ~]# cat /sys/class/gpio/CON9_16/direction
>???
>[armadillo ~]# cat /sys/class/gpio/CON9_16/value
>???
>
>実行結果は、コピー&ペーストでそのまま教えていただけると助かります。

以下の様になりました。正常に動作していると思われます。

[armadillo ~]# echo high > /sys/class/gpio/CON9_16/direction
[armadillo ~]# cat /sys/class/gpio/CON9_16/direction
out
[armadillo ~]# cat /sys/class/gpio/CON9_16/value
1
[armadillo ~]# echo low > /sys/class/gpio/CON9_16/direction
[armadillo ~]# cat /sys/class/gpio/CON9_16/direction
out
[armadillo ~]# cat /sys/class/gpio/CON9_16/value
0

valueに0または1を書き込み、読み出しても上記の様に値は変化しますが、実際
の出力レベルは変化しない様です。

設定の必要がなく、内部的には正常に動作していることから、おそらくは、
CON9_16に元々接続されていたデバイスICの影響で、CON9_16のCPU側ポートが故
障してしまったのではないかと、推測しています。

CON9_16以外のポートについては、CON9_11〜CON9_18およびCON9_21〜CON9_28の
出力レベルを確認できました。

>> (2)これらのGPIOのデフォルト(起動時の入出力設定)を変更することは可能でし
>> ょうか?
>本MLの過去ログの以下のメールが参考になると思います。
>http://lists.atmark-techno.com/pipermail/armadillo/2010-December/006416.html

>> CON9 27と28ピンは出力Low、それ以外は入力となっています。(プルアップさ
>> れているの
>> で、ピンの電圧レベルはHighになります。)
>>
>> これらの設定は、 
>> linux-2.6.26-at/arch/arm/mach-mx25/armadillo400.c
>> static struct mxc_ext_gpio gpio_list_revc[]に記述されています。
>>
>> 例えば、CON9 1を出力Lowにしたい場合、
>>         {"CON9_1",   GPIO(1, 2),  MXC_EXT_GPIO_DIRECTION_INPUT},
>>>>         {"CON9_1",   GPIO(1, 2),  MXC_EXT_GPIO_DIRECTION_OUTPUT, 0},
>> に変更してください。

>補足ですが、
>ユーザーランドの初期化スクリプト(rc.local など)に入出力設定をするコマンド
>(echo high > /sys/class/gpio/CON9_XX/direction など)を書くという方法も
>あります。

了解しました。ありがとうございます。
接続する基板の入力仕様などを確認し、どちらかの方法で試してみます。



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