Armadilloフォーラム

I2S MEMSマイクの使用方法について

bri-gt

2022年3月7日 14時01分

お世話になります。

Armadillo-IoT G4でI2SインターフェースのMEMSマイク(SPH0645LM4H-B)を
使用したいと考えております。(CON11のSAI3に接続)

使用するにあたり、カーネルのコンフィグレーション変更や
デバイスツリーの変更等が必要でしょうか?
必要な場合、変更内容をご教授いただないでしょうか

コメント

at_mizo

2022年3月7日 15時24分

溝渕です。

> 使用するにあたり、カーネルのコンフィグレーション変更や
> デバイスツリーの変更等が必要でしょうか?

デバイスツリーの変更と、codec(SPH0645LM4H-B)ドライバが必要になります。

デバイスツリーは、linuxカーネルソースに含まれる以下が参考になるかと思います。
arch/arm64/boot/dts/freescale/imx8mp-evk.dts

"sound-bt-sco"ノードを参考にし、codecの仕様に合わせて適宜修正してみてください。

simple-audio-cardの各パラメータについては、同じくlinuxカーネルソースに含まれる以下が参考になるかと思います。
Documentation/devicetree/bindings/sound/simple-card.yaml

codecドライバについては、SPH0645LM4H-Bは設定インターフェースの無いI2S Slaveデバイスである為、非常にシンプルなものになると思います。

私は試したことはありませんが、以下の通りソースを公開してくれている人を見つけました。
https://github.com/AntarcticBear/sph0645lm4h-rpi

bri-gt

2022年3月10日 13時36分

> デバイスツリーは、linuxカーネルソースに含まれる以下が参考になるかと思います。
> arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> の
> "sound-bt-sco"ノードを参考にし、codecの仕様に合わせて適宜修正してみてください。
>
> simple-audio-cardの各パラメータについては、同じくlinuxカーネルソースに含まれる以下が参考になるかと思います。
> Documentation/devicetree/bindings/sound/simple-card.yaml

ご回答ありがとうございます。
参考にさせていただきます。
 
 
> codecドライバについては、SPH0645LM4H-Bは設定インターフェースの無いI2S Slaveデバイスである為、非常にシンプルなものになると思います。
>
> 私は試したことはありませんが、以下の通りソースを公開してくれている人を見つけました。
> https://github.com/AntarcticBear/sph0645lm4h-rpi
 
情報ありがとうございます。
カーネルにドライバを新たに組み込んでビルドする方法が
マニュアルから見つかられなかったのですが、手順としては
Kconfig、Makefile等を修正してカーネルを再ビルドする
という手順で問題ないでしょうか?

at_mizo

2022年3月10日 13時47分

溝渕です。

> カーネルにドライバを新たに組み込んでビルドする方法が
> マニュアルから見つかられなかったのですが、手順としては
> Kconfig、Makefile等を修正してカーネルを再ビルドする
> という手順で問題ないでしょうか?

上記で問題無いです。

カーネルに組み込まなくても、Out-of-treeコンパイルしてカーネルモジュー
ルとして使うこともできると思います。

[www.kernel.org: Building External Modules]
https://www.kernel.org/doc/Documentation/kbuild/modules.txt