LL I3C Macros

Common write and read registers Macros

group I3C_LL_EM_WRITE_READ

Defines

LL_I3C_GET_BCR ( PAYLOAD ) (((uint32_t)((uint64_t)(PAYLOAD) >> LL_I3C_BCR_IN_PAYLOAD_SHIFT )) & I3C_BCR_BCR)

Get Bus Characteristics from payload (64bits) receive during ENTDAA procedure.

Parameters :
  • PAYLOAD – specifies the Bus Characteristics capabilities retrieve during ENTDAA procedure. This parameter must be a number between Min_Data=0x00(uint64_t) and Max_Data=0xFFFFFFFFFFFFFFFFFF.

Return values :

The – value of BCR Return value between Min_Data=0x00 and Max_Data=0xFF.

LL_I3C_GET_IBI_CAPABLE ( BCR )

(((((BCR) & I3C_BCR_BCR1_Msk) >> I3C_BCR_BCR1_Pos) == 1U) \

?

LL_I3C_IBI_CAPABILITY : LL_I3C_IBI_NO_CAPABILITY )

Check IBI request capabilities.

Parameters :
  • BCR – specifies the Bus Characteristics capabilities retrieve during ENTDAA procedure. This parameter must be a number between Min_Data=0x00 and Max_Data=0xFF.

Return values :

Value – of In Band Interrupt capability.

LL_I3C_GET_IBI_PAYLOAD ( BCR )

(((((BCR) & I3C_BCR_BCR2_Msk) >> I3C_BCR_BCR2_Pos) == 1U) \

?

LL_I3C_IBI_DATA_ENABLE : LL_I3C_IBI_DATA_DISABLE )

Check IBI additional data byte capabilities.

Parameters :
  • BCR – specifies the Bus Characteristics capabilities retrieve during ENTDAA procedure. This parameter must be a number between Min_Data=0x00 and Max_Data=0xFF.

Return values :

Value – of In Band Interrupt additional data.

LL_I3C_GET_CR_CAPABLE ( BCR )

(((((BCR) & I3C_BCR_BCR6_Msk) >> I3C_BCR_BCR6_Pos) == 1U) \

?

LL_I3C_CR_CAPABILITY : LL_I3C_CR_NO_CAPABILITY )

Check controller role request capabilities.

Parameters :
  • BCR – specifies the Bus Characteristics capabilities retrieve during ENTDAA procedure. This parameter must be a number between Min_Data=0x00 and Max_Data=0xFF.

Return values :

Value – of CR capability.

LL_I3C_WRITE_REG ( INSTANCE , REG , VALUE ) STM32_WRITE_REG((INSTANCE)->REG, (VALUE))

Write a value in I3C register.

Parameters :
  • INSTANCE – I3C Instance

  • REG – Register to be written

  • VALUE – Value to be written in the register

LL_I3C_READ_REG ( INSTANCE , REG ) STM32_READ_REG((INSTANCE)->REG)

Read a value in I3C register.

Parameters :
  • INSTANCE – I3C Instance

  • REG – Register to be read

Return values :

Register – value