MCXN947 I3C IBI payload issue

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

MCXN947 I3C IBI payload issue

537 次查看
JackieZhu
Contributor I

Hi,

I met a few issues about I3C receive IBI payload issue. Hope you can help. Appreciate.

When I used NXP974 as I3C master, how many payload data include MDB can we received? In my test, it seems the maximum is 8 bytes. (one MDB and seven payload data). But from the spec, it indicates that support 9 bytes include MDB. Can you help to confirm?

Spec : The controller automatically stops IBI data after 9 bytes (including the mandatory data byte).

 

Another issue I met is when I set the payload to 8 bytes, I do received the 8 bytes from fifo but it will enter IBI again and caused system stuck even if we didn't send new IBI from i3c target. When the payload size is less than 8 bytes, it works well. 

I checked the RX FIFO count from SDATACTRL, it is 8. I think it is correct. And the status of irq seems correct, it is same as normal case (0x2e00). So I guess it is correct too.

Then, I tried to capture the waveform by LA. I found some different between correct and incorrect case. 

In normal case (payload < 7) the whole clock period of last T-bit is low, then generate a Stop. 

In the wrong case, the SDA will be high in the rising edge of the T-bit clock. Then, resend clock (open-drain).

Do you know what happened on the NXP? Why there are different behaviors when the payload size is different? 

 

 

标签 (1)
标记 (1)
0 项奖励
回复
1 回复

412 次查看
Harry_Zhang
NXP Employee
NXP Employee

Hi @JackieZhu 

Yes, you are right. I3C target supports up to seven bytes of Extended IBI Data following a Mandatory Data byte.

Harry_Zhang_0-1742541579662.png

So  include MDB, the maximum is 8 bytes. (one MDB and seven payload data).

BR

Harry

0 项奖励
回复