Release completion queue events left over from the previous test and
make sure a completion queue event gets released after it is consumed.
Otherwise newer cqes may be unable to be submitted due to completion
queue being full.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
As it is a common pattern for drivers performing writes (e.g: write
reg-addr + write reg-data) without having to memcpy both into a buffer.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Use the RTIO work queue to fake the i2c submit calls for drivers which
haven't yet implemented the API. Applications can change the size of
the work queue pool depending on how much traffic they have on the buses.
Signed-off-by: Yuval Peress <peress@google.com>
i2c_ram expects that a ram-like part is connected to an i2c bus and
therefore requires a hardware fixture setup much like spi_loopback.
Adds a fixture that must be designated when running twister tests on a
board with -X i2c_ram.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
`rtio_sqe_prep_write()` and `rtio_sqe_prep_read()` memset the sqe
struct to zeroes, clearing any configuration previously set. This
commit changes this sequence in the test, such that the sqe's are
prepared, then additional flags/configs applied.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
This testsuite requires an external I2C RAM connected to the I2C bus.
Adding details to provide guidance to users interested in running the
suite.
Signed-off-by: Luis Ubieda <luisf@croxel.com>
RAM allows for very fast reads and writes and lets us explore most of
the I2C controller APIs including RTIO. Theoretically supports any form
of i2c connected RAM but requires some tweaking to work with specific
parts potentially. Tested with Fujitsu's MB85 FeRAM part using an
arduino breakout.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>