How to support 24-bit LVDS LCD in i.MX 6SoloX SABRE-SD board

cancel
Showing results for 
Search instead for 
Did you mean: 

How to support 24-bit LVDS LCD in i.MX 6SoloX SABRE-SD board

Jump to solution
228 Views
zhb1984
Contributor I

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.

Labels (1)
0 Kudos
1 Solution
177 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello Hongbin,

See below, please!

--------------------------------------

1. 硬件连接

需要4对差分数据线,都连接上,才能支持24bit;如果是3对差分线(D0~D2)只能支持RGB888/RGB565.

pastedImage_1.png

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

View solution in original post

0 Kudos
1 Reply
178 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello Hongbin,

See below, please!

--------------------------------------

1. 硬件连接

需要4对差分数据线,都连接上,才能支持24bit;如果是3对差分线(D0~D2)只能支持RGB888/RGB565.

pastedImage_1.png

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

View solution in original post

0 Kudos