TTL Display u-boot and kernel parameters

636 views
Skip to first unread message

Joshua Kurland

unread,
Dec 6, 2013, 6:14:41 PM12/6/13
to wand...@googlegroups.com
Hello,

Do the kernel module and u-boot parameters already exist for playing video out through the TTL display port?  If they are available, where might I find them?  I am interested in making an SDI adapter board that would output video coming from the TTL port.  I am using the 3.0.35-4.0.0 kernel from Freescale, built with Yocto.

Thank you in advance for the help,
Josh Kurland


Joshua Kurland

unread,
Dec 9, 2013, 1:47:43 PM12/9/13
to
I modified my u-boot parameters by adding  console=ttymxc0,if=RGB24 video=mxcfb0:dev=lcd,1920x1080@60,if=RGB24.  The output of the TTL data pins look correct when I probe them while playing a test video using gstreamer gplay.  However the pixel clock always remains the same, regardless of whether I am playing something or not.  Could this be due a wrong u-boot configuration setting?  I've posted a picture of the pixel clock below.  




John Weber

unread,
Dec 9, 2013, 2:15:36 PM12/9/13
to wand...@googlegroups.com

On 12/9/13 12:46 PM, Joshua Kurland wrote:
I modified my u-boot parameters by adding  console=ttymxc0,if=RGB24 video=mxcfb0:dev=lcd,1920x1080@60,if=RGB24.  The output of the TTL data pins look correct when I probe them while playing a test video using gstreamer gplay.  However the pixel clock always remains the same, regardless of whether I am playing something or not.  Could this be due a wrong u-boot configuration setting?  I've posted a picture of the pixel clock below.
The pixel clock to the display *should* be active all the time, regardless if whether or not video is playing on the screen.















Are you using the parallel TTL output or the LVDS output?  That clock looks wrong, but according to the datasheet, the clock to the display is the result of a divided DI_CLK.  There is a counter that counts the number of DI_CLKs per pixel clock.  Your waveform looks odd - with 2 pulses then a missing pulse.

That all being said, I'm not sure that driving a 1080P60 display via the parallel interface is something the i.MX6 was designed to do.  Most displays with resolutions greater than 800x600 use LVDS.


On Friday, December 6, 2013 6:14:41 PM UTC-5, Joshua Kurland wrote:
--
You received this message because you are subscribed to the Google Groups "Wandboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wandboard+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

TheDJB

unread,
Dec 9, 2013, 3:51:51 PM12/9/13
to wand...@googlegroups.com
According to the IMX6DQRM.pdf (page 2699) the parallel interface supports HDTV SMPTE274 (1080i/p).  


Are there any other u-boot selections that might support this instead of the following?

 console=ttymxc0,if=RGB24 video=mxcfb0:dev=lcd,1920x1080@60,if=RGB24

In order to use SMPTE274 you need to use the TTL interface in 20-bit YCrCb mode where the pinouts are as follows:

Port Name                    EDM Conn Name     20-bit YCrCb       Ball
IPU1_DISP0_DAT00 -      DISP0_DAT0               C[0]              P24  
IPU1_DISP0_DAT01 -      DISP0_DAT1               C[1]              P22
IPU1_DISP0_DAT02 -      DISP0_DAT2               C[2]              P23
IPU1_DISP0_DAT03 -      DISP0_DAT3               C[3]              P21
IPU1_DISP0_DAT04 -      DISP0_DAT4               C[4]              P20
IPU1_DISP0_DAT05 -      DISP0_DAT5               C[5]              R25
IPU1_DISP0_DAT06 -      DISP0_DAT6               C[6]              R23
IPU1_DISP0_DAT07 -      DISP0_DAT7               C[7]              R24
IPU1_DISP0_DAT08 -      DISP0_DAT8               C[8]              R22
IPU1_DISP0_DAT09 -      DISP0_DAT9               C[9]              T25

IPU1_DISP0_DAT10 -      DISP0_DAT10             Y[0]              R21
IPU1_DISP0_DAT11 -      DISP0_DAT11             Y[1]              T23
IPU1_DISP0_DAT12 -      DISP0_DAT12             Y[2]              T24
IPU1_DISP0_DAT13 -      DISP0_DAT13             Y[3]              R20
IPU1_DISP0_DAT14 -      DISP0_DAT14             Y[4]              U25
IPU1_DISP0_DAT15 -      DISP0_DAT15             Y[5]              T22
IPU1_DISP0_DAT16 -      DISP0_DAT16             Y[6]              T21  
IPU1_DISP0_DAT17 -      DISP0_DAT17             Y[7]              U24
IPU1_DISP0_DAT18 -      DISP0_DAT18             Y[8]              V25
IPU1_DISP0_DAT19 -      DISP0_DAT19             Y[9]              U23
IPU1_DI0_DISP_CLK -    DI0_DISP_CLK          PixCLK           N19
IPU1_DI0_PIN02 -           DI0_PIN2                  HSYNC           N25
IPU1_DI0_PIN03 -           DI0_PIN3                  VSYNC           N20

Joshua Kurland

unread,
Dec 10, 2013, 11:35:43 AM12/10/13
to wand...@googlegroups.com
Thank you for the responses.  

I am using the parallel TTL output.  According to the datasheet (as TheDJB pointed out) it SHOULD be able to output at 1080i resolutions.  At the very least I can test if that is possible.   Currently my boot parameters are 'video=mxcfb0:dev=lcd,1920x1080@60,if=RGB24'.  However I am unsure if the 'RGB24' parameter is the correct output format.  Where do I find the proper u-boot display properties?  For instance I have seen RGB24, RGB666, etc.  Is there a list containing these parameters somewhere?

Joshua Kurland

unread,
Dec 17, 2013, 11:42:32 AM12/17/13
to wand...@googlegroups.com
I found the answer to at least some of my questions.

For kernel boot parameters, a table can be found in the i.MX 6Dual/6Quad SABRE-SD Linux Release Notes (Assuming these apply to the wandboard as well):
TVOUT:  YUV444
VGA:      BGR24
HDMI:     RGB24 
CLAA WVGA LCD: RGB565

lcd:  LCD (TTL) interface
ldb:  LVDS
hdmi: HDMI
 
Some of the examples given by the document:
1. video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666    HDMI 1080p60, LVDS XGA
2. video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24    LVDS XGA, HDMI 1080p60
3. video=mxcfb0:dev=lcd,CLAA-WVGA,if=RGB666                                                                             WVGA RGB display

As for the 20-bit YCbCr 1080i/p format, it appears that the BSP does not currently support it.  What would be the best direction if I wanted to add this kernel support in myself?
Reply all
Reply to author
Forward
Message has been deleted
0 new messages