i3c
Vitis Drivers API Documentation
xi3c_slave_intr_example.c File Reference

Overview

Design example to use the I3C device as slave in interrupt mode.

It performs the send and receive operations in slave mode.

Note: Master need to check for slave devices availability and then assign address.

 MODIFICATION HISTORY:
Ver   Who Date     Changes


1.2 gm 02/18/25 Add support for Slave mode

 

Functions

int I3cSlaveIntrExample (u16 DeviceId)
 This function does a minimal test on the I3c device and driver as a design example. More...
 
void Handler (u32 Event)
 This function is the handler which updates transfer status up on events from the I3C. More...
 
int main (void)
 Main function to call the interrupt example. More...
 

Function Documentation

void Handler ( u32  Event)

This function is the handler which updates transfer status up on events from the I3C.

It is called from an interrupt context such that the amount of processing performed should be minimized.

Returns
None.
Note
None.
int I3cSlaveIntrExample ( u16  DeviceId)

This function does a minimal test on the I3c device and driver as a design example.

The purpose of this function is to illustrate how to use the XI3c driver.

This function sends and receives data through the I3C.

This function uses interrupt driver mode of the I3C.

Parameters
DeviceIdis the Device ID of the I3c Device and is the XPAR_<I3C_instance>_DEVICE_ID value from xparameters.h
Returns
XST_SUCCESS if successful, otherwise XST_FAILURE.
Note

< Test data

References XI3c_Config::BaseAddress, Handler(), XI3c_CfgInitialize(), XI3c_IsDyncAddrAssigned, XI3c_LookupConfig(), XI3c_SetStatusHandler(), XI3c_SlaveInterruptHandler(), XI3c_SlaveRecv(), and XI3c_SlaveSend().

Referenced by main().

int main ( void  )

Main function to call the interrupt example.

Returns
XST_SUCCESS if successful, XST_FAILURE if unsuccessful.
Note
None.

References I3cSlaveIntrExample().