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... | |
| 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.
| base | The pointer to the I3C instance. |
| i2cDevice | The pointer to the I2C device description structure cy_stc_i2c_device_t. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| i2cDevice | pointer to the I2C device description structure cy_stc_i2c_device_t. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| i3cDevice | The pointer to the i3c device description structure cy_stc_i3c_device_t. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| i3cDevice | The pointer to the I3C device description structure cy_stc_i3c_device_t. |
| context | The 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. |
| 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.
| base | The pointer to the I3C instance. |
| context | The 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. |
| 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.
| base | The pointer to the I3C instance. |
| context | The 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. |
| 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.
| base | The pointer to the I3C instance. |
| dataRateHz | The desired I3C data rate in Hz. |
| i3cClockHz | The frequency of the clock connected to the I3C Block in Hz. |
| context | The 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. |
| 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.
| base | The pointer to the I3C instance. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| i2cDeviceList | The 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 |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| i3cDeviceList | The 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. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| address | The pointer to the address. |
| context | The 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. |
| bool Cy_I3C_isCCCCmdSupported | ( | I3C_CORE_Type * | base, |
| uint8_t | cccCmd | ||
| ) |
Checks if the CCC command is supported.
| base | The pointer to the I3C instance. |
| cccCmd | The CCC command to be checked. |
| 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.
| base | The pointer to the I3C instance. |
| cccCmd | The pointer to the CCC command description structure cy_stc_i3c_ccc_cmd_t. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| i3cDevice | pointer to the i3c device description structure cy_stc_i3c_device_t. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| i3cDevice | pointer to the i3c device description structure cy_stc_i3c_device_t. |
| context | The 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. |
| 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.
| base | The pointer to the I3C instance. |
| xferConfig | Controller transfer configuration structure. cy_stc_i3c_controller_xfer_config_t |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| xferConfig | Controller transfer configuration structure. cy_stc_i3c_controller_xfer_config_t |
| context | The 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. |
| void Cy_I3C_ControllerAbortTransfer | ( | I3C_CORE_Type * | base, |
| cy_stc_i3c_context_t * | context | ||
| ) |
Aborts an ongoing transfer.
| base | The pointer to the I3C instance. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| targetAddress | The dynamic address of the target I3C target device. |
| data | The byte to write to the target. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| targetAddress | The dynamic address of the target I3C target device. |
| data | The pointer to the location to store the Read byte. |
| context | The 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. |
| uint32_t Cy_I3C_GetBusStatus | ( | I3C_CORE_Type const * | base, |
| cy_stc_i3c_context_t const * | context | ||
| ) |
Returns the current I3C bus status.
| base | The pointer to the I3C instance. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| cccCmd | The pointer to the I3C CCC structure cy_stc_i3c_ccc_cmd_t. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| i3cDevice | The pointer to the array of i3c device description structure cy_stc_i3c_device_t. |
| i3cDeviceCount | Number of I3C devices in array. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| targetAddress | The dynamic address of the target I3C device. |
| hdrCmd | The pointer to HDR command description structure cy_stc_i3c_hdr_cmd_t. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| targetAddress | Dynamic address of target to transfer data. |
| Datalength | Number of bytes of data to be transferred.max upto 65535 Bytes. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| targetAddress | Dynamic address of target to transfer data. |
| Datalength | Number of bytes of data to be transferred.max upto 65535 Bytes. |
| context | The 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_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.
| base | The pointer to the I3C instance. |
| buffer | The pointer to the buffer tp store data read from IBI. |
| size | Number of bytes of data received. |
| context | The 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. |
| 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.
| base | The pointer to the I3C instance. |
| targetAddress | Dynamic address of target device, to disable ibi payload. |
| context | The 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. |