Hello all!
I've got an iMX53QSB (Quick Start Board) and need to display framebuffer contents on a TV using HDMI cable in HD resolution. We've also purchased an "MCIMXHDMICARD" with SII9022 chip from Freescale. The task is to send contents to the TV.
The MCIMX28LCD which can be inserted into the same slot as HDMICARD works perfectly with the following U-boot parameters:
video=mxcdi0fb:RGB24,SEIKO-WVGA di0_primary
So I have a 800x480 LCD on /dev/fb0, nice.
The intention is to achieve HD resolution and get it displayed on a TV. I've found a few kernel arguments to enable it:
video=mxcdi0fb:RGB24,1080P60
video=mxcdi1fb:YUV444,TV-1080P30 tve di1_primary
None of those works. To be honest, I'm not sure if di0 can even drive the TV encoder... Furthermore, I've had experiments with several other kernel arguments:
video=mxcdi0fb:RGB565,TV-1080P30 tve di0_primary
video=mxcdi0fb:YUV444,TV-1080P30 tve di0_primary
video=mxcdi1fb:YUV444,TV-1080P30 tve di1_primary
video=mxcdi1fb:YUV444,TV-1080P25 tve di1_primary
video=mxcdi1fb:RGB565,TV-1080P30 tve di1_primary
video=mxcdi1fb:YUV444,1080P30 di1_primary tve
video=mxcdi1fb:YUV444,UXGA di1_primary tve
video=mxcdi1fb:RGB565,UXGA di1_primary tve
video=mxcdi0fb:RGB24,1080P60 di0_primary
video=mxcdi0fb:RGB24,1080P30 di0_primary
video=mxcdi0fb:RGB24,1080P25 di0_primary
The symptom is always the same: the TV receives no HDMI signal, but I can see no error message in dmesg. However, getting /dev/fb0's features with ioctl(...) calls the resolution is the desired and reading out values from /sys/class/graphics/... also gives the same (seemingly good) results.
My current kernel is 2.6.35.3, which was taken from git.freescale.com's linux-2.6-imx.git repository, from the 2.6.35-maintain branch, the commit ID is 903363ed80a113f2d1e3e96e508ecf128d9af323. The kernel has SII902x support compiled in. U-boot (2013.04) is configured to do nothing to the graphics subsystem. The kernel configuration is based on imx5_defconfig, and I suppose the right platform to choose is the MX53 Loco (for U-boot it was the correct pick).
In arch/arm/mach-mx5/mx53_loco.c: video_modes[] array I can see three entries, two for the LCDs and one for UXGA. Perhaps I should add HDMI settings here?
Could someone please help me solving this issue? Is this kernel proven to have HDMI support? (I've recently had several attempts to compile various kernels from git.freescale.org to MX53QSB and MX28EVK, but there were lot of compile errors and finally only the 2.6.35.3 branch was proven to be compilable, so I don't happily begin again compiling random kernel versions...)
解決済! 解決策の投稿を見る。
Alright, I've figured it out.
The correct kernel command line to use it the following:
setenv video video=mxcdi0fb:RGB24,1920x1080M@60 hdmi di0_primary
It won't work on DI1, and of course the SII902x driver is required to be present.
When the system boots up, the framebuffers register their available video modes. The HDMI output should be considered as a kind of framebuffer in this aspect. When the SII902x driver detects (either on boot or anytime later during runtime ) that HDMI cable is connected, the driver queries the display for its available video modes (EDID/SMbus) and registers those video modes. You can have a look at the available modes in
/sys/class/graphics/fb0/modes
I hope this will help out others as well.
Alright, I've figured it out.
The correct kernel command line to use it the following:
setenv video video=mxcdi0fb:RGB24,1920x1080M@60 hdmi di0_primary
It won't work on DI1, and of course the SII902x driver is required to be present.
When the system boots up, the framebuffers register their available video modes. The HDMI output should be considered as a kind of framebuffer in this aspect. When the SII902x driver detects (either on boot or anytime later during runtime ) that HDMI cable is connected, the driver queries the display for its available video modes (EDID/SMbus) and registers those video modes. You can have a look at the available modes in
/sys/class/graphics/fb0/modes
I hope this will help out others as well.
Hi Tasmas
I am using a HDMI to VGA Converter in my iMx6 Sabre AI. Connected a VGA Monitor to the board. I could not find the path /sys/class/graphics/fb0/modes. Could you please tell me Where to find and make changes.
Thanks