Xilinx / PYNQ

Python Productivity for ZYNQ
http://www.pynq.io/
BSD 3-Clause "New" or "Revised" License
1.99k stars 818 forks source link

No HDMI input handshake #475

Closed aasseman closed 6 years ago

aasseman commented 7 years ago

I'm having trouble getting HDMI input to work with base.video.hdmi_in in python (pynq API v2.0, had the same issue with 1.4):

hasegaw commented 7 years ago

I believe you would have faced one or both of these problems:

1) PYNQ board doesn't have HDMI receiver LSIs. I experienced several PYNQ boards (and DVI2RGB IP in PYNQ) cannot sync with pixel clock provided by specific source devices (I doubt poor quality signals). In this case, PYNQ fails to start hdmi_in. Either of use of active HDMI cable or "retransmitting" the signal (using HDMI splitter, etc.) would resolve this issue.

I believe PYNQ-Z1 physical design needs to be changed for complete resolution. BTW I saw ZYBO Z7 boards have an LSI in HDMI RX.

2) DVI2RGB accepts DVI data format only. Though the IP has DDC ROM to ask the source for DVI data format (on the HDMI port) so it should work for most cases, some sources ignore DDC and transmit in HDMI data format that DVI2RGB cannot handle. In this case, DVI2RGB can lock the pixel clock but no inputs from HDMI port (VDE always 0.) Your "HDMI to DVI converter" would have resolved the situation by forcing DVI format.

This branch has the changes, to accept HDMI video format with audio, working fine with Nintendo Wii U console. https://github.com/hasegaw/PYNQ/commits/edid_for_wiiu

I don't know if PYNQ will support HDMI data formats in future releases.

Takeshi

schelleg commented 6 years ago

Yes, future boards (and frontend IP) will support HDMI properly. On PYNQ-Z1, its really DVI