打印
[i.MX]

Android4.4.3--surfaceflinger导致系统起不来,ldb显示问题

[复制链接]
3659|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xishanggongzi|  楼主 | 2015-4-20 16:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
急!!!!!!好几天了,求指教!

我们板子参照sabresd设计的。之前使用系统android4.2.2,现在移植官网BSP android4.4.3
目前surfaceflinger导致系统启动失败。一直打印如下红色显示的信息。
request_suspend_state: wakeup (3->0) at 7437213333 (1970-01-01 00:00:04.592911333 UTC)
130|root@sabresd_6dq:/ # request_suspend_state: wakeup (0->0) at 956991823113 (1970-01-01 00:15:54.147520447 UTC)
init: untracked pid 6193 exited
request_suspend_state: wakeup (0->0) at 961401889447 (1970-01-01 00:15:58.557587114 UTC)
init: untracked pid 6221 exited

uboot环境变量设置setenv bootargs console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:dev=off video=mxcfb2:off video=mxcfb3:off vmalloc=400M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M androidboot.serialno=110ea1d4df646307
Logcat中:

I/SurfaceFlinger(  119): SurfaceFlinger is starting
I/SurfaceFlinger(  119): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
D/libEGL  (  119): loaded /system/lib/egl/libEGL_VIVANTE.so
D/libEGL  (  119): loaded /system/lib/egl/libGLESv1_CM_VIVANTE.so
D/libEGL  (  119): loaded /system/lib/egl/libGLESv2_VIVANTE.so
I/imx6.gralloc(  119): fb_device_open dispid:0, fb:0
I/imx6.gralloc(  119): 32bpp setting of Framebuffer with RGBA8888 format!
W/imx6.gralloc(  119): using (fd=18)
W/imx6.gralloc(  119): id           = DISP3 BG - DI1
W/imx6.gralloc(  119): xres         = 1024 px
W/imx6.gralloc(  119): yres         = 768 px
W/imx6.gralloc(  119): xres_virtual = 1024 px
W/imx6.gralloc(  119): yres_virtual = 2304 px
W/imx6.gralloc(  119): bpp          = 32
W/imx6.gralloc(  119): r            =  0:8
W/imx6.gralloc(  119): g            =  8:8
W/imx6.gralloc(  119): b            = 16:8
W/imx6.gralloc(  119): width        = 163 mm (159.568100 dpi)
W/imx6.gralloc(  119): height       = 122 mm (159.895081 dpi)
W/imx6.gralloc(  119): refresh rate = 60.01 Hz
I/FslHwcomposer(  119): using fsl hwc!!!
I/FslHwcomposer(  119): int hwc_device_open(const hw_module_t*, const char*, hw_device_t**),553
I/FslHwcomposer(  119): using fsl hwc!
I/FslHwcomposer(  119): fb0 is ldb
I/FslHwcomposer(  119):  device
I/FslHwcomposer(  119): fb1 is overlay device
W/FslHwcomposer(  119): open /sys/class/graphics/fb2 failed
W/FslHwcomposer(  119): open /sys/class/graphics/fb3 failed
W/FslHwcomposer(  119): open /sys/class/graphics/fb4 failed
W/FslHwcomposer(  119): open /sys/class/graphics/fb5 failed
I/FslHwcomposer(  119): hwcomposer: open framebuffer fb0


由于新内核使用dts。我跟Android4.2.2的内核相比较如下:
1、4.4.3时,使用LVDS接口,不知道是不是这么配置就可以了????
①kernel_imx/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
mxcfb1: fb@0 {
        compatible = "fsl,mxc_sdc_fb";
        disp_dev = "ldb";
        interface_pix_fmt = "RGB666";
        mode_str ="1024x600M@60";
        default_bpp = <32>;
        int_clk = <0>;
        late_init = <0>;
        status = "okay";
    };


2、4.2.2时,我们使用LVDS接口,值修改添加了两个文件,是OK的。
①kernel_imx/drivers/video/mxc/ldb.c
·  在ldb.c文件中staticstruct fb_videomode ldb_modedb[]数组中添加lvds参数,如下
{
    /* 1024 x 600 @ 60Hz */
    "BT101IW01", 60, 1024, 600, 21553,
    62, 62,
    13, 13,
    62, 12,
    0,
    FB_VMODE_NONINTERLACED,
    FB_MODE_IS_DETAILED,
    },

②kernel_imx/arch/arm/mach-mx6/board-mx6q_sabresd.c
  在board-mx6q_sabresd.c文件中添加BT101IW01模式,如下:
{ /*fb0*/
    .disp_dev = "ldb",
    .interface_pix_fmt = IPU_PIX_FMT_RGB666,
    .mode_str = "BT101IW01",
    .default_bpp = 32,
    .int_clk = false,
    .late_init = false,
    },


相关帖子

沙发
xishanggongzi|  楼主 | 2015-4-20 16:59 | 只看该作者
求助啊!是在不知道怎么回事啊!!!

使用特权

评论回复
板凳
xishanggongzi|  楼主 | 2015-4-20 17:02 | 只看该作者
附件启动log 跟logcat的log,
又没人遇到一样的!!!

log.rar

13.36 KB

使用特权

评论回复
地板
FSL_TICS_Rita| | 2015-4-22 15:52 | 只看该作者
xishanggongzi 发表于 2015-4-20 17:02
附件启动log 跟logcat的log,
又没人遇到一样的!!!

楼主你好,我看你在我们的英文论坛上提交了一样的问题,我们的工程师已经给你回复了,你继续给他回,他回继续帮你解决的。

使用特权

评论回复
5
xishanggongzi|  楼主 | 2015-4-24 09:27 | 只看该作者
https://community.freescale.com/message/507951#507951
已解决,由于我把kernel中GPU关了,因为kernel中打开gpu导致系统启动失败,失败的原因是由于,我们没有使用电源管理的芯片,dts中跟gpu、vpu相关的电压设置采用了原来的导致的。将相应的pu-supply = <&reg_pu>;全部设置成<&reg_pu>,就OK了,ldb显示也OK了。主要对dts中很多参数不理解导致的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

123

帖子

4

粉丝