1495731_ja-JP

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

1495731_ja-JP

1495731_ja-JP

iMX8MP で SAI MCLK を有効にするにはどうすればいいですか?

たとえば `SAI2_MCLK` ピンにクロックを出力するには何が必要ですか?

iMX8MM では、iomux が設定される直後にクロックが開始されます。例えばベアボックスブートローダーでは、信号が次のように表示されます。

mw 0x303301c8 0

しかしiMX8MPでは信号は静止したままです

mw 0x303a00d8 32    ## power up audio block
mw 0x303301b4 0     ## ALT0_AUDIOMIX_SAI2_MCLK

プルアップ/プルダウン設定を変更することで切り替えるCAN

mw 0x30330414 0x140     ## signal becomes high
mw 0x30330414 0x100     ## signal becomes low

クロックが有効になっており、audio_blk_ctrl コントローラに電源オン設定があり、SAI MCTL で MOE が有効になっています。

 md 0x30384650  
30384650: 00000003 00000003 00000003 00000003                ................

:/ md 0x30e20000+8  
30e20000: ff777777 0000003f                                  www.?...

:/ md 0x30e20300+0x20
30e20300: 00000000 00000000 00000000 00000000                ................
30e20310: 00000000 00000000 00000000 00000000                ................

:/ md 0x30c20100          
30c20100: 80000000 00000000 xxxxxxxx xxxxxxxx                ................

MCLK 信号を出力するために他に何を設定する必要がありますか?i2c 通信に MCLK を必要とする SGTL5000 を使用するために必要です。

i.MX 8M | i.MX 8M ミニ | i.MX 8M ナノマルチメディアRe: How to enable SAI MCLK on iMX8MP?

SAI3_MCLK でクロック出力を有効にすることもできません。私CASE、Linux をインストールする前に、最初のボード ハードウェア テストのためにクロックが必要です。私の状況では、たとえばアドレス 0x30E20000 の AUDIO_BLK_CTRL ブロックにアクセスすると、「同期中止」例外が発生します。

誰か私にヒントをくれませんか?コアクロックが欠落しているか、または他に何が例外の原因となっているのでしょうか?

Re: How to enable SAI MCLK on iMX8MP?

こんにちは:

sgtl5000は正常に動作しますか?CANデバイスツリー構成を提供できますか?現在、パッチに従いましたが、まだ mclk 出力がありません。

Re: How to enable SAI MCLK on iMX8MP?

こんにちは@ensc

問題は解決しましたか?

Re: How to enable SAI MCLK on iMX8MP?ありがとう。このパッチを追加してみますRe: How to enable SAI MCLK on iMX8MP?

クロックを生成するには、`FSL_SAI_MCTL_MCLK_EN` + `FSL_SAI_CSR_TERE` を有効にする必要があります。

私は、SAI をクロック プロバイダーにして、必要に応じて sgtl5000 で MCLK を有効にすることでこの問題を解決しました。

- https://git.data-modul.com/i.mx8mm-std-mirror/components/kernel/-/commit/6dc48366bd8ce5778183ac0d5ed...

- https://git.data-modul.com/i.mx8mm-std-mirror/components/kernel/-/commit/9521345a094391fcab628aedcf7...

- https://git.data-modul.com/i.mx8mm-std-mirror/components/kernel/-/commit/dae9f931fb1472a410383cd2570...

- https://git.data-modul.com/i.mx8mm-std-mirror/components/kernel/-/commit/49e16c26682b54bff23ffce4ec4...

- https://git.data-modul.com/i.mx8mm-std-mirror/meta-dmo-imx8/-/blob/ac485fc6d075520aa0f27c6a54865a2b0...


非常に際どいですが、今のところは動作します。FUTUREのハードウェアはおそらくSGTL5000に取って代わるだろう


Re: How to enable SAI MCLK on iMX8MP?この問題の解決策はCANますか?私も同じ状況です。通常のクロック (MCLK - SAI3) が生成されるため、sgtl5000 は imx8mm ボード上では正常に動作しますが、imx8mp ボードではクロックが動作せず、結果として i2c デバイスが存在しません。Re: How to enable SAI MCLK on iMX8MP?

こんにちは@ensc

追加の詳細を電子メールで送信しました。

よろしくお願いします。

よろしくお願いします、
ドゥルヴィット。

Re: How to enable SAI MCLK on iMX8MP?

SAI を動作させるために、まず何かを再生/録音してみていただけますか?

問題は、SAI_MCLK が見つからないため SGTL5000 を初期化できず、何も再生または録音CANないことです。

同様のハードウェア上の iMX8MM では、iomux を設定するだけでこのクロックを簡単に生成できました。これは iMX8MP ではもう機能しません。

SAI_MCLK を生成するには何をすればよいですか?


例えば、デフォルトのi.MX8MP evkでwm8960を再生に使うと

wm8960 についてはよく分かりませんが、おそらくその I2C はグローバル mclk なしで動作します。

Re: How to enable SAI MCLK on iMX8MP?

こんにちは@ensc


SAI を動作させるために、まず何かを再生/録音してみていただけますか?

例えば、デフォルトのi.MX8MP evkでは、再生にwm8960を使用するとSAI3が使用され、次のようにレジスタを読み取ることができます。

ot@imx8mpevk:~# /unit_tests/memtool 30e20000 1
E
Reading 0x1 count starting at address 0x30E20000

0x30E20000:  04000300

よろしくお願いします、
ドゥルヴィット。

Re: How to enable SAI MCLK on iMX8MP?

MCLK が動作するのに I2C に依存することはないと思います。

MCLKが必要です。表7「動的電気特性」の注1を参照してください。

SGTL5000 には、すべての電源レールが起動してから 8 SYS_MCLK サイクル後にデアサートされる内部リセットがあります。この時間が経過すると、CANを開始できます。

図4「パワーアップタイミング」

ensc_1-1660829353535.pngensc_1-1660829353535.png

しかし、この質問は iMX8MP に関するものであり、そこで SAI MCLK を生成する方法を知りたいのです。

Re: How to enable SAI MCLK on iMX8MP?

こんにちは@ensc

MCLK が動作するのに I2C に依存することはないと思います。

ピン/GPIO または SGTL5000 に関連して何か不足している点があるかどうか、貴社で確認していただけますか?


よろしくお願いします、
ドゥルヴィット。

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