2024-07-21 08:49 AM
Hi ,
I tested example " I3C_Controller_Private_Command_IT " with Controller H503RB board
and modified for JEDEC SMBUS for DDR5
( JEDEC smbus is more simple than MIPI I3C ,
No DynAddrAssign function , Initially I2C after CCC SetAASA , it change I2C ==> I3C )
1. CCC SetAASA is OK , When I read register address 0x1 with I3C 1byte private read , I3C read value is not what i want . Read value is pointing register address 0x0 value and fixed . I think there is a stop bit in Read protocol and after Stop bit , Internal read pointer in my chip is cleared
example an5879, 9.8 Private Read code , also Stop Bit in I3C private Read command
* It is JEDEC I3C Specification , repeated start bit , No Stop Bit in Read Command
* example 9.8 code
2. I tried to change it when TX frame setting , but Not cleared
I3C_PRIVATE_WITH_ARB_STOP ==> I3C_PRIVATE_WITH_ARB_RESTART , MEND=0
Can u tell me how to do it ?
Thanks
* My test Code for CCC SetAASA /* Enable arbitration header */ /* Write CCC information in the control register */ HAL_Delay(100); LL_I3C_DisableArbitrationHeader(hi3c->Instance); HAL_Delay(100);
/*##- Add context buffer transmit in Frame context #####################*/ /*##- Start the transmission process ###################################*/
if (HAL_I3C_AddDescToFrame(&hi3c1, /* Wait for USER push-button press before starting the Communication */ /* Wait for USER push-button release before starting the Communication */ /*##- Start the reception process ######################################*/
|