RGB LCD can not display through imx6dl lvds port

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

RGB LCD can not display through imx6dl lvds port

Jump to solution
875 Views
ganboshi
Contributor II

Dear Community:

I am trying to interface a 320x240 RGB LCD, and use  I.MX6DL over LVDS port connect to TM035KBH02 transform RGB signal to 320x240 LCD.  there is show logo well in uboot, and it can only show stripes in kernel.

my kernel version is 4.1.15

my uboot parameter that pass to kerel as follows:

"video=mxcfb0:dev=ldb,if=RGB666,bpp=18

my kernel devices tree as follows:

imx6dl-hydra-gpmi-weim.dts:

mxcfb1: fb@0 {
               compatible = "fsl,mxc_sdc_fb";
               disp_dev = "ldb";
               interface_pix_fmt = "RGB666";
               default_bpp = <32>;
               int_clk = <0>;
               late_init = <1>;
               fb_base = <0x18800000>; /* Frame buffer base address, same as CONFIG_FB_BASE in uboot */
               fb_size = <0x100000>; /* Reserved display memory size, 3X frame buffer */
               status = "okay";
};

imx6dl.dtsi: 

add new node &ldb

&ldb {
            status = "okay";

            lvds-channel@0{
                                          crtc = "ipu1-di0";
                                          fsl,data-mapping = "spwg";
                                          fsl,data-width = <24>;
                                          ipu_id = <1>;
                                          disp_id = <0>;
                                          status = "okay";

                     display-timings {
                                                native-mode = <&timing0>;
                                                timing0: TM035KBH02 {
                                                                              clock-frequency = <6400000>;
                                                                              hactive = <320>;
                                                                              vactive = <240>;
                                                                              hfront-porch = <20>;
                                                                              vfront-porch = <4>;
                                                                              hback-porch = <68>;
                                                                              vback-porch = <17>;
                                                                              hsync-len = <2>;
                                                                              vsync-len = <2>;
                                                                        };
                                          };
                  };
};

menu defconfig :

CONFIG_FB_MXC_SYNC_PANEL=y

CONFIG_FB_MXC_LDB=y

I don't know what config is incorrect, so i need some help, thanks a lot.

Labels (1)
0 Kudos
1 Solution
618 Views
ganboshi
Contributor II

I have fix my problem

uboot's parameter:

"video=mxcfb0:dev=ldb,if=RGB666"

##

kernel dts:

mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "ldb";
interface_pix_fmt = "RGB666";
default_bpp = <32>;
int_clk = <0>;
late_init = <1>;
fb_base = <0x18800000>; /* Frame buffer base address, same as CONFIG_FB_BASE in uboot */
fb_size = <0x100000>; /* Reserved display memory size, 3X frame buffer */
status = "okay";
};

&clks {
status = "okay";
fsl,ldb-di0-parent = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>;
fsl,ldb-di1-parent = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>;
};

&ldb {
status = "okay";

lvds-channel@0{
primary;
reg = <0>;
ipu_id = <1>;
disp_id = <0>;
fsl,data-mapping = "spwg";
fsl,data-width = <24>;
crtc = "ipu1-di0";
status = "okay";

display-timings {
native-mode = <&timing0>;
timing0: TM035KBH02 {
clock-frequency = <6500000>;
hactive = <320>;
vactive = <240>;
hfront-porch = <20>;
vfront-porch = <4>;
hback-porch = <67>;
vback-porch = <17>;
hsync-len = <2>;
vsync-len = <2>;
};

};
};
};

View solution in original post

0 Kudos
3 Replies
618 Views
igorpadykov
NXP Employee
NXP Employee

Hi Ganbo

one can check guidelines below for using small lcds with low frequency clocks

https://community.nxp.com/message/833716?commentID=833716#comment-833716 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
618 Views
ganboshi
Contributor II

Hi igor

Thank you for your quick reply.

I have configured menuconfig as follows:

menu defconfig :

CONFIG_FB_MXC_SYNC_PANEL=y  (ps: obj-$(CONFIG_FB_MXC_SYNC_PANEL) += mxc_dispdrv.o mxc_lcdif.o mxc_ipuv3_fb.o)

CONFIG_FB_MXC_LDB=y  (ps: obj-$(CONFIG_FB_MXC_LDB) += ldb.o)

so it will build ldb.c into the kernel,is it correct?

thanks a lot

Best regards

ganbo

0 Kudos
619 Views
ganboshi
Contributor II

I have fix my problem

uboot's parameter:

"video=mxcfb0:dev=ldb,if=RGB666"

##

kernel dts:

mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "ldb";
interface_pix_fmt = "RGB666";
default_bpp = <32>;
int_clk = <0>;
late_init = <1>;
fb_base = <0x18800000>; /* Frame buffer base address, same as CONFIG_FB_BASE in uboot */
fb_size = <0x100000>; /* Reserved display memory size, 3X frame buffer */
status = "okay";
};

&clks {
status = "okay";
fsl,ldb-di0-parent = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>;
fsl,ldb-di1-parent = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>;
};

&ldb {
status = "okay";

lvds-channel@0{
primary;
reg = <0>;
ipu_id = <1>;
disp_id = <0>;
fsl,data-mapping = "spwg";
fsl,data-width = <24>;
crtc = "ipu1-di0";
status = "okay";

display-timings {
native-mode = <&timing0>;
timing0: TM035KBH02 {
clock-frequency = <6500000>;
hactive = <320>;
vactive = <240>;
hfront-porch = <20>;
vfront-porch = <4>;
hback-porch = <67>;
vback-porch = <17>;
hsync-len = <2>;
vsync-len = <2>;
};

};
};
};

0 Kudos