iMX6 HDMI output 1366x768 resolution

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

iMX6 HDMI output 1366x768 resolution

Jump to solution
23,237 Views
williamtung
Contributor III

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



Labels (4)
1 Solution
6,289 Views
lily_zhang
NXP Employee
NXP Employee

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.

View solution in original post

0 Kudos
Reply
15 Replies
6,289 Views
hongchao0680
Contributor III

请问如何支持 sdi 的显示器

0 Kudos
Reply
6,289 Views
daiane_angolini
NXP Employee
NXP Employee

Could you, please, share your kernel command line?

0 Kudos
Reply
6,289 Views
williamtung
Contributor III

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.

0 Kudos
Reply
6,289 Views
daiane_angolini
NXP Employee
NXP Employee

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

0 Kudos
Reply
6,289 Views
williamtung
Contributor III

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?


0 Kudos
Reply
6,289 Views
lily_zhang
NXP Employee
NXP Employee

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,},


6,289 Views
williamtung
Contributor III

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.

0 Kudos
Reply
6,289 Views
lily_zhang
NXP Employee
NXP Employee

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.

0 Kudos
Reply
6,289 Views
williamtung
Contributor III

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.

0 Kudos
Reply
6,290 Views
lily_zhang
NXP Employee
NXP Employee

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.

0 Kudos
Reply
6,289 Views
blauer
Contributor II

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.

6,289 Views
williamtung
Contributor III

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

photo.JPG.jpg

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

photo1.JPG.jpg

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.

0 Kudos
Reply
6,289 Views
pedropl
Contributor I

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

0 Kudos
Reply
6,289 Views
michaelrobbelot
Contributor IV

Xiaoli,

Have you made any progress on this issue?

Michael

0 Kudos
Reply
6,289 Views
williamtung
Contributor III

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,
    },

};


0 Kudos
Reply