PSOC E8XXGP Device Support Library

| PSOC E8XXGP Device Support Library

Functions
Secondary Controller
PDL API Reference » I3C (I3C) » Functions

## 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

  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.

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

  base | The pointer to the I3C instance.
  SecControllerAddress | The address of the I3C device to which the controllership has to be delivered.
  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.

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

  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.

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

  base | The 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

  base | The 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

  base | The 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

  base | The 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

  base | The 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.