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.
已解决! 转到解答。
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>;
};
};
};
};
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!
-----------------------------------------------------------------------------------------------------------------------
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
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>;
};
};
};
};