ブログ

Armadillo-IoT(G2):アドオンでGPIOクラスディレクトリに見えないGPIO端子を見えるようにする

at_kazutaka.bito
2016年5月28日 13時07分

Armadillo-IoTのアドオンモジュールの端子機能については、 Armadillo-IoT ベースボード マルチプレクス表 Armadillo-IoTアドオンモジュールの使用機能(AM列~AS列) に記載されていますが、GPIOで制御する機能について、デフォルトのドライバでは GPIOクラスディレクトリ(/sys/class/gpio)で見えないものがあります。

例えば、RESET端子は、基本的にArmadillo-IoTの起動時にカーネルが制御するような用途ですので、 デフォルトでは、ユーザーアプリケーションで制御できるように(GPIOクラスディレクトリで見るように)なっていません。

ただ、評価やテストとして、手動やユーザーアプリケーションで意図的に制御したい場合もあるかと思います。

ここでは、一例として、Wi-SUNアドオン(上記資料のAR列"WiーSUN WS00")のRESET端子を GPIOクラスディレクトリ(/sys/class/gpio)で見えるようにしました。

・ドライバのソースコードの修正
linux-3.14-[version]/arch/arm/mach-imx/armadillo_iotg_std_addon/addon_atmark_techno_wi_sun.c ファイルの下から2行目の

    return 0;

の前に

    addon_gpio_export(addon_data[intf].reset, false);

を挿入して、ビルドしたイメージをArmadillo-IoTに書き込んでください。

Armadillo-IoTにイメージを書き込んで、再起動後、 CON1にWi-SUNアドオンを接続している場合、

/sys/class/gpio/BP35A1_RESET_CON1

CON2にWi-SUNアドオンを接続している場合、

/sys/class/gpio/BP35A1_RESET_CON2

のようにBP35A1のRESET端子のGPIOの名前が見えるようになります。

補足)
addon_data[intf].resetや、BP35A1_RESET_CON1、BP35A1_RESET_CON2などは、 addon_atmark_techno_wi_sun.cに定義されています。