| i3c Vitis Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

Functions
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

  DeviceId | is 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().