![]()  | 
  
    spi
    
   Vitis Drivers API Documentation 
   | 
 
Data Structures | |
| struct | XSpi_Stats | 
| XSpi statistics.  More... | |
| struct | XSpi_Config | 
| This typedef contains configuration information for the device.  More... | |
| struct | XSpi | 
| The XSpi driver instance data.  More... | |
Macros | |
| #define | XSpi_IntrGlobalEnable(InstancePtr) | 
| This macro writes to the global interrupt enable register to enable interrupts from the device.  More... | |
| #define | XSpi_IntrGlobalDisable(InstancePtr) XSpi_WriteReg(((InstancePtr)->BaseAddr), XSP_DGIER_OFFSET, 0) | 
| This macro disables all interrupts for the device by writing to the Global interrupt enable register.  More... | |
| #define | XSpi_IsIntrGlobalEnabled(InstancePtr) | 
| This function determines if interrupts are enabled at the global level by reading the global interrupt register.  More... | |
| #define | XSpi_IntrGetStatus(InstancePtr) XSpi_ReadReg(((InstancePtr)->BaseAddr), XSP_IISR_OFFSET) | 
| This function gets the contents of the Interrupt Status Register.  More... | |
| #define | XSpi_IntrClear(InstancePtr, ClearMask) | 
| This function clears the specified interrupts in the Interrupt status Register.  More... | |
| #define | XSpi_IntrEnable(InstancePtr, EnableMask) | 
| This function sets the contents of the Interrupt Enable Register.  More... | |
| #define | XSpi_IntrDisable(InstancePtr, DisableMask) | 
| Disable the specified Interrupts in the Interrupt Enable Register.  More... | |
| #define | XSpi_IntrGetEnabled(InstancePtr) XSpi_ReadReg(((InstancePtr)->BaseAddr), XSP_IIER_OFFSET) | 
| This function gets the contents of the Interrupt Enable Register.  More... | |
| #define | XSpi_SetControlReg(InstancePtr, Mask) XSpi_WriteReg(((InstancePtr)->BaseAddr), XSP_CR_OFFSET, (Mask)) | 
| Set the contents of the control register.  More... | |
| #define | XSpi_GetControlReg(InstancePtr) XSpi_ReadReg(((InstancePtr)->BaseAddr), XSP_CR_OFFSET) | 
| Get the contents of the control register.  More... | |
| #define | XSpi_GetStatusReg(InstancePtr) XSpi_ReadReg(((InstancePtr)->BaseAddr), XSP_SR_OFFSET) | 
| Get the contents of the status register.  More... | |
| #define | XSpi_SetXipControlReg(InstancePtr, Mask) XSpi_WriteReg(((InstancePtr)->BaseAddr), XSP_CR_OFFSET, (Mask)) | 
| Set the contents of the XIP control register.  More... | |
| #define | XSpi_GetXipControlReg(InstancePtr) XSpi_ReadReg(((InstancePtr)->BaseAddr), XSP_CR_OFFSET) | 
| Get the contents of the XIP control register.  More... | |
| #define | XSpi_GetXipStatusReg(InstancePtr) XSpi_ReadReg(((InstancePtr)->BaseAddr), XSP_SR_OFFSET) | 
| Get the contents of the status register.  More... | |
| #define | XSpi_SetSlaveSelectReg(InstancePtr, Mask) XSpi_WriteReg(((InstancePtr)->BaseAddr), XSP_SSR_OFFSET, (Mask)) | 
| Set the contents of the slave select register.  More... | |
| #define | XSpi_GetSlaveSelectReg(InstancePtr) XSpi_ReadReg((InstancePtr)->BaseAddr, XSP_SSR_OFFSET) | 
| Get the contents of the slave select register.  More... | |
| #define | XSpi_Enable(InstancePtr) | 
| Enable the device and uninhibit master transactions.  More... | |
| #define | XSpi_Disable(InstancePtr) | 
| Disable the device.  More... | |
Configuration options  | |
The following options may be specified or retrieved for the device and enable/disable additional features of the SPI. Each of the options are bit fields, so more than one may be specified.  | |
| #define | XSP_MASTER_OPTION 0x1 | 
| #define | XSP_CLK_ACTIVE_LOW_OPTION 0x2 | 
| #define | XSP_CLK_PHASE_1_OPTION 0x4 | 
| #define | XSP_LOOPBACK_OPTION 0x8 | 
| #define | XSP_MANUAL_SSELECT_OPTION 0x10 | 
Typedefs | |
| typedef void(* | XSpi_StatusHandler )(void *CallBackRef, u32 StatusEvent, unsigned int ByteCount) | 
| The handler data type allows the user to define a callback function to handle the asynchronous processing of the SPI driver.  More... | |
Functions | |
| int | XSpi_Initialize (XSpi *InstancePtr, u16 DeviceId) | 
| Initializes a specific XSpi instance such that the driver is ready to use.  More... | |
| XSpi_Config * | XSpi_LookupConfig (u16 DeviceId) | 
| Looks up the device configuration based on the unique device ID.  More... | |
| int | XSpi_CfgInitialize (XSpi *InstancePtr, XSpi_Config *Config, UINTPTR EffectiveAddr) | 
| Initializes a specific XSpi instance such that the driver is ready to use.  More... | |
| int | XSpi_Start (XSpi *InstancePtr) | 
| This function enables interrupts for the SPI device.  More... | |
| int | XSpi_Stop (XSpi *InstancePtr) | 
| This function stops the SPI device by disabling interrupts and disabling the device itself.  More... | |
| void | XSpi_Reset (XSpi *InstancePtr) | 
| Resets the SPI device by writing to the Software Reset register.  More... | |
| int | XSpi_SetSlaveSelect (XSpi *InstancePtr, u32 SlaveMask) | 
| Selects or deselect the slave with which the master communicates.  More... | |
| u32 | XSpi_GetSlaveSelect (XSpi *InstancePtr) | 
| Gets the current slave select bit mask for the SPI device.  More... | |
| int | XSpi_Transfer (XSpi *InstancePtr, u8 *SendBufPtr, u8 *RecvBufPtr, unsigned int ByteCount) | 
| Transfers the specified data on the SPI bus.  More... | |
| void | XSpi_SetStatusHandler (XSpi *InstancePtr, void *CallBackRef, XSpi_StatusHandler FuncPtr) | 
| Sets the status callback function, the status handler, which the driver calls when it encounters conditions that should be reported to the higher layer software.  More... | |
| void | XSpi_InterruptHandler (void *InstancePtr) | 
| The interrupt handler for SPI interrupts.  More... | |
| int | XSpi_SelfTest (XSpi *InstancePtr) | 
| Runs a self-test on the driver/device.  More... | |
| void | XSpi_GetStats (XSpi *InstancePtr, XSpi_Stats *StatsPtr) | 
| Gets a copy of the statistics for an SPI device.  More... | |
| void | XSpi_ClearStats (XSpi *InstancePtr) | 
| Clears the statistics for the SPI device.  More... | |
| int | XSpi_SetOptions (XSpi *InstancePtr, u32 Options) | 
| This function sets the options for the SPI device driver.  More... | |
| u32 | XSpi_GetOptions (XSpi *InstancePtr) | 
| This function gets the options for the SPI device.  More... | |