PSOC E8XXGP Device Support Library

General Description

Functions

cy_en_i3c_status_t Cy_I3C_ControllerAttachI2CDevice (I3C_CORE_Type *base, cy_stc_i2c_device_t *i2cDevice, cy_stc_i3c_context_t *context)
 Attaches an I2C device to the bus as defined by cy_stc_i2c_device_t. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerDetachI2CDevice (I3C_CORE_Type *base, cy_stc_i2c_device_t *i2cDevice, cy_stc_i3c_context_t *context)
 Detaches an I2C device from the bus defined by cy_stc_i2c_device_t. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerAttachI3CDevice (I3C_CORE_Type *base, cy_stc_i3c_device_t *i3cDevice, cy_stc_i3c_context_t *context)
 Attaches an I3C device to the bus defined by cy_stc_i3c_device_t. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerDetachI3CDevice (I3C_CORE_Type *base, cy_stc_i3c_device_t *i3cDevice, cy_stc_i3c_context_t *context)
 Detaches an I3C device from the bus defined by cy_stc_i3c_device_t. More...
 
uint32_t Cy_I3C_GetI2CDeviceCount (I3C_CORE_Type *base, cy_stc_i3c_context_t *context)
 Provides the number of I2C devices attached to the bus. More...
 
uint32_t Cy_I3C_GetI3CDeviceCount (I3C_CORE_Type *base, cy_stc_i3c_context_t *context)
 Provides the number of I3C devices attached to the bus. More...
 
uint32_t Cy_I3C_SetDataRate (I3C_CORE_Type *base, uint32_t dataRateHz, uint32_t i3cClockHz, cy_stc_i3c_context_t *context)
 Sets desired maximum I3C bus data rate for transfers. More...
 
uint32_t Cy_I3C_GetDataRate (I3C_CORE_Type const *base, cy_stc_i3c_context_t *context)
 Provides the supported I3C bus data rate for I3C devices. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerGetI2CDevices (I3C_CORE_Type *base, cy_stc_i2c_device_t *i2cDeviceList, cy_stc_i3c_context_t *context)
 Provides the list of I2C devices on the bus. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerGetI3CDevices (I3C_CORE_Type *base, cy_stc_i3c_device_t *i3cDeviceList, cy_stc_i3c_context_t *context)
 Provides the list of I3C devices on the bus. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerGetFreeDeviceAddress (I3C_CORE_Type *base, uint8_t *address, cy_stc_i3c_context_t *context)
 Provides the next dynamic address available to be assigned. More...
 
bool Cy_I3C_isCCCCmdSupported (I3C_CORE_Type *base, uint8_t cccCmd)
 Checks if the CCC command is supported. More...
 
cy_en_i3c_status_t Cy_I3C_SendCCCCmd (I3C_CORE_Type *base, cy_stc_i3c_ccc_cmd_t *cccCmd, cy_stc_i3c_context_t *context)
 Post the specified CCC command to command queue. More...
 
cy_en_i3c_status_t Cy_I3C_DisableDeviceIbi (I3C_CORE_Type *base, cy_stc_i3c_device_t *i3cDevice, cy_stc_i3c_context_t *context)
 Disables all IBI events from specified device. More...
 
cy_en_i3c_status_t Cy_I3C_EnableDeviceIbi (I3C_CORE_Type *base, cy_stc_i3c_device_t *i3cDevice, cy_stc_i3c_context_t *context)
 Enables all IBI events from specified device. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerWrite (I3C_CORE_Type *base, cy_stc_i3c_controller_xfer_config_t *xferConfig, cy_stc_i3c_context_t *context)
 Writes data provided by xferConfig structure cy_stc_i3c_controller_xfer_config_t to a specific device. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerRead (I3C_CORE_Type *base, cy_stc_i3c_controller_xfer_config_t *xferConfig, cy_stc_i3c_context_t *context)
 Reads data from a device specified by xferConfig structure cy_stc_i3c_controller_xfer_config_t. More...
 
void Cy_I3C_ControllerAbortTransfer (I3C_CORE_Type *base, cy_stc_i3c_context_t *context)
 Aborts an ongoing transfer. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerWriteByte (I3C_CORE_Type *base, uint8_t targetAddress, int8_t data, cy_stc_i3c_context_t *context)
 Sends one byte to a target. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerReadByte (I3C_CORE_Type *base, uint8_t targetAddress, uint8_t *data, cy_stc_i3c_context_t *context)
 Reads one byte from a target. More...
 
