PSOC E8XXGP Device Support Library
Secondary Controller

General Description

Functions

cy_en_i3c_status_t Cy_I3C_RequestControllership (I3C_CORE_Type *base, cy_stc_i3c_context_t *context)
 Requests controllership from the current controller. More...
 
cy_en_i3c_status_t Cy_I3C_DeliverControllership (I3C_CORE_Type *base, uint8_t SecControllerAddress, cy_stc_i3c_context_t *context)
 Delivers the bus controllership to the requesting secondary controller. More...
 
__STATIC_INLINE cy_en_i3c_target_reset_t Cy_I3C_Target_GetResetMode (cy_stc_i3c_context_t *context)
 Returns the target reset mode set by RSTACT. More...
 
__STATIC_INLINE bool Cy_I3C_Target_isTIREnabled (I3C_CORE_Type *base)
 Returns if Target interrupt request IBI is enabled/disabled by ENEC/DISEC CCC. More...
 
__STATIC_INLINE bool Cy_I3C_Target_isHJEnabled (I3C_CORE_Type *base)
 Returns if HotJoin IBI is enabled/disabled by ENEC/DISEC CCC. More...
 
__STATIC_INLINE bool Cy_I3C_Target_isCREnabled (I3C_CORE_Type *base)
 Returns if Controllership request IBI is enabled/disabled by ENEC/DISEC CCC. More...
 
__STATIC_INLINE cy_en_i3c_activity_states_t Cy_I3C_Target_getActivityState (I3C_CORE_Type *base)
 Returns Activity State set by ENTAS(x) CCC. More...
 
__STATIC_INLINE uint8_t Cy_I3C_Target_getTIRRemainingDataLength (I3C_CORE_Type *base)
 Returns the number of bytes remaining that was not transmitted in TIR, because of controller early terminating the TIR transfer. More...
 

Function Documentation

◆ Cy_I3C_RequestControllership()

cy_en_i3c_status_t Cy_I3C_RequestControllership ( I3C_CORE_Type base,
cy_stc_i3c_context_t context 
)

Requests controllership from the current controller.

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.
Note
I3C supports only Primary Controller mode in PSE84A0. Secondary controller mode and Target mode are supported in PSE84B0.

◆ Cy_I3C_DeliverControllership()

cy_en_i3c_status_t Cy_I3C_DeliverControllership ( I3C_CORE_Type base,
uint8_t  SecControllerAddress,
cy_stc_i3c_context_t context 
)

Delivers the bus controllership to the requesting secondary controller.

Parameters
baseThe pointer to the I3C instance.
SecControllerAddressThe address of the I3C device to which the controllership has to be delivered.
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.
Note
This should be called by the user when a controllership request IBI is received through cy_cb_i3c_handle_ibi_t callback and user wants to deliver controller ship.
I3C supports only Primary Controller mode in PSE84A0. Secondary controller mode and Target mode are supported in PSE84B0.

◆ Cy_I3C_Target_GetResetMode()

__STATIC_INLINE cy_en_i3c_target_reset_t Cy_I3C_Target_GetResetMode ( cy_stc_i3c_context_t context)

Returns the target reset mode set by RSTACT.

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
Target Reset mode in cy_en_i3c_target_reset_t

◆ Cy_I3C_Target_isTIREnabled()

__STATIC_INLINE bool Cy_I3C_Target_isTIREnabled ( I3C_CORE_Type base)

Returns if Target interrupt request IBI is enabled/disabled by ENEC/DISEC CCC.

Parameters
baseThe pointer to the I3C instance.
Returns
boolean status of TIR enabled.

◆ Cy_I3C_Target_isHJEnabled()

__STATIC_INLINE bool Cy_I3C_Target_isHJEnabled ( I3C_CORE_Type base)

Returns if HotJoin IBI is enabled/disabled by ENEC/DISEC CCC.

Parameters
baseThe pointer to the I3C instance.
Returns
boolean status of HJ enabled.

◆ Cy_I3C_Target_isCREnabled()

__STATIC_INLINE bool Cy_I3C_Target_isCREnabled ( I3C_CORE_Type base)

Returns if Controllership request IBI is enabled/disabled by ENEC/DISEC CCC.

Parameters
baseThe pointer to the I3C instance.
Returns
boolean status of CR enabled.

◆ Cy_I3C_Target_getActivityState()

__STATIC_INLINE cy_en_i3c_activity_states_t Cy_I3C_Target_getActivityState ( I3C_CORE_Type base)

Returns Activity State set by ENTAS(x) CCC.

Parameters
baseThe pointer to the I3C instance.
Returns
Activity state value.

◆ Cy_I3C_Target_getTIRRemainingDataLength()

__STATIC_INLINE uint8_t Cy_I3C_Target_getTIRRemainingDataLength ( I3C_CORE_Type base)

Returns the number of bytes remaining that was not transmitted in TIR, because of controller early terminating the TIR transfer.

Parameters
baseThe pointer to the I3C instance.
Returns
Number of bytes remaining in terminated TIR transfer.
Note
This function can be called after CY_I3C_TARGET_IBI_EARLY_STOP_EVENT event. To get number of bytes that are not transmitted.