How to keep uboot logo from uboot to kernel (LVDS ANDROID4.3 sabreauto)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to keep uboot logo from uboot to kernel (LVDS ANDROID4.3 sabreauto)

4,565 Views
强王
Contributor IV

Hi:

according to https://community.freescale.com/docs/DOC-98109

1: i copy uboot-imx\0001-Enable-uboot-logo-for-HDMI-LCD-and-LVDS.patch and apply them on UBOOT

use IPU_NUM  1,  DI_NUM  0,  LVDS_PORT 0,

now the uboot logo is display normal

2:

i copy the two patch files to Android kernel_imx folder and apply them on sabreauto

-- kernel_imx\0001-Keep-uboot-logo-for-Android-boot-supports-HDMI-LCD-a.patch

-- kernel_imx\0002-Bug-fix-for-uboot-logo-keep-patch.patch

qeustion:

1:

the system block  bootanimation

if i delete "service bootanim /system/bin/bootanimation"(in init.rc),it will block on systemui,

and the logo is still keep

2:

if i draw a red rect on fb0 by my test program  before block ,the rect display normal

it means:

if android draw will block ,test program draw sucess

Labels (3)
Tags (5)
0 Kudos
13 Replies

1,880 Views
linw
Contributor I

我也打了这个补丁,可是LCD的参数一直配置不对,导致图片无法正确显示,能否问下你的图片是多少BPP的?LCD参数是怎么设置的?能否提供参考下

0 Kudos

1,880 Views
强王
Contributor IV

#ifdef IPU_OUTPUT_MODE_LVDS
    // For LVDS, 1024*768 resolution
    #define DISPLAY_WIDTH    1024
    #define DISPLAY_HEIGHT    768

    #define DISPLAY_BPP        32
    #define DISPLAY_IF_BPP    24  // RGB666 interface

    #define DISPLAY_HSYNC_START    20
    #define DISPLAY_HSYNC_END        180
    #define DISPLAY_HSYNC_WIDTH    120

    #define DISPLAY_VSYNC_START    4
    #define DISPLAY_VSYNC_END        16
    #define DISPLAY_VSYNC_WIDTH    18


    #define DISPLAY_PIX_CLOCK    ((DISPLAY_HSYNC_START + DISPLAY_HSYNC_END + DISPLAY_HSYNC_WIDTH + DISPLAY_WIDTH) * (DISPLAY_VSYNC_START + DISPLAY_VSYNC_END + DISPLAY_VSYNC_WIDTH + DISPLAY_HEIGHT) * 60)
/*
    // For LVDS, 1920*1080 resolution, dual channel
    #define DISPLAY_WIDTH    1920
    #define DISPLAY_HEIGHT    1080
    #define DISPLAY_BPP        32
    #define DISPLAY_IF_BPP    24    // RGB24 interface

    #define DISPLAY_HSYNC_START    100
    #define DISPLAY_HSYNC_END        40
    #define DISPLAY_HSYNC_WIDTH    10

    #define DISPLAY_VSYNC_START    20
    #define DISPLAY_VSYNC_END        3
    #define DISPLAY_VSYNC_WIDTH    2

    #define DISPLAY_PIX_CLOCK        135000000  //(DISPLAY_HSYNC_START + DISPLAY_HSYNC_END + DISPLAY_HSYNC_WIDTH + DISPLAY_WIDTH) * (DISPLAY_VSYNC_START + DISPLAY_VSYNC_END + DISPLAY_VSYNC_WIDTH + DISPLAY_HEIGHT) * refresh rate (60Hz)
    #define LVDS_SPLIT_MODE  // For dual channel split mode.
*/
    #define DISPLAY_VSYNC_POLARITY            0
    #define DISPLAY_HSYNC_POLARITY            0
    #define DISPLAY_CLOCK_POLARITY            1
    #define DISPLAY_DATA_POLARITY                0
    #define DISPLAY_DATA_ENABLE_POLARITY        0

    #define IPU_NUM            1  // 1 for IPU1, 2 for IPU2.
    #define DI_NUM            0  // 0 for DI0, 1 for DI1.
    #define LVDS_PORT        0  // 0 for LVDS0, 1 for LVDS1.
    #define DI_CLOCK_EXTERNAL_MODE  //When clock external mode was defined, the DI clock root will be PLL3 PFD1,
                                //without this macro, the DI root clock is IPU internal clock.
