diff options
Diffstat (limited to 'test/dm/syscon.c')
| -rw-r--r-- | test/dm/syscon.c | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/test/dm/syscon.c b/test/dm/syscon.c index 77c79285d93..a294dda02e7 100644 --- a/test/dm/syscon.c +++ b/test/dm/syscon.c @@ -6,6 +6,7 @@  #include <common.h>  #include <dm.h>  #include <syscon.h> +#include <regmap.h>  #include <asm/test.h>  #include <dm/test.h>  #include <test/ut.h> @@ -43,3 +44,31 @@ static int dm_test_syscon_by_driver_data(struct unit_test_state *uts)  	return 0;  }  DM_TEST(dm_test_syscon_by_driver_data, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + +/* Test system controller by phandle */ +static int dm_test_syscon_by_phandle(struct unit_test_state *uts) +{ +	struct udevice *dev; +	struct regmap *map; + +	ut_assertok(uclass_get_device_by_name(UCLASS_TEST_PROBE, "test4", +					      &dev)); + +	ut_assertok_ptr(syscon_regmap_lookup_by_phandle(dev, "first-syscon")); +	map = syscon_regmap_lookup_by_phandle(dev, "first-syscon"); +	ut_assert(map); +	ut_assert(!IS_ERR(map)); +	ut_asserteq(1, map->range_count); + +	ut_assertok_ptr(syscon_regmap_lookup_by_phandle(dev, +							"second-sys-ctrl")); +	map = syscon_regmap_lookup_by_phandle(dev, "second-sys-ctrl"); +	ut_assert(map); +	ut_assert(!IS_ERR(map)); +	ut_asserteq(4, map->range_count); + +	ut_assert(IS_ERR(syscon_regmap_lookup_by_phandle(dev, "not-present"))); + +	return 0; +} +DM_TEST(dm_test_syscon_by_phandle, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); | 
