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
21,620 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
4,672 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
15 Replies
4,672 Views
hongchao0680
Contributor III

请问如何支持 sdi 的显示器

0 Kudos
4,672 Views
daiane_angolini
NXP Employee
NXP Employee

Could you, please, share your kernel command line?

0 Kudos
4,672 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
4,672 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
4,672 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
4,672 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,},


4,672 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
4,672 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
4,672 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
4,673 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
4,672 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.

4,672 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
4,672 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
4,672 Views
michaelrobbelot
Contributor IV

Xiaoli,

Have you made any progress on this issue?

Michael

0 Kudos
4,672 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