Armadilloフォーラム

CON11 の LCD_LD0 ~ LCD_LD17 について

tomi_vhi

2023年5月23日 11時58分

CON11 の LCD_LD0 ~ LCD_LD17 ですが、それぞれのbitはどの色になりますか?
別のLCDにつなごうと思っていますが、ハードウェアマニュアルに書いていなかったので、わかりませんでした。

DATA IMAGE 社製 LCD(FG040360DSSWBG03)のピン配置を参考にしようと思いましたが、
FG040360DSSWBG03 のデータシートがEOL?で見つからず、わかりませんでした。

予想で書きますが、下記で合っていますか?
LCD_LD17~12:B5~B0
LCD_LD11~6:G5~G0
LCD_LD5~0:R5~R0

よろしくお願いいたします。

コメント

at_matsuzaka

2023年5月23日 12時58分

松坂です。

確認したところ、以下の接続になっていました。
LCD_LD17~12:R7~R2
LCD_LD11~6:G7~G2
LCD_LD5~0:B7~B7
Armadillo-460は18bitカラー出力ですが、FG040360DSSWBG03は24bitカラーのため、LCD側の各色下位2bit(R1,R0..)はGNDに接続して使っています。

LCD拡張ボードの回路図が公開されていますので、そちらも参考にしてください。
https://armadillo.atmark-techno.com/resources/documents/armadillo-400/s…

at_mizo

2023年5月23日 13時02分

溝渕です。

> CON11 の LCD_LD0 ~ LCD_LD17 ですが、それぞれのbitはどの色になりますか?

https://www.nxp.jp/products/processors-and-microcontrollers/arm-process…

よりダウンロード可能な、
リファレンス・マニュアル(i.MX25 Multimedia Applications Processor Reference Manual)
に記載があります。

まず、
Table 33-1. Supported Panel Characteristics
より、18Bits/Pixelの場合はRGB666になります。

次に信号線との対応は、
Figure 33-17. LCDC Interface 18-bit Timing for Active Matrix Color Panels
より確認でき、以下のようになります。

LD17: R5
:(省略)
LD12: R0
LD11: G5
:(省略)
LD6: G0
LD5: B5
:(省略)
LD0: B0

> 別のLCDにつなごうと思っていますが、ハードウェアマニュアルに書いていなかったので、わかりませんでした。

別のLCDを接続する場合は、少なくとも以下の対応を行う必要があります。

Linuxカーネルソースの以下のファイルにビデオタイミングを追加し、
drivers/video/mxc/mxcfb_modedb.c

以下のマニュアルに記載のコンフィギュレーションの変更が必要になるかと思います。
https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…

tomi_vhi

2023年5月23日 15時21分

> Figure 33-17. LCDC Interface 18-bit Timing for Active Matrix Color Panels
> より確認でき、以下のようになります。
>
> LD17: R5
> :(省略)
> LD12: R0
> LD11: G5
> :(省略)
> LD6: G0
> LD5: B5
> :(省略)
> LD0: B0
ご回答ありがとうございます。RGB666のピン配置について了解しました。
 
> Linuxカーネルソースの以下のファイルにビデオタイミングを追加し、
> drivers/video/mxc/mxcfb_modedb.c
上記ソースの「AA043MA01」の部分の後ろに同じように名前や解像度やタイミングを変えたものを追加(2か所)して、
カーネルのコンフィグ(MXC Fremebuffer Support)で変更する流れでしょうか?
とりあえずはやってみようと思います。

at_mizo

2023年5月23日 15時31分

溝渕です。

> 上記ソースの「AA043MA01」の部分の後ろに同じように名前や解像度やタイミングを変えたものを追加(2か所)して、
> カーネルのコンフィグ(MXC Fremebuffer Support)で変更する流れでしょうか?

そうですね。上記で合っています。

tomi_vhi

2023年6月1日 16時18分

いつもお世話になります。渡邊です。
800x600のLCD「G104AGE-L02」の名前を登録し、添付のように設定したあと、下記のようにカーネルをビルドしました。
Armadillo-460に書き込みましたが、fbset と打つと下記のように出てLCDの設定が変更されていないように見えます。(繋いだLCDも表示しない)

[root@armadillo460-0 (ttymxc1) ~]# fbset

mode "480x272-60"
# D: 9.072 MHz, H: 17.280 kHz, V: 60.000 Hz
geometry 480 272 480 544 16
timings 110229 35 5 6 8 5 2
accel false
rgba 5/11,6/5,5/0,0/0
endmode

