2012291_ja-JP

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

2012291_ja-JP

2012291_ja-JP

i.MX6ULLアプリケーション・プログラミング・リファレンス・マニュアルのGPMICLKはどのクロックですか?

GPMICLK は Fuesmap と GPMI の章の両方で言及されています。ただし、クロックと電源管理の第10章を見ると、これがどのクロックであるかは明らかではありません。

Linuxのクロックサマリーで次のクロックを見つけました。

bash# grep gpmi clk_summary
                         gpmi_io       0        0        0    22000000          0     0  50000         N
                      gpmi_apb        0        0        0   198000000          0     0  50000         N
                      gpmi_bch_apb       0        0        0   198000000          0     0  50000         N
                gpmi_sel              0        0        0   396000000          0     0  50000         Y
                   gpmi_podf          0        0        0   198000000          0     0  50000         Y
                      gpmi_bch        0        0        0   198000000          0     0  50000         N


ONFI タイミング情報は U-Boot で無視されますか。

私はU-Bootでこのコードを見つけました:

// Set GPMI_TIMING0 and GPMI_TIMING1 to match Linux kernel settings.
clrsetbits_le32(&info->gpmi_regs->hw_gpmi_timing0,0x10203,0x00020101);
setbits_le32(&info->gpmi_regs->hw_gpmi_timing1,0xb0000000);



このコメントにもかかわらず、Linuxが行っていることははるかに複雑であるため、Linuxがこれらのタイミングを使用しているとは思いません。

以下は、Linuxでの比較可能なGPMIコードのスニペットです。

        addr_setup_cycles = TO_CYCLES(sdr->tALS_min, period_ps);
        data_setup_cycles = TO_CYCLES(sdr->tDS_min, period_ps);
        data_hold_cycles = TO_CYCLES(sdr->tDH_min, period_ps);
        busy_timeout_ps = max(sdr->tBERS_max, sdr->tPROG_max);
        busy_timeout_cycles = TO_CYCLES(busy_timeout_ps, period_ps);

        hw->timing0 = BF_GPMI_TIMING0_ADDRESS_SETUP(addr_setup_cycles) |
                      BF_GPMI_TIMING0_DATA_HOLD(data_hold_cycles) |
                      BF_GPMI_TIMING0_DATA_SETUP(data_setup_cycles);
        hw->timing1 = BF_GPMI_TIMING1_BUSY_TIMEOUT(DIV_ROUND_UP(busy_timeout_cycles, 4096));

日時:i.MX6ULLアプリケーションプログラミングリファレンスマニュアルのGPMICLKはどのクロックですか?i.MX6シリーズ・ファームウェア・ガイドおよびi.MX6アプリケーション・プロセッサ・リファレンス・マニュアルでは、GPMIのタイミング・ダイアグラムに「dev_clk」と表示されています。「dev_clk」が実際に何であるかについての定義がわかりません。「dev_clk」とは何か教えていただけますか?日時:i.MX6ULLアプリケーションプログラミングリファレンスマニュアルのGPMICLKはどのクロックですか?

では、LinuxはGPMICLKをgpmi_ioと呼んでいるようですか?私はこれをclk_summaryで見つけました:

                    enfc_podf       0        0        0    22000000          0     0  50000         Y
                         gpmi_io       0        0        0    22000000          0     0  50000         N

GPMICLKは、先ほど送ったドキュメントによるとenfc_clk_podfから派生しており、デフォルトの除数は1と書かれているので、私の場合、少なくともLinuxカーネルによると、GPMICLKは22MHzであることを意味します。

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