2413629_ja-JP

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

2413629_ja-JP

2413629_ja-JP

I.MX95 LVDSクロック出力は変更できません

こんにちは、みんな、

Q1:
カーネルのlf-6.12yでシングルポートのLVDSディスプレイを作っています。ドライバ/GPU/drm/panel/panel-simple.cで自分でパネル設定を追加しましたが、クロックピンを測定しているときはいつも150MHz前後でした。しかし、他の信号は正常に機能していた。

しかし、lf-6.18yではクロック出力は正しくでき、デュアルポートモードではクロック変更も両バージョンで問題ありません。これは既知の問題でしょうか、それとも私のミスでしょうか?なぜなら、いくつかの理由でこの問題をlf-6.12yで解決できればと思っているからです。

以下は私の設定です

panel-simple.c:

static const struct display_timing lt9211_test_timing = {
.pixelclock= { 35916000, 35916000, 35916000 },
.hactive= { 280, 280, 280 },
.hfront_porch= { 40, 40, 40, },
.hback_porch= { 60, 60, 60 },
.hsync_len= { 30, 30, 30 },
.vactive= { 1424, 1424, 1424 },
.vfront_porch= { 15, 15, 15 },
.vback_porch= { 17, 17, 17},
.vsync_len= { 4, 4, 4 },
.フラグ= DISPLAY_FLAGS_DE_HIGH、
};

static const struct panel_desc lt9211_test = {
タイミング= &lt9211_test_timing、
.bpc= 8、
.num_timings= 1、
。サイズ= {
。幅= 292、
。身長= 111、
}、
.bus_format= MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA、
.bus_flags= DRM_BUS_FLAG_DE_HIGH、
.connector_type= DRM_MODE_CONNECTOR_LVDS、
};


デバイスツリー内の私の lvds 設定
&{/}{
lvds1_panel {
//compatible = "3ascreen,sa123hwv-l51";
compatible = "lt9211_test";
バックライト = <&lvds_backlight>;
ステータス = "正常";
ポート {
panel_in: エンドポイント {
リモートエンドポイント = <&lvds1_out>;
};
};
};

Q2:
特定の条件下では、同じハードウェア内でデータレーンとクロック間でLVDSの共通電圧が整列しないこともあります。あるいは、LVDS1のD3Pには信号があるがD3Nには信号がないなど、何らかの信号が欠落している場合もある。なぜこうなったのか、何かアイデアはありますか?一部のプログラムがこれを引き起こす可能性はありますか?

Q3:
どんな設定でもLVDSのクロック位相をシフトできますか?

よろしくお願いします。

Re: I.MX95 LVDS clock output can not be changed

Q1: これはおそらくあなたのパネルではなく、既知のlf-6.12y LVDSクロックドライバーの制限やバグである可能性が高いです。タイミングのミス。シングルポートのLVDSでは、ドライバ/クロック経路が約148.5/150に強制または丸められている可能性が高いですMHzlf-6.18yが動作するため、実用的な解決策はLVDS/LDBクロックの変更をlf-6.18yからlf-6.12yにバックポートするか、6.12y LVDSドライバー/PLLクロックテーブルをパッチして35.916 MHzピクセルクロックを可能にすることです。

git diff lf-6.12.y..lf-6.18.y -- \

ドライバ/GPU/DRM/ブリッジ/IMX/IMX95-LDB.C

ドライバ/phy/freescale/phy-fsl-imx8mp-lvds.c

ドライバ/clk/imx/clk-imx95-blk-ctl.c \

arch/arm64/boot/dts/freescale/imx95.dtsi \

arch/arm64/boot/dts/freescale/imx95-*-lvds*



Q2: 例えばD3Pには信号があるのにD3Nに信号がない場合、通常はパネルタイミングが原因ではありません。チェック:

  • LVDSチャネルのイネーブルメント:LVDS0/LVDS1のミスマッチ
  • fsl、データ幅 / fsl、データマッピング
  • PHYイネーブルメント
  • コネクタまたは基板の断線/短絡
  • はんだ付けの問題
  • 終端/プロービング方法
  • LVDS出力ピンが損傷している可能性があります

ソフトウェアが誤ったチャネル/レーン/データ幅設定を引き起こすことがありますが、差動ペアの片側が欠けているとハードウェア、パッド、ルーティング、終端、または測定の問題を強く示唆しています。


Q3: i.MX8MP LVDSの場合、LVDSのクロック位相をシフトするための通常のデバイスツリー構成はありません。クロック周波数、タイミング、PHY設定を修正してください。

Re: I.MX95 LVDS clock output can not be changed本当にありがとうございます。
LVDSパッチはとても役に立ちます。
タグ(1)
評価なし
バージョン履歴
最終更新日:
1週間前
更新者: