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
我也打了这个补丁,可是LCD的参数一直配置不对,导致图片无法正确显示,能否问下你的图片是多少BPP的?LCD参数是怎么设置的?能否提供参考下
#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
我现在的情况是UBOOT和KERNEL的LOGO都可以显示了,但是有时候启动的时候会有(50%的概率吧)
mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq
这个信息,然后内核就一直无法显示LOGO
uboot环境变量添加fbmem=30M vmalloc=400M试试
你好,应用patch之后,你是使用原有mmc读取SD卡中的图片显示吗?我这里读取SD卡中的图片不能显示,但是写framebuffer是没有问题的,请问是怎么回事呢?非常感谢
您好,
问题没看懂,请用中文描述一下问题,我来翻成英文。
谢谢。
根据 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系统在显示画面时,整个系统就不往下运行了,包括终端
Hi Wang,
是不是这样描述你的问题:
-----------
(1)当你打了u-boot logo patch之后,logo的显示都是正常的,但是android OS无法启动了(无法进入到android GUI界面)
(2)在打这个patch之前,是否android系统可以正常启动?
----------
请给我提供以下信息:
(1)终端console上的 u-boot/linux/android 启动信息
(2)android LOG信息。
最好用附件形势贴上来。
谢谢!
Hi , wang,
从你的LOG来看,你是用NFS方式启动的系统,tftp下载的内核。感觉你的NFS文件系统可能有点问题。你这样做一下:
(1)仍然从NFS启动。
把NFS路径下 data目录里的数据都删掉,然后重启板子,再看能否启动。
(2)从SD卡或者eMMC启动。
如果NFS还不行,你把系统烧进eMMC Flash里或者SD卡里,启动板子,看能否启动。
注:你打的补丁是用来在u-boot上显示启动LOGO,不应该影响到文件系统的启动。
Regards,
Yongxin
Dear Huang:
这两种方法以前都测试过了,都不能启动
应该是内核的patch,影响了android的启动,但是由于终端也会阻塞,对调试有很大影响。
不知道你们有没有见过这种现象??
Hi Wang,
如果修改过源码,可能会有这样的情况发生。
你试一下在未修改过的源码上打patch。
Regards,
Yongxin
Dear Huang:
由于硬件变更,未修改的代码是启动不起来的