Armadilloフォーラム

Armadillo420 microSDをSDへ変換したい

yue110

2016年4月19日 15時00分

いつもお世話になっております。
どなたかお分かりになりましたら、ご教授願います。

コストやサイズの関係から、Armadillo420の使用を考えています。
しかし、Armadillo420はmicroSDなのですが、SDカードを使用したいと思い、
一般的な仕様ではないのですが、変換ケーブルを使用して確認してみました。

ただし、変換ケーブルにはCDとWPの線が無いため、CDはArmadilloのIOに入力し、
それを確認してSDが入力された時点でマウントするように考えました。

そうしたところ、始めからSDカードを入力した状態では問題無いのですが、
始めにSDカードが挿入されておらず、後から挿入した場合、
LinuxがSDカードの認識が出来ないため、デバイス名の取得が出来ず、
そのため、IOにてCDを確認し、マウントしに行ったとしても、そのデバイス名に対しマウントするため、
デバイス名が分からないので、マウントが出来ない状態になってしまっています。

ですので、そこで御質問したいのですが、
1.上記のような状態で、ソフト的にデバイス名を分かる方法はありませんか?

2.もしくは、ハード的にCDを正規の場所に接続できれば良いとは思うのですが、
  マニュアルを見ても線を半田付けすることが非常に難しい(実質出来ない)ような状態の場所にあるため、
  どこか、ここで簡単に確認できますといったところがありませんでしょうか?

以上2点(どちらかでも問題ありませんので)、お分かりになる方がおりましたら、教えていただけませんでしょうか?

よろしくお願い致します。

コメント

at_daisuke.sasaki

2016年4月19日 15時50分

佐々木大輔です

> 1.上記のような状態で、ソフト的にデバイス名を分かる方法はありませんか?

CDピンを別のIOに割り振ったと読めたのですが、
おそらくマウントのきっかけを作っただけだと思います。

CDピンのリソースを別のIOに正しく割り振ったらうまくいきませんか?

# カーネルはLinux 2.6.26でしょうか?Linux 3.14でしょうか?

Linux 2.6.26の場合、
arch/arm/mach-mx25/armadillo400.c

arch/arm/mach-mx25/armadillo400_gpio.c
を確認してみてください。

arch/arm/mach-mx25/armadillo400.c
の以下の部分でCDピンのリソースを割り当てています。

 937 static void __init armadillo400_init_sdhc(void)
 938 {
 939 #if defined(CONFIG_MMC_MXC_SELECT1)
 940         if (machine_is_armadillo460())
 941                 sdhc1_wp_gpio = SDHC1_WP_GPIO_A460;
 942         mx25_sdhc1_device.resource[2].start = GPIO_TO_IRQ(SDHC1_CD_GPIO);
 943         mx25_sdhc1_device.resource[2].end = GPIO_TO_IRQ(SDHC1_CD_GPIO);
 944         mxc_register_device(&mx25_sdhc1_device,
 945                             &armadillo400_sdhc1_data);
 946         gpio_sdhc_active(0);
 947         gpio_sdhc_inactive(0);
 948 #endif

armadillo400_gpio.cでは、このGPIOのPAD設定を行っています。
SDHC1_CD_GPIOあたりで検索していただくとわかると思います。

CDを検出すると、SDHCのドライバがSDカード情報を取得しに行きます。
これをきっかけとし最終的には/dev/mmcblk1などのデバイスファイルが生成されます。

> 2.もしくは、ハード的にCDを正規の場所に接続できれば良いとは思うのですが、
>   マニュアルを見ても線を半田付けすることが非常に難しい(実質出来ない)ような状態の場所にあるため、
>   どこか、ここで簡単に確認できますといったところがありませんでしょうか?

CON9にSD2が出せるのですが、
こちらにSDカードスロットを接続するという方法ではダメですか?
# 他に使う機能と重複してしまいますか?

http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_hard…

端子が他の機能と重複しないならば、カーネルコンフィギュレーションを変更する事で使えるようになります。

佐々木大輔様

早速のご回答ありがとうございました。

yue110と共同で作業しています佐藤と申します。
Linux 2.6.26で無事1の方法でSDカードを認識することができました。

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