pciepsu
Vitis 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, const 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 |
References XPciePsu_ReadReg(), and XPciePsu_WriteReg().
Referenced by main().
void XPciePsu_EP_CfgInitialize | ( | XPciePsu * | PciePsuPtr, |
const 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_ReadReg(), and XPciePsu_WriteReg().
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 |
References XPciePsu_ReadReg().
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 |
References XPciePsu_ReadReg().
Referenced by main().