-
Notifications
You must be signed in to change notification settings - Fork 7.3k
i2c_max32_rtio: Fails I2C RAM testsuite #88668
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Marking as low since it doesn't seem a regression and it's platform-specific. Feel free to override if somebody disagrees. |
I'd appreciate if somebody else can attempt replicating @MaureenHelm @dimitrije-lilic |
Will it work on a small AT24 EEPROM? I do not have a MB85RC256 FRAM. |
I glanced at the AT24 datasheet and it may be possible (It needs to be able to arbitrarily write bytes without requiring erasing to clear the zero's, with I2C address: 0x51). To validate that assumption I'd suggest:
|
I could not find a MAX32655FTHR so I have tried this on a MAX32690FTHR and an AT24C08 eeprom. I had to modify the test to use 0x50 target address and I2C_SPEED_FAST (for RTIO). Non-rtio tests pass.
RTIO tests get stuck.
|
@ttmut Yeah, looks like you've replicated the issue! |
In my case one of the issues is that the driver does not return properly if the address is NACKed. EEPROM needs some time after writing data, so a NACK is expected if a new command is sent immediately after. I can temporarily work around this problem by putting a delay after the first write. test_i2c_ram.c:192
---------------------
wr_cqe = rtio_cqe_consume(&i2c_rtio);
zassert_ok(wr_cqe->result, "i2c write should succeed");
rtio_cqe_release(&i2c_rtio, wr_cqe);
/* Give EEPROM some time to sync */
k_busy_wait(1000); However, the second test does not start after that. Not even the address is sent to the bus. That is the second issue. |
Describe the bug
The MAX32655FTHR fails to run the I2C RAM testsuite when configured for RTIO. I was, however, able to successfully run this on the non-rtio variant with #88664.
I was having issues with this platform while working on #88393, which is why I used this testsuite to provide repro-steps.
To Reproduce
west build -b max32655fthr/max32655/m4 tests/drivers/i2c/i2c_ram/ -- -DCONFIG_I2C_RTIO=y
boards/max32655fthr_max32655_m4.overlay
)Expected behavior
Successfully complete testsuite execution.
Impact
Users (potentially) are unable to use this platform to work with RTIO-based applications.
The text was updated successfully, but these errors were encountered: