Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Since 3.x kernel version in order to set a different LVDS panel resolution a device tree file modification is required.

The file which should be modified is arch/arm64/boot/dts/imx8qxp-qx8x.dtsi under the kernel root folder, into &ldb1 section, in particular display-timings

<details>
<summary>The default version looks like this (click here)</summary>

Code Block
languagebash
&ldb1 {
    status = "okay";

    lvds-channel@0 {
        fsl,data-mapping = "spwg";
        fsl,data-width = <18>;
        primary;
        status = "okay";

        display-timings {
            native-mode = <&timing0>;
            timing0: 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>;
            };
        };
    };

    lvds-channel@1 {
        fsl,data-mapping = "spwg";
        fsl,data-width = <18>;
        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>;
            };
        };
    };
};

</details>

Check if the panel is 18 or 24 bit, and change fsl,data-width = <18>; if needed.

As an example here you can find values for some different resolutions

<details>
<summary>800x480 (click here)</summary>

Code Block
languagebash
   clock-frequency = <33000000>;
   hactive = <800>;
   vactive = <480>;
   hback-porch = <56>;
   hfront-porch = <50>;
   vback-porch = <20>;
   vfront-porch = <53>;
   hsync-len = <180>;
   vsync-len = <30>;

</details>

<details>
<summary>800x600 (click here)</summary>

Code Block
languagebash
  clock-frequency = <40000000>;        
  hactive = <800>;
  vactive = <600>;
  hfront-porch = <88>;
  hback-porch = <72>;
  hsync-len = <64>;     
  vback-porch = <15>;   
  vfront-porch = <4>;  
  vsync-len = <6>;   
  hsync-active = <2>;
  vsync-active = <2>;

</details>

<details>
<summary>1024x600 (click here)</summary>

Code Block
languagebash
  clock-frequency = <45000000>;
  hactive = <1024>;
  vactive = <600>;
  hback-porch = <50>;
  hfront-porch = <50>;
  vback-porch = <10>;
  vfront-porch = <10>;
  hsync-len = <76>;
  vsync-len = <5>;

</details>

<details>
<summary>1024x768 (click here)</summary>

Code Block
languagebash
 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>;
  vsync-len = <4>;

</details>

<details>
<summary>1280x800 (click here)</summary>

Code Block
languagebash
  clock-frequency = <71000000>;
  hactive = <1280>;
  vactive = <800>;
  hback-porch = <40>;
  hfront-porch = <40>;
  vback-porch = <10>;
  vfront-porch = <3>;
  hsync-len = <80>;
  vsync-len = <10>;

</details>

<details>
<summary>1368x768 (click here)</summary>

Code Block
languagebash
  clock-frequency = <72000000>;
  hactive = <1368>;
  vactive = <768>;
  hback-porch = <93>;
  hfront-porch = <33>;
  vback-porch = <22>;
  vfront-porch = <7>;
  hsync-len = <40>;
  vsync-len = <4>;

</details>

<details>
<summary>1920x1050 (click here)</summary>

Code Block
languagebash
  clock-frequency = <110000000>;
  hactive = <1920>;
  vactive = <1050>;
  hback-porch = <40>;
  hfront-porch = <80>;
  vback-porch = <15>;
  vfront-porch = <15>;
  hsync-len = <40>;
  vsync-len = <5>;

</details>

<details>
<summary>1920x1080 (click here)</summary>

Code Block
languagebash
  clock-frequency = <130000000>;
  hactive = <1920>;
  vactive = <1080>;
  hback-porch = <100>;
  hfront-porch = <40>;
  vback-porch = <30>;
  vfront-porch = <2>;
  hsync-len = <10>;
  vsync-len = <2>;

</details>

After saving the changes made into the device tree file, it should be recompiled and transferred to the target system (instructions under Kernel standalone)

Before plugging in the panel, the jumper settings on the conga-QEVAL/Qseven 2.0 should be properly set (X46, X47, X50).
Also is highly recommendable measure the signals on connector X41

  • Pin 16: 1st channel clock

  • Ping 30: 2nd channel clock