lvds on wandboard-solo with Yocto 1.6.1 (3.10.17-ro kernel)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

lvds on wandboard-solo with Yocto 1.6.1 (3.10.17-ro kernel)

3,375 Views
nileshkokane
Contributor I

Hello,

I'm trying to enable lvds on wandboard-solo.I'm using yocto bsp with kernel 3.10.17-r0.

The device tree alterations seems to look like http://pastebin.com/CdGyygCM. which has been altered from devshell.

After compiling and deploying the kernel, the zimage was dumped to the sdcard. With this settings i'm not

getting the display on lvds. Also i've posted the serial logs here   http://pastebin.com/nXgcGKkY. The LCD i'm using is https://www.koe-europe.com/doc/TX31D38VM2BAA.pdf. Do i need to do something in addition? Please let me know.

Can anyone please help on this.



--Nilesh Kokane

Tags (4)
0 Kudos
Reply
6 Replies

1,499 Views
nileshkokane
Contributor I

Hi

I'm also posting the (imx6dl-wandboard.dts,imx6dl.

dtsi and imx6qdl-wandboard.dtsi)

1. http://pastebin.com/C3WTSktc  (imx6dl-wandboard.dts)
2. http://pastebin.com/T0Hd0Vtt  (imx6dl.dtsi)
3. http://pastebin.com/np0UqVi4  (imx6qdl-wandboard.dtsi)

I've altered these files with reference to sabreboard to enable lvds on wandboard-solo.These edits are made from devshell.And after bitbake -f -c compile linux wandboard and bitbake -c deploy linux-wandboard.I've tested the zImage on the wandboard-solo with which i'm unable to get the lvds output.I've posted the serial log [4].

4. http://pastebin.com/nXgcGKkY

Please if anyone can let me know on this.

Nilesh Kokane

0 Kudos
Reply

1,499 Views
ismailzemni
Contributor I

Hi Nilesh,


I don't know if you have solved your problem, but I guess that you must specify the timming of your LCD Screen ( Refer to .\Documentation\devicetree\bindings\video\display-timing.txt file in the kernel dir).

Also, you must update timing parameters in ./drivers/video/mxc/ldb.c  file, just change settings of "fb_videomode" structure in  ldb_modedb table.

   struct fb_videomode {

   const char *name;  /* name */

   u32 refresh;  /* refresh frequency */

   u32 xres;  //horizontal pixel

   u32 yres;  //vertical pixel

   u32 pixclock;  //clock frequency (in ps),

   u32 left_margin;  // HBPD(horizontal back porch)

   u32 right_margin;  // HFPD(horizontal front porth)

   u32 upper_margin;  // VBPD(vertical back porch)

   u32 lower_margin;  // VFBD(vertical front porch)

   u32 hsync_len;  // HSPW(horizontal sync pulse width)

   u32 vsync_len;  // VSPW(vertical sync pulse width)

   u32 sync;

   u32 vmode;

   u32 flag;

   };

Could you come back please with your steps done to solve your problem to share more informations.

--

Ismail ZEMNI

0 Kudos
Reply

1,499 Views
nileshkokane
Contributor I

Hi Ismal,

Thanks for your reply.The problem seems to be solved with the following steps.



1. Device tree source is present in the kernel source code arch/arm/boot/dts

here

$cd bin/fsl-community-bsp/build/tmp/work/wandboard_solo-poky-linux-gnueabi/linux-wandboard/3.10.17-r0/git/arch/arm/boot/dts/

find bellow files

      imx6dl-wandboard.dtb

      imx6dl-wandboard.dts

      imx6qdl-wandboard.dtsi


  2. Now open the file  imx6qdl-wandboard.dtsi


bin/fsl-community-bsp/build/tmp/work/wandboard_solo-poky-linux-gnueabi/linux-wandboard/3.10.17-r0/git/arch/arm/boot/dts/$gedit imx6qdl-wandboard.dtsi

aliases {

# delete this line

mxcfb1 = &mxcfb2;

mxcfb2 = &mxcfb3;

mxcfb3 = &mxcfb4;

};

#if 0

mxcfb1: fb@0 {

compatible = "fsl,mxc_sdc_fb";

disp_dev = "hdmi";

interface_pix_fmt = "RGB24";

mode_str ="1920x1080M@60";

default_bpp = <24>;

int_clk = <0>;

late_init = <0>;

status = "disabled";

};

