U-bootにi.MX93 LVDSドライバを追加
はじめに
プラットフォーム: i.MX93 EVK
Uboot: origin/lf_v2022.04(lf-6.1.1-1.0.0)
i.MX93のLVDS設計とメディアブロック制御は、i.MX8MPlusと非常によく似ています。この記事では、U-bootにおいてドライバを実装します。
U-bootにadp5585のPWMドライバを実装する、0001-Add-fake-adp5585-pwm-driver.patchを適用する必要があります。これは、PWMドライバフレームワークのみを実装するフェイクのPWMドライバです。現時点では、PWM値を使用して明るさを調整することはできませんが、バックライトを有効にするにはこれで十分です。
その後、0002-Add-imx93-lvds-and-panel-driver.patch を適用してください。このパネルにはNXPのロゴが表示されます。
https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/dy1212w-4856:DY1212W-4856
ポーティングに関するヒント
1. drivers/video/simple_panel.c でパネルのタイミングを変更します。
/* define your panel timing here and
* copy it in simple_panel_get_display_timing */
static const struct display_timing boe_ev121wxm_n10_1850_timing = {
.pixelclock.typ = 71143000,
.hactive.typ = 1280,
.hfront_porch.typ = 32,
.hback_porch.typ = 80,
.hsync_len.typ = 48,
.vactive.typ = 800,
.vfront_porch.typ = 6,
.vback_porch.typ = 14,
.vsync_len.typ = 3,
};
static int simple_panel_get_display_timing(struct udevice *dev,
struct display_timing *timings)
{
memcpy(timings, &boe_ev121wxm_n10_1850_timing, sizeof(*timings));
return 0;
}
2.VIDEO_PLLを変更する
VIDEO_PLLは、ピクセルクロックの7倍になります。デフォルトパネルの場合、ピクセルクロックは71.143MHzで、VIDEO_PLLは498MHzです。
static struct imx_fracpll_rate_table imx9_fracpll_tbl[] = {
FRAC_PLL_RATE(1000000000U, 1, 166, 4, 2, 3), /* 1000Mhz */
FRAC_PLL_RATE(933000000U, 1, 155, 4, 1, 2), /* 933Mhz */
FRAC_PLL_RATE(700000000U, 1, 145, 5, 5, 6), /* 700Mhz */
FRAC_PLL_RATE(498000000U, 1, 166, 8, 0, 1),/* rate, rdiv, mfi, odiv, mfn, mfd */
FRAC_PLL_RATE(484000000U, 1, 121, 6, 0, 1),
FRAC_PLL_RATE(445333333U, 1, 167, 9, 0, 1),
FRAC_PLL_RATE(466000000U, 1, 155, 8, 1, 3), /* 466Mhz */
FRAC_PLL_RATE(400000000U, 1, 200, 12, 0, 1), /* 400Mhz */
FRAC_PLL_RATE(300000000U, 1, 150, 12, 0, 1),
};
3. dts の lcdif ノードを変更します。
<498000000>, <71142857>, <400000000>, <133333333>;
, , <MEDIA_AXI>,<MEDIA_APB>
&lcdif {
status = "okay";
- assigned-clock-rates = <484000000>, <121000000>, <400000000>, <133333333>;
+ assigned-clock-rates = <498000000>, <71142857>, <400000000>, <133333333>;
};
View full article