mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-26 05:34:30 +08:00
test: regmap: add regmap_read_poll_timeout test
Add test to regmap_read_poll_timeout() helper to check the timeout works properly but cannot test proper condition matching since read/write calls are not executed in sandbox. Tested-by: Jerome Brunet <jbrunet@baylibre.com> Acked-by: Jagan Teki <jagan@openedev.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
This commit is contained in:
parent
d13801ef1d
commit
ebe3497c9c
@ -144,3 +144,29 @@ static int dm_test_regmap_getset(struct unit_test_state *uts)
|
||||
}
|
||||
|
||||
DM_TEST(dm_test_regmap_getset, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
|
||||
|
||||
/* Read polling test */
|
||||
static int dm_test_regmap_poll(struct unit_test_state *uts)
|
||||
{
|
||||
struct udevice *dev;
|
||||
struct regmap *map;
|
||||
uint reg;
|
||||
unsigned long start;
|
||||
|
||||
ut_assertok(uclass_get_device(UCLASS_SYSCON, 0, &dev));
|
||||
map = syscon_get_regmap(dev);
|
||||
ut_assertok_ptr(map);
|
||||
|
||||
start = get_timer(0);
|
||||
|
||||
ut_asserteq(-ETIMEDOUT,
|
||||
regmap_read_poll_timeout(map, 0, reg,
|
||||
(reg == 0xcacafafa),
|
||||
1, 5 * CONFIG_SYS_HZ));
|
||||
|
||||
ut_assert(get_timer(start) > (5 * CONFIG_SYS_HZ));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
DM_TEST(dm_test_regmap_poll, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
|
||||
|
Loading…
Reference in New Issue
Block a user