i3c
Vitis Drivers API Documentation
xi3c_daa_example.c File Reference

Overview

Design example to use the I3C device as master in polled mode.

It assigns the dynamic addressed to slave addresses. It sends and receives data from slave.

Note: Max 108 dynamic addresses are available unconditionally. User need to provide dynamic addresses from the valid dynamic addresses list.

 MODIFICATION HISTORY:
Ver   Who Date     Changes


1.00 gm 02/09/24 First release

 

Functions

int I3cMasterDaaExample (u16 DeviceId)
 This function does a minimal test on the I3c device and driver as a design example. More...
 
int main (void)
 Main function to call the daa example. More...
 

Variables

u8 Dynamic_Addr [] = {0x08}
 0x08 to 0x3D are the 1st 54 valid dynamic addresses More...
 

Function Documentation

int I3cMasterDaaExample ( 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 assigns dynamic addresses to slave devices. It sends data and receives the data through the I3C

This function uses polled 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

< SDR mode

References XI3c_Config::BaseAddress, XI3c_SlaveInfo::Bcr, XI3c_SlaveInfo::Dcr, Dynamic_Addr, XI3c_SlaveInfo::Id, XI3C_BusInit(), XI3c_CfgInitialize(), XI3c_DynaAddrAssign(), XI3c_LookupConfig(), XI3c_MasterRecvPolled(), XI3c_MasterSendPolled(), XI3c_SendTransferCmd(), and XI3c::XI3c_SlaveInfoTable.

Referenced by main().

int main ( void  )

Main function to call the daa example.

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

References I3cMasterDaaExample().

Variable Documentation

u8 Dynamic_Addr[] = {0x08}

0x08 to 0x3D are the 1st 54 valid dynamic addresses

Referenced by I3cMasterDaaExample().