明远智睿技术论坛

 找回密码
 立即注册
搜索
查看: 6223|回复: 8
打印 上一主题 下一主题

请教,EK200的开发板跑Android5.1.1,如何支持1024&768的lvds屏

[复制链接]

4

主题

12

帖子

64

积分

注册会员

Rank: 2

积分
64
跳转到指定楼层
楼主
发表于 2017-3-7 11:28:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Android5.1.1默认的1024*600的分辨率,我现在要移植一块1024*768的lvds屏,如何修改文件,求赐教。
回复

使用道具 举报

4

主题

12

帖子

64

积分

注册会员

Rank: 2

积分
64
沙发
 楼主| 发表于 2017-3-7 15:48:24 | 只看该作者
lcd屏,lvds的接口
回复 支持 反对

使用道具 举报

36

主题

745

帖子

2872

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2872
板凳
发表于 2017-3-7 17:13:12 | 只看该作者
fuguih 发表于 2017-3-7 15:48
lcd屏,lvds的接口

需要修改设备树kernel_imx/arch/arm/boot/dts/myimx6ek314-6qu.dtsi
回复 支持 反对

使用道具 举报

4

主题

12

帖子

64

积分

注册会员

Rank: 2

积分
64
地板
 楼主| 发表于 2017-3-7 18:29: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>;
                        };
                };
        };
};

但是没有效果
回复 支持 反对

使用道具 举报

4

主题

12

帖子

64

积分

注册会员

Rank: 2

积分
64
5#
 楼主| 发表于 2017-3-7 18:30:51 | 只看该作者
fuguih 发表于 2017-3-7 18:29
谢谢你的回答,我用的EK200的开发板,修改的kernel_imx/arch/arm/boot/dts/myimx6ek200-6qu.dtsi文件如下 ...

还需要修改其他文件么?
回复 支持 反对

使用道具 举报

36

主题

745

帖子

2872

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2872
6#
发表于 2017-3-8 10:55:58 | 只看该作者
fuguih 发表于 2017-3-7 18:30
还需要修改其他文件么?

一般就可以了,最多把U-BOOT的改改,用fbset命令看看设置的对不对
回复 支持 反对

使用道具 举报

4

主题

12

帖子

64

积分

注册会员

Rank: 2

积分
64
7#
 楼主| 发表于 2017-3-8 11:48:38 | 只看该作者
我修改了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的分辨率
回复 支持 反对

使用道具 举报

4

主题

12

帖子

64

积分

注册会员

Rank: 2

积分
64
8#
 楼主| 发表于 2017-3-8 14:15:00 | 只看该作者
如上修改uboot的代码之后,uboot启动时,显示屏的分辨率正常了为1024*768,但到启动内核时,分辨率又变为了1024*600。感觉修改了内核那部分代码,没效果,或者说还需要修改内核的其他代码?
回复 支持 反对

使用道具 举报

4

主题

12

帖子

64

积分

注册会员

Rank: 2

积分
64
9#
 楼主| 发表于 2017-3-9 11:42:03 | 只看该作者
可能是之前编译的问题,修改参数,再次编译源码之后,LCD屏的分辨率正确了。
再请教一下,关于触摸屏的参数矫正需要修改什么文件?谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|明远智睿  

GMT+8, 2024-5-3 10:58 , Processed in 0.057536 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表