Armadilloフォーラム

armadillo400.cのGPIO設定配列について

tetsuya.ooka

2014年3月26日 20時18分

お世話になっております。ローム株式会社の大岡と申します。

linux-2.6.26-at18に含まれるarch/arm/mach-mx25/armadillo400.cの内容について質問させてください。

GPIO設定用の配列static struct mxc_ext_gpio gpio_list_revb[]の宣言で以下の記述があります。

#if defined(CONFIG_ARMADILLO400_CON14_3_GPIO1_2)
    {"CON9_1",   GPIO(1, 2),  MXC_EXT_GPIO_DIRECTION_INPUT},
#endif
#if defined(CONFIG_ARMADILLO400_CON14_4_GPIO1_3)
    {"CON9_2",   GPIO(1, 3),  MXC_EXT_GPIO_DIRECTION_INPUT}, /* EXT_GPIO17 */
#endif

CON14_3やCON14_4をGPIO制御するマクロが有効になっている場合に、
なぜかCON9_1やCON9_2のGPIO設定をしているように見えます。
これは間違いなのか、それともなにか理由があって意図的にこうしているのか教えて頂けないでしょうか。

それでは、よろしくお願いします。

コメント

at_daisuke.sasaki

2014年3月28日 10時45分

佐々木大輔です。

おっしゃる通り設定が間違っているようです。

尚、ご使用のArmadilloが以下の場合には、mxc_ext_gpio gpio_list_revc[]が使われます。
- Armadillo-420/Armadillo-440の基板リビジョン Rev.C以降
- Armadillo-410

mxc_ext_gpio gpio_list_revc[]については、確認したところ問題ないようです。

ご指摘の点については、確認し修正したいと思います。

at_daisuke.sasaki

2014年3月28日 11時34分

佐々木大輔です。

訂正させてください。
#混乱させてしまい申し訳ありません。

基板リビジョン Rev.BとRev.Cでは、CPUとコネクタ間の接続が異なるので、現状のコードで正しいです。

量産品はRev.Cからなので、mxc_ext_gpio gpio_list_revc[]のみ確認してください。

tetsuya.ooka

2014年3月28日 11時53分

大岡です。

mxc_ext_gpio gpio_list_revb[]の内容は正しくて、
さらに、410も440もmxc_ext_gpio gpio_list_revb[]ではなくmxc_ext_gpio gpio_list_revc[]を使っているという事ですね。

納得がいきました。ご回答ありがとうございました。