uint32_t Cy_I3C_GetBusStatus (I3C_CORE_Type const *base, cy_stc_i3c_context_t const *context)
 Returns the current I3C bus status. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerStartEntDaa (I3C_CORE_Type *base, cy_stc_i3c_context_t *context)
 Issues ENTDAA CCC command to discover the i3c devices on the bus and assigns valid dynamic addresses to the discovered devices. More...
 
cy_en_i3c_status_t Cy_I3C_SetDASA (I3C_CORE_Type *base, cy_stc_i3c_ccc_cmd_t *cccCmd, cy_stc_i3c_context_t *context)
 Set Dynamic Address from Static Address Command. More...
 
cy_en_i3c_status_t Cy_I3C_SetAASA (I3C_CORE_Type *base, cy_stc_i3c_device_t *i3cDevice, uint8_t i3cDeviceCount, cy_stc_i3c_context_t *context)
 Set All Addresses to Static Address Command. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerSendHdrCmds (I3C_CORE_Type *base, uint8_t targetAddress, cy_stc_i3c_hdr_cmd_t *hdrCmd, cy_stc_i3c_context_t *context)
 Writes data provided by xferConfig structure cy_stc_i3c_controller_xfer_config_t to a specific device. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerWriteDMA (I3C_CORE_Type *base, uint8_t targetAddress, uint32_t Datalength, cy_stc_i3c_context_t *context)
 Initiate an I3C data transfer with DMA, Appropriate trig mux should be set before calling this API. More...
 
cy_en_i3c_status_t Cy_I3C_ControllerReadDMA (I3C_CORE_Type *base, uint8_t targetAddress, uint32_t Datalength, cy_stc_i3c_context_t *context)
 Initiate an I3C data Receive with DMA, Appropriate trig mux should be set before calling this API. More...
 
cy_en_i3c_status_t Cy_I3C_GetIbiPayload (I3C_CORE_Type *base, uint8_t *buffer, uint32_t size, cy_stc_i3c_context_t *context)
 Read data received with IBI into given buffer. More...
 
bool CY_I3C_isIbiPayloadEnabled (I3C_CORE_Type *base, uint8_t targetAddress, cy_stc_i3c_context_t *context)
 Returns IBI payload enabled status. More...
 

Function Documentation

◆ Cy_I3C_ControllerAttachI2CDevice()

cy_en_i3c_status_t Cy_I3C_ControllerAttachI2CDevice ( I3C_CORE_Type base,
cy_stc_i2c_device_t i2cDevice,
cy_stc_i3c_context_t context 
)

Attaches an I2C device to the bus as defined by cy_stc_i2c_device_t.

It is required to provide device static address and lvr information in cy_stc_i2c_device_t.

Parameters
baseThe pointer to the I3C instance.
i2cDeviceThe pointer to the I2C device description structure cy_stc_i2c_device_t.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
cy_en_i3c_status_t

◆ Cy_I3C_ControllerDetachI2CDevice()

cy_en_i3c_status_t Cy_I3C_ControllerDetachI2CDevice ( I3C_CORE_Type base,
cy_stc_i2c_device_t i2cDevice,
cy_stc_i3c_context_t context 
)

Detaches an I2C device from the bus defined by cy_stc_i2c_device_t.

Parameters
baseThe pointer to the I3C instance.
i2cDevicepointer to the I2C device description structure cy_stc_i2c_device_t.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
cy_en_i3c_status_t

◆ Cy_I3C_ControllerAttachI3CDevice()

cy_en_i3c_status_t Cy_I3C_ControllerAttachI3CDevice ( I3C_CORE_Type base,
cy_stc_i3c_device_t i3cDevice,
cy_stc_i3c_context_t context 
)

Attaches an I3C device to the bus defined by cy_stc_i3c_device_t.

Parameters
baseThe pointer to the I3C instance.
i3cDeviceThe pointer to the i3c device description structure cy_stc_i3c_device_t.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
cy_en_i3c_status_t
Note
This function is used to attach I3C devices with Static Addresses only.

◆ Cy_I3C_ControllerDetachI3CDevice()

cy_en_i3c_status_t Cy_I3C_ControllerDetachI3CDevice ( I3C_CORE_Type base,
cy_stc_i3c_device_t i3cDevice,
cy_stc_i3c_context_t context 
)

Detaches an I3C device from the bus defined by cy_stc_i3c_device_t.

