Commit Graph

11 Commits

Author SHA1 Message Date
Tahsin Mutlugun
e219da1ff6 tests: i2c_ram: rtio: Ensure completion queue events get released
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>
2025-04-22 12:10:12 +02:00
Luis Ubieda
7f6588877a tests: i2c_ram: Add testcase for i2c_rtio write with transactions
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>
2025-04-14 20:04:47 +02:00
Yong Cong Sin
52a202309b zephyr: bulk update to DT_NODE_HAS_STATUS_OKAY
Change instances of:

DT_NODE_HAS_STATUS(<node_id>, okay)

to

DT_NODE_HAS_STATUS_OKAY(<node_id>)

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-10-03 17:06:52 +01:00
Yuval Peress
8974c248cf rtio: Add default i2c submit handler
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>
2024-09-04 21:28:26 +02:00
Tom Burdick
90c1aaad69 tests: i2c_ram: Add fixture for i2c_ram testing
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>
2024-06-03 16:07:59 -04:00
Luis Ubieda
34e1333a43 tests: i2c: i2c_ram: Add nrf52840dk overlay
To make it compatible with this test.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2024-05-21 16:48:00 -04:00
Luis Ubieda
cdc7693383 tests: i2c_ram: rtio: Fix sequence to prepare ops to avoid overwriting
`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>
2024-05-10 11:44:43 +02:00
Tom Burdick
b781144438 i2c: Fix filtering on alias for i2c-ram
Was previously looking for i2c_ram which is incorrect, the alias was
always i2c-ram.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-05-04 13:23:22 +03:00
Tom Burdick
7fc153c760 i2c: RAM test updates to support power management
It's important we test the power management flows when testing i2c

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-05-04 13:23:22 +03:00
Luis Ubieda
262af5645c doc: tests: i2c_ram: Specify required Hardware Setup
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>
2024-04-29 22:32:28 +01:00
Tom Burdick
c3a0ea02a7 i2c: Add a new API test using (f/s/nv)ram
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>
2024-03-05 09:43:38 -05:00