Functions | |
| cy_en_i3c_status_t | Cy_I3C_Init (I3C_CORE_Type *base, cy_stc_i3c_config_t const *config, cy_stc_i3c_context_t *context) |
| Initializes the I3C block. More... | |
| void | Cy_I3C_DeInit (I3C_CORE_Type *base, cy_stc_i3c_context_t *context) |
| Deinitializes the I3C block. More... | |
| void | Cy_I3C_Enable (I3C_CORE_Type *base, cy_stc_i3c_context_t *context) |
| Enables the I3C block. More... | |
| void | Cy_I3C_Disable (I3C_CORE_Type *base, cy_stc_i3c_context_t *context) |
| Disables the I3C block. More... | |
| void | Cy_I3C_Resume (I3C_CORE_Type *base, cy_stc_i3c_context_t *context) |
| Resumes the I3C Controller after an error state. More... | |
| bool | Cy_I3C_IsBusBusy (I3C_CORE_Type const *base) |
| Indicates the whether the bus is busy or not. More... | |
| bool | Cy_I3C_IsController (I3C_CORE_Type const *base) |
| indicates primary controllership status. More... | |
| cy_en_i3c_status_t | Cy_I3C_Reset (I3C_CORE_Type *base, cy_stc_i3c_config_t const *config, cy_stc_i3c_context_t *context) |
| Reset for I3C. More... | |
| cy_en_i3c_status_t | Cy_I3C_SoftReset (I3C_CORE_Type const *base) |
| Soft reset for I3C. More... | |
| cy_en_i3c_mode_t | Cy_I3C_GetMode (I3C_CORE_Type const *base) |
| Provides the mode of the device. More... | |
| void | Cy_I3C_Interrupt (I3C_CORE_Type *base, cy_stc_i3c_context_t *context) |
| This is an I3C interrupt handler helper function. More... | |
| void | Cy_I3C_RegisterEventCallback (I3C_CORE_Type const *base, cy_cb_i3c_handle_events_t callback, cy_stc_i3c_context_t *context) |
| Registers an event handler callback function of type cy_cb_i3c_handle_events_t which will be invoked by the PDL to indicate i3c events and results. More... | |
| void | Cy_I3C_RegisterIbiCallback (I3C_CORE_Type const *base, cy_cb_i3c_handle_ibi_t callback, cy_stc_i3c_context_t *context) |
| Registers an IBI handler callback function of type cy_cb_i3c_handle_ibi_t which will be invoked when an IBI event is triggered on bus. More... | |
| __STATIC_INLINE uint32_t | Cy_I3C_GetInterruptStatus (I3C_CORE_Type *base) |
| Returns the interrupt request register. More... | |
| __STATIC_INLINE void | Cy_I3C_ClearInterrupt (I3C_CORE_Type *base, uint32_t interruptMask) |
| Clears the interrupt sources in the interrupt request register. More... | |
| __STATIC_INLINE void | Cy_I3C_SetInterrupt (I3C_CORE_Type *base, uint32_t interruptMask) |
| Sets interrupt sources in the interrupt request register. More... | |
| __STATIC_INLINE uint32_t | Cy_I3C_GetInterruptMask (I3C_CORE_Type *base) |
| Returns the interrupt signal enable register. More... | |
| __STATIC_INLINE void | Cy_I3C_SetInterruptMask (I3C_CORE_Type *base, uint32_t interruptMask) |
| Writes the I3C interrupt signal enable register. More... | |
| __STATIC_INLINE uint32_t | Cy_I3C_GetInterruptStatusMask (I3C_CORE_Type *base) |
| Returns the interrupt status enable register. More... | |
| __STATIC_INLINE void | Cy_I3C_SetInterruptStatusMask (I3C_CORE_Type *base, uint32_t interruptMask) |
| Writes the I3C interrupt status enable register. More... | |
| __STATIC_INLINE void | Cy_I3C_WriteIntoDeviceAddressTable (I3C_CORE_Type *base, uint8_t index, uint32_t value) |
| Writes the value into the specified location of the DAT. More... | |
| __STATIC_INLINE uint32_t | Cy_I3C_ReadFromDeviceAddressTable (I3C_CORE_Type *base, uint8_t index) |
| Returns the complete DAT entry of given index. More... | |
| __STATIC_INLINE uint32_t | Cy_I3C_ReadDynAddrFromDAT (I3C_CORE_Type *base, uint8_t index) |
| Returns the dynamic address of the I3C device stored in the DAT. More... | |
| __STATIC_INLINE uint32_t | Cy_I3C_ReadStaticAddrFromDAT (I3C_CORE_Type *base, uint8_t index) |
| Returns the static address of the I2C device stored in the DAT. More... | |
| __STATIC_INLINE void | Cy_I3C_ReadFromDevCharTable (I3C_CORE_Type *base, uint8_t index, cy_stc_i3c_device_t *i3cDevice) |
| Populates the i3c device defined by cy_stc_i3c_device_t with the DCR, BCR, PID and dynamic address information from the DCT. More... | |
| __STATIC_INLINE void | Cy_I3C_UpdateI3CDevInList (cy_stc_i3c_device_t *i3cDevice, uint8_t pos, cy_stc_i3c_context_t *context) |
| Adds the I3C device to the list of devices cy_stc_i3c_controller_devlist_t present on the bus. More... | |
| __STATIC_INLINE void | Cy_I3C_UpdateI2CDevInList (cy_stc_i2c_device_t *i2cDevice, uint8_t pos, cy_stc_i3c_context_t *context) |
| Adds the I2C device to the list of devices cy_stc_i3c_controller_devlist_t present on the bus. More... | |
| __STATIC_INLINE uint32_t | Cy_I3C_ReadRxFIFO (I3C_CORE_Type *base) |
| Reads a data element directly out of the RX FIFO. More... | |
| __STATIC_INLINE void | Cy_I3C_WriteTxFIFO (I3C_CORE_Type *base, uint32_t data) |
| Writes data directly into the TX FIFO. More... | |
| __STATIC_INLINE uint32_t | Cy_I3C_GetFreeEntriesInTxFifo (I3C_CORE_Type *base) |
| Provides the number of empty locations in the TX FIFO. More... | |
| __STATIC_INLINE uint32_t | Cy_I3C_GetFreeEntriesInRxFifo (I3C_CORE_Type *base) |
| Provides the number of empty locations in the RX FIFO. More... | |
| __STATIC_INLINE void | Cy_I3C_SetRxFifoLevel (I3C_CORE_Type *base, uint32_t level) |
| Sets the RX FIFO level. More... | |
| __STATIC_INLINE uint32_t | Cy_I3C_GetRxFifoLevel (I3C_CORE_Type const *base) |
| Returns the RX FIFO level. More... | |
| __STATIC_INLINE void | Cy_I3C_SetTxEmptyThldLevel (I3C_CORE_Type const *base, uint32_t level) |
| Sets the TX FIFO level. More... | |
| cy_en_i3c_status_t Cy_I3C_Init | ( | I3C_CORE_Type * | base, |
| cy_stc_i3c_config_t const * | config, | ||
| cy_stc_i3c_context_t * | context | ||
| ) |
Initializes the I3C block.
| base | The pointer to the I3C instance. |
| config | The pointer to the configuration structure cy_stc_i3c_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_DeInit | ( | I3C_CORE_Type * | base, |
| cy_stc_i3c_context_t * | context | ||
| ) |
Deinitializes the I3C block.
| 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. |
| void Cy_I3C_Enable | ( | I3C_CORE_Type * | base, |
| cy_stc_i3c_context_t * | context | ||
| ) |
Enables the I3C block.
| 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. |
| void Cy_I3C_Disable | ( | I3C_CORE_Type * | base, |
| cy_stc_i3c_context_t * | context | ||
| ) |
Disables the I3C block.
| 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. |
| void Cy_I3C_Resume | ( | I3C_CORE_Type * | base, |
| cy_stc_i3c_context_t * | context | ||
| ) |
Resumes the I3C Controller after an error state.
| 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. |
| bool Cy_I3C_IsBusBusy | ( | I3C_CORE_Type const * | base | ) |
Indicates the whether the bus is busy or not.
| base | The pointer to the I3C instance. |
| bool Cy_I3C_IsController | ( | I3C_CORE_Type const * | base | ) |
indicates primary controllership status.
| base | The pointer to the I3C instance. |
| cy_en_i3c_status_t Cy_I3C_Reset | ( | I3C_CORE_Type * | base, |
| cy_stc_i3c_config_t const * | config, | ||
| cy_stc_i3c_context_t * | context | ||
| ) |
Reset for I3C.
It resets complete I3C peripheral while retaining assigned dynamic address in target mode.
| base | The pointer to the I3C instance. |
| config | The pointer to the configuration structure cy_stc_i3c_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_SoftReset | ( | I3C_CORE_Type const * | base | ) |
Soft reset for I3C.
It resets all buffers: Transmit, Receive, command, Response.
| base | The pointer to the I3C instance. |
| cy_en_i3c_mode_t Cy_I3C_GetMode | ( | I3C_CORE_Type const * | base | ) |
Provides the mode of the device.
| base | The pointer to the I3C instance. |
| void Cy_I3C_Interrupt | ( | I3C_CORE_Type * | base, |
| cy_stc_i3c_context_t * | context | ||
| ) |
This is an I3C interrupt handler helper function.
This function must be called inside the user-defined interrupt service.
| 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. |
| void Cy_I3C_RegisterEventCallback | ( | I3C_CORE_Type const * | base, |
| cy_cb_i3c_handle_events_t | callback, | ||
| cy_stc_i3c_context_t * | context | ||
| ) |
Registers an event handler callback function of type cy_cb_i3c_handle_events_t which will be invoked by the PDL to indicate i3c events and results.
| base | The pointer to the I3C instance. |
| callback | The pointer to a callback function. See cy_cb_i3c_handle_events_t for the function prototype. |
| 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_RegisterIbiCallback | ( | I3C_CORE_Type const * | base, |
| cy_cb_i3c_handle_ibi_t | callback, | ||
| cy_stc_i3c_context_t * | context | ||
| ) |
Registers an IBI handler callback function of type cy_cb_i3c_handle_ibi_t which will be invoked when an IBI event is triggered on bus.
| base | The pointer to the I3C instance. |
| callback | The pointer to a callback function. See cy_cb_i3c_handle_events_t for the function prototype. |
| 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. |
| __STATIC_INLINE uint32_t Cy_I3C_GetInterruptStatus | ( | I3C_CORE_Type * | base | ) |
Returns the interrupt request register.
This register contains the current status of the interrupt sources.
| base | The pointer to the I3C instance. |
| __STATIC_INLINE void Cy_I3C_ClearInterrupt | ( | I3C_CORE_Type * | base, |
| uint32_t | interruptMask | ||
| ) |
Clears the interrupt sources in the interrupt request register.
| base | The pointer to the I3C instance. |
| interruptMask | Interrupt sources to be cleared. |
| __STATIC_INLINE void Cy_I3C_SetInterrupt | ( | I3C_CORE_Type * | base, |
| uint32_t | interruptMask | ||
| ) |
Sets interrupt sources in the interrupt request register.
| base | The pointer to the I3C instance. |
| interruptMask | The interrupt sources to set in the interrupt request register. |
| __STATIC_INLINE uint32_t Cy_I3C_GetInterruptMask | ( | I3C_CORE_Type * | base | ) |
Returns the interrupt signal enable register.
This register specifies which bits from the interrupt request register can trigger an interrupt event.
| base | The pointer to the I3C instance. |
| __STATIC_INLINE void Cy_I3C_SetInterruptMask | ( | I3C_CORE_Type * | base, |
| uint32_t | interruptMask | ||
| ) |
Writes the I3C interrupt signal enable register.
This register specifies which bits from the I3C interrupt request register can trigger an interrupt event.
| base | The pointer to the I3C instance. |
| interruptMask | Enabled interrupt sources. |
| __STATIC_INLINE uint32_t Cy_I3C_GetInterruptStatusMask | ( | I3C_CORE_Type * | base | ) |
Returns the interrupt status enable register.
This register specifies which bits from the interrupt request register can generate interrupt.
| base | The pointer to the I3C instance. |
| __STATIC_INLINE void Cy_I3C_SetInterruptStatusMask | ( | I3C_CORE_Type * | base, |
| uint32_t | interruptMask | ||
| ) |
Writes the I3C interrupt status enable register.
This register specifies which bits from the I3C interrupt request register can trigger an interrupt event.
| base | The pointer to the I3C instance. |
| interruptMask | Enabled I3C interrupt sources. |
| __STATIC_INLINE void Cy_I3C_WriteIntoDeviceAddressTable | ( | I3C_CORE_Type * | base, |
| uint8_t | index, | ||
| uint32_t | value | ||
| ) |
Writes the value into the specified location of the DAT.
| base | The pointer to the I3C instance. |
| index | The offset from the base of the DAT. |
| value | The value to be written at the specified location in the DAT. |
| __STATIC_INLINE uint32_t Cy_I3C_ReadFromDeviceAddressTable | ( | I3C_CORE_Type * | base, |
| uint8_t | index | ||
| ) |
Returns the complete DAT entry of given index.
| base | The pointer to the I3C instance. |
| index | The offset from the base of the DAT. |
| __STATIC_INLINE uint32_t Cy_I3C_ReadDynAddrFromDAT | ( | I3C_CORE_Type * | base, |
| uint8_t | index | ||
| ) |
Returns the dynamic address of the I3C device stored in the DAT.
| base | The pointer to the I3C instance. |
| index | The offset from the base of the DAT. |
| __STATIC_INLINE uint32_t Cy_I3C_ReadStaticAddrFromDAT | ( | I3C_CORE_Type * | base, |
| uint8_t | index | ||
| ) |
Returns the static address of the I2C device stored in the DAT.
| base | The pointer to the I3C instance. |
| index | The offset from the base of the DAT. |
| __STATIC_INLINE void Cy_I3C_ReadFromDevCharTable | ( | I3C_CORE_Type * | base, |
| uint8_t | index, | ||
| cy_stc_i3c_device_t * | i3cDevice | ||
| ) |
Populates the i3c device defined by cy_stc_i3c_device_t with the DCR, BCR, PID and dynamic address information from the DCT.
| base | The pointer to the I3C instance. |
| index | The offset from the base of the DAT. |
| i3cDevice | The pointer to the i3c device description structure cy_stc_i3c_device_t. |
| __STATIC_INLINE void Cy_I3C_UpdateI3CDevInList | ( | cy_stc_i3c_device_t * | i3cDevice, |
| uint8_t | pos, | ||
| cy_stc_i3c_context_t * | context | ||
| ) |
Adds the I3C device to the list of devices cy_stc_i3c_controller_devlist_t present on the bus.
| i3cDevice | The pointer to the I3C device description structure cy_stc_i3c_device_t. |
| pos | The position of the device in the list cy_stc_i3c_controller_devlist_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. |
| __STATIC_INLINE void Cy_I3C_UpdateI2CDevInList | ( | cy_stc_i2c_device_t * | i2cDevice, |
| uint8_t | pos, | ||
| cy_stc_i3c_context_t * | context | ||
| ) |
Adds the I2C device to the list of devices cy_stc_i3c_controller_devlist_t present on the bus.
| i2cDevice | The pointer to the I2C device description structure cy_stc_i2c_device_t. |
| pos | The position of the device in the list cy_stc_i3c_controller_devlist_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. |
| __STATIC_INLINE uint32_t Cy_I3C_ReadRxFIFO | ( | I3C_CORE_Type * | base | ) |
Reads a data element directly out of the RX FIFO.
This function does not check whether the RX FIFO has data before reading it.
| base | The pointer to the I3C instance. |
| __STATIC_INLINE void Cy_I3C_WriteTxFIFO | ( | I3C_CORE_Type * | base, |
| uint32_t | data | ||
| ) |
Writes data directly into the TX FIFO.
This function does not check whether the TX FIFO is not full before writing into it.
| base | The pointer to the I3C instance. |
| data | Data to write to the TX FIFO. |
| __STATIC_INLINE uint32_t Cy_I3C_GetFreeEntriesInTxFifo | ( | I3C_CORE_Type * | base | ) |
Provides the number of empty locations in the TX FIFO.
| base | The pointer to the I3C instance. |
| __STATIC_INLINE uint32_t Cy_I3C_GetFreeEntriesInRxFifo | ( | I3C_CORE_Type * | base | ) |
Provides the number of empty locations in the RX FIFO.
| base | The pointer to the I3C instance. |
| __STATIC_INLINE void Cy_I3C_SetRxFifoLevel | ( | I3C_CORE_Type * | base, |
| uint32_t | level | ||
| ) |
Sets the RX FIFO level.
When there are more data elements in the RX FIFO than this level, the RX FIFO level interrupt is triggered.
| base | The pointer to the I3C instance. |
| level | When there are more data elements in the FIFO than this level, the RX level interrupt is triggered. |
| __STATIC_INLINE uint32_t Cy_I3C_GetRxFifoLevel | ( | I3C_CORE_Type const * | base | ) |
Returns the RX FIFO level.
When there are more words in the RX FIFO than the threshold level, the RX FIFO level interrupt is triggered.
| base | The pointer to the I3C instance. |
| __STATIC_INLINE void Cy_I3C_SetTxEmptyThldLevel | ( | I3C_CORE_Type const * | base, |
| uint32_t | level | ||
| ) |
Sets the TX FIFO level.
When the number of empty locations in the TX FIFO is greater than this level, the TX FIFO level interrupt is triggered.
| base | The pointer to the I3C instance. |
| level | When there are more empty locations in the TX FIFO than this level, the TX level interrupt is triggered. |