こんにちは、みんな、
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 = {
タイミング= <9211_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のクロック位相をシフトできますか?
よろしくお願いします。
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に信号がない場合、通常はパネルタイミングが原因ではありません。チェック:
ソフトウェアが誤ったチャネル/レーン/データ幅設定を引き起こすことがありますが、差動ペアの片側が欠けているとハードウェア、パッド、ルーティング、終端、または測定の問題を強く示唆しています。
Q3: i.MX8MP LVDSの場合、LVDSのクロック位相をシフトするための通常のデバイスツリー構成はありません。クロック周波数、タイミング、PHY設定を修正してください。