2179667_ja-JP

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

2179667_ja-JP

2179667_ja-JP

i.MX 8MPのカスタムHDMI解像度

こんにちは、みんな、
HDMI経由で3840x726@60と3840x1080@60を表示したいのですが、「ドライバ/phy/freescale/phy-fsl-samsung-hdmi.c」のsamsung_phy_pll_cfg[]に必要なHDMI PLL設定を追加していただけると助かります。

ありがとう。

Re: Custom HDMI Resolution on i.MX 8MP

こんにちは、

lf-6.22.y のsamsung-hdmi-phy-pll-カリキュレータと phy-fsl-samsung-hdmi.c ファイルを参照し、それに応じて static const struct phy_config phy_pll_cfg[] 配列に新しいエントリを追加しました。

その結果、ディスプレイ出力が正常に動作するようになりました。

Re: Custom HDMI Resolution on i.MX 8MP

こんにちは、

PLLは、HDMIシリアライザに必要なクロック周波数を生成するために不可欠です。HDMIシリアライザは、パラレルデータを高速シリアルストリームに変換してHDMI出力します。phy phy-fsl-samsung-hdmi.cでは、PLLはディスプレイに必要な特定のピクセルクロックに合わせてパラメータ(多くの場合、ルックアップテーブル(LUT)に格納)で設定されます。これは、新しいモードの追加や、様々な解像度に合わせてPLL設定を調整することに関する議論で見られます。
 

2560×14402560クロス1440
2560×1440
そして、
 

1920×12001920クロス1200
1920×1200
 
 
 
 
 
 
 
PLL の使用方法:
  • クロック生成:
    PLL はリファレンス クロック (APB やリファレンス クロックなど) を受け取り、HDMI シリアライザーが正しく動作するために必要な正確なクロック周波数を生成します。 
     
     
  • さまざまなモードの構成:
    様々なビデオモードをサポートするために、ドライバはサポートされるピクセルクロック周波数ごとに特定のパラメータを使用してPLLを設定する必要があります。これは通常、必要な設定を含むルックアップテーブル(LUT)によって処理されます。 
     
     
  • ドライバとハードウェアの相互作用:
    phy-fsl-samsung-hdmi.cファイルには、ディスプレイが機能するために必要なタイミングとクロックの仕様を満たすように、Samsung HDMI PHY の一部であるハードウェア PLL を構成するコードが含まれています。 
     
     
  • ドライバ開発:
    最近のパッチで新しいLUTエントリを追加し、PLLロック検出メカニズムを調整したことからもわかるように、より多くのモードのサポートを追加し、PLL設定を微調整することで、ドライバの機能を拡張する取り組みが継続されています。
     
     
    よろしくお願いします。
Re: Custom HDMI Resolution on i.MX 8MP

こんにちは、

私は Yocto Scarthgap リリースを使用してプロジェクトに取り組んでおり、 3840x1080 @ 60Hzのカスタム HDMI 解像度を有効にしようとしています。

このモードに必要なピクセル クロックは266.64 MHzです。これをサポートするために、ドライバ/phy/freescale/phy-fsl-samsung-hdmi.cのsamsung_phy_pll_cfg[]配列に次のエントリを追加しました。ファイル:

C
 
{ 
    // 3840x1080@60Hz (266.64 MHz)
    266640000, {
        0x00, 0xD1, 0x6B, 0x15, 0x89, 0x05, 0x88, 0x45,
        0x4F, 0x30, 0x33, 0x65, 0x30, 0xB8, 0x24, 0x80,
        0x6C, 0xF2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32,
        0x60, 0x8F, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
        0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0xE0, 0x83, 0x0F, 0x3E, 0xF8, 0x00, 0x00,
    },
},

ただし、この変更を適用してシステムを起動した後、ディスプレイに何も出力されません (黒い画面)。これらの PHY PLL レジスタ値がハードウェアに対して間違っていると思われます。

私の主な質問は、特定のクロック レートに対して Samsung HDMI PHY の正しいレジスタ設定を生成CAN PLL 構成ツールがあるかどうかです。

現在の Yocto Scarthgap 環境ではビルド エラーが発生するため、メインライン カーネルの最新の phy-fsl-samsung-hdmi.c ドライバーをそのまま使用することはできないことに注意してください。

アドバイスや提案があれば、ぜひお願いします。

よろしくお願いします。

Re: Custom HDMI Resolution on i.MX 8MP

こんにちは、

HDMI 経由で 3840x726@60 および 3840x1080@60 を実現するには、 samsung_phyドライバの正確な HDMI PLL 構成は特定のドライバ バージョンによって異なりますが、選択した解像度とリフレッシュ レートに必要なデータ レートに合わせてピクセル クロック (PCLK)、ドット クロック、または TMDS (遷移最小差動信号) クロックを調整する必要があります。 


 
1. 必要な帯域幅を決定する
まず、各解像度の合計ピクセル レート (またはドット クロック) を計算します。
  • 3840x726@60Hz : (3840 * 726 * 60) / 1,000,000 = 約167.96 MHz
  • 3840x1080@60Hz : (3840 * 1080 * 60) / 1,000,000 = 約248.83 MHz
 
2. samsung_phy_ドライバ構成を見つける
  • samsung_phy_ドライバーのソースコードを見つけます。
    クロッキングと PLL がどのように制御されるかを確認するには、関連するドライバ ファイル (たとえば、Linux カーネルのdrivers/phy/samsung/ ) を見つける必要があります。
  • 既存の PLL 構成を調べます。
    ドライバ内のクロック生成または PLL セットアップに関連する機能を探します。
3. PLL構成を調整し、dtbを設定します。
 
  • PLL (位相ロックループ) またはクロック コントローラを制御するsamsung_phy_ドライバ内の適切なレジスタを見つける必要があります。
  • 希望する解像度に基づいて 正しいPCLKを生成するようにPLLを設定します。

よろしくお願いします。

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