Armadilloフォーラム

Armadillo-810 で、SPI と SDHI1 を同時使う

shinano

2015年5月28日 16時45分

Armadillo-810 で、SPI と SDHI を同時に使う場合について確認です。

SPIについてですが、
https://armadillo.atmark-techno.com/forum/armadillo/970

http://manual.atmark-techno.com/armadillo-guide/armadillo-guide-3_ja-2…

参考にして試して見ようとしているところです。

また、SDHI1 については、
http://armadillo.atmark-techno.com/devices/atb-a810wlan

「アドバリーシステム製Armadillo-810向け無線LAN拡張ボード「ATB-A810WLAN」の使用方法について(pdf)」
を参考にしようとしています。(繋ぎたいものも無線LANのモジュールのため)

ですが、
https://armadillo.atmark-techno.com/forum/armadillo/970
には、
SDHI1 を無効にするように書いています。
また、
「アドバリーシステム製Armadillo-810向け無線LAN拡張ボード「ATB-A810WLAN」の使用方法について(pdf)」
には、

Armadillo-810 System Configuration --->
 [*] use SDHI1 ←有効化
 [ ]  have CD/WP [CD:PORT72, WP:PORT73] (NEW)
 [*]  have Power-Switch [EN:PORT75] ←有効化

と書いてありますが、SPIを使うために

[*] use MSIOF1 

とチェックをいれると、下の2つが選択出来なくなります。

 [ ]  have CD/WP [CD:PORT72, WP:PORT73] (NEW)
 [*]  have Power-Switch [EN:PORT75] ←有効化

一部ピンがかぶっているため、このようになっているのだと思いますが、これは同時使えないということでしょうか?
それとも、Power-Switch の部分をハード的に固定で使う or GPIO でアプリケーションレベル制御すれば使えるのでしょうか?
ドライバの改造が必要になる場合は、参考になる情報を教えて頂けると助かります。

よろしくお願いします。

コメント

at_takashi.sasayama

2015年5月29日 15時00分

笹山です。

> 一部ピンがかぶっているため、このようになっているのだと思いますが、これは同時使えないということでしょうか?
> それとも、Power-Switch の部分をハード的に固定で使う or GPIO でアプリケーションレベル制御すれば使えるのでしょうか?
> ドライバの改造が必要になる場合は、参考になる情報を教えて頂けると助かります。

同時に使うことは可能ですが、拡張基板の追加などが必要になると考えます。
(AWL13モジュールの電源制御に使用している PORT75 が、MSIOF1_RXD:MISO の為)

Armadillo-810 CON5 と、ATB-A810WLAN CN2 の間に拡張基板を挟み、
CON5:27ピン は MSIOF1_RXD として引き出し、
CN2:27ピン は 別のGPIOと接続するか High で固定するなどですね。

実際には試せていたのですが、
上記の対応が行えれば、以下のカーネルコンフィギュレーションが無効でも、
AWL13を動作させることができると思います。

  [*]  have Power-Switch [EN:PORT75]

なお、別のGPIOを接続する場合は、linuxドライバの改造が必要です。
改造する場合は、以下のソースコード内の GPIO_PORT75 を、別のGPIOに変更することになります。

linux-3.4-at/arch/arm/mach-shmobile/board-armadillo840.c

 761 static struct fixed_voltage_config __maybe_unused sdhi1_regulator_config = {
 762         .supply_name            = "sdhi1",
 763         .gpio                   = GPIO_PORT75, // 別の GPIO_PORTxx に変更
 920  // 下記の if文の条件式は "[*]  have Power-Switch [EN:PORT75] の時" 真ですので、必要に応じて変更します */
 921         if (IS_ENABLED(CONFIG_ARMADILLO810_SDHI1_HAVE_PWRSW_PORT75)) {  
 922                 /* SDHI1 power is controlled by PORT75 on extention
 923                  * board if dircetion of PORT75 is OUTPUT. */
 924                 gpio_reserve(GPIO_PORT75);  // 別の GPIO_PORTxx に変更

■参考情報

無線LANが必須であれば、USB無線LANアダプタを使用する方法もあります。

動作確認済みデバイス : USB無線LANアダプタ GW-900D
http://armadillo.atmark-techno.com/node/1572

動作確認済みデバイス : USB無線LANアダプタ GW-450S
http://armadillo.atmark-techno.com/node/1627

動作確認済みデバイス : USB無線LANアダプタ GW-450D
http://armadillo.atmark-techno.com/node/1629

情報ありがとう御座います。
自前で拡張基板を作成して接続することを検討していました。
ソースの変更箇所まで教えていただきありがとう御座います。

基板は回路設計段階なので、確認できるのはまだ先ですが、大きな変更なく出来そうですので試してみたいと思います。