Skip to main content
Explorer
May 5, 2025
Question

I3C timing register 0 (I3C_TIMINGR0)

  • May 5, 2025
  • 1 reply
  • 301 views

I need to know how to calculate Timing Register 0 for I3C. In this example, the I3C clock is 150 MHz. Can someone explain the value of the register and how it is calculated?

MedFedi_0-1746440935136.png

 

 

    This topic has been closed for replies.

    1 reply

    ST Employee
    May 5, 2025

    Hello @MedFedi ,

    For Timing register 0 : ( I3C timing register 0 (I3C_TIMINGR0) )

    Timing Register 0: 0x00360505:

    • Bits 31:24 SCLH_I2C[7:0] = 0x00: No I2C devices connected on the bus
    • Bits 23:16 SCLL_OD[7:0] = 0x36: SCL low duration in open-drain phases

    tSCLL_OD = (SCLL_OD+1) x t_I3CCLK = ( 54 + 1 ) * 1/150 

    • Bits 15:8 SCLH_I3C[7:0]: = 0x05: SCL high duration

    tSCLH_I3C = (SCLH_I3C+1)x t_I3CCLK  = ( 5 + 1 ) * 1/150 

    • Bits 7:0 SCLL_PP[7:0]: = 0x05: SCL low duration in I3C push-pull phases

    tSCLL_PP = (SCLL_PP+1)x t_I3CCLK = ( 5 + 1 ) * 1/150 

     

    To verify :

      SCL PP Frequency : 1/(tSCLL_PP + tSCLH_I3C) = Frequency I3C controller

    BR!
    Foued