こんにちは、皆さん
ZephyrのUAC2非同期明示的フィードバックサンプルを使って、i.MX RT1020でUSB-to-I2Sのオーディオパイプラインを動かそうとしていますが、NXP SAI(I2S)ドライバーとeDMAで問題が発生しています。
DMAMUXやIRQの設定のデバッグに時間をかける前に、Zephyrを使ってRT10xxシリーズのUSB-to-I2Sの動作する例をご存知の方はいらっしゃいますか?
特に、Zephyr上でUAC2からSAIへのオーディオパスを実装しているリファレンスプロジェクトを探しています。
よろしくお願いいたします!
こんにちは、@lpc73 さん。
NXP MIMXRTシリーズにご関心をお寄せいただきありがとうございます!
現在、上流のZephyrにはRT10xx用の現成のUAC2→SAIリファレンスプロジェクトはありません。RT10xxでは、SAI/I2Sドライバ(nxp、mcux-i2s)、eDMA、UAC2クラスの構成要素はすべてサポートされています。DMAMUXルーティングは、デバイスツリーのnxp、tx-dma-channel / nxp、rx-dma-channel+pinctrlというプロパティで行われ、Cでは手動ではありません。追加すべき主な要素はRTプラットフォーム用のフィードバックループで、DMAオーディオバッファはキャッシュできないメモリに配置することを忘れないでください。
Zephyrが必須でない場合、MCUXpresso SDKのdev_audio_speaker+sai_edma_transferが最も成熟した、すぐに使えるUAC2→SAIの例です。
よろしくお願いします、
ギャビン