Armadilloフォーラム

Armadillo610におけるブートローダー処理中のLCD表示

j_rod

2021年2月10日 22時29分

お世話になっております。

現在の開発でArmadillo610起動中に任意の画像を表示させようとしています。
フォーラムやFAQを調べたところ、
400・800シリーズのhermitのものは見受けられましたが
Armadillo610で使われているU-Bootでの情報が見当たりませんでした。

実現方法としてはこのパッチの内容のように
https://lists.atmark-techno.com/pipermail/armadillo/attachments/2013031…

初期化中にLCDのInitをどこかしらに追加するのだとは思い試行錯誤していますが、
過去に同様の実例や上記400シリーズのようなパッチ等はありますでしょうか。

何か情報等ございましたらお知らせいただきたく思います。

コメント

at_akihito.irie

2021年2月12日 16時10分

入江です。

ご参考までに過去にU-boot上でLCDに任意の画像を表示するパッチを作成して
いましたので添付いたします。

当方ではU-boot v2018.03-at8にパッチを適用し動作確認を行いました。
添付のパッチを両方とも適用後、以下のコマンドを実行してビルドしてください。

[ATDE]$ make clean #表示する画像を変更する場合は実行してください
[ATDE]$ make ARCH=arm armadillo-640_defconfig
[ATDE]$ make CROSS_COMPILE=arm-linux-gnueabihf- LOGO_BMP=tools/logos/logo.bmp #ここで表示したい画像を選択してビルド

※デフォルトコンフィギュレーションはArmadillo-640とArmadillo-610で共通です。

以上、よろしくお願いいたします。

ファイル ファイルの説明
0001-armadillo-640-add-lcd-support.patch
0002-armadillo-640-environmental-setting-specification-fo.patch

入江様

情報提供ありがとうございます。
開発キットの動作は確認できましたが、現在別のLCDでも試行しております。
LinuxカーネルでのLCDポーティングは出来ておりますので、
頂いたパッチのコードを参考に設定内容を変更すればいいとは思うのですが映りません。

当方の変更内容としましては(添付board_lcd_改変.c参照)
バス幅が24なのでboard_lcd.cのlcd_pads配列をDATA23まで拡張、また

・GP5[0]でLCD自体のEnable
・GP4[18]でバックライト制御(ON/OFFのみ)

を行っているためsetup_lcd内で共にHiアウトプットにしています。
またカーネルのdstiファイルの設定に倣い、環境変数のvideomodeも以下に変更しましたが上手く行きません。
(LCD_dtsi抜粋.txt参照)
videomode=video=ctfb:x:480,y:284,depth:24,mode:0,pclk:9000,le:48,ri:2 8 75,up:12,lo:2 8 37,hs:2 4 75,vs:2 4 37,sync:0,vmode:0

その他必要な設定や改変箇所はありますでしょうか?
お手数ですが、何かわかることがあればご教示いただきたく思います。

ファイル ファイルの説明
board_lcd_改変.c
LCD_dtsi抜粋.txt

at_akihito.irie

2021年2月15日 15時43分

入江です。

> videomode=video=ctfb:x:480,y:284,depth:24,mode:0,pclk:9000,le:48,ri:2 8 75,up:12,lo:2 8 37,hs:2 4 75,vs:2 4 37,sync:0,vmode:0

このri、lo、hs、vsの値ですが、標準値のみ設定して再度お試しいただけます
でしょうか。

"videomode=video=ctfb:x:480,y:284,depth:24,mode:0,pclk:9000,le:48,ri:8,up:12,lo:8,hs:4,vs:4,sync:0,vmode:0\0" \

入江様

情報提供ありがとうございます。
いただいた値で試行いたしましたがLCDは映りませんでした。
(printenvで変更後の値が反映されていることは確認できました)

BOOT中にLCDも光らないため、切り分けのために
・GP5[0]でLCD自体のEnable
・GP4[18]でバックライト制御(ON/OFFのみ)
を回路的に強制ONに改造して試したところ、BOOT中は白画面のままとなっており
そもそものIO設定の変更が上手く行っていないように思えます。

こちらでも引き続き関連ソースの調査を行いますが、
何か先ほどの改変内容におかしな点等ありましたらご教示いただきたく思います。

その後の試行につきまして、
dtsiの記述とピン制御法に少々不勉強なところがありまして、いろいろ調査したところ
以下の投稿を参考に
https://armadillo.atmark-techno.com/forum/armadillo/4004

i.MX 6ULL Applications Processor Reference Manualをダウンロードし
GPIOのレジスタアドレスを直アクセスしたところバックライトが点灯しましたので
この調子でその他データバスのIO設定も行ってみようと思います。