Armadilloフォーラム

Armadillo-X1 SD UHS対応デバイスともHigh Speedで動作する様にする

hideaki.aota

2017年12月14日 17時54分

お世話になります、青田と申します。

掲題内容の実現を要求されており、対応を模索しております。
下記の試行を行いましたが、実現出来ていない状況です。

掲題内容の実現方法についてご教示頂くこと可能でしょうか?

当方では下記の変更を行い、動作を確認しましたが、SD接続時に
mmc0: new high speed SDIO card ... ではなく
mmc0: new ultra high speed SDIO card ... というログが出現することがありました。

変更内容
dtsファイル &usdhc1 {} にて
1. "no-1-8-v;" を追加
2. "max-frequency = <100000000>;" の値を<12500000> に減少

コメント

溝渕です。

> 変更内容
> dtsファイル &usdhc1 {} にて
> 1. "no-1-8-v;" を追加
> 2. "max-frequency = <100000000>;" の値を<12500000> に減少

Armadillo-X1の場合は、以下のファイルを変更する必要があります。

arch/arm/mach-imx/armadillo_iotg_addon/addon_atmark_techno_sd_x1_intf1.dts

変更したのは上記ファイルでしょうか。

溝渕様

ご検討頂きありがとうございます、はい、そちらのファイルに変更を加えました。

arch/arm/mach-imx/armadillo_iotg_addon/addon_atmark_techno_sd_x1_intf1.dts

溝渕です。

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

> arch/arm/mach-imx/armadillo_iotg_addon/addon_atmark_techno_sd_x1_intf1.dts

上記ファイルに変更を加えた場合、変更されるイメージはLinuxカーネルイメー
ジ(uImage)です。Linuxカーネルイメージの書き込みは行っていますか?

通常、DTSを変更した場合はDTBが変わりますが、上記(アドオン)の場合はDT
Overlay用のDTSです。

アドオンは、起動後にダイナミックにデバイス検出や各種設定を行うため、
Device Treeを上書きする必要があります。DT Overlay用のDTSはLinuxカー
ネルイメージ内に保持されます。

溝渕様

ご指摘ありがとうございます。
該当のファイルはアドオンである為
DTBでなく、カーネルイメージに盛り込まれるということですね。

カーネルイメージの書き換えは行っています。

実は、その後に試行錯誤を加え

dtsファイル &usdhc1 {} にて
1. "no-1-8-v;" を追加
2. "max-frequency = <100000000>;" の値を、更に<4000000>に減少
あと、/arch/arm/boot/dts/armadillo_x1_addon.dtsi の &usdhc1 {} にて
3. pinctrl-names = "default" のみにする
4. pinctrl-0 = <&pinctrl_usdhc1> のみにする

と、することで、
mmc0: new ultra high speed SDIO card ... というログが当方の環境で出現することは無くなりました。

ですが、どう設定を変更するのが正しいのか、という情報についてを見つけることが出来ておらず
情報お持ちであれば、頂ければありがたいと考えております。

溝渕です。

> dtsファイル &usdhc1 {} にて
> 1. "no-1-8-v;" を追加
> 2. "max-frequency = <100000000>;" の値を、更に<4000000>に減少
> あと、/arch/arm/boot/dts/armadillo_x1_addon.dtsi の &usdhc1 {} にて
> 3. pinctrl-names = "default" のみにする
> 4. pinctrl-0 = <&pinctrl_usdhc1> のみにする
>
> と、することで、
> mmc0: new ultra high speed SDIO card ... というログが当方の環境で出現することは無くなりました。
>
> ですが、どう設定を変更するのが正しいのか、という情報についてを見つけることが出来ておらず
> 情報お持ちであれば、頂ければありがたいと考えております。

"ultra high speed"と出る条件ですが、ソースを見てみたところカードのOCR
のbit24(Switching to 1.8V Accepted)が立っているかどうかであるように見
えます。

UHS-I非対応とするのであれば、"1"と、"3,4"はいずれか一方で構わないと思います。

"1"の対応のみで、UHS-I非対応(常時3.3V駆動)にならないでしょうか。可能であれ
ば、オシロスコープでSDのデータ信号の電圧を確認してみてください。