こんにちは、みんな、
I2S 出力伝送信号にクロックを提供するために、SAI MCLK を SAI モジュールへの入力として構成しようとしています。
IMX8M plus のリファレンスマニュアルの 14.1.1.1 章には、これが可能であると記載されています。しかし、IMX8M miniではGPRを介して外部マスタークロックを有効にCANますが、この機能を有効にするにはどのようなレジスタを設定する必要があるかは明確ではありません(例:GPR_SAI2_EXT_MCLK_EN)。私の理解では、IMX8M plus ではオーディオ ブロック制御レジスタを使用するため、これが異なります。
同僚の NXP 技術者は、次のように設定することを提案しました。
1. 「14.2.3.1.10」を設定しますSAI2 MCLK SELECTレジスタをSPDIF.EXTCLKとして設定します。
2.「8.2.4.115」を設定しますSW_MUX_CTL_PAD_SPDIF_EXT_CLK" を ALT0_AUDIOMIX_SPDIF1_EXT_CLK として設定します。
3. 「14.4.4.1.30」を設定しますMCLK信号ピンは入力であるため、「MCLK制御」
SPDIF1_EXT_CLK ピンを通じて mclk を提供するためです。
しかし、yocto Linux で audio_blk_ctrl の SAI2 MCLK SELECT レジスタをどこに設定すればよいのか、また SPDIF.EXTCLK が I2S 信号の生成に機能するかどうかはまだわかりません。
よろしくお願い申し上げます。
サポートありがとうございます。SAI ドライバ経由で入力として設定できました。
こんにちは@coulomz
以下のドライバコードでは、 regmap APIを使用して関連するレジスタ値を変更できます。
BR