2174559_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2174559_ja-JP

2174559_ja-JP

IMX8M Mini: アップストリーム Linux で 16Khz オーディオ用に SAI MCLK を 4.096MHz に設定する

ご挨拶

imx8mm SAI3 I2S から SGTL5000 コーデックへのネイティブ 16KHz オーディオ ストリーミングを必要とするユーザーがいます。


SGTL5000 データシートでは、MCLK はサンプリング レートの整数倍、通常はサンプリング レート (fs) の 128 倍、256 倍、384 倍、または 512 倍で、最大 MCLK は 25MHz である必要があると規定されています。16kHz のサンプリング レートの場合、サポートされる MCLK 周波数は次のとおりです。
- 2.048MHz (16kHz * 128)
- 4.096MHz (16kHz * 256)
- 6.144MHz (16kHz * 384)
- 8.192MHz (16kHz * 512)

IMX8MM_AUDIO_PLL1_OUT は 786.432MHz で、24.576MHz の整数倍であり、32Khz および 48kHz のサンプリング レートに適しています。IMX8MM_AUDIO_PLL2_OUT は 722.5344MHz で、22.5792MHz の整数倍であり、44.1kHz のサンプリング レートに適しています。4.096MHz を実現するには分周器が必要になります。

imx8mm クロック ドライバが Linux カーネルにアップストリームされる前は、クロックを分割するオプションがあったようですが、アップストリーム Linux カーネルにはそれが見当たりません。

SAI クロックを 4.096MHz の分周レートに設定する方法に関する説明はありますか?


i.MX 8M | i.MX 8M ミニ | i.MX 8M ナノLinuxマルチメディアRe: IMX8M Mini: Configure SAI MCLK for 4.096MHz for 16Khz audio on upstream Linux

こんにちは、

使用例は理解していますが、残念ながら、実行時にソフトウェアから周波数を変更することはできません。NXP では同様のサポートは提供していません。デバイス ツリーの変更をお勧めします。


よろしくお願いします。

Re: IMX8M Mini: Configure SAI MCLK for 4.096MHz for 16Khz audio on upstream Linux

ご指摘いただいた解決策は、IMX8MM_CLK_SAI1_DIV という機能を持つダウンストリームベンダーカーネルを使用することです。この機能により、IMX8MM_AUDIO_PLL1_OUT を複数の周波数に分割できます。これはアップストリームLinuxカーネルには存在せず、まさに私が質問している点です。アップストリームカーネルでこれを分割する方法はありますか?Linuxのクロックサブシステムについてはあまり詳しくありません。



Re: IMX8M Mini: Configure SAI MCLK for 4.096MHz for 16Khz audio on upstream Linux

こんにちは、

同様のCASEで提供された解決策を見るCAN

https://community.nxp.com/t5/i-MX-Processors/SAI-on-i-MX8M-Mini/mp/959805

また、第 16 章「オーディオ コーデックの移植」もご覧ください。https://www.nxp.com/docs/en/user-guide/UG10165.pdf

よろしくお願いします。

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-21-2025 11:30 PM
更新者: