I've tried to set different boot parameters but only 1920x1080M@60 and 1280x720M@60 work. Is it possible to force HDMI output 1366x768 resolution?
Under Linux:
root@freescale /sys/devices/platform/mxc_sdc_fb.0/graphics/fb0$ cat modes
S:1920x1080p-60
S:1920x1080p-50
S:1280x720p-60
S:1280x720p-50
S:720x576p-50
S:720x576p-50
S:720x480p-60
S:720x480p-60
S:640x480p-60
V:640x480p-60
D:1920x1080p-60
U:640x480p-60
Android:
root@android:/ # cat /sys/class/graphics/fb0/modes
U:640x480p-59
V:1280x1024p-60
V:1024x768p-60
U:2880x480p-60
U:1920x1080p-24
U:1920x1080p-50
U:1280x720p-50
U:720x576p-50
U:720x576p-50
U:1920x1080p-60
U:1440x240p-60
U:1280x720p-60
U:720x480p-60
U:720x480p-60
U:640x480p-60
Solved! Go to Solution.
Hello, William:
I am located into China. If you can send out the device to us for the debug purpose.
You can also ask for local FSL support team to help on it.
请问如何支持 sdi 的显示器
Could you, please, share your kernel command line?
Hi Daiane,
Here is my kernel command line.
console=ttymxc3,115200 root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=hdmi,1366x768M@60,if=RGB24 nosmp arm_freq=800
I got exact the same /sys/class/graphics/fb0/modes as
console=ttymxc3,115200 root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24 nosmp arm_freq=800
The HDMI TV has native resolution 1366x768 and 720p output is a little off.
I don't know exactly how to handle this.
Look at http://en.wikipedia.org/wiki/Extended_display_identification_data You will see a limitation exactly for your resolution.
And, from imx6DQ reference manual, table 33-3 you can find a table with examples of the supported video modes, but it does not have your desired resolution (although the table is not complete)
From the table, I think you could try to find the value needed for your resolution.
Please, let me know what you think
Hi Daiane,
I added #15 to mxc_edid.c but didn't get correct output.
Calculated from Modeline "1366x768" 85.500 1360 1440 1552 1792 768 771 777 795 +hsync +vsync
/* #15: 1366x768p@60Hz 16:9 */ | |
[15] = { | |
NULL, 60, 1360, 768, 11696, 240, 80, 18, 3, 112, 6, | |
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | |
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, 0, | |
}, |
It tried to output 680x768@60Hz to my display. Any suggestion?
Please try the following video mode. You can use mode string "VGA-WXGA" to find it.
{
/* VGA 1366x768 85.5M pixel clk output */
"VGA-WXGA", 60, 1366, 768, 11696,
213, 70,
24, 3,
143, 3,
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
Hi Xiaoli,
I tried your settings but didn't get correct output. It only output 678x768@60Hz, 48KHz. It seems only output single channel data (interlaced). Can you confirm this works for your HDMI output? Thanks.
Hello, William:
We don't have 1366x768 HDMI device now. The above HDMI setting was used for another project.
We will check whether we can find one for the test.
Hi Xiaoli,
We need to figure out how to resolve this issue before moving to next stage. Is it possible to send you a 1366x768 HDMI device (LCD) to tweak the video mode? Thanks.
Hello, William:
I am located into China. If you can send out the device to us for the debug purpose.
You can also ask for local FSL support team to help on it.
Hello,
In kernel_imx\drivers\video\mxc_hdmi.c, add a mode at approx. line 111, starting with:
static const struct fb_videomode somename_mode = { ...
ensure that parameter 5 is the pixel to pixel time in ps and add it at around line 1600 and 2300:
fb_add_videomode(&somename_mode, &hdmi->fbi->modelist);
Some other modes are added at this locations too. This worked for us so far except the launcher layout.
Michael G.
Hi Michael,
I can forced it out put 1366x768 with your suggestion, but Xiaoli's table didn't work correctly. The best result I could get so far is the table below. I confirmed this monitor can accept 1366x768 resolution from my laptop HDMI output. Just for comparison, I can manually set 1280x800 and 1280x720 resolutions and get correct display on the same monitor. Can you share the videomode information? Thanks.
static const struct fb_videomode wxga_mode = {
/* 15 1366x768-60 VESA */
NULL, 60, 1366, 768, 13806, 120, 10, 14, 3, 32, 5, 0,
FB_VMODE_NONINTERLACED, 0
};
root@freescale ~$ cat /sys/class/graphics/fb0/modes
S:1920x1080p-60
S:1920x1080p-50
S:1280x720p-60
S:1280x720p-50
S:720x576p-50
S:720x576p-50
S:720x480p-60
S:720x480p-60
S:640x480p-60
V:640x480p-60
D:1920x1080p-60
D:1366x768p-60
U:640x480p-60
root@freescale ~$ cat /sys/class/graphics/fb0/mode
D:1366x768p-60
root@freescale ~$ cat /sys/class/graphics/fb0/modes
S:1920x1080p-60
S:1920x1080p-50
S:1280x720p-60
S:1280x720p-50
S:720x576p-50
S:720x576p-50
S:720x480p-60
S:720x480p-60
S:640x480p-60
V:640x480p-60
D:1920x1080p-60
U:1280x800p-60
V:1280x1024p-60
U:640x480p-60
root@freescale ~$ cat /sys/class/graphics/fb0/mode
U:1280x800p-60
Hi Xiaoli,
I think you can replicate this result on a 1920x1080 monitor. Can you give it a try and let me know your test result? Thanks.
Hey,
have you been able to set the resolution to 1366x768? I have a similar case and I'm unable to achieve that. I added the mode you created to modelist and updated the kernel command line but as a result i got a framebuffer error at boot (-22). Have any idea how to do it correctly?
Thanks,
Pedro
Xiaoli,
Have you made any progress on this issue?
Michael
I found that I need to update the record of mxc_cea_mode[64] in drivers/video/mxc/mxc_edid.c. Any suggestion which # to insert? Thanks.
const struct fb_videomode mxc_cea_mode[64] = {
/* #1: 640x480p@59.94/60Hz 4:3 */
[1] = {
NULL, 60, 640, 480, 39722, 48, 16, 33, 10, 96, 2, 0,
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_4_3, 0,
},
/* #2: 720x480p@59.94/60Hz 4:3 */
[2] = {
NULL, 60, 720, 480, 37037, 60, 16, 30, 9, 62, 6, 0,
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_4_3, 0,
},
/* #3: 720x480p@59.94/60Hz 16:9 */
[3] = {
NULL, 60, 720, 480, 37037, 60, 16, 30, 9, 62, 6, 0,
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, 0,
},
/* #4: 1280x720p@59.94/60Hz 16:9 */
[4] = {
NULL, 60, 1280, 720, 13468, 220, 110, 20, 5, 40, 5,
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, 0
},
/* #5: 1920x1080i@59.94/60Hz 16:9 */
[5] = {
NULL, 60, 1920, 1080, 13763, 148, 88, 15, 2, 44, 5,
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
FB_VMODE_INTERLACED | FB_VMODE_ASPECT_16_9, 0,
},
/* #6: 720(1440)x480iH@59.94/60Hz 4:3 */
[6] = {
NULL, 60, 1440, 480, 18554/*37108*/, 114, 38, 15, 4, 124, 3, 0,
FB_VMODE_INTERLACED | FB_VMODE_ASPECT_4_3, 0,
},
/* #7: 720(1440)x480iH@59.94/60Hz 16:9 */
[7] = {
NULL, 60, 1440, 480, 18554/*37108*/, 114, 38, 15, 4, 124, 3, 0,
FB_VMODE_INTERLACED | FB_VMODE_ASPECT_16_9, 0,
},
/* #8: 720(1440)x240pH@59.94/60Hz 4:3 */
[8] = {
NULL, 60, 1440, 240, 18554, 114, 38, 16, 4, 124, 3, 0, | |
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, 0, | |
}, | |
/* #9: 720(1440)x240pH@59.94/60Hz 16:9 */ | |
[9] = { | |
NULL, 60, 1440, 240, 18554, 114, 38, 16, 4, 124, 3, 0, | |
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, 0, | |
}, | |
/* #16: 1920x1080p@60Hz 16:9 */ | |
[16] = { | |
NULL, 60, 1920, 1080, 6734, 148, 88, 36, 4, 44, 5, | |
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | |
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, 0, | |
}, | |
/* #17: 720x576pH@50Hz 4:3 */ | |
[17] = { | |
NULL, 50, 720, 576, 37037, 68, 12, 39, 5, 64, 5, 0, | |
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_4_3, 0, | |
}, | |
/* #18: 720x576pH@50Hz 16:9 */ | |
[18] = { | |
NULL, 50, 720, 576, 37037, 68, 12, 39, 5, 64, 5, 0, | |
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, 0, | |
}, | |
/* #19: 1280x720p@50Hz */ | |
[19] = { | |
NULL, 50, 1280, 720, 13468, 220, 440, 20, 5, 40, 5, | |
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | |
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, 0, | |
}, | |
/* #20: 1920x1080i@50Hz */ | |
[20] = { | |
NULL, 50, 1920, 1080, 13480, 148, 528, 15, 5, 528, 5, | |
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | |
FB_VMODE_INTERLACED | FB_VMODE_ASPECT_16_9, 0, | |
}, | |
/* #31: 1920x1080p@50Hz */ | |
[31] = { | |
NULL, 50, 1920, 1080, 6734, 148, 528, 36, 4, 44, 5, |
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | |
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, 0, | |
}, | |
/* #32: 1920x1080p@23.98/24Hz */ | |
[32] = { | |
NULL, 24, 1920, 1080, 13468, 148, 638, 36, 4, 44, 5, | |
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | |
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_16_9, 0, | |
}, | |
/* #35: (2880)x480p4x@59.94/60Hz */ | |
[35] = { | |
NULL, 60, 2880, 480, 9250, 240, 64, 30, 9, 248, 6, 0, | |
FB_VMODE_NONINTERLACED | FB_VMODE_ASPECT_4_3, 0, | |
}, |
};