Select "best" mode through EDID?

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

Select "best" mode through EDID?

846 Views
sidebranch
Contributor II

Hello,

I would like the i.MX53QSB board to work with any monitor and select the "best" mode from what the kernel reads from EDID.

I see a lot of support for this is in place in the kernel (2.6.35.3 in drivers/video/mxc).

However currently the mode seems to be passed by u-boot to the kernel.

How can I achieve this?

Thanks,

Leon.

Labels (1)
0 Kudos
1 Reply

494 Views
sidebranch
Contributor II

I enabled some debugging to follow what happens.

The framebuffer is initialized before EDID is set, with what comes from u-boot (if nothing is specified, it seems to fall back to CLAA TFT timings).

Once EDID is read, which happens later, the system refuses to change anything:

mxc_sdc_fb mxc_sdc_fb.0: Reconfiguring framebuffer
mxc_sdc_fb mxc_sdc_fb.0: pixclock = 138504000l Hz
DMFC high resolution has set, will not change

It is easily possible to FIRST read EDID, then choose the appropriate mode from that, and then init the fb?

The relevant part of the log:

sii902x 1-0039: found device 9022
mxc_sdc_fb mxc_sdc_fb.0: Config display port 0
mxc_sdc_fb mxc_sdc_fb.0: Look for video mode 1920x1080MR@60 in plat modelist
fbcvt: 1920x1080@60: CVT Name - 2.073M9-R
mxc_sdc_fb mxc_sdc_fb.0: Reconfiguring framebuffer
mxc_ipu mxc_ipu: Channel already disabled 9
mxc_ipu mxc_ipu: Channel already uninitialized 9
mxc_sdc_fb mxc_sdc_fb.0: pixclock = 138504000l Hz
IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
sii902x 1-0039: setup..
sii902x 1-0039: reg[0x00]: 0x1A
sii902x 1-0039: reg[0x01]: 0x36
sii902x 1-0039: reg[0x02]: 0x0C
sii902x 1-0039: reg[0x03]: 0x17
sii902x 1-0039: reg[0x04]: 0x20
sii902x 1-0039: reg[0x05]: 0x08
sii902x 1-0039: reg[0x06]: 0x57
sii902x 1-0039: reg[0x07]: 0x04
sii902x 1-0039: input color space RGB
sii902x 1-0039: vic 0
sii902x 1-0039: pixrep 0
sii902x 1-0039: aspect 16:9
sii902x 1-0039: COLORIMETRY_709
sii902x 1-0039: hdmi capbility 0
sii902x 1-0039: write reg 0x08 0X70
sii902x 1-0039: write reg 0x09 0X 0
sii902x 1-0039: write reg 0x0a 0X10
mxc_sdc_fb mxc_sdc_fb.0: Reconfiguring framebuffer
mxc_sdc_fb mxc_sdc_fb.0: pixclock = 138504000l Hz
DMFC high resolution has set, will not change
Console: switching to colour frame buffer device 240x67
mxc_sdc_fb mxc_sdc_fb.1: Config display port 1
mxc_sdc_fb mxc_sdc_fb.1: Look for video mode VGA-XGA in spec modelist
mxc_sdc_fb mxc_sdc_fb.1: Reconfiguring framebuffer
mxc_ipu mxc_ipu: Channel already disabled 7
mxc_ipu mxc_ipu: Channel already uninitialized 7
mxc_sdc_fb mxc_sdc_fb.1: allocated fb @ paddr=0x7A000000, size=4718592.
mxc_sdc_fb mxc_sdc_fb.2: pixclock set for 60Hz refresh = 217013 ps
mxc_sdc_fb mxc_sdc_fb.2: Reconfiguring framebuffer
mxc_ipu mxc_ipu: Channel already disabled 10
mxc_ipu mxc_ipu: Channel already uninitialized 10
mxc_sdc_fb mxc_sdc_fb.2: allocated fb @ paddr=0x7A480000, size=460800.
sii902x 1-0039: cable connected

0 Kudos