![]() |
pciepsu
Xilinx SDK Drivers API Documentation
|
This file contains the software API definition of the Xilinx PSU PCI IP (psu_pcie).
This driver provides "C" function interface to application/upper layer to access the hardware.
Features The driver provides its user with entry points
Driver Initialization & Configuration
The XPciePsu_Config structure is used by the driver to configure itself. This configuration structure is typically created by the tool-chain based on HW build properties.
To support multiple runtime loading and initialization strategies employed by various operating systems, the driver instance can be initialized in the following way:
MODIFICATION HISTORY:
Ver Who Date Changes
1.0 tk 02/13/2019 First release
Functions | |
| void | XPciePsu_EP_BridgeInitialize (XPciePsu *PciePsuPtr) |
| This function initializes PCIe bridge. More... | |
| void | XPciePsu_EP_CfgInitialize (XPciePsu *PciePsuPtr, XPciePsu_Config *ConfigPtr) |
| This function initializes the config space. More... | |
| void | XPciePsu_EP_WaitForLinkup (XPciePsu *PciePsuPtr) |
| This function waits for Pcie link to come up. More... | |
| void | XPciePsu_EP_WaitForEnumeration (XPciePsu *PciePsuPtr) |
| This function waits for host to enumerate. More... | |
| int | XPciePsu_EP_SetupIngress (XPciePsu *PciePsuPtr, u32 IngressNum, u32 BarNum, u64 Dst) |
| This function sets up ingress translation. More... | |
| void XPciePsu_EP_BridgeInitialize | ( | XPciePsu * | PciePsuPtr | ) |
This function initializes PCIe bridge.
| PciePsuPtr | pointer to XPciePsu Instance Pointer |
Referenced by main().
| void XPciePsu_EP_CfgInitialize | ( | XPciePsu * | PciePsuPtr, |
| XPciePsu_Config * | ConfigPtr | ||
| ) |
This function initializes the config space.
| PciePsuPtr | pointer to XPciePsu Instance Pointer |
| ConfigPtr | pointer to XPciePsu_Config instrance Pointer. |
Referenced by XPciePsu_InitEndPoint().
| int XPciePsu_EP_SetupIngress | ( | XPciePsu * | PciePsuPtr, |
| u32 | IngressNum, | ||
| u32 | BarNum, | ||
| u64 | Dst | ||
| ) |
This function sets up ingress translation.
| PciePsuPtr | pointer to XPciePsu_Config Instance Pointer |
| IngressNum | ingress must be 0 to 7 |
| BarNum | bar no to setup ingress |
| Dst | 32 or 64 bit destination address |
XST_SUCCESS if setup is successful XST_FAILURE if setup is fail
References XPciePSU_ReadBar().
Referenced by main().
| void XPciePsu_EP_WaitForEnumeration | ( | XPciePsu * | PciePsuPtr | ) |
This function waits for host to enumerate.
On x86 BIOS sets memory enable bit On ARM64 it is set when driver gets inserted
| PciePsuPtr | pointer to XPciePsu_Config Instance Pointer |
Referenced by main().
| void XPciePsu_EP_WaitForLinkup | ( | XPciePsu * | PciePsuPtr | ) |
This function waits for Pcie link to come up.
| PciePsuPtr | pointer to XPciePsu_Config Instance Pointer |
Referenced by main().