08-25-2020 09:32 AM - edited 08-26-2020 07:04 PM
I posted a response to another forum related to the zcu102 board and was asked to create a new post specific to the zcu106. So, here it is.
I was able to use the zcu106 with an ASUS DisplayPort to DisplayPort connector but it was a requirement that we support a ViewSonic which only had DVI input. While the ASUS worked the ViewSonic never saw any signal.
With an serial terminal I could run dmesg to capture what happened when I connected the cable and the following was output:
[ 2667.696135] [drm:drm_dp_dpcd_access] Too many retries, giving up. First error: -110
[ 2669.861263] [drm:drm_dp_dpcd_access] Too many retries, giving up. First error: -110
[ 2669.861271] [drm:drm_helper_hpd_irq_event] [CONNECTOR:39:DP-1] status updated from disconnected to disconnected
This appears to be the driver attempting to query the display for something (EDID?, etc..) but not seeing any response, and timing out.
The cables I was using were typical v1.2 compliant cables but are "passive" cables (AmazonBasics DisplayPort to DVI Display Cable - 6 feet). This means they rely on the board to switch to DVI signalling over them. I ordered two of them and neither would allow the ViewSonic to work.
So, I switched to an "active" cable, instead (Startech.com 6 ft DisplayPort to DVI Active Adapter Converter Cable - 6ft). I think it is presenting itself to the zcu106 as a DisplayPort and doing the DVI signal conversion on the terminating connector (at the DVI connector end).
It works 100% for me.
(I have edited this post after receiving additional information from florentw)
08-26-2020 08:06 AM
Thank you for sharing. I just want to do one clarification on your message:
The zcu106 DisplayPort is v1.2 compliant and supports "Dual Mode". This means that it detects that a DVI connection is on the other end and changes the signalling to be DVI instead of DisplayPort. However, I read elsewhere that the long length of traces on the zcu106 between the driver chip and the DisplayPort connector means that it doesn't work with all DVI display and cable combos (even if the cable is v1.2 compliant).
This is incorrect. The Displayport Controller on the ZynqMPSoC does not support Dual-Mode (also called DP++). This is the reason why absolutely no passive cable will work (for active cables, they might work but are not directly supported, it is up to the user to do its own characterization to make sure that it is working). This is mentioned in the AR#71774.
This is important to note that it is absolutely note mandatory for a source/sink to support Dual-Mode to be DP1.2 compliant (the ZU+ is a certified DP1.2 compliant source as per the VESA website (search for Xilinx)).
As you mentioned, if you are using a passive cable, the source needs to be able to send the video connectivity format supported by the sink (DVI or HDMI). The passive adapter will only do a wire connection between the 2 connectivity. This is also called HDMI over DP or DVI over DP.
Thus this require the source to be able to generate HDMI or DVI signal. However, the Displayport controller is only generating Displayport transaction.
This is potentially possible to do a design which support Dual-Mode with the Xilinx Devices but this would need to be implemented of the PL. Indeed you would need to have both a Displayport and DVI/HDMI IP to generate both type of transaction and do the switch based on what is detected by the source. However, at this time, there is no direct IP solution from Xilinx.