AnsweredAssumed Answered

Yocto Dora 3.10.17 BT656 Support

Question asked by MATTHEW REYNOLDS on Apr 15, 2014
Branched to a new discussion

Greeting All,

 

I am developing with a custom board based on the SaberSD and I am using the Yocto Dora 3.17.17 distribution.  Our board will only use a BT656 out of DISP0_DAT7-DISP0_DAT0, which I am testing with a Intersil decoder that drives the video to a LCD.  I ported the LTIB patch "0001-Support-BT656-and-BT1120-output-for-iMX6-ipuv3.patch", (Patch to Support BT656 and BT1120 Output For i.MX6 BSP) and the bt656 driver appears to be functional, however I am having a few problems with it and could use some help trouble shooting.

 

The issues I see are

- X server is crashing. The penguins and the Yocto spash display during boot, but  X server crashes with a segmentation fault.  After the Yocto splash a command line console is displayed instead of the desktop.  It appears VIVANTE is not happy with any of the new interlaced modes (see the /var/log/Xorg.0.log excerpt below or attachment for full log).

- When fbpix=UYVY16, the screen colours are not correct.  Black is green, etc.  To me it looks like the IPU is not performing the RGB to YUV color space conversions.  When fbpix=RGB565 colours are correct.

- The vertical alignment is off and not filling the bottom of the screen.

 

Below I have tried listing any relevant information regarding the video.  I have also attached my dmesg and Xorg.log.0.

 

ipu_disp.c was modified BT656_IF_DI_MSB as noted

 

Kernel command line: console=ttymxc2,115200 video=mxcfb0:dev=bt656,BT656-NTSC,if=BT656,fbpix=UYVY16 root=/dev/mmcblk0p2 rootwait rw

 

/var/log/Xorg.0.log

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

...

[1630468.041]   ABI class: X.Org Video Driver, version 14.1

[1630468.051] (II) VIVANTE(0): printing discovered frame buffer 'fb0' supported

[1630468.051] (II) VIVANTE(0): Modeline "D:720x576i-25"x0.0   13.50  720 722 870

[1630468.052] (II) VIVANTE(0): Modeline "D:720x4bt65680i-30"x0.0   13.50  720 723 865

[1630468.052] (II) VIVANTE(0): Modeline "D:720x576i-50"x0.0   27.00  720 722 101

[1630468.052] (II) VIVANTE(0): Modeline "D:720x480i-60"x0.0   27.00  720 723 999

[1630468.070] (II) VIVANTE(0): Output DISP3 BG has no monitor section

[1630468.070] (II) VIVANTE(0): Not using mode "D:720x576i-25" (interlace mode no

[1630468.070] (II) VIVANTE(0): Not using mode "D:720x480i-30" (interlace mode no

[1630468.070] (II) VIVANTE(0): Not using mode "D:720x576i-50" (interlace mode no

[1630468.071] (II) VIVANTE(0): Not using mode "D:720x480i-60" (interlace mode no

[1630468.071] (II) VIVANTE(0): No remaining probed modes for output DISP3 BG

[1630468.071] (II) VIVANTE(0): Output DISP3 BG connected

[1630468.071] (WW) VIVANTE(0): Unable to find initial modes

[1630468.071] (EE) VIVANTE(0): Output DISP3 BG enabled but has no modes

[1630468.071] (EE) VIVANTE(0): xf86InitialConfiguration failed

[1630468.071] (II) VIVANTE(0): FBDevPreInit: adjust display width 0

[1630468.071] (**) VIVANTE(0): PreInit done

[1630468.071] (EE)

[1630468.071] (EE) Backtrace:

[1630468.071] (EE)

[1630468.072] (EE) Segmentation fault at address 0x18

 

Frame Buffer 0 info

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

cat /sys/class/graphics/name

DISP3 BG

cat /sys/class/graphics/mode

D:720x480i-60

cat /sys/class/graphics/modes

D:720x576i-25
D:720x480i-30
D:720x576i-50
D:720x480i-60

cat /sys/class/graphics/fsl_disp_property

2-layer-fb-bg

cat /sys/class/graphics/fsl_disp_dev_property       

bt656

 

As part of the port it was necessary to integrate the driver with the FDT.  I am a bit of a novice with this so it may be incorrect.  I replaced  the lcd entry with this bt656 entry in the imx6qdl-sabersd.dtsi file.

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

bt656@0 {

        compatible = "fsl,bt656";

        ipu_id = <0>;

        disp_id = <0>;

        default_ifmt = "BT656";

        pinctrl-names = "default";

        pinctrl-0 = <&pinctrl_ipu1_1>;

        status = "okay";

    };

 

Does fb0 need to be a progressive video mode for X Server to work?  Furthermore, does the display need to be RGB565?  I had disabled some modules like the LCD, HDMI, etc in our defconfig and am trying to determine if that is the issue.

 

I should also note that I did not port "0002-Support-adv739x-TV-encoder-for-BT656-output.patch" or "0003-Enhance-dual-display-support-for-BT656-output.patch".  I did not think they were necessary since I am not using that ADV device or plan on supportng dual outputs.  Are there any issues using the 0001-Support-BT656-and-BT1120-output-for-iMX6-ipuv3.patch by itself?

 

Any help is greatly appreciated.

 

Best Regards,
Matthew

 

Edit:

The issue about the video not filling the screen was a setting issue with the Techwell decoder and not the IMX6.

Original Attachment has been moved to: bt656_xorg_crash.log.zip

Original Attachment has been moved to: bt656_dmesg.zip

Outcomes