Hi
How can I config if we want get ibi mandatory Data + payload in master.
At present, the master can get the ibi interrupt, but mandatory Data seems recognized as another ibi slave address by master.
I can't find any case in example code, could you help me?
Thanks.
Hi @Harry_Zhang
We refer to i3c_interrupt_b2b_transfer_master, slave use our own device.
ibiHasPayload is already true, but payload still recognized as ibi address.
Could you show me the correct wave form?
Hi @Harry_Zhang
Our waveform is as follows, md byte is address clock.
I notice MIBIRULES register is 0x40000036, seems correct.
Is there anything else I should be aware of?
BR
Hi @yvan_yan
"I notice MIBIRULES register is 0x40000036, seems correct."
I have reviewed the definition of the MIBIRULES register.
If you want to ibi with payload. this bit should be set to 0.
But your 0x40000036 register is set to 1.
BR
Harry
Hi @Harry_Zhang
At present, slave sends 10 bytes payload, but master can only get 8 bytes.
How can I config if we want to get more than 8 bytes in master?
By the way, I can't upload picture, It says "Image upload failed. Try uploading a different image or from some other source."
BR
Hi @yvan_yan
I3C target supports up to seven bytes of Extended IBI Data following a Mandatory Data byte.
May I ask why you did not receive the correct payload before?
BR
Harry
Hi @Harry_Zhang
I3C target means I3C slave? Slave limits 8 bytes outputs, but we use our own slave, It can up more than 8 bytes.
1. Can I3C master receive more than 8 bytes?
We notice master has fifo buffer, If can, how can we config?
2. The reason we can't receive the correct payload is we add debug code in ibi callback. It may cause time delay.
BR
Hi @yvan_yan
About the IBI Payload, there are only two register (Extended IBI Data 1 (IBIEXT1) and Extended IBI Data 2 (IBIEXT2) registers.) to store the Payload Byte, not fifo.
I am referring to LPC553x Reference Manual.
You can refer to the Chapter 42.
BR
Harry
BTW, can you share the document your picture shows?
we find your spec is more detailed than ours.
Hi @Harry_Zhang
The definition of the MIBIRULES register is from bit0 to bit31.
Bit31 of 0x40000036 is 0. If it sets to 1, the value seems 0xc0000036.
BR