#endif

mxcfb2: fb@1 {

compatible = "fsl,mxc_sdc_fb";

disp_dev = "ldb";

interface_pix_fmt = "RGB666";

mode_str ="LDB-HSXGA";

default_bpp = <16>;

int_clk = <0>;

late_init = <0>;

status = "disabled";

};

#if 1

&ldb {

ipu_id = <0>;

disp_id = <1>;

ext_ref = <1>;

mode = "sin0";

sec_ipu_id = <1>;

sec_disp_id = <1>;

status = "okay";

};

#endif


3. $ bitbake -c devshell linux-wandboard


new window will open


root@Minda:~/bin/fsl-community-bsp/build/tmp/work/wandboard_solo-poky-linux-gnueabi/linux-wandboard/3.10.17-r0/git# make imx6dl-wandboard.dtb



after completion of this command new imx6dl-wandboard.dtb file will be generate in dts/ directory 

4. ~/bin/fsl-community-bsp/build/tmp/work/wandboard_solo-poky-linux-gnueabi/linux-wandboard/3.10.17-r0/git/drivers/video/mxc$ gedit ldb.c

Make changes as below in blue color -

static struct fb_videomode ldb_modedb[] = {

{

"LDB-WXGA", 60, 1280, 800, 14065,

40, 40,

10, 3,

80, 10,

0,

FB_VMODE_NONINTERLACED,

FB_MODE_IS_DETAILED,},

{

"LDB-HSXGA", 60, 1280, 480, 22828,  # NOTE that LDB-HSXGA this is same as in imx6qdl-wandboard.dtsi

220, 40,

21, 7,

60, 10,

0,

FB_VMODE_NONINTERLACED,

FB_MODE_IS_DETAILED,},

{

"LDB-XGA", 60, 1024, 768, 15385,

220, 40,

21, 7,

60, 10,

0,

FB_VMODE_NONINTERLACED,

FB_MODE_IS_DETAILED,},

{

"LDB-1080P60", 60, 1920, 1080, 7692,

100, 40,

30, 3,

10, 2,

0,

FB_VMODE_NONINTERLACED,

FB_MODE_IS_DETAILED,},

};



0 Kudos
Reply

1,499 Views
ismailzemni
Contributor I

Thanks for your answer Nielsh,

Just about the timing values of LDB-HSXGA:

{

"LDB-HSXGA", 60, 1280, 480, 22828,  # NOTE that LDB-HSXGA this is same as in imx6qdl-wandboard.dtsi

220, 40,

21, 7,

60, 10,

0,

FB_VMODE_NONINTERLACED,

FB_MODE_IS_DETAILED,}

According to the screen datasheet they must be:

{

"LDB-HSXGA", 60, 1280, 480, 23148,

40,40,

30,20,

TBD, TBD,

0,

FB_VMODE_NONINTERLACED,

FB_MODE_IS_DETAILED,}

Could you please detail your timing values choice?

Thanks,

0 Kudos
Reply

1,499 Views
nileshkokane
Contributor I

Ismail,

The values of hsync and vsysc fairly depends on the specifications of LCD.

In my case the hsync and vsync was ignored and derived from pixel clock by the LCD.So I least bothered about hsync and vsync.

Hope that helps.

0 Kudos
Reply

1,499 Views
snarf77
Contributor I

Hi,

I'm a fresh owner (yesterday so it's still hot ..) of a wandboard quad and I would like to enable lvds output ot make use of an old laptop screen (AU optronics -- Model B140XW03).

Reading the display datasheet I understood I have to use a LVDS single channel in RGB6bits (1366x768@60Hz mode).

Reading your last post I was feeling lucky as you pointed me where the right file to modify is (arch/arm/boot/dtsimx6qdl-wandboard.dtsi) but I discover that my file doesn't seem to contain any lines related to ldb device. So qustion is: is this due to any of my kernel parameter ?

note : I m using a 4.1.13-armv7-rt-x6 kernel as I needed a rt-preempted kernel, following robert nelson excellent blog (https://eewiki.net/display/linuxonarm/Wandboard ). or is there any root cause ?

Sorry for such a stupid but it seems I'm stuck from the early beginning of my trip....

Hope to get some help here...

Regards

Snarf77

0 Kudos
Reply