How to change the numbers of boot logo from four to two for  Android kk4.4.3_2.0.0-beta on 3.10 linux kernel on SABRASD DQ&DL board

Document created by Sanshan Zhang Employee on Oct 30, 2014
Version 1Show Document
  • View in full screen mode

Introduction

There are four boot logos in kk4.4.3_2.0.0-beta  system at first: uboot logo\linux logo\android init logo\android animation. We plan to use uboot logo to cover linux logo and android init logo so that we  can combine first three logoes into one logo.This guide provides a step by step explanation of how to transfer uboot UI to  linux kernel and android init smoothly on board sasbresd_6dq sabresd_6dl.

The core ideas of the patch:

  1. need to  keep display clock from uboot to kernel.
  2. When kernel boot up , we do not break the frambuffer for that it stores uboot logo data.
  3. need to disable show android init logo.

what do the patch do in uboot

1、 can not shut down video after uboot is over.The patch delete releted code in function  arch_preboot_os()

2、 keep hsp clock (ipu clock) the same with linux 3.10

the below is the setting in sabrasd DQ board:

osc(24MHz) -> pll2(528MHz) -> mmdc_ch0(528MHz) -> ipu1_hsp_clk(264MHz)

the below is the setting in sabrasd DL board:

osc(24MHz) -> pll3(480MHz) -> pll3_pdf1(540MHz) -> ipu1_hsp_clk(270MHz)

3、 keep pixel clock the same with linux 3.10

the below is the setting in sabrasd DQ board:

osc(24MHz) -> pll2(528MHz) -> pll2_pfd0(452.57MHz) ->

ldb_di1(64.65MHz) -> ipu1_di1(64.65MHz) -> ipu1_pixel(64.65MHz)

the below is the setting in sabrasd DL board:

osc(24MHz) -> pll2(528MHz) -> pll2_pfd0(452.57MHz) ->

ldb_di1(64.65MHz) -> ipu1_di1(64.65MHz) -> ipu1_pixel(64.65MHz)

4、 keep pwm clock

In kernel,there is a 100% duty pwm to drive lvds panel.So the patch set the pad SD1_DATA3 to a 100% duty pwm pin.

5、 add fbbase and fbmem to bootargs

the fbbase is the uboot logo’s phy addr. So the patch pass the parament to kernel through cmdline.we should allocate address aligned 1M for linux 3.10 reserve address aligned by 1 M.

what do the patch do in linux 3.10

1、 reserve the address which come from fbbase

2、 keep  ipu related clock when system init the clock in clk-imx6q.c

 

The patch  enable ldb_di1_clkipu1_di1_clkipu1_clkpwm1_clk.  Do not disable pll2 and pll3 related clock for the clock may be the source of  ipu clock.

 

Although we enable ldb_di1_clkipu1_di1_clk and so on in register, we need to use the function clk_prepare_enable(). Because  the system may close some clocks for their user count is 0(if we use clk_prepare_enable(),it and it’s parent  user count will add 1 )

 

3、 disable cabc which will light the panel according the content.

Change cabc_enable in dts file.

 

4、 Move global alpha and color key setting in probe  after framebuffer is registered. Delay       register IPU interrupts used by framebuffer  until IPU hsp clock is enabled.Because global alpha and color key setting and register IPU interrupts may disable hsp clock.

 

disable show android init logo

android init logo is the text"android_". we need disable to show it so that the former three logos looks the same logo.The patch 92-system_core solve this problem.

 

The environment of the patch:

Hardware: SABRASD DQ&DL

Soft ware: kk4.4.3_2.0.0-beta on linux 3.10

 

How to use the patch:

$ cd my_android/kernel_imx/

$ patch -p1 < ./92-kernel_v2

 

$ cd my_android/bootable/bootloader/uboot-imx/

$ patch -p1 < ./92-uboot_v2    

 

$ cd my_android/system/core

$ patch -p1 < 92-system_core

 

Note:

     1、 If you want to have this feature on sabraSD dq&dl board,this patch is OK .After you use this patch, you want to change to  other board such as sx, you may meet this problem that the kernel logo penguin don’t appear.

You may change this file:

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

Outcomes