我们板子参照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 = <®_pu>;全部设置成<®_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 = <®_pu>;全部设置成<®_pu>,就OK了,ldb显示也OK了。主要对dts中很多参数不理解。 |
|