Imx6支持LVDS显示(DV150X0M-N10屏为例)

Imx6支持LVDS显示(DV150X0M-N10屏为例)

1.屏幕参数
1)显屏幕参数
在这里插入图片描述

只需保证:
hback-porch + hfront-porch + hsync-len = HP - HV = 1344-1024 = 320
vback-porch +vfront-porch + vsync-len = VP - VV = 806-768 = 38

得到如下参数:
clock-frequency = DOTCLK = 58000000;
Pixclock = 1000000/58 = 17241;
hactive = yres = 1024;
vactive = xres = 768;
hback-porch = left_margin = 100;
hfront-porch = right_margin = 120;
vback-porch = upper_margin = 12;
vfront-porch = lower_margin = 12;
hsync-len = hsync_len = 120;
vsync-len = vsync_len = 14;

2)像素格式
在这里插入图片描述
6bits+FRC:
6bits frc指的是屏幕的颜色深度6bit抖动,可以达到8bits效果;
在这里插入图片描述
得到如下参数:
pixfmt:RGB24

2.u-boot程序及环境变量修改:
1)修改显示参数数组
路径:/u-boot-2016.03/board/myzr/myimx6/myimx6a9.c

struct display_info_t const displays[] = {{
	.bus	= -1,
	.addr	= 0,
	.pixfmt	= IPU_PIX_FMT_RGB24,//pixfmt
	.detect	= NULL,
	.enable	= enable_lvds,
	.mode	= {
		.name           = "MY-LVDS-WSVGA"
		.refresh        = 60, //Frame Period
		.xres           = 1024,
		.yres           = 768,
		.pixclock       = 17241, //1000000/clock-frequency
		.left_margin    = 100,
		.right_margin   = 120,
		.upper_margin   = 12,
		.lower_margin   = 12,
		.hsync_len      = 120,
		.vsync_len      = 14,
		.sync           = FB_SYNC_EXT,
		.vmode          = FB_VMODE_NONINTERLACED
} }, {

2)修改lvds模式下BPP(像素深度)
路径:/u-boot-2016.03/include/configs/myimx6a9.h

#ifdef IPU_OUTPUT_MODE_LVDS
	/* For LVDS, 1024*768 resolution */
#define DISPLAY_WIDTH			1024
#define DISPLAY_HEIGHT			600
#define DISPLAY_BPP				24
#define DISPLAY_IF_BPP			24  /* RGB24 interface */

#define DISPLAY_HSYNC_START		220
#define DISPLAY_HSYNC_END		40
#define DISPLAY_HSYNC_WIDTH		60

#define DISPLAY_VSYNC_START		21
#define DISPLAY_VSYNC_END		7
#define DISPLAY_VSYNC_WIDTH		10

3)修改u-boot环境变量:
路径:/u-boot-2016.03/board/myzr/bootscripts/myimx6a9_l4115_script.cmd

setenv disp_fb0_lvds1   "video=mxcfb0:dev=ldb,if=RGB24 ldb=sin1"
setenv disp_fb1_lvds1   "video=mxcfb1:dev=ldb,if=RGB24 ldb=sin1"
setenv disp_fb0_lvds0   "video=mxcfb0:dev=ldb,if=RGB24 ldb=sin0"
setenv disp_fb1_lvds0   "video=mxcfb1:dev=ldb,if=RGB24 ldb=sin0"

2.kernel设备树修改
路径:linux-4.1.15/arch/arm/boot/dts/myimx6ek314.dtsi
1)frame_buffer修改如下:

mxcfb1: fb@0 {
    compatible = "fsl,mxc_sdc_fb";
    disp_dev = "ldb";
    interface_pix_fmt = "RGB24";
    default_bpp = <24>;
    int_clk = <0>;
    late_init = <0>;
    status = "disabled";
};

2)lvds修改如下:

	lvds-channel@0 {
        fsl,data-mapping = "spwg";
        fsl,data-width = <24>;
        status = "okay";

        display-timings {
            native-mode = <&timing0>;
            timing0: hsd100pxn1 {
                clock-frequency = <58000000>;
                hactive = <1024>;
                vactive = <768>;
                hback-porch = <100>;
                hfront-porch = <100>;
                vback-porch = <12>;
                vfront-porch = <12>;
                hsync-len = <120>;
                vsync-len = <14>;
            };
        };
    };

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

        display-timings {
            native-mode = <&timing1>;
            timing1: hsd100pxn1 {
                clock-frequency = <58000000>;
                hactive = <1024>;
                vactive = <768>;
                hback-porch = <100>;
                hfront-porch = <100>;
                vback-porch = <12>;
                vfront-porch = <12>;
                hsync-len = <120>;
                vsync-len = <14>;
            };
        };
    };

3.QT执行程序后报错解决办法
错误:EGL Error : Could not create the egl surface: error = 0x3003

解决办法:

echo 16 > /sys/class/graphics/fb0/bits_per_pixel

参考文章:
1.https://blog.csdn.net/qq_37375427/article/details/78989415
2.https://blog.csdn.net/yanlei208/article/details/108374752

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值