Dear all,
this is my configure of lcd panel:
mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "ldb";
interface_pix_fmt = "RGB24";
mode_str ="LDB-1080P60";
default_bpp = <32>;
int_clk = <0>;
late_init = <0>;
status = "okay";
};
&ldb {
status = "okay";
split-mode;
lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <24>;
crtc = "ipu2-di0";
primary;
status = "okay";
display-timings {
native-mode = <&timing0>;
timing0: hsd100pxn1 {
clock-frequency = <83000000>;
hactive = <1920>;
vactive = <1080>;
hback-porch = <80>;
hfront-porch = <68>;
vback-porch = <15>;
vfront-porch = <15>;
hsync-len = <12>;
vsync-len = <8>;
};
};
};
lvds-channel@1 {
fsl,data-mapping = "spwg";
fsl,data-width = <24>;
crtc = "ipu2-di1";
status = "disabled";
display-timings {
native-mode = <&timing1>;
timing1: hsd100pxn1 {
clock-frequency = <83000000>;
hactive = <1920>;
vactive = <1080>;
hback-porch = <80>;
hfront-porch = <68>;
vback-porch = <15>;
vfront-porch = <15>;
hsync-len = <12>;
vsync-len = <8>;
};
};
};
};
kernel:
# cat /proc/cmdline
noinitrd console=ttymxc0,115200 root=/dev/mmcblk0p1 rw init=/linuxrc video=mxcfb0:dev=ldb,LDB-1080P60,if=RGB24,bpp=32 consoleblank=0 ldb=spl0 ldo_active=on
# cat /sys/class/graphics/fb0/modes
U:1920x1080p-35
why my refresh frequency is 35Hz, i need 60Hz or 75Hz, how can i do that?
thank you,
fulinux.
Solved! Go to Solution.
Hi Fulinux,
I found the issue in the thread I created: i.MX6Q Dual channel LVDS output in kernel 3.10.53 / 3.14.52
Your frequency may be wrong. I assume you are using the two LVDS channel lines to drive one screen that has an LVDS clock of 83Mhz.
Inside the "Documentation/devicetree/bindings/video/fsl,ldb.txt" file describing the ldb section, it says that if split mode is specified you do not need to provide a lvds-channel@1. I think you can remove this section.
Try this:
====
&ldb {
status = "okay";
split-mode;
lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <24>;
crtc = "ipu2-di0";
primary;
status = "okay";
display-timings {
native-mode = <&timing0>;
timing0: hsd100pxn1 {
clock-frequency = <166000000>;
hactive = <1920>;
vactive = <1080>;
hback-porch = <80>;
hfront-porch = <68>;
vback-porch = <15>;
vfront-porch = <15>;
hsync-len = <12>;
vsync-len = <8>;
};
};
};
};
Hi Fulinux,
I found the issue in the thread I created: i.MX6Q Dual channel LVDS output in kernel 3.10.53 / 3.14.52
Your frequency may be wrong. I assume you are using the two LVDS channel lines to drive one screen that has an LVDS clock of 83Mhz.
Inside the "Documentation/devicetree/bindings/video/fsl,ldb.txt" file describing the ldb section, it says that if split mode is specified you do not need to provide a lvds-channel@1. I think you can remove this section.
Try this:
====
&ldb {
status = "okay";
split-mode;
lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <24>;
crtc = "ipu2-di0";
primary;
status = "okay";
display-timings {
native-mode = <&timing0>;
timing0: hsd100pxn1 {
clock-frequency = <166000000>;
hactive = <1920>;
vactive = <1080>;
hback-porch = <80>;
hfront-porch = <68>;
vback-porch = <15>;
vfront-porch = <15>;
hsync-len = <12>;
vsync-len = <8>;
};
};
};
};
thank you!
did you use freescale demo image? let me reproduce it, I tested it on old bsp.
my lcd panel is 1920x1080, i need it's refresh frequency is 75hz, it is schematics:
How to configure dts.
no, i build myself. it shows 1920x1080p-60 in old kernel linux-3.0. is it wrong with my dts configure.
did you use imx6 board? if yes, could you share your ldb.c file, which have the struct fb_videomode. and pls confirm if board and lvds can support it or not. and try to confirm if you set the correct refresh rate value in the source code or not.
Dear GuanQiong,
will you answer my questions, i need help
Dear GuanQiong,
which ldb.c file? i have never modified anything code in kernel,just modified dts file, my kernel is linux-4.1.15, board is imx6q,should i modify some code file?Would you please detail your replay for our sample?