We have used quartus 19.3 to generated example design for a DisplayPort targeting Cyclone 10 GX Development Kit + Bitec DP Daughter card. There were instructions for generating Tx-Only design from the example design and we were able to generate Tx-only design that worked fine for color bars.
We have re-targeted this design on to a custom board containing CY10GX FPGA. Link training on AUX channel is happening properly and the command log matches with that of a working design. MSA attributes also display correct values. But for some reason, DP_TX goes into Video Idle Pattern DPTX_TX_CONTROL[3:0]. Because of this monitor goes into Sleep mode.
Are there any recommended steps for debugging the DP design on a custom board?
How do we root cause the issue that is driving DP_TX into Video Idle mode ? The problem could also be on our custom board.
Perhaps you can evaluate your video source design first that interact with DP TX design
Also the good news is you already have a working reference design with color bar pattern generator to serve a debug reference
When you mentioned you ported over the design to custom board, what's the design changes to be specific ? You want to look into the detail of design changes to help you isolate issue.
Thanks for your support.
The video source is clean, its output keeps toggling regularly on SignalTap.
Our custom board has a TI re-driver and a mDP port. TI's re-driver registers look clean and they reflect the link training parameters. But it does not have any registers for main link status.
btc_dptx_is_link_up API was used for identifying the link status. When the link is up, DP_TX goes into NORMAL_VIDEO mode and switches to VIDEO_IDLE mode on link down. But the duration of link up status is so small that nothing is visible on the monitor. Are there any APIs that provide more details into why the link was breaking regularly.
Back to my question earlier, have you used back the working DP design from C10 GX dev kit on your custom board ?
Sorry we don't have special debug API.
Thanks for the suggestions.
I have ported the working design to the custom board. It's a 4-lane Tx-only Design. I had to edit the clock pll settings and pin/timing constraints to match the custom board.
We intend to use only TX XCVRs for DP and RX XCVRs are used for another functionality. The RX has additional components on its path as per that protocol requirements.
I will try performing link training with internal loopback and see how it goes.
I have not hear back from you for close to 2 months. Hopefully everything went well and you are able to make progress with your project.
For now, I am setting this case to closure.