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
Visitor boris.khasin
Visitor
318 Views
Registered: ‎11-19-2019

zynq ultrascale + using PCIE DMA Bridge as endpoint device

I need an example or some instructions on how to copy through the PCIE DMA as an end point device. We set up the PCIE endpoint on our zynq and we just need something to help us understand how to use the PCIE DMA to copy data over from out root complex device into our Zynq's DDR.

0 Kudos
8 Replies
Visitor boris.khasin
Visitor
313 Views
Registered: ‎11-19-2019

Re: zynq ultrascale + using PCIE DMA Bridge as endpoint device

Oh additional we are trying to do this bare metal.

Thanks,

Boris

0 Kudos
Visitor boris.khasin
Visitor
229 Views
Registered: ‎11-19-2019

Re: zynq ultrascale + using PCIE DMA Bridge as endpoint device

I guess to break down my questions a little more.
Could you answer these questions?
1) If my device is set up as an endpoint and i need to use the dma to transfer data from the DMA host to my memory space.I am trying to do this in bare metal. How can I do this?
2) Is there example code for this? 
3) Do I use the AXI DMA controller and just give it a source location in the host memory space and a target location in my (the endpoint memory space)?
0 Kudos
Xilinx Employee
Xilinx Employee
159 Views
Registered: ‎08-06-2008

Re: zynq ultrascale + using PCIE DMA Bridge as endpoint device

Could you please check the following application notes?

https://www.xilinx.com/support/documentation/application_notes/xapp1171-pcie-central-dma-subsystem.pdf

This might not be the exact design you mentioned but should be close. Please review the document and let us know questions and further details about your proposed design in reference to the above document. We might not have an example design but we will see if there is any helpful information that we can provide.

Thanks.

0 Kudos
Visitor boris.khasin
Visitor
138 Views
Registered: ‎11-19-2019

Re: zynq ultrascale + using PCIE DMA Bridge as endpoint device

I think the ultrascale+ the ps has its own PCIE block.

Im new to PCIE and need some help understanding the address translation from R5 DDR to host memory. Some example code would be verry helpful.

0 Kudos
Visitor boris.khasin
Visitor
125 Views
Registered: ‎11-19-2019

Re: zynq ultrascale + using PCIE DMA Bridge as endpoint device

We are using the PS side PCIE this looks like its using the PL PCIE.

0 Kudos
Xilinx Employee
Xilinx Employee
101 Views
Registered: ‎08-06-2008

Re: zynq ultrascale + using PCIE DMA Bridge as endpoint device

Yes Zynq Ultrascale+ has its own PCIe block - "PS-PCIe".

For general address translation concept, please check: https://www.xilinx.com/support/answers/65062.html

We don't have specific example that you mentioned. The following links might be helpful:

https://www.xilinx.com/support/documentation/application_notes/xapp1289-dma-pcie.pdf

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842195/XAPP1289+PCIe+Root+DMA

Thanks.

0 Kudos
Visitor boris.khasin
Visitor
84 Views
Registered: ‎11-19-2019

Re: zynq ultrascale + using PCIE DMA Bridge as endpoint device

 I have the PS PCIE bridge set up and working to the point where i can access the BAR registers from both sides and write to the scratch registers.  What i need to understand is for the PS PCIE bridge when i need to write from my side the (End Point) to the hosts memory and read from the hosts memory, how do i do that? I get an interrupt from the host saying here is an address for the data how do i use the DMA bridge to transfer from the hosts memory to mine. I need to copy to and from the host memory space.

Thanks,

Boris 

0 Kudos
Xilinx Employee
Xilinx Employee
42 Views
Registered: ‎08-06-2008

Re: zynq ultrascale + using PCIE DMA Bridge as endpoint device

Please refer to the link below:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842008/Zynq+UltraScale+PS-PCIe+Linux+Configuration#ZynqUltraScale+PS-PCIeLinuxConfiguration-Runningthesimple-testapplicationonZCU102testingPSPCIeEndPointDMA.

The simple test dma application mentioned in the above link is availble in the zip file attached with the answer record below:

https://www.xilinx.com/support/answers/72076.html

Let us know if this is what you are looking for.

Thanks.

 

0 Kudos