Parameters
baseThe pointer to the I3C instance.
i3cDeviceThe pointer to the I3C device description structure cy_stc_i3c_device_t.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
cy_en_i3c_status_t

◆ Cy_I3C_GetI2CDeviceCount()

uint32_t Cy_I3C_GetI2CDeviceCount ( I3C_CORE_Type base,
cy_stc_i3c_context_t context 
)

Provides the number of I2C devices attached to the bus.

Parameters
baseThe pointer to the I3C instance.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
Number of I2C devices attached to the bus.

◆ Cy_I3C_GetI3CDeviceCount()

uint32_t Cy_I3C_GetI3CDeviceCount ( I3C_CORE_Type base,
cy_stc_i3c_context_t context 
)

Provides the number of I3C devices attached to the bus.

Parameters
baseThe pointer to the I3C instance.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
Number of I3C devices attached to the bus.

◆ Cy_I3C_SetDataRate()

uint32_t Cy_I3C_SetDataRate ( I3C_CORE_Type base,
uint32_t  dataRateHz,
uint32_t  i3cClockHz,
cy_stc_i3c_context_t context 
)

Sets desired maximum I3C bus data rate for transfers.

Parameters
baseThe pointer to the I3C instance.
dataRateHzThe desired I3C data rate in Hz.
i3cClockHzThe frequency of the clock connected to the I3C Block in Hz.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
The achieved data rate in Hz. When zero value is returned there is an error in the input parameters: data rate or clk_i3c is out of valid range.

◆ Cy_I3C_GetDataRate()

uint32_t Cy_I3C_GetDataRate ( I3C_CORE_Type const *  base,
cy_stc_i3c_context_t context 
)

Provides the supported I3C bus data rate for I3C devices.

Parameters
baseThe pointer to the I3C instance.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
ref cy_en_i3c_data_speed_t

◆ Cy_I3C_ControllerGetI2CDevices()

cy_en_i3c_status_t Cy_I3C_ControllerGetI2CDevices ( I3C_CORE_Type base,
cy_stc_i2c_device_t i2cDeviceList,
cy_stc_i3c_context_t context 
)

Provides the list of I2C devices on the bus.

Parameters
baseThe pointer to the I3C instance.
i2cDeviceListThe pointer to the I2C device list array. This will be updated with information about all of the I2C devices on the bus. This array must be at least Cy_I3C_GetI2CDeviceCount entries long
Note
Only the first Cy_I3C_GetI2CDeviceCount elements will be updated; the remaining elements will be left uninitialized.
Parameters
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
ref cy_en_i3c_status_t.

◆ Cy_I3C_ControllerGetI3CDevices()

cy_en_i3c_status_t Cy_I3C_ControllerGetI3CDevices ( I3C_CORE_Type base,
cy_stc_i3c_device_t i3cDeviceList,
cy_stc_i3c_context_t context 
)

Provides the list of I3C devices on the bus.

Parameters
baseThe pointer to the I3C instance.
i3cDeviceListThe pointer to the I3C device list array. This will be updated with information about all of the I3C devices on the bus. This array must be at least Cy_I3C_GetI3CDeviceCount entries long.
Note
Only the first Cy_I3C_GetI3CDeviceCount elements will be updated; the remaining elements will be left uninitialized.
Parameters
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
ref cy_en_i3c_status_t.

◆ Cy_I3C_ControllerGetFreeDeviceAddress()

cy_en_i3c_status_t Cy_I3C_ControllerGetFreeDeviceAddress ( I3C_CORE_Type base,
uint8_t *  address,
cy_stc_i3c_context_t context 
)

Provides the next dynamic address available to be assigned.

Parameters
baseThe pointer to the I3C instance.
addressThe pointer to the address.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
cy_en_i3c_status_t.

◆ Cy_I3C_isCCCCmdSupported()

bool Cy_I3C_isCCCCmdSupported ( I3C_CORE_Type base,
uint8_t  cccCmd 
)

Checks if the CCC command is supported.

Parameters
baseThe pointer to the I3C instance.
cccCmdThe CCC command to be checked.
Returns
true: If the specified command is supported false: If the specified command is not supported.

◆ Cy_I3C_SendCCCCmd()

cy_en_i3c_status_t Cy_I3C_SendCCCCmd ( I3C_CORE_Type base,
cy_stc_i3c_ccc_cmd_t cccCmd,
cy_stc_i3c_context_t context 
)

Post the specified CCC command to command queue.

