How to change SABRE-SD screen resolution in LOLLIPOP(5.0.0?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

How to change SABRE-SD screen resolution in LOLLIPOP(5.0.0?

跳至解决方案
7,402 次查看
atakan
Contributor II

Hello,

I'm working on sabre sd board (imx6dl) and trying to switch to a different display. But the bad news, i'm new to Android.

The resolution of the LVDS display that comes with the board is 1024x768. However my new display is 1024x600 LVDS and it does not support EDID.

In the u-boot, it says; "No panel detected: default to Hannstar-XGA"

I have edited the resolution of this panel in "mx6sabresd.c" and that fixed the resolution of the u-boot (and the u-boot logo).

But the resolution inside Android (lollipop) is still wrong. The bottom of the screen is outside of my display.

I have tried editing "BoardConfig.mk" like that

"BOARD_KERNEL_CMDLINE := console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,1024x600M@60,if=RGB666 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=400M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M androidboot.serialno=1e1b29d4dbc91258"

and that

"BOARD_KERNEL_CMDLINE := console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,1024x600M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=400M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M androidboot.serialno=1e1b29d4dbc91258"

Nothing changed.

The display works fine, but the bottom area is still outside of the display.

Could you please tell me how to change the resolution?

标签 (4)
0 项奖励
回复
1 解答
3,795 次查看
atakan
Contributor II

igorpadykov:

Hi atakan

below link shows example for changing ldb resolution for kernel with device tree,

as in lollipop

i.MX6Q LVDS Wrong clock issue

Thank you Igor.

Finally my problem is solved.

I have edited the file "kernel_imx/arch/arm/boot/dts/imx6qdl_sabresd.dtsi" and modified only this part:

&ldb {

       status = "okay";

       lvds-channel@0 {

             fsl,data-mapping = "spwg";

             fsl,data-width = <18>;

             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>;

             primary;

             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>;

                    };

             };

       };

  };

在原帖中查看解决方案

0 项奖励
回复
7 回复数
3,795 次查看
igorpadykov
NXP Employee
NXP Employee

HI atakan

general procedure for adding new LCD to Android is described at

iMX6QD How to Add 24-bit LVDS Support in Android

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindin...

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/fb/modedb.txt

regarding 1024x600 LVDS configuration, one can look at boundary devices Android releases

as it use Nit6X_1024x600 LCD

http://boundarydevices.com/configuring-i-mx6-machines-different-screens-nitrogen6x-sabre-lite/

below some example adding new lvds lcd:

i.MX6Q LVDS Wrong clock issue

Best regards

igor

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

Note: If this post answers your question, please click the Correct Answer button. Thank you!

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

3,795 次查看
atakan
Contributor II

Thank you for assistance.

I've double checked the procedure that you said, digged into "ldb.c" and some other files but could not find a place to add my new display. Sure, this way is applicable for the previous releases but not for lollipop. (Because "ldb.c" is different than the previous releases.)

And the Boundary Devices solution is also useless in my case. As i told before, i have tried adding the resolution to "BoardConfig.mk" but nothing changed. The only thing is, i'm not sure if i've added the resolution to the correct place or not. Here is what exactly i did in "BoardConfig.mk"

"BOARD_KERNEL_CMDLINE := console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,1024x600M@60,if=RGB666 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=400M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M androidboot.serialno=1e1b29d4dbc91258"

Is that correct?

Is there a working solution for lollipop?

0 项奖励
回复
3,795 次查看
atakan
Contributor II

I have also discovered that editing "BoardConfig.mk" alone, is ineffective for jellybean too. I think i'm digging the wrong place.

So where should i write "video=mxcfb0:dev=ldb,1024x600M@60,if=RGB666" to be effective?

0 项奖励
回复
3,795 次查看
igorpadykov
NXP Employee
NXP Employee

1024x600 LCD is not supported by default in BSP, so you can not

write these parameters, they will be ignored. Support for 1024x600 LCD

may be added using procedures given before:

iMX6QD How to Add 24-bit LVDS Support in Android

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindin...

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/fb/modedb.txt

or looking at boundary devices BSP releases with its Nit6X_1024x600 LCD

http://boundarydevices.com/configuring-i-mx6-machines-different-screens-nitrogen6x-sabre-lite/

Best regards

igor

0 项奖励
回复
3,795 次查看
atakan
Contributor II

Thank you Igor.

As i said, the procedures cannot be applied to lollipop (and also kitkat i think). For jellybean, it's ok, but lollipop is a little bit different, especially in "ldb.c".

I cant find the place that i should define the new display.

0 项奖励
回复
3,795 次查看
igorpadykov
NXP Employee
NXP Employee

Hi atakan

below link shows example for changing ldb resolution for kernel with device tree,

as in lollipop

i.MX6Q LVDS Wrong clock issue

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindin...

~igor

3,796 次查看
atakan
Contributor II

igorpadykov:

Hi atakan

below link shows example for changing ldb resolution for kernel with device tree,

as in lollipop

i.MX6Q LVDS Wrong clock issue

Thank you Igor.

Finally my problem is solved.

I have edited the file "kernel_imx/arch/arm/boot/dts/imx6qdl_sabresd.dtsi" and modified only this part:

&ldb {

       status = "okay";

       lvds-channel@0 {

             fsl,data-mapping = "spwg";

             fsl,data-width = <18>;

             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>;

             primary;

             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>;

                    };

             };

       };

  };

0 项奖励
回复