I recently bought a mcim7ulp-evk development board, website i.MX 7ULP Evaluation Kit | NXP
I have downloaded, compiled and flashed the given Android source P9.0.0_2.2.0_GA_ANDROID_SOURCE source.
I plug in the hdmi cable to the given hdmi connector and my monitor is showing Android UI successfully.
However, I can see that the default hdmi output resolution is 640x480 and I now want to increase the hdmi output resolution to 1280x720. I checked that this resolution is indeed supported as default in mxc_edid.c in kernel_imx/drivers/video/fbdev/mxc directory. I then set the "video-mode" parameters in the imx7ulp device tree source imx7ulp-evk.dts to video-mode = <4>
I then boot up the development board, i checked that this parameter is set properly in /sys/class/graphics/fb1/modes,
showing as 1280x720p-60 which is good. However, the monitor is not showing anything.
Please could someone help to confirm what did I miss when configuring the hdmi resolution? If not, how do I change the hdmi output?
In the future, i want to increase the hdmi resolution to 1920 x 1080p-60, is this possible?
You could change the screen size and density of the screen with adb. The following values worked perfectly for me. However, do not expect to have a good performance since the i.MX7ULP does not have the capability to handle a high resolution.
adb shell wm size 1280x960
adb density 280
Furthermore, apparently, the maximum resolution that the i.MX7ULP could handle is 1280x960. I apologize for the inconvenience this could give you.
This is great! Thank you for helping. I did manage to get the resolution set to 1920x1080 following your given instruction.
While we are on this topic, please could you confirm the following,
1. How did you calculated the maximum resolution that the i.MX7ULP could handle is 1280x960? Is this calculated from the number of MIPI display channel it uses or did you get it from other source?
2. I have performed "cat sys/class/graphics/fb1/modes" and the output remains as "640x480p-59". I have also confirmed this on the monitor input source and it's showing that the HDMI input resolution is "640x480,60Hz". Please could you help to explain how does this higher resolution "1920x1080" works under 640x480 resolution?
3. I have looked at my print out that I added to the AOSP, I added code in drivers/video/fbdev/mxc/adv7535.c and drivers/video/fbdev/core/modedb.c, they are both showing the following,
adv7535 xres 640, yres 480, left 48, right 16, top 33, bottom 10, pixclock 39683
modedb.c xres 640, yres 480, left 48, right 16, top 33, bottom 10, pixclock 39683
to my surprise, the underlying kernel driver parameters did not changed. Does this imply that changes to parameters in Linux kernel for IMX7ULP won't affect anything as Android stack is the one controlling the screen resolution?