IMX53QSB hot to enable tvout under linux

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

IMX53QSB hot to enable tvout under linux

1,311 Views
andreainnocenti
Contributor I

Hello everybody,

I'm new here, first project, first freescale device, first post.

I am in the process of evaluating the IMX53 for a new board where I need to output a NTSC video to be displayed on a monitor.

My idea is to use yocto as a main distribution and to create my gui using directfb.

At this point I created my custom image with some accessory program, I can boot it and I can run the directfb demo on the VGA output when I connect the board to my monitor.

I searched around the forum and I found a lot of people asking about how to enable the tv out. I think I read most of them and everyone is related to android and with some command that sould be executed from an android environment.

I didn't found any information about "bare" linux systems.

anyhow... I made some long shot try without any success.

like in this thread: CVBS analog TV out  Weilyin Hong is suggesting some command line for android tv out.

set uboot param

setenv bootargs_android 'set bootargs console=ttymxc0,115200 init=/init androidboot.console=ttymxc0 video=mxcdi0fb:RGB24,640x480M@60 hdmi di0_primary gpu_nommu, gpu_memory=64M video=mxcdi1fb:YUV444,mxcdi1fb:TV-NTSC tve'
or

setenv bootargs_android 'set bootargs console=ttymxc0,115200 init=/init androidboot.console=ttymxc0 video=mxcdi0fb:RGB24,640x480M@60 hdmi di0_primary gpu_nommu, gpu_memory=64M video=mxcdi1fb:YUV444,mxcdi1fb:TV-PAL tve'

after enter android

you can type setprop rw.VIDEO_TVOUT_DISPLAY 1 in your terminal.

so you can play a video and get stand tv singal in VGA pin 3.

I tried to tweak that one a bit for adapting it to my needs, and actually it looks like:

cat /proc/cmdline

console=ttymxc0,115200 root=/dev/mmcblk0p2 rw rootwait video=mxcdi0fb:RGB666,G121X1 video=mxcdi1fb:YUV444,TV-NTSC ldb=di0 tve di0_primary gpu_nommu gpu_memory=64M

now I can't type the setprop rw.VIDEO_TVOUT_DISPLAY 1 command because it's an android command. Can you suggest what should I do here?

I also tried to see on pin 3 of VGA connector, display is shotdown, if I try to connect a scope I don't see any video signal coming out.

Any hints on how to proceed is apreciated. If you can provide me some documentation that I could have miss or some tests to do would be wonderful.

Thank you for reading my long post,

please forgive any mistake, english is not my primary language

best regards

Andrea

Labels (3)
0 Kudos
6 Replies

866 Views
igorpadykov
NXP Employee
NXP Employee

Hi Andrea

had you looked at MX53UG , such as

Example 18-3. 720P TV Connected to Display Port 1

Best regards

igor

0 Kudos

866 Views
andreainnocenti
Contributor I

Hello Igor,

thank you for your point.

How to say... No I didn't saw that document before but my command line was similar. not the same.

I made a couple of test (i have a scope connected to where I expect to be the video signal)

I tried as written in table 18.6.

cat /proc/cmdline

console=ttymxc0,115200 root=/dev/mmcblk0p2 rw rootwait video=mxcdi1fb:YUV444,720P60 di1_primary

console=ttymxc0,115200 root=/dev/mmcblk0p2 rw rootwait video=mxcdi0fb:YUV444,720P60

console=ttymxc0,115200 root=/dev/mmcblk0p2 rw rootwait video=mxcdi0fb:YUV444,TV-NTSC

console=ttymxc0,115200 root=/dev/mmcblk0p2 rw rootwait video=mxcdi1fb:YUV444,TV-NTSC

console=ttymxc0,115200 root=/dev/mmcblk0p2 rw rootwait video=mxcdi1fb:YUV444,TV-NTSC di1_primary

none of them works for me.

If I start a demo like df_andi I get:

mxc_sdc_fb mxc_sdc_fb.1: timeout when waiting for flip irq

:smileyalert: DirectFB/FBDev: Panning display failed (x=0 y=960 ywrap=1 vbl=1)!

with the default commandline (VGA) I don't have this error.

Any other idea?

0 Kudos

866 Views
andreainnocenti
Contributor I

Update:

I found where is the problem for the error I was having. I changed in the kernel a like of code based on another comment on the forum. I reverted it and I don't have this error if I try to set mxcdi0fb. The problem is always present if I try to configure mxcdi1fb.

Actually to me it looks like that in some way the kernel is ignoring my command line options. In some way... because sometimes it don't work as stated before.

Actually I would like to ask... There's difference if I use mxcdi0fb or mxcdi1fb in the command line or I can use both at the same way? If I set mxcdi1fb I should set also di1_primary for setting the framebuffer one as default, right?

Regarding this...

Every time I boot I see in /sys/class/graphics/fb0/mode

D:1024x768p-60

it doesn't matter what command line I set. the last I tried are:

cat /proc/cmdline

console=ttymxc0,115200 root=/dev/mmcblk0p2 rw rootwait video=mxcdi0fb:YUV444,mxcdi0fb:TV-NTSC

console=ttymxc0,115200 root=/dev/mmcblk0p2 rw rootwait video=mxcdi0fb:YUV444,TV-NTSC

How can it be 1024x768 if the output of NTSC is 768x480?

0 Kudos

866 Views
igorpadykov
NXP Employee
NXP Employee

Hi Andrea

kernel supports only modes which are found in struct fb_videomode,

if it can not find exact, it chooses best option from available,

MX53UG  shows examples for support new modes, also one can look below

fb.modes - Linux Command - Unix Command

Best regards

igor

0 Kudos

866 Views
andreainnocenti
Contributor I

Thank you Igor for your reply,

sorry but I don't understand how edit /etc/fb.modes could help with this.

fb.modes is used for alter the framebuffer settings but I can already change them using .directfbrc and executing some directfb example.

# fbset

mode "640x480-131"

        # D: 65.003 MHz, H: 67.711 kHz, V: 130.716 Hz

        geometry 640 480 640 1440 16

        timings 15384 160 24 29 3 136 6

        accel false

        rgba 5/11,6/5,5/0,0/0

endmode

# edit config and execute a program...

# fbset

fbset

mode "800x600-91"

        # D: 65.003 MHz, H: 58.038 kHz, V: 90.969 Hz

        geometry 800 600 800 1800 16

        timings 15384 160 24 29 3 136 6

        accel false

        rgba 5/11,6/5,5/0,0/0

endmode

Ok, the framerate is not correct yet. But I'm working on it. :smileyhappy: But... if I try to change the fbmode, I'm not changing how the kernel module behave. I will always have a VGA output. Not a NTSC output. Am I wrong?

Regarding the kernel configuration...

In the struct fb_videomode there is a TV_NTSC and a TV-PAL entry. But as written in my previous post... there's no way for activating it.

Thank you again

Andrea

0 Kudos

866 Views
igorpadykov
NXP Employee
NXP Employee

tve and vga is selected by kernel parameter "tve","vga" refer to attached Release Notes p.8,9.

Also it may be useful to look at Chapter 14 Linux Manual. It is from

L2.6.35_11_09_ER_SOURCE : Linux 2.6.35 Source Code Files and documentation 11.09.

Supports MCIMX53-START and MCIMX53-START-R.

Though I am not sure how it is implemented in yocto release, suggest to post that on

yocto mail list:

https://lists.yoctoproject.org/listinfo/meta-freescale

~igor

0 Kudos