分享

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

 WUCANADA 2015-06-30


https://community./message/507951#509042


我们板子参照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=mxcfb2ff video=mxcfb3ff 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
 
②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,
    },
q g正确答案
作者: q g 在 2015-4-23 下午6:24
非常感谢您的回复!
kernel中打开gpu导致系统启动失败是由于,我们没有使用电源管理的芯片,dts中跟gpu、vpu相关的电压设置采用了原来的导致的。将相应的pu-supply = <&reg_pu>;全部设置成<&reg_pu>,就OK了,ldb显示也OK了。主要对dts中很多参数不理解。
查看上下文中的回答
176 查看 分类: Android, i.MX6DL 标签:
平均用户评级: 无评分 (0 评级)平均用户评级无评分(0 评级)
Re: [imx6 ]Android4.4.3--surfaceflinger导致系统起不来,ldb显示问题
 jimmychan
Employee
jimmychan 2015-4-21 上午1:29 (回复 q g)
So, have you try mode_str ="BT101IW01" ?
喜爱 显示 0 喜欢(0) 操作 
Re: [imx6 ]Android4.4.3--surfaceflinger导致系统起不来,ldb显示问题
 q g
Level 1
q g 2015-4-21 上午4:25 (回复 jimmychan)
Thank you for your suggestion。
In Android4.2.2,“BT101IW01"  is wrote in "kernel_imx/arch/arm/boot/dts/imx6qdl-sabresd.dtsi".But in Android4.4.3, I have no write in dts.
Now,I modify "arch/arm/boot/dts/imx6qdl-sabresd.dtsi", as follows:
&ldb {
    status = "okay";
    lvds-channel@0 {
        fsl,data-mapping = "spwg";
        fsl,data-width = <18>;
        status = "okay";
        display-timings {
            native-mode = <&timing0>;
            timing0: hsd100pxn1 {
                clock-frequency = <48653926>;
               hactive = <1024>;
                vactive = <600>;
                hback-porch = <220>;
                hfront-porch = <40>;
                vback-porch = <21>;
                vfront-porch = <7>;
                hsync-len = <60>;
                vsync-len = <10>;
            };
        };
    };
 
when boot in kernel,I can see the two Penguin .Then boot android,I can see "Android_" a little while。(android启动时我可以看到android字体几秒,然后就无显示了)
The logcat as follow:
NOTE : "F/SurfaceFlinger(  118): no suitable EGLConfig found, giving up"
Do you have some suggestion?Thank you very mach.
 
I/OrionSvc(  129): Enter control_ipc thread
D/libEGL  (  118): loaded /system/lib/egl/libEGL_VIVANTE.so
D/libEGL  (  118): loaded /system/lib/egl/libGLESv1_CM_VIVANTE.so
D/libEGL  (  118): loaded /system/lib/egl/libGLESv2_VIVANTE.so
I/imx6.gralloc(  118): fb_device_open dispid:0, fb:0
I/imx6.gralloc(  118): 32bpp setting of Framebuffer with RGBA8888 format!
W/imx6.gralloc(  118): using (fd=18)
W/imx6.gralloc(  118): id           = DISP3 BG - DI1
W/imx6.gralloc(  118): xres         = 1024 px
W/imx6.gralloc(  118): yres         = 600 px
W/imx6.gralloc(  118): xres_virtual = 1024 px
W/imx6.gralloc(  118): yres_virtual = 1824 px
W/imx6.gralloc(  118): bpp          = 32
W/imx6.gralloc(  118): r            =  0:8
W/imx6.gralloc(  118): g            =  8:8
W/imx6.gralloc(  118): b            = 16:8
W/imx6.gralloc(  118): width        = 163 mm (159.568100 dpi)
W/imx6.gralloc(  118): height       = 95 mm (160.421051 dpi)
W/imx6.gralloc(  118): refresh rate = 56.74 Hz
I/mediaserver(  121): ServiceManager: 0x7724b470
I/AudioFlinger(  121): Using default 3000 mSec as standby time.
I/CameraService(  121): CameraService started (pid=121)
I/FslHwcomposer(  118): using fsl hwc!!!
I/FslHwcomposer(  118): int hwc_device_open(const hw_module_t*, const char*, hw_device_t**),553
I/FslHwcomposer(  118): using fsl hwc!
I/FslHwcomposer(  118): fb0 is ldb
I/FslHwcomposer(  118):  device
I/FslHwcomposer(  118): fb1 is overlay device
W/FslHwcomposer(  118): open /sys/class/graphics/fb2 failed
W/FslHwcomposer(  118): open /sys/class/graphics/fb3 failed
W/FslHwcomposer(  118): open /sys/class/graphics/fb4 failed
W/FslHwcomposer(  118): open /sys/class/graphics/fb5 failed
I/FslHwcomposer(  118): hwcomposer: open framebuffer fb0
I/imx6.gralloc(  118): fb_device_open dispid:0, fb:0
I/imx6.gralloc(  118): display already initialized...
I/FslHwcomposer(  118): int hwc_device_open(const hw_module_t*, const char*, hw_device_t**),426
I/SurfaceFlinger(  118): Using composer version 1.3
W/SurfaceFlinger(  118): no suitable EGLConfig found, trying a simpler query
F/SurfaceFlinger(  118): no suitable EGLConfig found, giving up
F/libc    (  118): Fatal signal 6 (SIGABRT) at 0x00000076 (code=-6), thread 118 (surfaceflinger)
I/CameraService(  121): Loaded "Freescale CameraHal Module" camera module
I/FslCameraHAL(  121): Face Back Camera is ov5640_mipi, orient is 0
I/FslCameraHAL(  121): Face Front Camera is uvc,ov5642_camera,ov5640_camera, orient is 0
I/FslCameraHAL(  121): Checking the camera ov5640_mipi
I/FslCameraHAL(  121): Checking the camera uvc
I/FslCameraHAL(  121): Checking the camera ov5642_camera
I/FslCameraHAL(  121): Checking the camera ov5640_camera
I/AudioPolicyManagerBase(  121): loadAudioPolicyConfig() loaded /system/etc/audio_policy.conf
W/audio_hw_primary(  121): card 0, id sgtl5000audio ,driver sgtl5000-audio, name sgtl5000-audio
W/audio_hw_primary(  121): out rate 44100
I/DEBUG   (  117): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  117): Build fingerprint: 'Freescale/qseven_6dq/qseven_6dq:4.4.3/2.0.0-rc2/20150123:user/dev-keys'
I/DEBUG   (  117): Revision: '0'
I/DEBUG   (  117): pid: 118, tid: 118, name: surfaceflinger  >>> /system/bin/surfaceflinger <<<
I/DEBUG   (  117): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
I/DEBUG   (  117):     r0 00000000  r1 00000076  r2 00000006  r3 00000000
I/DEBUG   (  117):     r4 00000006  r5 00000002  r6 00000076  r7 0000010c
I/DEBUG   (  117):     r8 00000001  r9 7754e52c  sl 00000001  fp 7ecd49ec
I/DEBUG   (  117):     ip 77591e80  sp 7ecd44a0  lr 76e750bd  pc 76e84088  cpsr 000f0010
I/DEBUG   (  117):     d0  0000000000000000  d1  0000000000000000
I/DEBUG   (  117):     d2  43206bc7431f9168  d3  0000000000000000
I/DEBUG   (  117):     d4  481ca94342be0000  d5  44800000000272a5
I/DEBUG   (  117):     d6  000272a546cb3333  d7  447a0000481ca940
I/DEBUG   (  117):     d8  0000000000000000  d9  0000000000000000
I/DEBUG   (  117):     d10 0000000000000000  d11 0000000000000000
I/DEBUG   (  117):     d12 0000000000000000  d13 0000000000000000
I/DEBUG   (  117):     d14 0000000000000000  d15 0000000000000000
I/DEBUG   (  117):     d16 3fc99b8000000000  d17 4010ccdc00000000
I/DEBUG   (  117):     d18 408f400000000000  d19 0000000000000000
I/DEBUG   (  117):     d20 4016b26180000000  d21 404c5ef9e0000000
I/DEBUG   (  117):     d22 0000000000000000  d23 0000000000000000
I/DEBUG   (  117):     d24 0000000000000000  d25 0000000000000000
I/DEBUG   (  117):     d26 404c5ef9e0000000  d27 0000000000000000
I/DEBUG   (  117):     d28 0000000000000000  d29 0000000000000000
I/DEBUG   (  117):     d30 0000000000000000  d31 4000000000000000
I/DEBUG   (  117):     scr 20000010
喜爱 显示 0 喜欢(0) 操作 
Re: [imx6 ]Android4.4.3--surfaceflinger导致系统起不来,ldb显示问题
 q g
Level 1
q g 2015-4-21 下午7:00 (回复 q g)
I close the GPU in kernel。
when I open GPU in kernel。Boot kernel will be failed.
喜爱 显示 0 喜欢(0) 操作 
Re: [imx6 ]Android4.4.3--surfaceflinger导致系统起不来,ldb显示问题
 jimmychan
Employee
jimmychan 2015-4-21 下午11:36 (回复 q g)
Please try this :
 
kernel_imx/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_probe.c
 
    /* Create the device class. */
    //device_class = class_create(THIS_MODULE, "gpu_class");
    device_class = class_create(THIS_MODULE, "graphics_class");
喜爱 显示 0 喜欢(0) 操作 
正确答案 Re: [imx6 ]Android4.4.3--surfaceflinger导致系统起不来,ldb显示问题
 q g
Level 1
q g 2015-4-23 下午6:24 (回复 jimmychan)
非常感谢您的回复!
kernel中打开gpu导致系统启动失败是由于,我们没有使用电源管理的芯片,dts中跟gpu、vpu相关的电压设置采用了原来的导致的。将相应的pu-supply = <&reg_pu>;全部设置成<&reg_pu>,就OK了,ldb显示也OK了。主要对dts中很多参数不理解。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多