diff options
Diffstat (limited to 'zephyr/test/drivers/i2c_controller/src/i2c_controller.c')
-rw-r--r-- | zephyr/test/drivers/i2c_controller/src/i2c_controller.c | 122 |
1 files changed, 4 insertions, 118 deletions
diff --git a/zephyr/test/drivers/i2c_controller/src/i2c_controller.c b/zephyr/test/drivers/i2c_controller/src/i2c_controller.c index 594c3e6888..0beb773297 100644 --- a/zephyr/test/drivers/i2c_controller/src/i2c_controller.c +++ b/zephyr/test/drivers/i2c_controller/src/i2c_controller.c @@ -2,15 +2,15 @@ * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ -#include "basic_i2c_device_emul.h" -#include "i2c.h" -#include "test/drivers/test_state.h" - #include <zephyr/device.h> #include <zephyr/fff.h> #include <zephyr/sys/byteorder.h> #include <zephyr/ztest.h> +#include "basic_i2c_device_emul.h" +#include "i2c.h" +#include "test/drivers/test_state.h" + struct i2c_controller_fixture { int port; int addr; @@ -61,29 +61,6 @@ ZTEST_F(i2c_controller, write_read32_be) expected); } -ZTEST_F(i2c_controller, write_read16_be) -{ - uint16_t expected = 0x1122; - int actual; - - zassert_ok(i2c_write16(fixture->port, - fixture->addr | I2C_FLAG_BIG_ENDIAN, 0, - expected)); - - /* Get the first two bytes of the register space as a uint16_t */ - actual = __bswap_16(*((uint16_t *)&fixture->emul_data->regs[0])); - - zassert_equal(expected, actual, "got %04x, expected %08x", actual, - expected); - - /* Now read back through I2C API */ - zassert_ok(i2c_read16(fixture->port, - fixture->addr | I2C_FLAG_BIG_ENDIAN, 0, &actual)); - - zassert_equal(expected, actual, "got %04x, expected %04x", - (uint16_t)actual, expected); -} - ZTEST_F(i2c_controller, read32_fail) { int ret; @@ -121,14 +98,6 @@ ZTEST_F(i2c_controller, field_update16) zassert_equal(set_value, actual, "got %04x, expected %04x", actual, set_value); - - /* Force a failure */ - set_value = 0x0001; - mask = 0x0001; - i2c_common_emul_set_read_fail_reg(&fixture->emul_data->common, 0); - zassert_equal(i2c_field_update16(fixture->port, fixture->addr, 0, mask, - set_value), - EC_ERROR_INVAL); } ZTEST_F(i2c_controller, read_offset16__one_byte) @@ -304,89 +273,6 @@ ZTEST_F(i2c_controller, write_offset16_block) expected); } -ZTEST_F(i2c_controller, pec_disabled) -{ - uint16_t addr_flags; - uint8_t write_data[] = { - 0xAA, - 0xBB, - 0xCC, - 0xDD, - }; - int write_data32 = 0x11223344; - uint8_t read_data[4]; - int actual_read_len; - uint16_t reg = 0x01; - - /* - * Verify I2C reads and writes through the various APIs fail when - * CONFIG_PLATFORM_EC_SMBUS_PEC=n - */ - if (IS_ENABLED(CONFIG_PLATFORM_EC_SMBUS_PEC)) { - ztest_test_skip(); - return; - } - - addr_flags = fixture->addr | I2C_FLAG_PEC; - - zassert_equal(i2c_read32(fixture->port, addr_flags, reg, - (int *)read_data), - EC_ERROR_UNIMPLEMENTED); - zassert_equal(i2c_write32(fixture->port, addr_flags, reg, write_data32), - EC_ERROR_UNIMPLEMENTED); - zassert_equal(i2c_read_sized_block(fixture->port, addr_flags, reg, - read_data, sizeof(read_data), - &actual_read_len), - EC_ERROR_UNIMPLEMENTED); - zassert_equal(i2c_read_sized_block(fixture->port, addr_flags, reg, - read_data, 0, &actual_read_len), - EC_ERROR_INVAL); - zassert_equal(i2c_write_block(fixture->port, addr_flags, reg, - write_data, sizeof(write_data)), - EC_ERROR_UNIMPLEMENTED); -} - -ZTEST_F(i2c_controller, i2c_xfer_unlocked__error_paths) -{ - uint8_t out_buffer[1]; - int out_size; - uint8_t in_buffer[1]; - int in_size; - int flags; - - /* First confirm i2c_xfer_unlocked() works with a lock. */ - out_buffer[0] = 0; - out_size = 1; - in_size = 1; - flags = I2C_XFER_STOP; - - i2c_lock(fixture->port, 1); - zassert_equal(i2c_port_is_locked(fixture->port), 1, - "Port %d not locked", fixture->port); - zassert_ok(i2c_xfer_unlocked(fixture->port, fixture->addr, out_buffer, - out_size, in_buffer, in_size, flags)); - i2c_lock(fixture->port, 0); - zassert_equal(i2c_port_is_locked(fixture->port), 0, "Port %d is locked", - fixture->port); - - /* Try the transfer without a lock. */ - zassert_equal(i2c_xfer_unlocked(fixture->port, fixture->addr, - out_buffer, out_size, in_buffer, - in_size, flags), - EC_ERROR_INVAL); - - /* Set an invalid flag on the transfer, expected to still pass */ - i2c_lock(fixture->port, 1); - zassert_equal(i2c_port_is_locked(fixture->port), 1, - "Port %d not locked", fixture->port); - zassert_ok(i2c_xfer_unlocked( - fixture->port, fixture->addr | I2C_FLAG_ADDR_IS_SPI, out_buffer, - out_size, in_buffer, in_size, flags)); - i2c_lock(fixture->port, 0); - zassert_equal(i2c_port_is_locked(fixture->port), 0, "Port %d is locked", - fixture->port); -} - static struct i2c_controller_fixture i2c_controller_fixture; static void *setup(void) |