Parameters
baseThe pointer to the I3C instance.
cccCmdThe pointer to the CCC command description structure cy_stc_i3c_ccc_cmd_t.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
ref cy_en_i3c_status_t.

◆ Cy_I3C_DisableDeviceIbi()

cy_en_i3c_status_t Cy_I3C_DisableDeviceIbi ( I3C_CORE_Type base,
cy_stc_i3c_device_t i3cDevice,
cy_stc_i3c_context_t context 
)

Disables all IBI events from specified device.

Parameters
baseThe pointer to the I3C instance.
i3cDevicepointer to the i3c device description structure cy_stc_i3c_device_t.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
cy_en_i3c_status_t

◆ Cy_I3C_EnableDeviceIbi()

cy_en_i3c_status_t Cy_I3C_EnableDeviceIbi ( I3C_CORE_Type base,
cy_stc_i3c_device_t i3cDevice,
cy_stc_i3c_context_t context 
)

Enables all IBI events from specified device.

Parameters
baseThe pointer to the I3C instance.
i3cDevicepointer to the i3c device description structure cy_stc_i3c_device_t.
contextThe pointer to the context structure cy_stc_i3c_config_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
cy_en_i3c_status_t

◆ Cy_I3C_ControllerWrite()

cy_en_i3c_status_t Cy_I3C_ControllerWrite ( I3C_CORE_Type base,
cy_stc_i3c_controller_xfer_config_t xferConfig,
cy_stc_i3c_context_t context 
)

Writes data provided by xferConfig structure cy_stc_i3c_controller_xfer_config_t to a specific device.

Parameters
baseThe pointer to the I3C instance.
xferConfigController transfer configuration structure. cy_stc_i3c_controller_xfer_config_t
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
ref cy_en_i3c_status_t.

◆ Cy_I3C_ControllerRead()

cy_en_i3c_status_t Cy_I3C_ControllerRead ( I3C_CORE_Type base,
cy_stc_i3c_controller_xfer_config_t xferConfig,
cy_stc_i3c_context_t context 
)

Reads data from a device specified by xferConfig structure cy_stc_i3c_controller_xfer_config_t.

Parameters
baseThe pointer to the I3C instance.
xferConfigController transfer configuration structure. cy_stc_i3c_controller_xfer_config_t
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
ref cy_en_i3c_status_t.

◆ Cy_I3C_ControllerAbortTransfer()

void Cy_I3C_ControllerAbortTransfer ( I3C_CORE_Type base,
cy_stc_i3c_context_t context 
)

Aborts an ongoing transfer.

Parameters
baseThe pointer to the I3C instance.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.

◆ Cy_I3C_ControllerWriteByte()

cy_en_i3c_status_t Cy_I3C_ControllerWriteByte ( I3C_CORE_Type base,
uint8_t  targetAddress,
int8_t  data,
cy_stc_i3c_context_t context 
)

Sends one byte to a target.

This function is blocking.

Parameters
baseThe pointer to the I3C instance.
targetAddressThe dynamic address of the target I3C target device.
dataThe byte to write to the target.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
ref cy_en_i3c_status_t.

◆ Cy_I3C_ControllerReadByte()

cy_en_i3c_status_t Cy_I3C_ControllerReadByte ( I3C_CORE_Type base,
uint8_t  targetAddress,
uint8_t *  data,
cy_stc_i3c_context_t context 
)

Reads one byte from a target.

This function is blocking.

Parameters
baseThe pointer to the I3C instance.
targetAddressThe dynamic address of the target I3C target device.
dataThe pointer to the location to store the Read byte.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
ref cy_en_i3c_status_t.

◆ Cy_I3C_GetBusStatus()

uint32_t Cy_I3C_GetBusStatus ( I3C_CORE_Type const *  base,
cy_stc_i3c_context_t const *  context 
)

Returns the current I3C bus status.

Parameters
baseThe pointer to the I3C instance.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
I3C Controller Status. Note that not all I3C controller statuses are returned by this function. Refer to more details of each status.

◆ Cy_I3C_ControllerStartEntDaa()

cy_en_i3c_status_t Cy_I3C_ControllerStartEntDaa ( I3C_CORE_Type base,
cy_stc_i3c_context_t context 
)

Issues ENTDAA CCC command to discover the i3c devices on the bus and assigns valid dynamic addresses to the discovered devices.

This CCC is to be issued also when a device hot joins the bus.

Parameters
baseThe pointer to the I3C instance.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
cy_en_i3c_status_t

◆ Cy_I3C_SetDASA()

