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
Hi Andrea
had you looked at MX53UG , such as
Example 18-3. 720P TV Connected to Display Port 1
Best regards
igor
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?
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?
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
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
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