はじめに
kk4.4.3_2.0.0-betaシステムには、最初は4つのブートロゴがあります:ubootロゴ\linuxロゴ\android initロゴ\androidアニメーション。ubootロゴを使用してLinuxロゴとandroidinitロゴをカバーし、最初の3つのロゴを1つのロゴに組み合わせる予定です。このガイドでは、オンボードsasbresd_6dq sabresd_6dlでubootUIをLinuxカーネルとandroidinitにスムーズに移行する方法を段階的に説明します。
パッチの核となるアイデア:
パッチはubootで何をしますか
1、ubootが終了した後、ビデオをシャットダウンすることはできません。パッチは関数arch_preboot_os()で削除されたコードを削除します
2、HSPクロック(IPUクロック)をLinux 3.10と同じに保ちます
以下は、sabrasd DQボードの設定です。
osc(24MHz) -> pll2(528MHz) -> mmdc_ch0(528MHz) -> ipu1_hsp_clk(264MHz)
以下は、sabrasd DLボードの設定です。
osc(24MHz) -> pll3(480MHz) -> pll3_pdf1(540MHz) -> ipu1_hsp_clk(270MHz)
3、ピクセルクロックをLinux3.10と同じに保ちます
以下は、sabrasd DQボードの設定です。
osc(24MHz) -> pll2(528MHz) -> pll2_pfd0(452.57MHz) ->
ldb_di1(64.65MHz)-> ipu1_di1(64.65MHz)-> ipu1_pixel(64.65MHz)
以下は、sabrasd DLボードの設定です。
osc(24MHz) -> pll2(528MHz) -> pll2_pfd0(452.57MHz) ->
ldb_di1(64.65MHz)-> ipu1_di1(64.65MHz)-> ipu1_pixel(64.65MHz)
4、PWMクロックを保持
カーネルでは、lvdsパネルを駆動するための100%デューティpwmがあります。したがって、パッチはパッドSD1_DATA3を100%デューティpwmピンに設定しました。
5、 fbbase と fbmem を bootargs に追加します
FBBase は uboot ロゴの PHY Addr です。したがって、パッチは cmdline.we は linux 3.10 の予約アドレスに対して 1M にアライメントされたアドレスを割り当てる必要があります。
パッチはLinux3.10で何をしますか
1、FBBASEからのアドレスを予約します
2、システムがclk-imx6q.cでクロックを初期化するときにIPU関連のクロックを保持します
パッチは、ldb_di1_clk、ipu1_di1_clk、ipu1_clk、pwm1_clkを有効にします。pll2 および pll3 関連のクロックをディスエーブルにしないでください。このクロックは、IPU クロックのソースである可能性があります。
レジスタでldb_di1_clk、ipu1_di1_clkなどを有効にしますが、clk_prepare_enable()という関数を使用する必要があります。システムはユーザー数が0であるため、一部のクロックを閉じる可能性があるため(clk_prepare_enable()を使用すると、それとその親ユーザー数は1を追加します)
3、内容に応じてパネルを点灯させるCABCを無効にします。
dtsファイルのcabc_enableを変更します。
4、フレームバッファが登録された後、プローブ内のグローバルアルファとカラーキーの設定を移動します。フレームバッファが使用するレジスタIPU割り込みを、IPU hspクロックがイネーブルになるまで遅延させます。グローバルアルファとカラーキーの設定とレジスタIPU割り込みにより、hspクロックが無効になる場合があります。
Android Init ロゴの表示を無効にする
Android Init のロゴはテキスト「android_」です。前の3つのロゴが同じロゴに見えるように、表示するには無効にする必要があります。パッチ 92-system_coreはこの問題を解決します。
パッチの環境:
ハードウェア: SABRASD DQ&DL
ソフトウェア:kk4.4.3_2.0.0-beta(linux3.10)
パッチの使用方法:
$ cd my_android/kernel_imx/
$パッチ-p1 < ./92-kernel_v2
$ cd my_android/bootable/bootloader/uboot-imx/
$パッチ-p1 < ./92-uboot_v2
$ cd my_android/システム/コア
$パッチ-p1 < 92-system_core
注記:
1、この機能をsabraSD dq&dlボードに使用したい場合は、このパッチでOKです。このパッチを使用した後、sxなどの他のボードに変更したい場合、カーネルのロゴペンギンが表示されないという問題に遭遇する可能性があります。
このファイルは次のように変更できます。
arch/arm/configs/imx_v7_android_defconfig
CONFIG_LOGO=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
#CONFIG_MX6_CLK_FOR_BOOTUI_TRANS=y
#CONFIG_MX6_CLK_FOR_BOOTUI_TRANS_LVDS_IPU1_DI1=y
すみません
これは機能しますか?
このパッチを適用しました。
ubootで「ipuv3_fb_shutdown()」を削除した後
カーネルで起動できません。
何か見落としていませんか?