Success! Subscription added.
Success! Subscription removed.
Sorry, you must verify to complete this action. Please click the verification link in your email. You may re-send via your profile.
Hi,
I am targeting Arria 10 FPGA with Displayport IP. My Display-port Interface is with Type-C connectors ALT mode (not using Standard DP connector). When I use Type-C connector, we can have Flip connection / orientation and normal orientation. When we have the flip orientation, Lane-0 will become Lane-3, & Lane-1 will become Lane-2 and vice versa.
So, my question is whether is it possible to handle the lane swapping inside FPGA?
I referred to https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug-dp-de.pdf document.
Page 23, Table 12, TX PHY Top there is a note:
Note: You must set the TX channel bonding mode to PMA and PCS bonding and the PCS TX Channel bonding master parameter to 0 (default is auto).
Whether this note has any concern on swapping the Lanes dynamically ?
With Regards,
HPB
Link Copied
Hi HPB,
It's possible to perform lane swapping but it's not done automatically.
Meaning user needs to manually manipulate the mapping on "tx_parallel_data" and "rx_parallel_data" connection between DP IP and NativePHY IP.
You can take a look on the same design example doc (page 10, page 11) where the design example use special parameter to control the different lane connection between different Bitec daughter card.
Thanks.
Regards,
dlim
Hi @DeshiL_Intel ,
Yes, I am aware that statically we can swap the lanes since we can assign the pin outs based on the hardware lane configuration.
In the Displayport IP user guide, page 92, Figure 29. Source Clock Tree
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_displayport.pdf
I can see that SYNC submodule of Encoder is going to interface to Transceiver Channel HSSIO0/1/2/3. If I write a custom logic ( data mux) to swap lane-0 data to Lane-4, lane-1 data to lane-2 and vice versa, based on Type-C cable orientation, whether the design will work properly?
Whether the Master channel concept wrt Transmit Bonding will have any effect on this dynamic switching?
With Regards,
HPB
Hi HPB,
My earlier suggestion is to swap tx_parallel_data and rx_parallel_data, the data bus that connect HSSI channel and DP IP together.
From DP IP perspective, by right it won't notice any lane swap effect at all as the lane swap is only happening on board.
I visualize the connection like below, DP RX lane 0 SYNC block should still works as it's interacting with data from lane 0 only all the while. Correct me if I am wrong
Thanks.
Regards,
dlim
Hi,
DP is a 4 lane or 2 lane protocol. To support this we need to enable Bonding in Native PHY IP. There, we are going to mention the master channel. My first concern is if we mention channel 0 is the PCS master, and then the lane swap happens, whether that will create any problem.
Regarding Dynamic Muxing,
Consider Transceiver A -Channel 0- TX is considered as Lane-0 during compile time. and Channel-1 is Lane-1 and so on..
Once FPGA is configured and when I connect DP Sink, then consider it is a non-flip connection, So, Lane-0 of FPGA is connected to Lane-0 of DP sink, Lane-1 of FPGA is connected to Lane-1 of sink and so on..
Now, I connected a 2nd DP sink but with flip connection. With some mechanism I came to know that Type-C is in flip orientation. Now, I must send lane-4 data in channel 0 of Transceiver, Lane-3 data in channel 1, Lane-2 data in channel 2 and Lane-0 data in channel 3
So, to support this I will mux the data coming from the DP Encoder.
The data mux requirement is shown in the attached snapshot.
With Regards,
HPB
Hi HPB,
Sorry for the delay in respond as I am quite tie up last week.
Now I understand better your concern on PMA and PCS bonding master channel selection. 4 lanes protocol should be fine but 2 lanes protocol is a challenge in flip orientation condition.
DP example design recommend to set lane 0 as master bonding channel for ease of channel placement management. master channel lane 0 will fit just fine for both 2 lanes and 4 lanes protocol
But now if I understand you correctly, type-C connector will flip the channel orientation to using lane 2 and lane 3 for 2 lanes protocol ?
This type-C connector flip really complicated everything
You are our first customer asking about type-C connector support so I can only try my best to analyze the situation together with you.
Is my understanding correct ? I believed this is the reason you are asking about bonding master channel question in the first place ?
Thanks.
Regards,
dlim
Hi @DeshiL_Intel ,
Thanks for your in detail analysis.
"
But now if I understand you correctly, type-C connector will flip the channel orientation to using lane 2 and lane 3 for 2 lanes protocol ?
Meaning lane 0 and lane 1 becomes unused.
"
Yes, this happens during 2-lane DP mode. otherwise (4-lane DP) During Flip, Lane-0 will become Lane-3, Lane-1 will become lane-2 and vice versa. (All channels will be used both in flip & no flip mode.
"
If NativePHY still configure lane 0 as master channel while actual data traffic go through lane 3 and lane 4 then the functionality will fail.
"
Ok, to have the proper data we need to dynamically reroute the data stream from DP encoder to corresponding PMA/native phy instances (as shown in the snapshot with previous reply)
"
Other than our previous discussion talked about adding mux to re-route the data traffic between transceiver channel and DP sink but now looks like you need to dynamic reconfigure transceiver channel bonding master channel selection as well to make it to work for 2 lanes protocol , right ?
"
Yes, this is what I want to know whether I can change the master PCS channel dynamically (using dynamic reconfiguration).
"
You are our first customer asking about type-C connector support so I can only try my best to analyze the situation together with you.
"
We have external logic / additional circuit to detect the flip condition or normal (no flip condition)
"
I believed this is the reason you are asking about bonding master channel question in the first place ?
"
Yes.
So, I need to see how we can change the master PCS channel in dynamic reconfiguration.
If you have came across any reference design or any material reference to change the master PCS channel through dynamic reconfiguration, please share with me.
With Regards,
HPB
Hi HPB,
I am not sure what's the register control for bonding master setting but I believe the easiest way is to use dynamic reconfig streamer mif file to switch between different NativePHY IP profile setting without the need to know register control access for certain setting. For instance :
I don't really have exact reference design but below sim test bench design will give you an idea how the streamer profile switching works. (checkout line 155 onwards)
Profile switching reconfig flow summary as below :
You can also refer to A10 XCVR PHY user guide doc (chapter 6.10, page 528) to learn more about dynamic reconfig process flow
You can also find the A10 XCVR PHY reg mapping table in below link
Thanks.
Regards,
dlim
Hi @DeshiL_Intel ,
Setting different profile could ease the reconfiguration. Thanks for the suggestion & reference links. I will go through them.
Thanks!
With Regards,
HPB
Hi HPB,
I hope you are doing well with your project development.
For now, I am setting this case to closure.
Feel free to file new forum thread for new enquiry in future.
Thanks.
Regards,
dlim
Community support is provided Monday to Friday. Other contact methods are available here.
Intel does not verify all solutions, including but not limited to any file transfers that may appear in this community. Accordingly, Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
For more complete information about compiler optimizations, see our Optimization Notice.