UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
2,061 Views
Registered: ‎03-03-2017

v_hdmi_tx_ss_0_ex Unable to set requested TX video resolution

Jump to solution

Hi, I am running the HDMI Tx example design generated in Vivado 2017.4 using KC705 where I did the "open example project" which created the v_hdmi_tx_ss_0_ex project for me which implemented and then in SDK I did the Import Examples from the v_hdmi_tx_ss driver in the bsp system.mss.

The design seems to work for most resolutions, but when I try and source resolution number 7 labeled " 7 - 3840 x 2160p" I get the following output:

 

Starting colorbar> 7
Unable to set requested TX video resolution.
Returning to previously TX video resolution.
Error programming SI5324
VPHY Error: See log for details

 

And if I show the log:

 

VPHY log
------
Error! CPLL config not found!


HDMI TX log
------
TX Set Stream, with TMDS (0)

 

Does anybody know why it is doing this?   I am using a KC705 rev1.2 and an Inrevium TB-FMCH-HDMI4K rev 2.1.

 

Thanks.

Tim

0 Kudos
1 Solution

Accepted Solutions
2,531 Views
Registered: ‎03-03-2017

Re: v_hdmi_tx_ss_0_ex Unable to set requested TX video resolution

Jump to solution

@samk,

   It turned out that the Lilliput A12 monitor does not ACK on the DDC bus when reading whether it is HDMI 2.0 compliant when it is just woken from sleep.

   So to get it working I added an additional menu item to the example design which reran the HDMI 2.0 DDC readback after 1920x1080x60p video was working and then at that point I could run the 4k60p video successfully.

   I believe the clock error was because without HDMI 2.0 a 4k60p video would require clk_tmds=594MHz which is not possible in this design.   Once HDMI 2.0 was verified successfully then 4k60p only requires 148.5MHz.

Tim

View solution in original post

8 Replies
2,059 Views
Registered: ‎03-03-2017

Re: v_hdmi_tx_ss_0_ex Unable to set requested TX video resolution

Jump to solution

Sorry, I don't know where the subject string came from, but it should be "v_hdmi_tx_ss_0_ex Unable to set requested TX video resolution".

0 Kudos
2,016 Views
Registered: ‎03-03-2017

Re: v_hdmi_tx_ss_0_ex Unable to set requested TX video resolution

Jump to solution

I just found that if I plug the HDMI cable into another monitor (Sceptre TV) then the 3840x2160x60Hz works great without the error, but if I then go back to the Lilliput A12 monitor then I get the error.   

I have successfully used this Lilliput monitor with other 4k sources at 60Hz no problem, but for some reason the KC705 with the HDMI example TX design cannot work with the monitor.

Does anybody know if the clock-stretch issue in the HDMI block has fully been fixed?   I implemented the design in Vivado 2017.4.

 

Thanks.

Tim

0 Kudos
Mentor watari
Mentor
2,004 Views
Registered: ‎06-16-2013

Re: v_hdmi_tx_ss_0_ex Unable to set requested TX video resolution

Jump to solution

Hi @tim_severance

 

Would you make sure the followings ?

 

1. Clock jitter on HDMI clock

2. Change HDMI cable (length or cable vendor)

 

I suspect clock jitter and/or SI issue in your environment.

 

Best regards,

0 Kudos
1,981 Views
Registered: ‎03-03-2017

Re: v_hdmi_tx_ss_0_ex Unable to set requested TX video resolution

Jump to solution

@watari,
    So I am assuming that the clock jitter is fine since it is using KC705 with Inrevium board which successfuly does 4k60Hz video into another display, and I have tried multiple cables with the monitor that doesn't work.

Thanks.

Tim

0 Kudos
Moderator
Moderator
1,883 Views
Registered: ‎10-04-2017

Re: v_hdmi_tx_ss_0_ex Unable to set requested TX video resolution

Jump to solution

Hi @tim_severance,

 

Can you print out the Edid from the monitor? (E from the UART menu)

Can you print out the GT log as well? (Z from the UART menu)

What is your color format?

What is your color depth?

What is the PPC clock setting?

 

The specific CPLL error is reported when the software is not able to find the necessary PLL divisor values to produce the configured line rate given the specified PLL input frequency. This means that most likely the Reference clock is not being set correctly.

 

-Sam

 

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
0 Kudos
2,532 Views
Registered: ‎03-03-2017

Re: v_hdmi_tx_ss_0_ex Unable to set requested TX video resolution

Jump to solution

@samk,

   It turned out that the Lilliput A12 monitor does not ACK on the DDC bus when reading whether it is HDMI 2.0 compliant when it is just woken from sleep.

   So to get it working I added an additional menu item to the example design which reran the HDMI 2.0 DDC readback after 1920x1080x60p video was working and then at that point I could run the 4k60p video successfully.

   I believe the clock error was because without HDMI 2.0 a 4k60p video would require clk_tmds=594MHz which is not possible in this design.   Once HDMI 2.0 was verified successfully then 4k60p only requires 148.5MHz.

Tim

View solution in original post

Voyager
Voyager
1,453 Views
Registered: ‎10-31-2016

Re: v_hdmi_tx_ss_0_ex Unable to set requested TX video resolution

Jump to solution

Hi @tim_severance

 

Is it possible to share changed files?

 

thank you 

0 Kudos
1,428 Views
Registered: ‎03-03-2017

Re: v_hdmi_tx_ss_0_ex Unable to set requested TX video resolution

Jump to solution

@msh,

   Sorry I cannot share the project due to privacy concerns, but below is the code I added to the main menu C code which forced the system to check the monitor again if it is HDMI2.0 or not.   If the code ends up in the "else" then your monitor is responding that it is not HDMI 2.0 compatible and would explain why you are seeing what you are seeing.

 

hdmi1.png

 

Code you can copy/paste:

XV_HdmiTxSs_DetectHdmi20(&HdmiTxSs);
if (HdmiTxSs.HdmiTxPtr->Stream.IsHdmi20)
xil_printf("HdmiTxSs->HdmiTxPtr->Stream->IsHdmi20 = 1.\r\n");
else
xil_printf("\x1b[31mHdmiTxSs->HdmiTxPtr->Stream->IsHdmi20 = 0.\r\n\x1b[0m");
break;

 

Tim