How to enable to support 1920x1200 30Hz with adv7535?

Board based on the Kirin 970 - HI3670 Application Processor
More info: http://www.96boards.org/product/hikey970/ (Website coming soon…)
Buy now: https://www.seeedstudio.com/HiKey-970-Development-Board-p-3046.html

Hello.
I’m using LCD panel which is HDMI input and only support 1920x1200 but I couldn’t find 1920x1200 mode in adv7535.c. adv7535 seem to not support more then1920x1080 60Hz.

So my idea is add new resolution 1920x1200 30Hz.
Could you help me adding this mode newly?

Firstly you should try some of the tricks documented here to try and get
the driver to try adopting 1920x1200 (e.g. so the printk() messages
in show something like “Checking mode 1920x1200@30 clock: ZZZ …
BAD”).

Once you have done that you can probably just add the figures to the
whitelist. 1920x1200 is not a HDMI video mode so the display will have
to end up running in DVI-D mode where timings can be much more relaxed
(e.g. the PLL granulatity issues that result in 1920x1080@59Hz issues on
the Hikey family shouldn’t matter).

I doubt 1920x1200 is out of range for the chip.
If i have time i can check if i can patch up the driver for that.

Yes please.
30hz is enough.

I will wait your patch.

2018년 11월 20일 (화) 오전 2:02에 Janrinze noreply@discuss.96boards.org님이 작성:

Firstly you should try some of the tricks documented here
=> Where can I find about “tricks documented here”

add the figures to the whitelist
=> Add where?

Thank you for your answer. but because I’m not expert on HDMI and Hikey, can’t do like that.
I need more detailed explanation.(e.g path of file to fix and it’s figures)

My apologies. Forgetting the links to the tricks is a mistake on my part:
https://wiki.archlinux.org/index.php/kernel_mode_setting

For the whitelist this is the code that you already know about in adv7535.c (where you didn’t find 1920x1200). It’s purpose it to restrict the mode list to the modes that work best with hikey970 in HDMI mode. As I said, this should be less of a problem with a DVI-D monitor.

To be clear, this might not be the entire of the steps required. The basic approach is ensure the framework tries to select the video mode you want (the tricks in the archlinux side) and then find out which parts of the driver block that mode and remove them, finally we might have to tweak the timings (but hopefully not). To do this you may need to add tracing and other debug clues to files in drivers/gpu/drm/hisilicon/kirin9xx to find other places in the driver where change is needed.