drivers: i3c: Add i3c sandbox simple test.

Add s simple test for the I3C uclass in sandbox.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
This commit is contained in:
Dinesh Maniyam
2025-08-06 12:32:29 +08:00
committed by Heiko Schocher
parent 03caa3769a
commit ca4c92cbff
6 changed files with 106 additions and 0 deletions

View File

@@ -58,6 +58,7 @@ obj-$(CONFIG_FWU_MDATA_GPT_BLK) += fwu_mdata.o
obj-$(CONFIG_SANDBOX) += host.o
obj-$(CONFIG_DM_HWSPINLOCK) += hwspinlock.o
obj-$(CONFIG_DM_I2C) += i2c.o
obj-$(CONFIG_I3C) += i3c.o
obj-$(CONFIG_SOUND) += i2s.o
obj-$(CONFIG_CLK_K210_SET_RATE) += k210_pll.o
obj-$(CONFIG_IOMMU) += iommu.o

34
test/dm/i3c.c Normal file
View File

@@ -0,0 +1,34 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (C) 2025 Altera Corporation <www.altera.com>
*/
#include <dm.h>
#include <i3c.h>
#include <dm/test.h>
#include <test/ut.h>
DECLARE_GLOBAL_DATA_PTR;
/* Basic test of the i3c uclass */
static int dm_test_i3c_base(struct unit_test_state *uts)
{
struct udevice *dev;
ut_assertok(uclass_get_device(UCLASS_I3C, 0, &dev));
ut_assertok(dm_i3c_read(dev, 0, NULL, 1));
ut_assertok(dm_i3c_read(dev, 0, NULL, 4));
ut_assertok(dm_i3c_write(dev, 0, "AABB", 2));
ut_assertok(dm_i3c_write(dev, 0, "AABBCCDD", 4));
ut_assertok(uclass_get_device(UCLASS_I3C, 1, &dev));
ut_assertok(dm_i3c_read(dev, 1, NULL, 1));
ut_assertok(dm_i3c_read(dev, 1, NULL, 4));
ut_assertok(dm_i3c_write(dev, 1, "AABB", 2));
ut_assertok(dm_i3c_write(dev, 1, "AABBCCDD", 4));
ut_asserteq(-ENODEV, uclass_get_device(UCLASS_I3C, 2, &dev));
return 0;
}
DM_TEST(dm_test_i3c_base, UTF_SCAN_PDATA | UTF_SCAN_FDT);