cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Way
Adventurer
Adventurer
404 Views
Registered: ‎10-19-2020

Xilinx Display Port driver enquiry on register definition and flow

Hi,

I am looking at the display port driver and I noticed that there is a register offset 0x200 called PHY config being configured in function xDpRxSs_Start. The definition of this register is not found in the latest DisplayPort 1.4 Rx Subsystem User Guide (PG300). However, I am seeing the register definition in old document such as DisplayPort v6.0 Logicore(PG064). Hence, may I know whether we still need to set this register in DP1.4 Rx Subsystem?

Beside that, there are two handlers being called for example during video no interrupt which is XDpRxSs_DrvNoVideoHandler and DpRxSs_NoVideoHandler, may I know what is the different between these two handler?

I am new to this driver and I am not able to use to the driver provided. Hence looking for understanding the flow to configure the DP IP. Currently start looking at the driver. Looking at PG300, I am confuse whether which register I need to configure and which registers i can safely not configure it. Hence, May I know is there any good reference or steps that we can follow to configure the DP1.4 IP receiver part to do some quick test?

Tags (1)
0 Kudos
3 Replies
trevorr
Xilinx Employee
Xilinx Employee
258 Views
Registered: ‎09-09-2020

Hi @Way ,

 

I have looked into this for you.

 

To start a lot of what you are seeing has to do with downwards compatibility. Often we leave older functions and variables in our libraries so if a customer decides to upgrade to newer IP or a new version of Viviado, they can still repurpose a lot of their original code without much modification. 

 

As for the first question I am not able to find where you are seeing the PHY_CONFIG (0x200) reference in the XDpRxSs_Start Function (Shown Below). If you could provide more detail as to where you found it being addressed that would be helpful. 

trevorr_0-1616626214198.png

As for the second question the DpRxSs_NoVideoHandler is the older version of the interrupt handler for No Video. The XDpRxSs_DrvNoVideoHandler is the newer interrupt handler for No Video. There isn't much functional difference between the two.

 

I also saw your more recent thread so I will reply there as well. I hope all of this helps.

 

Regards, 

 

Trevor Rishavy

0 Kudos
Way
Adventurer
Adventurer
210 Views
Registered: ‎10-19-2020

Hi @trevorr 

Thank you for looking into this. 

The access to register PHY_CONFIG (0x200) is in the function being called by XDpRxSs_Start Function. Here is the function hierarchy and I am also attached it here.

XDpRxSs_Start -> XDp_Initialize -> XDp_RxInitialize

Regarding the downward capability, may I know whether should I still access this register 0x200 during the initialization? When just looking at the PG300, we might miss out this register since it is not mentioned in the UG.

 

PHY_Config.PNG
0 Kudos
trevorr
Xilinx Employee
Xilinx Employee
178 Views
Registered: ‎09-09-2020

Hi @Way ,

 

I have done some tests and believe that the XDPRXSS_RX_PHY_CONFIG references are not required for the software to work.  

 

I was able to run the DisplayPort 1.4 RX Only & Passthrough example designs with all references to XDPRXSS_RX_PHY_CONFIG commented out, and both ran without issue. 

 

I will reach out to the development team to get more information, but in the meantime I believe you can exclude the XDPRXSS_RX_PHY_CONFIG references within you design. 

 

I hope this helps. 

 

Regards, 

 

Trevor Rishavy

0 Kudos