at_ito
2016年1月8日 18時19分
代理店の福西電機様から、三重電子の4.3inch LCD(型番: PH480272T006-IZB01)をお借りできたので、Armadillo-440で動かしてみました。
動かした際の手順を以下に紹介します。
1. LCD仕様
1.1. 機械的仕様
製品型番 | PH480272T006-IZB01 |
画面サイズ | 4.3 インチ |
画素数 | 480 × 3(RGB) × 272 単位: dot |
タッチパネル | 4 線抵抗感圧式 |
1.2. 入力信号タイミング特性
項目 | Min | Typ | Max | 単位 |
ドット・クロック信号 周波数 | 5 | 9 | 12 | MHz |
水平 周期 | 490 | 531 | 605 | DCLK |
水平 表示範囲 | - | 480 | - | DCLK |
水平 バック・ポーチ | 8 | 43 | - | DCLK |
水平 フロント・ポーチ | 2 | 8 | - | DCLK |
水平 パルス幅 | 1 | - | - | DCLK |
垂直 周期 | 275 | 288 | 335 | Line |
垂直 表示領域 | - | 272 | - | Line |
垂直 バック・ポーチ | 2 | 12 | - | Line |
垂直 フロント・ポーチ | 1 | 4 | - | Line |
垂直 パルス幅 | 1 | 10 | - | Line |
2. 動作確認環境
- 製品: Armadillo-440 + LCD拡張ボード
- LCD拡張ボードのLCD部分のみPH480272T006-IZB01に付け替え(※)
- Linuxカーネル: Linux-2.6.26-at25
- ユーザーランド: atmark-dist-20151218
※: PH480272T006-IZB01は、LCD拡張ボードに標準で接続されているLCDとほぼ同じピン配列、ケーブルとなっているためそのまま接続しています。もし、別のLCDで試す場合にはピン配列、ケーブルが接続できるかご確認ください。(接続できない場合は拡張ボードを作るなどの対応が必要です)
3. Linuxカーネルの修正
PH480272T006-IZB01は、Linuxカーネルにパラメーター等の設定がありませんので、 以下のようにLinuxカーネルのソースコードを修正して、PH480272T006-IZB01のパラメータを 追加してください。
============================================================ diff --git a/drivers/video/mxc/Kconfig b/drivers/video/mxc/Kconfig index c677cb6..4894f2f 100644 --- a/drivers/video/mxc/Kconfig +++ b/drivers/video/mxc/Kconfig @@ -59,6 +59,8 @@ config FB_MXC_MODE_FG100410DNCWBGT1 bool "FG100410DNCWBGT1" config FB_MXC_MODE_AA043MA01 bool "AA043MA01" +config FB_MXC_MODE_PH480272T006_IZB01 + bool "PH480272T006-IZB01" endchoice @@ -84,6 +86,7 @@ config FB_MXC_DEFAULT_VIDEOMODE default "FG050720DSSWDGT1" if FB_MXC_MODE_FG050720DSSWDGT1 default "FG100410DNCWBGT1" if FB_MXC_MODE_FG100410DNCWBGT1 default "AA043MA01" if FB_MXC_MODE_AA043MA01 + default "PH480272T006-IZB01" if FB_MXC_MODE_PH480272T006_IZB01 choice prompt "Default bpp" diff --git a/drivers/video/mxc/mxcfb_modedb.c b/drivers/video/mxc/mxcfb_modedb.c index 21a0dae..308fd8c 100644 --- a/drivers/video/mxc/mxcfb_modedb.c +++ b/drivers/video/mxc/mxcfb_modedb.c @@ -142,6 +142,12 @@ struct fb_videomode mxcfb_modedb[] = { FB_VMODE_NONINTERLACED, /* vmode */ 0, /* flag */ }, + { + "PH480272T006-IZB01", 30, 480, 272, 83334, 8, 43, 12, 4, 1, 1, + 0, + FB_VMODE_NONINTERLACED, + 0, + }, }; int mxcfb_modedb_sz = ARRAY_SIZE(mxcfb_modedb); @@ -223,6 +229,10 @@ static struct mxcfb_mode_disp mxcfb_mode_disp_db[] = { .name = "AA043MA01", .disp_iface = MXCFB_DISP_OE_ACT_HIGH, }, + { + .name = "PH480272T006-IZB01", + .disp_iface = MXCFB_DISP_OE_ACT_HIGH, + }, }; int mxcfb_disp_iface_from_mode(char *name) ============================================================
Linuxカーネルコンフィギュレーションの変更
前述のLinuxカーネルのソースコードの修正後、以下のカーネルコンフィギュレーションを変更してください。
============================================================ Device Drivers ---> Graphics support ---> *> Support for frame buffer devices ---> Default videomode (PH480272T006-IZB01) ---> ← のように変更 ============================================================
4. 動作確認
前述のLinuxカーネルへの変更を加えたものをビルドし、Armadilloに書き込んでください。
その後Armadilloを起動すると以下のようにLCDに画像が表示されます。
5. 注意事項
- ここではLCDの仕様をそのまま記載していますが、実際に使用される際には、LCDのデータシートを十分確認の上、動作確認をおこなってください。