cy_en_i3c_status_t Cy_I3C_SetDASA ( I3C_CORE_Type base,
cy_stc_i3c_ccc_cmd_t cccCmd,
cy_stc_i3c_context_t context 
)

Set Dynamic Address from Static Address Command.

Parameters
baseThe pointer to the I3C instance.
cccCmdThe pointer to the I3C CCC structure cy_stc_i3c_ccc_cmd_t.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
cy_en_i3c_status_t

◆ Cy_I3C_SetAASA()

cy_en_i3c_status_t Cy_I3C_SetAASA ( I3C_CORE_Type base,
cy_stc_i3c_device_t i3cDevice,
uint8_t  i3cDeviceCount,
cy_stc_i3c_context_t context 
)

Set All Addresses to Static Address Command.

This CCC allows the Controller to request that all connected Targets that have I2C Static Addresses use their I2C Static Address as their Dynamic Address.

Parameters
baseThe pointer to the I3C instance.
i3cDeviceThe pointer to the array of i3c device description structure cy_stc_i3c_device_t.
i3cDeviceCountNumber of I3C devices in array.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
cy_en_i3c_status_t
Note
This is an optional CCC and caller must know all targets supporting the ccc and their static address.

◆ Cy_I3C_ControllerSendHdrCmds()

cy_en_i3c_status_t Cy_I3C_ControllerSendHdrCmds ( I3C_CORE_Type base,
uint8_t  targetAddress,
cy_stc_i3c_hdr_cmd_t hdrCmd,
cy_stc_i3c_context_t context 
)

Writes data provided by xferConfig structure cy_stc_i3c_controller_xfer_config_t to a specific device.

Parameters
baseThe pointer to the I3C instance.
targetAddressThe dynamic address of the target I3C device.
hdrCmdThe pointer to HDR command description structure cy_stc_i3c_hdr_cmd_t.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
ref cy_en_i3c_status_t.

◆ Cy_I3C_ControllerWriteDMA()

cy_en_i3c_status_t Cy_I3C_ControllerWriteDMA ( I3C_CORE_Type base,
uint8_t  targetAddress,
uint32_t  Datalength,
cy_stc_i3c_context_t context 
)

Initiate an I3C data transfer with DMA, Appropriate trig mux should be set before calling this API.

Parameters
baseThe pointer to the I3C instance.
targetAddressDynamic address of target to transfer data.
DatalengthNumber of bytes of data to be transferred.max upto 65535 Bytes.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
reset successful status - CY_I3C_BAD_PARAM / CY_I3C_SUCCESS.

◆ Cy_I3C_ControllerReadDMA()

cy_en_i3c_status_t Cy_I3C_ControllerReadDMA ( I3C_CORE_Type base,
uint8_t  targetAddress,
uint32_t  Datalength,
cy_stc_i3c_context_t context 
)

Initiate an I3C data Receive with DMA, Appropriate trig mux should be set before calling this API.

Parameters
baseThe pointer to the I3C instance.
targetAddressDynamic address of target to transfer data.
DatalengthNumber of bytes of data to be transferred.max upto 65535 Bytes.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
reset successful status - CY_I3C_BAD_PARAM / CY_I3C_SUCCESS.

◆ Cy_I3C_GetIbiPayload()

cy_en_i3c_status_t Cy_I3C_GetIbiPayload ( I3C_CORE_Type base,
uint8_t *  buffer,
uint32_t  size,
cy_stc_i3c_context_t context 
)

Read data received with IBI into given buffer.

This function must be called from IBI callback handler.

Parameters
baseThe pointer to the I3C instance.
bufferThe pointer to the buffer tp store data read from IBI.
sizeNumber of bytes of data received.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
reset successful status - CY_I3C_BAD_PARAM / CY_I3C_SUCCESS.

◆ CY_I3C_isIbiPayloadEnabled()

bool CY_I3C_isIbiPayloadEnabled ( I3C_CORE_Type base,
uint8_t  targetAddress,
cy_stc_i3c_context_t context 
)

Returns IBI payload enabled status.

This indicates whether the IBI payload will be received from target. For invalid target address false will be returned.

Parameters
baseThe pointer to the I3C instance.
targetAddressDynamic address of target device, to disable ibi payload.
contextThe pointer to the context structure cy_stc_i3c_context_t allocated by the user. The structure is used during the I3C operation for internal configuration and data retention. The user must not modify anything in this structure.
Returns
whether the ibi with payload is enabled or not.