Hey Omar,
Not sure what you meant by this:
Is this issue also present when using I2C bus from the RT500 side?
From the scope shots, it looks like an issue on the master side- Out of the 4 byte sub address. Using an example 0x06040270, I was only seeing the intermittent bytes 06 and 02 on the bus. The slave was ACKing 06, but it didn't ack 02- which is likely a different problem on the slave.
One thing which I tried was to write a single byte at a time to the registers MWDATAH and MWDATAHE instead of MWDATAB and MWDATABE respectively. This seems to work, but it's not reliable, and I don't think it's supposed to work. I also tried writing 2 bytes at a time to the same MWDATAH+ registers, which didn't work.
It seems like the I3C_MasterTransferBlocking is doing the right thing up until writing to the FIFO. I'll try I3C_MasterTransferNonBlocking as well.