适用于嵌入式Linux的LVDS屏幕

时间:2016-06-08 15:18:13

标签: linux linux-device-driver

我正在尝试在嵌入式Linux 3.14.52上添加LVDS屏幕。

屏幕分辨率为800x480,然后他将使用LDB-WVGA。但我找不到设备树中wvga的任何“时序结构”。有XGA,WXGA,fullHD的结构。

我是否需要为wvga添加时序结构?如果是,这个结构是否必须特定于我的屏幕?

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:0)

更改了lvds0结构,如下所示,

lvds-channel@0 {
        reg = <0>;
        fsl,data-mapping = "spwg"; /* "jeida"; */
        fsl,data-width = <18>;
        crtc = "ipu2-di1";
        primary;
        status = "okay";

        display = <&display0_wvga>;

        display0_wvga: display_wvga_800x480 {
            display-timings {
                native-mode = <&timing_wvga>;

                /* Custom WVGA Timing Structure */
                timing_wvga: 800x480 {
                    clock-frequency = <33200000>; // 33.20 MHz
                    hactive = <800>;
                    vactive = <480>;
                    hback-porch = <40>;
                    hfront-porch = <88>;
                    vback-porch = <1>;
                    vfront-porch = <23>;
                    hsync-len = <60>;
                    vsync-len = <10>;
                    hsync-active = <0>;
                    vsync-active = <0>;
                    pixelclk-active = <0>;
                };
            };

        };

        display1_svga: display_svga_800x600 {
            display-timings {
                native-mode = <&timing_svga>;

                /* LDB-AM-800600LTNQW-A0H */
                timing_svga: 800x600 {
                    clock-frequency = <55000000>;
                    hactive = <800>;
                    vactive = <600>;
                    hback-porch = <112>;
                    hfront-porch = <32>;
                    vback-porch = <3>;
                    vfront-porch = <17>;
                    hsync-len = <80>;
                    vsync-len = <4>;
                    hsync-active = <0>;
                    vsync-active = <0>;
                    pixelclk-active = <0>;
                };
            };

        };

        display2_xga: display_xga_1024x768 {
            display-timings {
                native-mode = <&timing_xga>;

                /* Standard XGA timing */
                timing_xga: 1024x768 {
                    clock-frequency = <65000000>;
                    hactive = <1024>;
                    vactive = <768>;
                    hback-porch = <160>;
                    hfront-porch = <24>;
                    vback-porch = <29>;
                    vfront-porch = <3>;
                    hsync-len = <136>;
                    vsync-len = <6>;
                    hsync-active = <0>;
                    vsync-active = <0>;
                    pixelclk-active = <0>;
                };
            };

        };

        display3_wxga: display_wxga_1200x800 {
            display-timings {
                native-mode = <&timing_wxga>;

                timing_wxga: 1200x800 {
                    clock-frequency = <68930000>;
                    hactive = <1280>;
                    vactive = <800>;
                    hback-porch = <64>;
                    hfront-porch = <64>;
                    vback-porch = <5>;
                    vfront-porch = <5>;
                    hsync-len = <40>;
                    vsync-len = <6>;
                    hsync-active = <0>;
                    vsync-active = <0>;
                    pixelclk-active = <0>;
                };
            };

        };

        display4_fullhd: display_fullhd_1920x1080 {
            display-timings {
                native-mode = <&timing_fullhd>;

                timing_fullhd: 1920x1080 {
                    clock-frequency = <138500000>;
                    hactive = <1920>;
                    vactive = <1080>;
                    hback-porch = <80>;
                    hfront-porch = <48>;
                    vback-porch = <23>;
                    vfront-porch = <3>;
                    hsync-len = <32>;
                    vsync-len = <5>;
                    hsync-active = <0>;
                    vsync-active = <0>;
                    pixelclk-active = <0>;
                };
            };
        };
    };

据我所知,它应该有效。检查和反馈。