We are attempting to create a device with a built in display running android that also has an HDMI connection where the user can optionally connect an external monitor.
Built in display = 720x1280 portrait
External display = whatever they plug in, ideally driven at 1920x1080.
Our built in display works properly as the primary display and we see Android running as expected.
IF we configure our device to NOT have a primary built in display, and instead we configure the primary display to be HDMI, the HDMI monitor will negotiate 1920x1080 and we will see the content as expected.
When we configure BOTH displays, we still see built in display contents properly. However, the HDMI display only shows a resolution of 800x600. There seems to be some issue with clocks or other configuration when running both displays.
Our DTS file simply includes the stock imx8mp.dtsi. We then enable lcdif1 w/ mipi_dsi for our built in display and lcdif3 for the HDMI display.
Suggestions on how to configure properly for two displays or how to debug what the problem is appreciated. We see this problem on Android 11 2.2.0 as well as Android 12 1.0.0.
Solved! Go to Solution.
If anyone runs into this, after more debugging we found that the problem was cable specific. Some cables worked and sent the proper 1080p resolution. Some cables never worked and some cables were intermittent. We found that in the case the resolution was lower (800x600), the edid had not been properly transmitted.
To solve this and send 1080p in all cases, we used the kernel feature CONFIG_DRM_LOAD_EDID_FIRMWARE and used the provided 1920x1080p.bin from tools/edid
If anyone runs into this, after more debugging we found that the problem was cable specific. Some cables worked and sent the proper 1080p resolution. Some cables never worked and some cables were intermittent. We found that in the case the resolution was lower (800x600), the edid had not been properly transmitted.
To solve this and send 1080p in all cases, we used the kernel feature CONFIG_DRM_LOAD_EDID_FIRMWARE and used the provided 1920x1080p.bin from tools/edid
Hi @dennis3
Please confirm that mipi_dsi using 720p and the HDMI port using 1080p. Do you use the ADV7535 board?
@Zhiming_LiuThis issue is unresolved for us. Any tip on how to debug/solve much appreciated.
mipi_dsi is set to 720p yes, but our display is portrait mode not landscape.
hdmi exact chip I'm not sure but because we use the Variscite imx8m-plus-dart carrier board. However, their dts file does not customize the drivers or settings included from stock imx8mp.dtsi.