cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H5 I3C Controller can't receive IBI Payload more than 4 bytes

Andy Tsai
Associate II

Hi,

I am using the nucleo-h563 I3C (Controller mode) to connect to a JEDEC I3C standard DDR5 PMIC chip. The CCC & private communication is doing well by the STM32H563. But when I trying the IBI transfer, I found the IBI request from the PMIC which the payload is 6 bytes including the MDB byte. For JEDEC standard, it might even contain a PEC byte which is a CRC-8 checksum as the 7th byte. Since the STM32H563 can accept max. 4 bytes(limited by I3C_IBIDR) only, The H563 will interrupt the IBI transfer at the 4th data byte. Refer to the following image:

AndyTsai_0-1693276161355.png

Because the IBI transfer is interrupted and not completed, the PMIC will repeatedly issue the IBI request as follow:

AndyTsai_1-1693276321804.png

Is there any method can make the MCU accept the whole payloads ? Any kind of help is appreciated.

1 ACCEPTED SOLUTION

Accepted Solutions
Foued_KH
ST Employee

Hello @Andy Tsai , 

No way to accept more than 4 bytes.

When the peripheral acts as controller, the I3C_IBIDR register is used to receive the IBI data payload. Consequently, the IBI request from the target must not exceed a 4-byte data payload. If there is more information to be exchanged in the context of this in-band interrupt, the controller software must issue a private read.

Foued_KH_0-1693301301667.png


Foued

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

3 REPLIES 3
Foued_KH
ST Employee

Hello @Andy Tsai , 

No way to accept more than 4 bytes.

When the peripheral acts as controller, the I3C_IBIDR register is used to receive the IBI data payload. Consequently, the IBI request from the target must not exceed a 4-byte data payload. If there is more information to be exchanged in the context of this in-band interrupt, the controller software must issue a private read.

Foued_KH_0-1693301301667.png


Foued

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi @Foued_KH ,

Thank you for your confirmation, I saw the Fig.664 also. Now I try to make the IBIDEN=0, but the IBI is still can be awared by the main procedure and issue a private read to cheat the device. I can image that before the private read, the device will repeatedly generate the IBI request.

I think you should disable the reception of the notification (IBI event) from the PMIC .

Foued

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.