Hi everyone!
As I said in another ticket I have been working on the development of an I3C driver. My last task was to define a method to set I3C frequencies. It was really hard, but I understand that I also found some errors in the documentation.
Mainly, I followed the description that is presented in Table 336 Configuration parameters used to initialize the I3C module (on page 1613). Below are the errors that I found:
- OBAUD:
- Empirically, I got a result where ODBAUD half-clock time period = (ODBAUD + 1) * PPBAUD high period instead of ODBAUD * PPBAUD high period.
- In the same way, SCL(in MHz) = FCLK / ((2+2*PPBAUD)*(ODBAUD + 1)) instead of
- SCL(in MHz) = FCLK / ((2+2*PPBAUD)*ODBAUD)
- I2BAUD: I really didn't understand how the I2C buadrate is set. Following the example on page 1614, I understood that if I2CBAID is:
- An odd number then I2C Ton (high state) = (I2CBAUD -1)* ODBAUD period and Toff (low state) = I2CBAUD * ODBAUD period.
- An even number then 2C Ton (high state) = Toff (low state) = I2CBAUD * ODBAUD period.
However, the empirical results that I reached show that there isn't a linear relation between I2CBAUD and ODBAUD period. The attached image shows what I got. I'm wrong or I'm missing something????.

Hope to hear from you soon.!!!
Regards,
Martin