I have an i.MX 6SoloX SABRE-SD board and a 24-bit LVDS LCD. My U-Boot version is 2019.04, and Linux kernel is 5.4.3. My question is how to support 24-bit LVDS LCD in such platform.
Thanks for your help.
Solved! Go to Solution.
Hello Hongbin,
See below, please!
--------------------------------------
1. 硬件连接
需要4对差分数据线,都连接上,才能支持24bit;如果是3对差分线(D0~D2)只能支持RGB888/RGB565.
2.Device tree
arch/arm/boot/dts/imx6sx-sdb.dtsi
&ldb {
status = "okay";
lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
crtc = "lcdif2";
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>;
};
};
};
};
这里的data-width中的18,要改为24.
3. LVDS LCD端
通常LVDS的LCD会支持RGB666和RGB24,通过一个mode引脚的HIGH/LOW电平来选择。你可以看看你的LCD datasheet是如何配置为RGB24或者RGB666模式的。CPU端和LCD端必须要保证RGB位数匹配。
-----------------------------------
注意上面几个地方就可以了。
Have a nice day!
B.R,
Weidong
Hello Hongbin,
See below, please!
--------------------------------------
1. 硬件连接
需要4对差分数据线,都连接上,才能支持24bit;如果是3对差分线(D0~D2)只能支持RGB888/RGB565.
2.Device tree
arch/arm/boot/dts/imx6sx-sdb.dtsi
&ldb {
status = "okay";
lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
crtc = "lcdif2";
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>;
};
};
};
};
这里的data-width中的18,要改为24.
3. LVDS LCD端
通常LVDS的LCD会支持RGB666和RGB24,通过一个mode引脚的HIGH/LOW电平来选择。你可以看看你的LCD datasheet是如何配置为RGB24或者RGB666模式的。CPU端和LCD端必须要保证RGB位数匹配。
-----------------------------------
注意上面几个地方就可以了。
Have a nice day!
B.R,
Weidong