何が間違っているのでしょうか?

手順
① mxcfb_modedb.c の2か所を変更
・1ヶ所目
{
"G104AGE-L02", 60, 800, 600, 25000, 114, 112, 10, 15, 30, 3,
0, /* sync */
FB_VMODE_NONINTERLACED, /* vmode */
0, /* flag */
},
・2ヶ所目
{
.name = "G104AGE-L02",
.disp_iface = MXCFB_DISP_OE_ACT_HIGH,
},
② Kconfig を下記のように変更
config FB_MXC_MODE_G104AGE-L02
bool "G104AGE-L02"
③ 添付ファイルのようにチェックし保存
④ 下記を実行
atmark@atde3:~/linux-2.6.26-at31$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
atmark@atde3:~/linux-2.6.26-at31$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- LOADADDR=0x80008000 uImage
atmark@atde3:~/linux-2.6.26-at31$ cd ../atmark-dist
atmark@atde3:~/atmark-dist$ make
⑤ 出来上がった「linux.bin.gz」と「romfs.img.gz」を 「hermit.exe(Windows)」で Armadillo-460に書き込み。

Linux は、今まで触ったことがなく最近触りだしとところで見よう見まねでやっているので、間違ったやり方をしているのかもしれません。
よろしくお願いいたします。

ファイル ファイルの説明
Screenshot.png

at_mizo

2023年6月1日 16時39分

溝渕です。

以下のように修正してみてください。

> ② Kconfig を下記のように変更
> config FB_MXC_MODE_G104AGE-L02
> bool "G104AGE-L02"

他のconfigurationと命名規則を合わせて、"-"を"_"に変更し、

config FB_MXC_MODE_G104AGE_L02
	bool "G104AGE-L02"

以下を追加することで、デフォルトのビデオモードとして動作します。

config FB_MXC_DEFAULT_VIDEOMODE
	string
	depends on FB_MXC
	default "Sharp-QVGA" if FB_MXC_MODE_SHARP_QVGA
 :snip
	default "G104AGE-L02" if FB_MXC_MODE_G104AGE_L02 //この行を追加

> ③ 添付ファイルのようにチェックし保存
> ④ 下記を実行
> atmark@atde3:~/linux-2.6.26-at31$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
> atmark@atde3:~/linux-2.6.26-at31$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- LOADADDR=0x80008000 uImage
> atmark@atde3:~/linux-2.6.26-at31$ cd ../atmark-dist
> atmark@atde3:~/atmark-dist$ make
> ⑤ 出来上がった「linux.bin.gz」と「romfs.img.gz」を 「hermit.exe(Windows)」で Armadillo-460に書き込み。

ビルド手順は、以下のドキュメントを参考にしみてください。
https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…

コンフィギュレーションの変更は、以下を参考にしてみてください。
https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…

uImageの生成は不要です。

ちなみに、
~/atmark-dist/linux-2.6.x
というシンボリックリンクを作ったと思いますが、その実態は、
~/linux-2.6.26-at31
ですか?

tomi_vhi

2023年6月2日 12時02分

ハイフンをアンダーバーにしたところ、添付画像のように画面が表示されました。
これで問題ないのでしょうか?
(周りがすべて真っ黒で、画面の左上にArmadilloのロゴ?)

「:snip」 があると menuconfig がエラーで開けなかったなったので、
これを削除して設定し make してできたファイルを Armadillo-460 に書き込んだところ、
下記のようになり変更できているようでした。

[root@armadillo460-0 (ttymxc1) ~]# fbset

mode "800x600-60"
# D: 40.000 MHz, H: 37.879 kHz, V: 60.317 Hz
geometry 800 600 800 1200 16
timings 25000 114 112 10 15 30 3
accel false
rgba 5/11,6/5,5/0,0/0
endmode

ファイル ファイルの説明
lcd.jpg

at_mizo

2023年6月2日 12時18分

溝渕です。

> ハイフンをアンダーバーにしたところ、添付画像のように画面が表示されました。
> これで問題ないのでしょうか?
> (周りがすべて真っ黒で、画面の左上にArmadilloのロゴ?)

恐らく問題無いと思います。

> 「:snip」 があると menuconfig がエラーで開けなかったなったので、

すみません。「省略」という意味で書きました。

tomi_vhi

2023年6月2日 12時48分

渡邊です。

>恐らく問題無いと思います。
> すみません。「省略」という意味で書きました。
承知しました。

対応、ありがとうございました。