#endif

0 Kudos

1,880 Views
linw
Contributor I

我现在的情况是UBOOT和KERNEL的LOGO都可以显示了,但是有时候启动的时候会有(50%的概率吧)

mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq

这个信息,然后内核就一直无法显示LOGO

0 Kudos

1,880 Views
强王
Contributor IV

uboot环境变量添加fbmem=30M  vmalloc=400M试试

0 Kudos

1,880 Views
1182614726
Contributor III

你好,应用patch之后,你是使用原有mmc读取SD卡中的图片显示吗?我这里读取SD卡中的图片不能显示,但是写framebuffer是没有问题的,请问是怎么回事呢?非常感谢

0 Kudos

1,880 Views
Yongxin
NXP Employee
NXP Employee

您好,

问题没看懂,请用中文描述一下问题,我来翻成英文。

谢谢。

0 Kudos

1,880 Views
强王
Contributor IV

根据 https://community.freescale.com/docs/DOC-98109

把UBOOT和内核的patch的打进去之后,UOOT能够正常显示图片

问题就来了:

1:假如我把内核的logo也打开,内核的logo也能正常显示(也就是UBOOT和内核的LOGO都能显示,这表示UBOOT的配置在内核中是好用的)

     但是当android启动bootanim 服务时(开机动画服务),整个系统就阻塞了,不往下运行了,包括COM终端也阻塞了

2:假如我把bootanim 这个服务不开机启动,系统运行到systemui这个服务时, 系统又阻塞了。

     但是在阻塞前,我自己在fb0上画图是能正常显示的

总之,就是打完这个patch后,android系统在显示画面时,整个系统就不往下运行了,包括终端

0 Kudos

1,880 Views
Yongxin
NXP Employee
NXP Employee

Hi Wang,

     是不是这样描述你的问题:

-----------

(1)当你打了u-boot logo patch之后,logo的显示都是正常的,但是android OS无法启动了(无法进入到android GUI界面)

(2)在打这个patch之前,是否android系统可以正常启动?

----------

请给我提供以下信息:

(1)终端console上的 u-boot/linux/android 启动信息

(2)android LOG信息。

最好用附件形势贴上来。

谢谢!

0 Kudos

1,880 Views
强王
Contributor IV

Dear Huang,

(1)当你打了u-boot logo patch之后,logo的显示都是正常的,但是android OS无法启动了(无法进入到android GUI界面)

               ----->可以这么理解

(2)在打这个patch之前,是否android系统可以正常启动?

               ------〉之前是可以正常启动的

附件是LOG

!

0 Kudos

1,880 Views
Yongxin
NXP Employee
NXP Employee

Hi , wang,

   从你的LOG来看,你是用NFS方式启动的系统,tftp下载的内核。感觉你的NFS文件系统可能有点问题。你这样做一下:

(1)仍然从NFS启动。

把NFS路径下 data目录里的数据都删掉,然后重启板子,再看能否启动。

(2)从SD卡或者eMMC启动。

如果NFS还不行,你把系统烧进eMMC Flash里或者SD卡里,启动板子,看能否启动。

注:你打的补丁是用来在u-boot上显示启动LOGO,不应该影响到文件系统的启动。

Regards,

Yongxin

0 Kudos

1,880 Views
强王
Contributor IV

Dear Huang:

     这两种方法以前都测试过了,都不能启动

     应该是内核的patch,影响了android的启动,但是由于终端也会阻塞,对调试有很大影响。

     不知道你们有没有见过这种现象??

0 Kudos

1,880 Views
Yongxin
NXP Employee
NXP Employee

Hi Wang,

如果修改过源码,可能会有这样的情况发生。

你试一下在未修改过的源码上打patch。

Regards,

Yongxin

0 Kudos

1,880 Views
强王
Contributor IV

Dear Huang:

     由于硬件变更,未修改的代码是启动不起来的

0 Kudos