明远智睿技术论坛

标题: 请教,EK200的开发板跑Android5.1.1,如何支持1024&768的lvds屏 [打印本页]

作者: fuguih    时间: 2017-3-7 11:28
标题: 请教,EK200的开发板跑Android5.1.1,如何支持1024&768的lvds屏
Android5.1.1默认的1024*600的分辨率,我现在要移植一块1024*768的lvds屏,如何修改文件,求赐教。

作者: fuguih    时间: 2017-3-7 15:48
lcd屏,lvds的接口
作者: 软件01    时间: 2017-3-7 17:13
fuguih 发表于 2017-3-7 15:48
lcd屏,lvds的接口

需要修改设备树kernel_imx/arch/arm/boot/dts/myimx6ek314-6qu.dtsi
作者: fuguih    时间: 2017-3-7 18:29
软件01 发表于 2017-3-7 17:13
需要修改设备树kernel_imx/arch/arm/boot/dts/myimx6ek314-6qu.dtsi

谢谢你的回答,我用的EK200的开发板,修改的kernel_imx/arch/arm/boot/dts/myimx6ek200-6qu.dtsi文件如下:
&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 = <65000000>;
                                hactive = <1024>;
                                vactive = <768>;
                                hback-porch = <220>;
                                hfront-porch = <40>;
                                vback-porch = <21>;
                                vfront-porch = <7>;
                                hsync-len = <60>;
                                vsync-len = <10>;
                        };
                };
        };

        lvds-channel@1 {
                fsl,data-mapping = "spwg";
                fsl,data-width = <18>;
                primary;
                status = "okay";

                display-timings {
                        native-mode = <&timing1>;
                        timing1: hsd100pxn1 {
                                clock-frequency = <65000000>;
                                hactive = <1024>;
                                vactive = <768>;
                                hback-porch = <220>;
                                hfront-porch = <40>;
                                vback-porch = <21>;
                                vfront-porch = <7>;
                                hsync-len = <60>;
                                vsync-len = <10>;
                        };
                };
        };
};

但是没有效果
作者: fuguih    时间: 2017-3-7 18:30
fuguih 发表于 2017-3-7 18:29
谢谢你的回答,我用的EK200的开发板,修改的kernel_imx/arch/arm/boot/dts/myimx6ek200-6qu.dtsi文件如下 ...

还需要修改其他文件么?
作者: 软件01    时间: 2017-3-8 10:55
fuguih 发表于 2017-3-7 18:30
还需要修改其他文件么?

一般就可以了,最多把U-BOOT的改改,用fbset命令看看设置的对不对
作者: fuguih    时间: 2017-3-8 11:48
我修改了bootable\bootloader\uboot-imx\board\myzr\myimx6.c如下:
struct display_info_t const displays[] = {{
        .bus        = -1,
        .addr        = 0,
        .pixfmt        = IPU_PIX_FMT_RGB666,
        .detect        = NULL,
        .enable        = enable_lvds,
        .mode        = {
                .name           = "Hannstar-XGA",
                .refresh        = 60,
                .xres           = 1024,
                .yres           = 768,

                .pixclock       = 15385,
                .left_margin    = 220,
                .right_margin   = 40,
                .upper_margin   = 21,
                .lower_margin   = 7,
                .hsync_len      = 60,
                .vsync_len      = 10,
                .sync           = FB_SYNC_EXT,
                .vmode          = FB_VMODE_NONINTERLACED
} }, {
        .bus        = -1,
        .addr        = 0,
        .pixfmt        = IPU_PIX_FMT_RGB24,
        .detect        = NULL,
        .enable        = do_enable_hdmi,
        .mode        = {
                .name           = "HDMI",
                .refresh        = 60,
                .xres           = 640,
                .yres           = 480,
                .pixclock       = 39721,
                .left_margin    = 48,
                .right_margin   = 16,
                .upper_margin   = 33,
                .lower_margin   = 10,
                .hsync_len      = 96,
                .vsync_len      = 2,
                .sync           = 0,
                .vmode          = FB_VMODE_NONINTERLACED
} }, {
        .bus        = 0,
        .addr        = 0,
        .pixfmt        = IPU_PIX_FMT_RGB24,
        .detect        = NULL,
        .enable        = enable_rgb,
        .mode        = {
                .name           = "SEIKO-WVGA",
                .refresh        = 60,
                .xres           = 800,
                .yres           = 480,
                .pixclock       = 29850,
                .left_margin    = 89,
                .right_margin   = 164,
                .upper_margin   = 23,
                .lower_margin   = 10,
                .hsync_len      = 10,
                .vsync_len      = 10,
                .sync           = 0,
                .vmode          = FB_VMODE_NONINTERLACED
} } };

启动后,串口输出信息如下:
No panel detected: default to Hannstar-XGA
Display: Hannstar-XGA (1024x768)
In:    serial
Out:   serial
Err:   serial
check_and_clean: reg 0, flag_set 0
Fastboot: Normal
但屏的显示却仍然是1024*600的分辨率
作者: fuguih    时间: 2017-3-8 14:15
如上修改uboot的代码之后,uboot启动时,显示屏的分辨率正常了为1024*768,但到启动内核时,分辨率又变为了1024*600。感觉修改了内核那部分代码,没效果,或者说还需要修改内核的其他代码?
作者: fuguih    时间: 2017-3-9 11:42
可能是之前编译的问题,修改参数,再次编译源码之后,LCD屏的分辨率正确了。
再请教一下,关于触摸屏的参数矫正需要修改什么文件?谢谢




欢迎光临 明远智睿技术论坛 (http://bbs.myzr.com.cn/) Powered by Discuz! X3.2